All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.21.0 - 2026-01-09
- BREAKING:
HeadlineListItemmodel removed and merged intoHeadlineDetails(now a type alias for backward compatibility) - Refactored internal operations structure to use mixins for better code organization
- Improved bulk operations with generic validation and processing helpers in base classes
- Standardized error handling across all operations to consistently use
raise_for_status()
- New
mixins/folder with transform mixins for each operation type (goals, meetings, issues, headlines, todos, users) - Generic bulk operation helpers in
AbstractOperationsbase class (_validate_bulk_item,_process_bulk_sync) - Generic async bulk processing in
AsyncBaseOperationswith configurable semaphore for concurrency control - Reusable
OptionalDatetimeandOptionalFloatannotated types using Pydantic'sBeforeValidator
- Removed duplicate datetime and float validators across models (Todo, Issue, Goal)
- Removed redundant
__init__methods from async operations
0.20.1 - 2025-12-10
- Fix
CompletionDatefield mapping inMeetingOperationsto useCompleteTimeinstead ofCloseTime(sync/async consistency) - Fix
Configuration.configure_api_key()documentation to use correct instance method pattern - Add missing
AuthenticationErrordocumentation with usage examples - Update dependencies list in documentation (add pydantic, typing-extensions)
- Fix code examples to use correct model field names (
complete_date) - Add bulk operations documentation for todos, issues, goals, and meetings
- Clarify default user ID behavior in user operations documentation
- Update method signatures and return types in API reference
- Fix async concurrency control documentation (
max_concurrentparameter) - Improve error handling examples throughout guides
0.20.0 - 2025-12-10
client.issue.update()method for updating existing issuesclient.scorecard.get()method for retrieving scorecard detailsGoalStatusenum for type-safe status valuesbase_urlandtimeoutparameters to syncClientfor configuration flexibility- AsyncClient now validates API key at initialization
- BREAKING:
client.user.all()renamed toclient.user.list()for consistency - BREAKING:
client.user.details(all=True)renamed toclient.user.details(include_all=True)for clarity - BREAKING:
client.issue.solve()renamed toclient.issue.complete()and now returnsIssueDetails - BREAKING:
client.todo.complete()now returnsTodoinstead ofbool - BREAKING:
client.goal.update/delete/archive/restore()now returnNoneinstead ofbool - BREAKING:
client.headline.update/delete()now returnNoneinstead ofbool - BREAKING: Client raises
ConfigurationErrorinstead ofValueErrorfor missing API key
- All documentation updated to reflect the breaking changes
0.19.0 - 2025-12-10
- Made
Position.namefield optional to handle null API responses from Bloom Growth API - Fixes Pydantic validation errors in
UserOperations.positions(),details(include_positions=True), anddetails(all=True)
0.18.0 - 2025-12-08
- Async bulk operations with rate limiting for goals, todos, issues, and meetings
- Performance benchmarks documentation for async operations
- Corrected API endpoints and field mappings in async operations
0.17.0 - 2025-12-07
- Batch read operation for meetings via
client.meeting.get_many() - Documentation and examples for batch operations
0.16.0 - 2025-12-06
- Claude AI agent configurations and settings for development workflow
- Specialized subagents for manager-mode workflow
- Streamlined CLAUDE.md to focus on architecture and development commands
0.15.0 - 2025-12-05
- Comprehensive VS Code devcontainer support for consistent development environment
- GitHub CLI integration in devcontainer
0.14.0 - 2025-12-04
- Bulk creation methods for issues, todos, goals, and meetings
- Comprehensive test suite for bulk operations
- Bulk operations guide documentation
0.13.2 - 2025-12-03
- Adjusted scorecard typing expectations
0.13.1 - 2025-12-02
- Comprehensive ruff linting rules with preview features enabled
- All linting issues identified by new ruff rules
0.13.0 - 2025-12-01
- Full async/await support with
AsyncClient - Async operations for goals, headlines, issues, and scorecard
pytest-asynciofor async test support
0.12.0 - 2025-11-30
- Documentation to match actual SDK implementation
- GitHub/PyPI URLs in documentation
- Authentication guide documentation
- API key retrieval documentation examples
- Incorrect licensing information
0.11.0 - 2025-11-29
- Informational badges to README
- Simplified API description in documentation
- Ruby workflows from GitHub Actions
0.10.0 - 2025-11-28
- Documentation and implementation mismatches
- SDK models to match actual API responses
- Client API key initialization priority
0.9.0 - 2025-11-27
- MkDocs documentation with Material theme
- Dynamic version loading from pyproject.toml
- Docstring example formatting for mkdocs
- Documentation to accurately reflect Pydantic model returns
0.8.0 - 2025-11-26
- Switched to pyright strict mode for enhanced type safety
- All type and linting issues for strict mode compliance
0.7.0 - 2025-11-25
- Pydantic for enhanced data validation and type safety
- Ruff line length configuration
- Pyright TypedDict access issues
- Examples folder
0.6.0 - 2025-11-24
- Claude AI instructions for development assistance
0.5.0 - 2025-11-23
- Python version specification in pyproject.toml
- Removed tracked files that should be ignored
0.4.0 - 2025-11-22
- All ruff check issues
0.1.0 - 2025-11-21
- Initial Python SDK implementation migrated from Ruby
- Core client with authentication support
- User operations: get details, search, list all users, get direct reports/positions
- Meeting operations: CRUD operations, get attendees/issues/todos/metrics
- Todo operations: CRUD for user or meeting todos
- Goal (Rock) operations: CRUD, archive/restore functionality
- Scorecard operations: get current week, list/update scores
- Issue operations: create, list, solve issues
- Headline operations: CRUD for meeting headlines
- Configuration management with multiple API key sources
- httpx-based HTTP client with bearer token authentication