Skip to content

Releases: RoboFinSystems/robosystems-python-client

Release v0.3.30

20 May 01:58

Choose a tag to compare

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.py extended 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


🤖 Generated with Claude Code

Release v0.3.29

20 May 01:48

Choose a tag to compare

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_block endpoint 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, and delete rollforward 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 AttributionFilter and LineItemMetadataPredicate models 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
  • ArtifactResponse and JournalEntryLineItemInput models updated to accommodate new optional/typed fields (e.g., metadata type support)
  • ExecuteEventBlockResponse includes a structured error type (qb_error_type_0), indicating improved error reporting for event execution

⚠️ Breaking Changes

  • Event block request models updatedCreateEventBlockRequest, UpdateEventBlockRequest, and EventBlockEnvelope now include an event_action_type field. 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


🤖 Generated with Claude Code

Release v0.3.28

17 May 23:32

Choose a tag to compare

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 agent naming convention have been renamed to operator. This affects:

    • Client: AgentClientOperatorClient
    • API endpoints: auto_select_agent, execute_specific_agent, get_agent_metadata, list_agents, recommend_agent, batch_process_queries — all moved from api/agent/ to api/operator/ with updated names
    • Models: All Agent* models renamed to Operator* (e.g., AgentRequestOperatorRequest, AgentResponseOperatorResponse, AgentModeOperatorMode, BatchAgentRequestBatchOperatorRequest, etc.)
    • Facade client: Updated to expose the new operator client interface
    • Imports: The public models/__init__.py and clients/__init__.py have been updated accordingly

    Migration: Search your codebase for any agent-related imports from robosystems_client and replace them with their operator equivalents. This is a straightforward find-and-replace in most cases.

Key Improvements

  • New operator-related models and client functionality added to support expanded operator capabilities alongside the rename.
  • Updated SelectionCriteria model 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.pytest_operator_client.py) to maintain full coverage under the new naming.
  • Minor updates to extensions_robo_ledger operations (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


🤖 Generated with Claude Code

Release v0.3.27

16 May 05:04

Choose a tag to compare

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_kind field added to TaxonomyBlockRule models (#117): Both TaxonomyBlockRule and TaxonomyBlockRuleRequest now support a rule_check_kind property, enabling more granular control over how rule checks are evaluated.
  • Enhanced model documentation for taxonomy block rule fields.

🔧 Technical Changes

  • Updated taxonomy_block_rule.py and taxonomy_block_rule_request.py model definitions to include the new rule_check_kind attribute.
  • 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_kind field is an additive change to existing models. However, if your code performs strict validation or serialization on TaxonomyBlockRule/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


🤖 Generated with Claude Code

Release v0.3.26

16 May 04:45

Choose a tag to compare

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_typeblock_type across all models and GraphQL queries. Any code referencing the old structure_type field will need to be updated.
  • Renamed model class: TaxonomyBlockStructureRequestStructureTypeTaxonomyBlockStructureRequestBlockType. Direct imports of the old class name will break.

Key Changes

  • Renamed structure_type to block_type in all affected models: ArtifactResponse, ChangeReportingStyleOp, ClassificationLite, InformationModelResponse, RuleLite, StructureSummary, TaxonomyBlockStructure, and TaxonomyBlockStructureRequest.
  • Updated GraphQL queries in the ledger module to use the new block_type terminology.
  • Updated LedgerClient and 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


🤖 Generated with Claude Code

Release v0.3.25

14 May 03:00

Choose a tag to compare

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 PendingObligationDetailResponse model for richer obligation tracking
  • Close Period Response Rule Summary — Added ClosePeriodResponseRuleSummaryType0 model to support typed rule summaries in close period responses

🔧 Technical Changes

  • Updated and extended several existing models:
    • ClosePeriodResponse — enhanced with rule summary type support
    • CreateLegacyArm / CreateLegacyArmBlockType — model refinements
    • DeleteLegacyArmBlockType / UpdateLegacyArmBlockType — block type updates for consistency
    • FactLite, FiscalCalendarResponse, InformationBlockEnvelope — minor model adjustments
  • Model registry (models/__init__.py) updated to export all new types

⚠️ Breaking Changes

  • Block type enum changesCreateLegacyArmBlockType, DeleteLegacyArmBlockType, and UpdateLegacyArmBlockType were 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


🤖 Generated with Claude Code

Release v0.3.24

07 May 23:42

Choose a tag to compare

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, and connections modules), 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


🤖 Generated with Claude Code

Release v0.3.23

07 May 21:44

Choose a tag to compare

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.py with corrected default parameters and block handling logic.
  • Added corresponding test coverage in tests/test_ledger_client.py to 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


🤖 Generated with Claude Code

Release v0.3.22

07 May 20:05

Choose a tag to compare

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 InvestorClient and LedgerClient now 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., ArtifactResponse and others)
  • Improved operation envelope handling: Enhanced how OperationEnvelope is 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 InvestorClient and LedgerClient now 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 OperationEnvelope has been restructured across ~40+ operation modules in both extensions_robo_investor and extensions_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


🤖 Generated with Claude Code

Release v0.3.21

06 May 02:23

Choose a tag to compare

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_subscription API operation to support subscription lifecycle management tied to graph deletion

🔧 Technical Changes

  • Extended graph_client with delete graph methods supporting both cancellation strategies
  • Expanded the DeleteGraphOp model with new fields/options to accommodate cancellation timing
  • Refactored op_delete_graph to integrate with the new subscription cancellation flow
  • Added corresponding test coverage for the new graph deletion functionality

⚠️ Breaking Changes

  • The delete_graph operation 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


🤖 Generated with Claude Code