Releases: RoboFinSystems/robosystems-python-client
Release v0.3.30
RoboSystems Python SDK v0.3.30
This release adds full CRUD (Create, Read, Update, Delete) support for information blocks in the ledger client, expanding the API surface for managing ledger data.
✨ Features
- Information Block CRUD operations — Added methods for creating, updating, and deleting information blocks in
LedgerClient(#121)
📝 Technical Changes
robosystems_client/clients/ledger_client.pyextended with new API methods (+67 lines), providing a complete lifecycle management interface for information blocks
⚠️ Breaking Changes
None.
🐛 Bug Fixes
None.
📊 Release Statistics
- Commits: 3
- Files Changed: 2
- Lines Added: 67
- Lines Deleted: 1
- Previous Release: v0.3.29
🔗 Links
- Full Changelog: v0.3.29...v0.3.30
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.29
RoboSystems Python SDK v0.3.29
This release introduces the Execute Event Block API and rollforward mechanics, significantly expanding the ledger extension capabilities with new models and event action type support.
Key Features & Improvements
- Execute Event Block API — Added a new
op_execute_event_blockendpoint enabling execution of event blocks, with full request/response models and operation envelope support (#120) - Rollforward Mechanics — Introduced a complete set of rollforward models including
create,update, anddeleterollforward requests and arms, with configurable validation modes (#120) - Event Action Types — Added event action type support across event block models (
CreateEventBlockRequest,UpdateEventBlockRequest,EventBlockEnvelope), enabling richer event categorization (#119) - Attribution Filter & Line Item Metadata — New
AttributionFilterandLineItemMetadataPredicatemodels for more granular filtering and metadata handling on journal entry line items
Notable Technical Changes
- 22 new model files added, reflecting a substantial expansion of the client SDK surface area
- Existing information block operations (
create,update,delete) received modifications, likely for consistency with the new event block patterns ArtifactResponseandJournalEntryLineItemInputmodels updated to accommodate new optional/typed fields (e.g., metadata type support)ExecuteEventBlockResponseincludes a structured error type (qb_error_type_0), indicating improved error reporting for event execution
⚠️ Breaking Changes
- Event block request models updated —
CreateEventBlockRequest,UpdateEventBlockRequest, andEventBlockEnvelopenow include anevent_action_typefield. Consumers constructing these models directly may need to account for the new field.
Bug Fixes
- No explicit bug fixes in this release.
📊 Release Statistics
- Commits: 5
- Files Changed: 32
- Lines Added: 2354
- Lines Deleted: 46
- Previous Release: v0.3.28
🔗 Links
- Full Changelog: v0.3.28...v0.3.29
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.28
RoboSystems Python SDK v0.3.28
Summary: This release introduces a major domain rename across the client SDK, replacing all references to "agent" with "operator" to better align with the platform's evolving terminology.
⚠️ Breaking Changes
-
"Agent" domain renamed to "Operator" throughout the entire client SDK. All modules, classes, models, and API endpoints previously using the
agentnaming convention have been renamed tooperator. This affects:- Client:
AgentClient→OperatorClient - API endpoints:
auto_select_agent,execute_specific_agent,get_agent_metadata,list_agents,recommend_agent,batch_process_queries— all moved fromapi/agent/toapi/operator/with updated names - Models: All
Agent*models renamed toOperator*(e.g.,AgentRequest→OperatorRequest,AgentResponse→OperatorResponse,AgentMode→OperatorMode,BatchAgentRequest→BatchOperatorRequest, etc.) - Facade client: Updated to expose the new operator client interface
- Imports: The public
models/__init__.pyandclients/__init__.pyhave been updated accordingly
Migration: Search your codebase for any
agent-related imports fromrobosystems_clientand replace them with theiroperatorequivalents. This is a straightforward find-and-replace in most cases. - Client:
Key Improvements
- New operator-related models and client functionality added to support expanded operator capabilities alongside the rename.
- Updated
SelectionCriteriamodel to reflect the new operator terminology.
Notable Technical Changes
- 37 files changed across API, client, model, and test layers — indicating a thorough and consistent rename with no partial migration debt.
- Test suite migrated (
test_agent_client.py→test_operator_client.py) to maintain full coverage under the new naming. - Minor updates to
extensions_robo_ledgeroperations (op_auto_map_elements,op_create_mapping_association) and report models for consistency.
📊 Release Statistics
- Commits: 3
- Files Changed: 37
- Lines Added: 765
- Lines Deleted: 745
- Previous Release: v0.3.27
🔗 Links
- Full Changelog: v0.3.27...v0.3.28
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.27
RoboSystems Python SDK v0.3.27
This release adds rule_check_kind support to the TaxonomyBlockRule models, expanding the flexibility of taxonomy block rule configuration.
✨ Features & Improvements
rule_check_kindfield added to TaxonomyBlockRule models (#117): BothTaxonomyBlockRuleandTaxonomyBlockRuleRequestnow support arule_check_kindproperty, enabling more granular control over how rule checks are evaluated.- Enhanced model documentation for taxonomy block rule fields.
🔧 Technical Changes
- Updated
taxonomy_block_rule.pyandtaxonomy_block_rule_request.pymodel definitions to include the newrule_check_kindattribute. - Net addition of ~46 lines across the model files, primarily for new field definitions and docstring improvements.
⚠️ Breaking Changes
- None anticipated. The new
rule_check_kindfield is an additive change to existing models. However, if your code performs strict validation or serialization onTaxonomyBlockRule/TaxonomyBlockRuleRequest, verify compatibility with the new field.
🐛 Bug Fixes
- No bug fixes in this release.
📊 Release Statistics
- Commits: 3
- Files Changed: 3
- Lines Added: 65
- Lines Deleted: 19
- Previous Release: v0.3.26
🔗 Links
- Full Changelog: v0.3.26...v0.3.27
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.26
RoboSystems Python SDK v0.3.26
This release refactors the reporting structure terminology, renaming structure_type to block_type across all models, queries, and API operations for improved clarity and consistency.
⚠️ Breaking Changes
- Renamed
structure_type→block_typeacross all models and GraphQL queries. Any code referencing the oldstructure_typefield will need to be updated. - Renamed model class:
TaxonomyBlockStructureRequestStructureType→TaxonomyBlockStructureRequestBlockType. Direct imports of the old class name will break.
Key Changes
- Renamed
structure_typetoblock_typein all affected models:ArtifactResponse,ChangeReportingStyleOp,ClassificationLite,InformationModelResponse,RuleLite,StructureSummary,TaxonomyBlockStructure, andTaxonomyBlockStructureRequest. - Updated GraphQL queries in the ledger module to use the new
block_typeterminology. - Updated
LedgerClientand reporting style graph operations to align with the renamed field. - Tests updated to reflect the new naming convention.
Technical Notes
- 15 files changed across models, queries, API operations, and tests — this is a consistent, project-wide rename with no functional behavior changes.
- This is primarily a terminology/naming refactor — no new features or bug fixes are included.
📊 Release Statistics
- Commits: 3
- Files Changed: 15
- Lines Added: 124
- Lines Deleted: 86
- Previous Release: v0.3.25
🔗 Links
- Full Changelog: v0.3.25...v0.3.26
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.25
RoboSystems Python SDK v0.3.25
This release introduces the Change Reporting Style operation, expanding the graph operations API with new functionality for modifying reporting styles, along with several model updates and additions.
✨ New Features
- Change Reporting Style operation — Added a new graph operation (
op_change_reporting_style) enabling users to programmatically change reporting styles via the API (#115) - Pending Obligation Detail Response model — New
PendingObligationDetailResponsemodel for richer obligation tracking - Close Period Response Rule Summary — Added
ClosePeriodResponseRuleSummaryType0model to support typed rule summaries in close period responses
🔧 Technical Changes
- Updated and extended several existing models:
ClosePeriodResponse— enhanced with rule summary type supportCreateLegacyArm/CreateLegacyArmBlockType— model refinementsDeleteLegacyArmBlockType/UpdateLegacyArmBlockType— block type updates for consistencyFactLite,FiscalCalendarResponse,InformationBlockEnvelope— minor model adjustments
- Model registry (
models/__init__.py) updated to export all new types
⚠️ Breaking Changes
- Block type enum changes —
CreateLegacyArmBlockType,DeleteLegacyArmBlockType, andUpdateLegacyArmBlockTypewere modified, which may affect consumers relying on specific enum values. Review your usage if you interact with legacy ARM block types directly.
🐛 Bug Fixes
- No explicit bug fixes in this release.
📊 Release Statistics
- Commits: 3
- Files Changed: 14
- Lines Added: 753
- Lines Deleted: 8
- Previous Release: v0.3.24
🔗 Links
- Full Changelog: v0.3.24...v0.3.25
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.24
RoboSystems Python SDK v0.3.24
This release unifies API error handling across the client library, standardizing how 422 validation error responses are represented across all API operations.
Key Improvements
- Unified 422 error response types — Refactored error handling across 50+ API operations to use a consistent response type for HTTP 422 (Validation Error) responses. This simplifies error handling for consumers of the client library. (#114)
- Reduced code complexity — Net reduction of ~600 lines of code through consolidation of duplicated error response type definitions.
⚠️ Breaking Changes
- API error response types have changed — If your code explicitly checks or type-matches against 422 error response models from any of the affected operations (across
extensions_robo_ledger,extensions_robo_investor,graph_operations, andconnectionsmodules), you will need to update those references to the new unified type. Review your error handling code before upgrading.
Notable Technical Changes
- Refactored operations spanning all major API modules: Robo Ledger (35 operations), Robo Investor (6 operations), Graph Operations (3 operations), and Connections (1 operation).
- This is a code-generated client change, likely driven by an upstream API spec update that standardized the validation error schema.
Bug Fixes
- Consistent error response handling reduces the risk of unexpected error types in edge cases where different operations previously returned structurally different 422 responses.
📊 Release Statistics
- Commits: 3
- Files Changed: 55
- Lines Added: 907
- Lines Deleted: 1504
- Previous Release: v0.3.23
🔗 Links
- Full Changelog: v0.3.23...v0.3.24
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.23
RoboSystems Python SDK v0.3.23
This release fixes event source default values and improves block handling in the LedgerClient.
Bug Fixes
- Fixed event source defaults in
LedgerClient(#113) — Updated default values to reflect accurate origin, ensuring correct behavior when no explicit event source is provided. - Fixed block handling in
LedgerClient(#113) — Resolved an issue with how blocks are processed, improving reliability of ledger operations.
Technical Changes
- Updated
robosystems_client/clients/ledger_client.pywith corrected default parameters and block handling logic. - Added corresponding test coverage in
tests/test_ledger_client.pyto validate the fixes.
⚠️ Breaking Changes
None — however, if you were relying on the previous (incorrect) event source defaults in LedgerClient, be aware that the defaults now reflect the intended values. This should be a transparent fix for most users but is worth verifying if you depend on default behavior.
📊 Release Statistics
- Commits: 3
- Files Changed: 3
- Lines Added: 26
- Lines Deleted: 7
- Previous Release: v0.3.22
🔗 Links
- Full Changelog: v0.3.22...v0.3.23
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.22
RoboSystems Python SDK v0.3.22
This release introduces typed response models across the client SDK, replacing raw response handling with strongly-typed return values for improved developer experience and type safety.
✨ Features & Improvements
- Typed response models: All operations in
InvestorClientandLedgerClientnow return strongly-typed response models instead of raw/untyped responses (#112) - New domain models: Added models for taxonomy block structures, security response terms, statement mechanics, and related entities (e.g.,
ArtifactResponseand others) - Improved operation envelope handling: Enhanced how
OperationEnvelopeis processed and returned across both Investor and Ledger client operations, providing more predictable and structured API responses
⚠️ Breaking Changes
- Return types changed across client methods: Methods in
InvestorClientandLedgerClientnow return typed model instances rather than raw dictionaries or generic envelopes. Code that previously accessed raw response data may need to be updated to use the new model attributes. - Operation envelope refactor: The handling of
OperationEnvelopehas been restructured across ~40+ operation modules in bothextensions_robo_investorandextensions_robo_ledger. Consumers relying on the previous envelope structure should review their integration code.
🔧 Notable Technical Changes
- 230 files changed with ~18,900 lines added, reflecting a significant expansion of the model layer
- Comprehensive updates across all Ledger operations (create, update, delete for event blocks, information blocks, taxonomy blocks, reports, publish lists, mapping associations, agents, and more)
- Investor operations (portfolio blocks and securities CRUD) updated to match the new typed pattern
- Graph operations and subscription endpoints also updated for consistency
🐛 Bug Fixes
- No explicit bug fixes noted; however, the typed response model migration addresses potential runtime errors from untyped response handling
📊 Release Statistics
- Commits: 6
- Files Changed: 230
- Lines Added: 18949
- Lines Deleted: 1412
- Previous Release: v0.3.21
🔗 Links
- Full Changelog: v0.3.21...v0.3.22
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.21
RoboSystems Python SDK v0.3.21
This release introduces graph deletion functionality with flexible cancellation options, allowing users to delete graphs either immediately or at the end of the current billing period.
✨ Features
- Graph deletion with cancellation options — Added the ability to delete graphs with two distinct modes:
- Immediate cancellation — Deletes the graph and cancels the associated subscription right away
- Period-end cancellation — Schedules the graph for deletion at the end of the current subscription period, allowing continued use until then
- Repository subscription cancellation — Added a new
cancel_repository_subscriptionAPI operation to support subscription lifecycle management tied to graph deletion
🔧 Technical Changes
- Extended
graph_clientwith delete graph methods supporting both cancellation strategies - Expanded the
DeleteGraphOpmodel with new fields/options to accommodate cancellation timing - Refactored
op_delete_graphto integrate with the new subscription cancellation flow - Added corresponding test coverage for the new graph deletion functionality
⚠️ Breaking Changes
- The
delete_graphoperation signature and underlying model (DeleteGraphOp) have been updated. Users calling this API directly should review the new parameters for specifying cancellation type.
📝 Notes
- No bug fixes in this release.
- PR: #111
📊 Release Statistics
- Commits: 3
- Files Changed: 6
- Lines Added: 479
- Lines Deleted: 48
- Previous Release: v0.3.20
🔗 Links
- Full Changelog: v0.3.20...v0.3.21
- All Releases: View all releases
🤖 Generated with Claude Code