Skip to content

Releases: RoboFinSystems/robosystems-python-client

Release v0.3.17

26 Apr 06:39

Choose a tag to compare

RoboSystems Python SDK v0.3.17

This release introduces a unified portfolio block management system, replacing the separate portfolio and position operations with a single, cohesive API.

✨ Features & Improvements

  • Unified portfolio block management (#107): Consolidated portfolio and position CRUD operations into a single "portfolio block" abstraction, simplifying the API surface and aligning with a block-based management model.
  • New models for portfolio block operations: CreatePortfolioBlockRequest, UpdatePortfolioBlockOperation, DeletePortfolioBlockOperation, PortfolioBlockPositions, PortfolioBlockPositionAdd, PortfolioBlockPositionDispose, and PortfolioBlockPositionUpdate.
  • Updated InvestorClient to use the new block-based operations.

⚠️ Breaking Changes

  • Removed standalone portfolio operations: op_create_portfolio, op_update_portfolio, and op_delete_portfolio have been replaced by op_create_portfolio_block, op_update_portfolio_block, and op_delete_portfolio_block respectively.
  • Removed all position operations: op_create_position, op_update_position, and op_delete_position have been deleted. Position management is now handled through the portfolio block API.
  • Model renames/removals: CreatePortfolioRequest, UpdatePortfolioOperation, DeletePortfolioOperation, CreatePositionRequest, UpdatePositionOperation, and DeletePositionOperation no longer exist. Consumers must migrate to the new PortfolioBlock* model equivalents.
  • GraphQL query modules under robosystems_client/graphql/queries/investor/ have been updated — any direct imports may need adjustment.

🔧 Technical Notes

  • Net reduction of ~310 lines of code, reflecting a cleaner, more consolidated API design.
  • Test suite updated to cover the new block-based operations.

📊 Release Statistics

  • Commits: 3
  • Files Changed: 21
  • Lines Added: 892
  • Lines Deleted: 1202
  • Previous Release: v0.3.16

🔗 Links


🤖 Generated with Claude Code

Release v0.3.16

26 Apr 04:50

Choose a tag to compare

RoboSystems Python SDK v0.3.16

This release adds new ledger operations for filing reports and transitioning filing statuses, expanding the RoboLedger API surface.

✨ Features

  • File Report operation — Added op_file_report to the RoboLedger extensions API, along with a corresponding FileReportRequest model, enabling programmatic report filing through the client. (#106)
  • Transition Filing Status operation — Added op_transition_filing_status with a TransitionFilingStatusRequest model, allowing clients to manage and transition filing statuses. (#106)

🔧 Technical Changes

  • Updated LedgerClient to expose the new file report and transition filing status operations.
  • Extended models and graphql/queries/ledger module exports to include the new request models.

⚠️ Breaking Changes

None.

🐛 Bug Fixes

None.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 8
  • Lines Added: 825
  • Lines Deleted: 1
  • Previous Release: v0.3.15

🔗 Links


🤖 Generated with Claude Code

Release v0.3.15

25 Apr 23:53

Choose a tag to compare

RoboSystems Python SDK v0.3.15

This release updates the GraphQL query terminology across the client, replacing classification with trait in both ledger and library queries.

Key Improvements

  • Renamed classification to trait in GraphQL queries — Ledger and library query modules now use the updated trait terminology, aligning the client with the latest API schema (#105)

⚠️ Breaking Changes

  • GraphQL query field rename: All references to classification in ledger and library queries have been replaced with trait. If your code directly depends on classification fields in query responses, you will need to update accordingly.

Technical Notes

  • This is a terminology refactor with a 1:1 replacement (18 lines added, 18 lines deleted), so no logic changes were introduced.
  • Affected modules: robosystems_client/graphql/queries/ledger/ and robosystems_client/graphql/queries/library/

📊 Release Statistics

  • Commits: 3
  • Files Changed: 3
  • Lines Added: 18
  • Lines Deleted: 18
  • Previous Release: v0.3.14

🔗 Links


🤖 Generated with Claude Code

Release v0.3.14

25 Apr 23:32

Choose a tag to compare

RoboSystems Python SDK v0.3.14

This release updates event block and taxonomy block models with new attributes, improving the data model expressiveness and documentation across the ledger client.

Features & Improvements

  • New event_class attribute for event blocks — Added CreateEventBlockRequestEventClass model, extending event block creation with a new classification dimension
  • Enhanced taxonomy block models — Updated TaxonomyBlockElementRequest and UpdateTaxonomyBlockRequest with additional attributes for richer taxonomy definitions
  • Expanded event block requests — Both CreateEventBlockRequest and UpdateEventBlockRequest now support new fields alongside the existing event_category
  • Improved documentation — Model docstrings and attribute descriptions updated for clarity

Technical Changes

  • Updated EvaluateRulesRequest model and its corresponding API operation (op_evaluate_rules)
  • Extended ElementUpdatePatch model with new patch capabilities
  • Updated op_update_taxonomy_block API operation to support new taxonomy attributes
  • New model CreateEventBlockRequestEventClass registered in models/__init__.py

⚠️ Breaking Changes

  • Event block and taxonomy block request schemas have changed — If you are constructing CreateEventBlockRequest, UpdateEventBlockRequest, TaxonomyBlockElementRequest, or UpdateTaxonomyBlockRequest objects manually, review the updated model signatures for new or modified fields
  • EvaluateRulesRequest model updated — Callers of the rules evaluation endpoint should verify compatibility with the updated request schema

Bug Fixes

  • No explicit bug fixes in this release

📊 Release Statistics

  • Commits: 3
  • Files Changed: 13
  • Lines Added: 215
  • Lines Deleted: 51
  • Previous Release: v0.3.13

🔗 Links


🤖 Generated with Claude Code

Release v0.3.13

25 Apr 02:38

Choose a tag to compare

RoboSystems Python SDK v0.3.13

This release improves SSE (Server-Sent Events) client resilience and ensures proper API key propagation across client requests.

Key Improvements

  • Enhanced SSE client error handling — Improved how the SSE client handles and surfaces errors, leading to more reliable streaming event connections and clearer failure diagnostics.
  • API key propagation in headers — API keys are now correctly forwarded in request headers through the SSE client, ensuring authenticated access to streaming endpoints.

Bug Fixes

  • Fixed error handling logic in the SSE client that could silently swallow or misreport connection failures (#103).
  • Resolved an issue where the API key was not being included in SSE client headers, potentially causing authentication failures on protected endpoints.

🔒 Security

  • API key headers are now consistently propagated to SSE endpoints, closing a gap where unauthenticated requests could be made unintentionally.

Notable Technical Changes

  • Updated sse_client.py and operation_client.py with improved error handling and header management.
  • Updated create_event_handler_request.py model (likely to support enhanced request metadata).
  • Added/expanded test coverage for SSE client error scenarios (test_sse_client.py).

⚠️ Breaking Changes

None anticipated. This is a backward-compatible patch release.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 5
  • Lines Added: 96
  • Lines Deleted: 4
  • Previous Release: v0.3.12

🔗 Links


🤖 Generated with Claude Code

Release v0.3.12

25 Apr 01:19

Choose a tag to compare

RoboSystems Python SDK v0.3.12

This release introduces event block and agent management capabilities to the LedgerClient, replacing the previous journal entry and closing entry paradigm with a more flexible event-driven architecture.

✨ New Features

  • Event Block Operations: Added full CRUD support for event blocks in LedgerClient, including create_event_block, preview_event_block, and update_event_block operations (#102)
  • Agent Management: Introduced create_agent and update_agent operations for managing agents with address and metadata support (#102)
  • Event Handler Support: Added create_event_handler and update_event_handler operations with metadata expression matching and origin configuration (#102)
  • Transaction Templates: Introduced new TransactionTemplate model hierarchy (TransactionTemplate, TransactionTemplateEntry, TransactionTemplateItem, TransactionTemplateLeg) for defining reusable transaction structures

⚠️ Breaking Changes

  • Removed journal entry operations: op_create_journal_entry, op_reverse_journal_entry, and associated models (CreateJournalEntryRequest, ReverseJournalEntryRequest) have been deleted
  • Removed closing entry operations: op_create_closing_entry, op_create_manual_closing_entry, and associated models (CreateClosingEntryOperation, CreateManualClosingEntryRequest, ManualLineItemRequest) have been deleted
  • Removed transaction operations: op_create_transaction and CreateTransactionRequest models have been removed
  • Removed schedule operations: op_dispose_schedule, op_truncate_schedule, and associated models (DisposeScheduleRequest, TruncateScheduleOperation) have been deleted
  • Model namespace changes: The models module has been significantly restructured — any imports referencing removed models will need to be updated to use the new event block, agent, and event handler equivalents

🔧 Notable Technical Changes

  • Extensive refactoring across 50 files with ~4,100 lines added and ~2,250 lines removed, reflecting a significant API surface redesign
  • Several operation files were renamed/refactored (indicated by R status) rather than being simple additions, preserving some structural patterns from the previous implementation
  • Comprehensive unit tests added for all new event block and agent management operations in test_ledger_client.py

📊 Release Statistics

  • Commits: 5
  • Files Changed: 50
  • Lines Added: 4115
  • Lines Deleted: 2248
  • Previous Release: v0.3.11

🔗 Links


🤖 Generated with Claude Code

Release v0.3.11

24 Apr 16:38

Choose a tag to compare

RoboSystems Python SDK v0.3.11

This release introduces the Taxonomy Block model as a unified abstraction for ledger operations, replacing several granular CRUD endpoints for elements, structures, taxonomies, and associations with a consolidated block-based API. A new DisposeScheduleRequest model is also added.

Key Features & Improvements

  • Taxonomy Block API: New create_taxonomy_block, update_taxonomy_block, and delete_taxonomy_block operations replace individual element, structure, taxonomy, and association endpoints, enabling atomic batch-style ledger modifications.
  • Rich block composition: Taxonomy blocks support nested sub-requests for elements, structures, associations, and rules — each with dedicated metadata and configuration models.
  • Rule support in taxonomy blocks: New TaxonomyBlockRuleRequest model with support for rule categories, patterns, severity levels, and variables.
  • DisposeScheduleRequest: New operation for schedule disposal within the ledger API.
  • Patch models: Added ElementUpdatePatch and StructureUpdatePatch models with optional metadata for granular updates.

⚠️ Breaking Changes

  • Removed endpoints: op_create_element, op_create_structure, op_create_taxonomy, op_create_associations, op_delete_element, op_delete_structure, op_delete_taxonomy, op_delete_association, op_update_element, op_update_taxonomy, and op_update_association have all been removed.
  • Removed models: CreateElementRequest, CreateStructureRequest, CreateTaxonomyRequest, BulkCreateAssociationsRequest, BulkAssociationItem, and all associated delete request models (DeleteElementRequest, DeleteStructureRequest, DeleteTaxonomyRequest, DeleteAssociationRequest) are deleted.
  • Ledger client updated: ledger_client.py has been modified to reflect the new consolidated API surface — existing integrations using the old individual CRUD operations will need to migrate to the taxonomy block pattern.

Notable Technical Changes

  • Net reduction of ~1,500 lines across 61 files, reflecting a significant simplification of the API surface.
  • Mapping association and entity-taxonomy linking operations (op_create_mapping_association, op_link_entity_taxonomy) are retained and updated.
  • Model __init__.py re-exported to align with the new model inventory.

📊 Release Statistics

  • Commits: 4
  • Files Changed: 61
  • Lines Added: 2887
  • Lines Deleted: 4423
  • Previous Release: v0.3.10

🔗 Links


🤖 Generated with Claude Code

Release v0.3.10

23 Apr 02:11

Choose a tag to compare

RoboSystems Python SDK v0.3.10

This release replaces the schedule operations paradigm with a new Information Block operations model in the ledger client, and introduces a rule evaluation capability.

Key Features & Improvements

  • Information Block operations: New CRUD operations (create, update, delete) for Information Blocks, replacing the previous schedule-based operations (#100)
  • Rule evaluation: Added new evaluate_rules operation to the ledger client, enabling rule-based processing within the ledger extension
  • Test & developer tooling: Improved test documentation and pre-commit hook for better clarity and efficiency (#99)

⚠️ Breaking Changes

  • Schedule operations removed: All schedule-related operations (create_schedule, update_schedule, delete_schedule) have been replaced with Information Block equivalents. Consumers using op_create_schedule, op_update_schedule, or op_delete_schedule must migrate to op_create_information_block, op_update_information_block, and op_delete_information_block.
  • Removed models: CreateScheduleRequest, DeleteScheduleRequest, UpdateScheduleRequest, EntryTemplateRequest, EntryTemplateRequestEntryType, and ScheduleMetadataRequest have been deleted. Use the new CreateInformationBlockRequest, UpdateInformationBlockRequest, DeleteInformationBlockRequest, and their associated payload models instead.
  • Ledger client API surface changed: Method signatures on LedgerClient now reflect Information Block terminology — existing integrations will require updates.

Notable Technical Changes

  • 7 new model files added to support the Information Block and rule evaluation request/response structures
  • GraphQL ledger query module updated to align with the new operation set
  • Schedule-to-Information Block file renames show 57–72% content similarity, indicating a substantial but evolutionary refactoring rather than a full rewrite

📊 Release Statistics

  • Commits: 6
  • Files Changed: 23
  • Lines Added: 1282
  • Lines Deleted: 864
  • Previous Release: v0.3.9

🔗 Links


🤖 Generated with Claude Code

Release v0.3.9

21 Apr 04:41

Choose a tag to compare

RoboSystems Python SDK v0.3.9

This release introduces a new library client, adds financial statement analysis capabilities, and improves API response handling with better error management across the SDK.

✨ Features & Improvements

  • New Library Client: Added library_client with associated GraphQL queries, expanding high-level client capabilities (#98)
  • Financial Statement Operations: Added new op_financial_statement_analysis and op_live_financial_statement endpoints with corresponding request models
  • Classification Support for Element Updates: UpdateElementRequest and related models now support classification fields, aligning update operations with create operations
  • Enhanced API Response Handling: Refactored response handling across all API operations to improve error management and consistency (#98)

⚠️ Breaking Changes

  • Removed Bulk Document Upload: Deleted upload_documents_bulk endpoint and associated models (BulkDocumentUploadRequest, BulkDocumentUploadResponse, BulkDocumentUploadResponseErrorsType0Item) — consumers relying on bulk upload functionality will need to migrate to an alternative approach
  • Refactored Element Request Models: Removed unused classification fields from certain element request models and updated related imports — custom code referencing removed fields may require updates

🔧 Technical Changes

  • Updated project metadata in pyproject.toml to reflect new client library integration
  • Modified SDK generation script (generate-sdk.sh) for updated build configuration
  • Broad refactor across Robo Investor and Robo Ledger operation modules for consistent response/error handling patterns (30+ operation files updated)
  • Updated clients/__init__.py exports to include the new library client
  • Added/updated tests for document client functionality

📊 Release Statistics

  • Commits: 6
  • Files Changed: 47
  • Lines Added: 2102
  • Lines Deleted: 1110
  • Previous Release: v0.3.8

🔗 Links


🤖 Generated with Claude Code

Release v0.3.8

16 Apr 22:49

Choose a tag to compare

RoboSystems Python SDK v0.3.8

This release aligns the API client's error handling with the Swagger/OpenAPI specification, ensuring all endpoint modules return accurate, spec-compliant error responses.

Key Improvements

  • Standardized API error handling across all endpoints — Refactored error handling in 146 files spanning every API domain (agent, auth, backup, billing, connections, credits, and documents) to match the service's OpenAPI/Swagger spec (#97).
  • More predictable error responses — API client consumers can now rely on error types and status codes that directly mirror the documented API contract.

⚠️ Breaking Changes

  • Error response types and handling may have changed — If your code catches or inspects specific exception types, status codes, or error payloads from the client, review your error handling logic. The client now follows the OpenAPI spec strictly, which may differ from previous behavior.

Notable Technical Changes

  • Net reduction of ~3,000 lines of code (+4,774 / −7,778) — The refactor consolidated and simplified error handling patterns, removing redundant or hand-written error logic in favor of spec-generated handling.
  • Broad surface area, narrow scope — Despite touching 146 files across all API modules, the changes are mechanically consistent: each endpoint was updated to use the same spec-aligned error handling approach.

Bug Fixes

  • Fixed error handling in API responses that previously diverged from the documented specification, which could lead to unexpected exception types or missing error details.

📊 Release Statistics

  • Commits: 3
  • Files Changed: 146
  • Lines Added: 4774
  • Lines Deleted: 7778
  • Previous Release: v0.3.7

🔗 Links


🤖 Generated with Claude Code