Skip to content

Releases: RoboFinSystems/robosystems-python-client

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

Release v0.3.7

16 Apr 21:18

Choose a tag to compare

RoboSystems Python SDK v0.3.7

This release renames the "Upgrade Tier" operation to "Change Tier" across the Graph API client, models, and related operations, reflecting a broader scope for tier modifications and including fixes to graph operations.

Features & Improvements

  • Change Tier operation: Introduced the Change Tier operation and associated models to the Graph API client, replacing the previous Upgrade Tier naming convention. This better represents the ability to both upgrade and downgrade tiers.
  • Updated create_graph and graph_client to support the new Change Tier operation.

⚠️ Breaking Changes

  • Renamed Upgrade TierChange Tier: All references to UpgradeTier have been renamed to ChangeTier across operations, models, and client methods. If you are importing or referencing any of the following, you will need to update your code:
    • op_upgrade_tierop_change_tier
    • UpgradeTierOpChangeTierOp
    • UpgradeTierOpNewTierChangeTierOpNewTier
  • Model exports in models/__init__.py have been updated accordingly.

Bug Fixes

  • Fixed graph operations as part of the rename effort (#96).

Technical Notes

  • 9 files changed across operations, models, client, and tests.
  • Tests updated in test_graph_client.py to cover the renamed Change Tier operation.
  • CreateGraphRequest model updated to align with the new naming.

📊 Release Statistics

  • Commits: 3
  • Files Changed: 9
  • Lines Added: 184
  • Lines Deleted: 111
  • Previous Release: v0.3.6

🔗 Links


🤖 Generated with Claude Code

Release v0.3.6

16 Apr 19:59

Choose a tag to compare

RoboSystems Python SDK v0.3.6

This release introduces transaction creation support in the Ledger API client, expanding the available financial operations.

✨ New Features

  • Create Transaction operation — Added a new CreateTransaction endpoint to the Ledger API client, enabling programmatic creation of transactions via the API (#95)
  • New models — Introduced CreateTransactionRequest and CreateTransactionRequestStatus models to support transaction creation workflows

🔧 Technical Changes

  • Extended ledger_client.py with the new create transaction operation
  • Registered new models in the public models module (__init__.py)
  • Added 612 lines of new client code and model definitions across 3 new files

⚠️ Breaking Changes

None. This is a purely additive release with no modifications to existing interfaces.

🐛 Bug Fixes

No bug fixes in this release.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 6
  • Lines Added: 612
  • Lines Deleted: 1
  • Previous Release: v0.3.5

🔗 Links


🤖 Generated with Claude Code

Release v0.3.5

16 Apr 18:23

Choose a tag to compare

RoboSystems Python SDK v0.3.5

This release refactors API methods across the client library to use operation envelope wrappers, improving consistency and readability throughout the codebase.

Improvements

  • API method consistency overhaul: Refactored API methods across all modules (agent, auth, backup, billing, connections, credits, documents, files, graphs, operations, and more) to use standardized operation envelope wrappers, providing a more uniform interface for all API interactions.
  • Improved code readability: Streamlined API method signatures and return patterns for clearer, more maintainable code across 140+ files.

⚠️ Breaking Changes

  • API method signatures may have changed: The widespread refactor of API methods to use operation envelope wrappers could affect existing code that directly calls client API methods. If you are using low-level API methods from robosystems_client.api.*, review your usage to ensure compatibility with the new envelope wrapper pattern.

Notable Technical Changes

  • Scope of change: 142 files modified across virtually every API domain (auth, billing, graphs, documents, files, connections, backups, MCP, extensions, operations, etc.), indicating a systematic, library-wide refactor rather than a targeted fix.
  • Net code addition: +215 lines / −90 lines suggests the envelope wrappers add a thin, consistent abstraction layer without significant bloat.

Bug Fixes

  • No explicit bug fixes noted in this release.

This is primarily an internal consistency and maintainability release. End users of the client library should verify that their API call patterns align with the updated method signatures.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 142
  • Lines Added: 215
  • Lines Deleted: 90
  • Previous Release: v0.3.4

🔗 Links


🤖 Generated with Claude Code

Release v0.3.4

16 Apr 09:22

Choose a tag to compare

RoboSystems Python SDK v0.3.4

A patch release that fixes a bug in the default value handling for idempotency keys in the LedgerClient.

Bug Fixes

  • Fixed idempotency key default value handling in LedgerClient — Resolved an issue where the idempotency key default value was not being properly assigned, ensuring correct and consistent behavior when no explicit key is provided. (#93)

Technical Details

  • Updated default value logic in robosystems_client/clients/ledger_client.py
  • Added/updated corresponding test coverage in test_ledger_client.py

Breaking Changes

None — this is a backwards-compatible bugfix release.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 3
  • Lines Added: 4
  • Lines Deleted: 3
  • Previous Release: v0.3.3

🔗 Links


🤖 Generated with Claude Code

Release v0.3.3

16 Apr 08:00

Choose a tag to compare

RoboSystems Python SDK v0.3.3

This release refactors materialization operations to use a dedicated MaterializeOp model, improving type safety and consistency across graph operation APIs.

✨ Improvements

  • Refactored materialization operations to use MaterializeOp model — Materialization calls now use a structured request model instead of loosely-typed parameters, aligning with the pattern used by other graph operations (#92)
  • Added UpgradeTierOpNewTier model — Extracted the new-tier definition into its own dedicated model for clearer separation of concerns

⚠️ Breaking Changes

  • materialize API signature changed — The op_materialize endpoint and corresponding GraphClient methods now expect a MaterializeOp model object. Callers passing raw arguments will need to update to construct a MaterializeOp instance instead.

🔧 Technical Changes

  • New model modules added: materialize_op.py, upgrade_tier_op_new_tier.py
  • Updated model exports in models/__init__.py
  • graph_client.py updated to consume the new MaterializeOp model
  • DatabaseHealthResponse model received minor adjustments
  • Tests updated to reflect the new materialization API contract

📊 Release Statistics

  • Commits: 3
  • Files Changed: 9
  • Lines Added: 261
  • Lines Deleted: 124
  • Previous Release: v0.3.2

🔗 Links


🤖 Generated with Claude Code

Release v0.3.2

16 Apr 06:56

Choose a tag to compare

RoboSystems Python SDK v0.3.2

This release consolidates client architecture, introduces native accounting operations, and adds new API extensions with SSE support.

Key Features & Improvements

  • Native accounting operations: Added journal entry CRUD operations (create, delete, reverse) with status management support (#89)
  • Entity taxonomy linking: New op_link_entity_taxonomy operation for associating entities with taxonomies
  • Expanded ledger operations: Added create/update/delete operations for associations, elements, structures, schedules, and taxonomies
  • SSE support: New client extensions for RoboSystems API with Server-Sent Events (SSE) streaming (#90)
  • Enhanced error handling: Improved response parsing and error handling across RoboInvestor and GraphQL API operations (#89)

⚠️ Breaking Changes

  • ReportClient removed: Report functionality has been fully consolidated into LedgerClient. All ReportClient references and imports must be migrated (#91)
  • Package renamed: Client package has been renamed with a facade refactor — update all import paths accordingly (#90)
  • Backup/restore operations relocated: create_backup and restore_backup have been removed from robosystems_client/api/backup/ and migrated into the unified graph operations module (#91)

Notable Technical Changes

  • Unified graph operations module: Backup, restore, and report handling consolidated into a single graph operations module, reducing surface area and simplifying the client API (#91)
  • Client reference refactor: Updated client references across code and documentation to reflect the new package naming (#90)
  • Project configuration cleanup: Simplified pyproject.toml and updated README to document table ingestion features (#88)

Bug Fixes

  • Improved response parsing resilience in RoboInvestor operations to handle edge cases
  • Fixed error handling inconsistencies in GraphQL API operations

📊 Release Statistics

  • Commits: 15
  • Files Changed: 149
  • Lines Added: 13388
  • Lines Deleted: 4695
  • Previous Release: v0.3.1

🔗 Links


🤖 Generated with Claude Code

Release v0.3.1

14 Apr 23:27

Choose a tag to compare

RoboSystems Python SDK v0.3.1

This release adds support for JWT token authentication in the GraphQL client, expanding authentication flexibility beyond API keys.

✨ Features & Improvements

  • JWT token support in GraphQLClient — The client now accepts both API keys and JWT tokens for authentication, allowing more flexible integration scenarios (#87)
  • Enhanced token handling logic to seamlessly distinguish between and route both authentication methods

⚠️ Breaking Changes

None — existing API key authentication continues to work as before.

🔧 Technical Notes

  • Authentication header construction in robosystems_client/graphql/client.py updated to support dual token types
  • Minimal, focused changeset (2 files, 19 lines added) keeping the change low-risk

🐛 Bug Fixes

No bug fixes in this release.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 2
  • Lines Added: 19
  • Lines Deleted: 3
  • Previous Release: v0.3.0

🔗 Links


🤖 Generated with Claude Code

Release v0.3.0

14 Apr 19:17

Choose a tag to compare

RoboSystems Python SDK v0.3.0

A major architectural release that migrates the API client from direct investor/ledger endpoints to a unified extensions-based GraphQL architecture, significantly restructuring the client's API surface.

Key Features & Improvements

  • Extensions-based GraphQL API architecture — The core API client has been fully migrated to a new extensions-oriented structure, routing operations through GraphQL endpoints (extensions_graph_ql, extensions_robo_investor, extensions_robo_ledger) (#86)
  • New GraphQL transport layer — Added dedicated GET and POST handlers for GraphQL queries via /extensions/{graph_id}/graphql endpoints
  • New RoboLedger operations — Added support for auto_map_elements, build_fact_grid, close_period, create_manual_closing_entry, delete_mapping_association, delete_publish_list, delete_report, remove_publish_list_member, reopen_period, share_report, and truncate_schedule
  • New RoboInvestor operations — Added delete_portfolio, delete_position, and delete_security operations
  • Improved response handling — Enhanced InvestorClient and LedgerClient with better response parsing and new functionality

⚠️ Breaking Changes

  • Complete API namespace restructure — All endpoints have moved:
    • robosystems_client.api.investor.*robosystems_client.api.extensions_robo_investor.*
    • robosystems_client.api.ledger.*robosystems_client.api.extensions_robo_ledger.*
    • robosystems_client.api.views.*robosystems_client.api.extensions_robo_ledger.*
  • Removed direct REST endpoints — Query/list operations (get_portfolio, get_position, get_security, list_holdings, list_portfolios, list_positions, list_securities) have been removed in favor of GraphQL queries
  • Operation naming convention changed — All operation modules now use an op_ prefix (e.g., create_portfolioop_create_portfolio)

Notable Technical Changes

  • Substantial codebase reduction: ~22,300 lines removed vs ~7,700 lines added, reflecting the consolidation from REST to GraphQL
  • 195 files changed across the migration, indicating a comprehensive restructure
  • Updated build configuration in pyproject.toml to refine sdist inclusions
  • Adjusted GitHub Actions test workflow to align with the new architecture

📊 Release Statistics

  • Commits: 5
  • Files Changed: 195
  • Lines Added: 7694
  • Lines Deleted: 22332
  • Previous Release: v0.2.48

🔗 Links


🤖 Generated with Claude Code

Release v0.2.48

13 Apr 01:35

Choose a tag to compare

RoboSystems Python SDK v0.2.48

This release introduces comprehensive fiscal calendar management and period closing operations to the Ledger API, significantly expanding the client's financial workflow capabilities.

✨ New Features

  • Fiscal Calendar Management — Added full support for fiscal calendar operations including retrieving fiscal calendars, initializing ledgers, and truncating schedules (#85)
  • Period Closing Workflow — New APIs for closing and reopening fiscal periods, setting close targets, listing period drafts, and creating manual closing entries
  • Ledger Initialization — Added initialize_ledger endpoint to support bootstrapping new ledger instances with fiscal calendar configuration
  • Manual Closing Entries — Support for creating manual closing entries with typed entry classification (CreateManualClosingEntryRequestEntryType)

📦 New API Endpoints

  • close_fiscal_period — Close a fiscal period
  • reopen_fiscal_period — Reopen a previously closed fiscal period
  • get_fiscal_calendar — Retrieve the fiscal calendar for a ledger
  • set_close_target — Set the target for period closing
  • list_period_drafts — List draft entries for a given period
  • create_manual_closing_entry — Create a manual closing journal entry
  • initialize_ledger — Initialize a new ledger instance
  • truncate_schedule — Truncate a fiscal schedule

📝 Documentation & Fixes

  • Updated create_structure_request_structure_type documentation, removing outdated cash flow statement reference
  • Refactored fiscal period closing logic in API documentation for clarity

🔧 Notable Technical Changes

  • LedgerClient extended with all new fiscal calendar methods, consolidating the high-level interface
  • 20+ new model classes added to support request/response schemas for fiscal operations
  • Comprehensive unit tests added for all new LedgerFiscalCalendar operations

⚠️ Breaking Changes

  • The create_structure_request_structure_type enum has been updated — users referencing a cash flow statement structure type should review their code for compatibility.

📊 Release Statistics

  • Commits: 6
  • Files Changed: 35
  • Lines Added: 4556
  • Lines Deleted: 45
  • Previous Release: v0.2.47

🔗 Links


🤖 Generated with Claude Code