Skip to content

Releases: RoboFinSystems/robosystems-python-client

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

Release v0.3.20

06 May 01:31

Choose a tag to compare

RoboSystems Python SDK v0.3.20

This release adds support for subscription cancellation and graph deletion operations, expanding the billing and graph management capabilities of the client library.

✨ Features

  • Cancel Subscription Request — Added a new CancelSubscriptionRequest model and updated the cancel_org_subscription billing API endpoint to support structured cancellation requests (#110)
  • Delete Graph Operation — Introduced a new DeleteGraphOp model and op_delete_graph API endpoint, enabling graph deletion through the graph operations API (#110)

📝 Notable Technical Changes

  • Three new modules added: cancel_subscription_request.py, delete_graph_op.py, and op_delete_graph.py
  • Models registry (models/__init__.py) updated to export the new model classes
  • Existing cancel_org_subscription endpoint modified to integrate with the new request model

⚠️ Breaking Changes

  • The cancel_org_subscription API endpoint has been modified — callers may now need to provide a CancelSubscriptionRequest body. Review your integration if you use this endpoint directly.

🐛 Bug Fixes

  • None in this release.

📊 Release Statistics

  • Commits: 3
  • Files Changed: 6
  • Lines Added: 506
  • Lines Deleted: 10
  • Previous Release: v0.3.19

🔗 Links


🤖 Generated with Claude Code

Release v0.3.19

01 May 19:47

Choose a tag to compare

RoboSystems Python SDK v0.3.19

This release adds event block support to the LedgerClient, expanding the GraphQL query capabilities for interacting with the ledger service.

✨ Features

  • Event Block GraphQL Queries & Methods — Added new GraphQL queries and corresponding methods to LedgerClient for retrieving and working with event blocks (#109)
  • New query definitions added to the ledger GraphQL queries module

🔧 Technical Changes

  • Extended LedgerClient with event block methods, significantly expanding the client's API surface (~326 lines added)
  • Added comprehensive test coverage for the new event block functionality in test_ledger_client.py

⚠️ Breaking Changes

None.

🐛 Bug Fixes

None.


📊 Release Statistics

  • Commits: 3
  • Files Changed: 4
  • Lines Added: 326
  • Lines Deleted: 1
  • Previous Release: v0.3.18

🔗 Links


🤖 Generated with Claude Code

Release v0.3.18

01 May 02:18

Choose a tag to compare

RoboSystems Python SDK v0.3.18

This release enhances the SyncConnectionRequest model with new attributes to support full rebuild and date-based sync operations.

Features & Improvements

  • Full rebuild support for sync connectionsSyncConnectionRequest now includes a full rebuild attribute, enabling complete data resynchronization when needed (#108)
  • Since-date filtering — Added a since date attribute to SyncConnectionRequest, allowing users to sync data from a specific point in time rather than performing a full sync (#108)
  • Updated op_update_event_block endpoint — Minor enhancements to the RoboLedger event block update operation to align with the expanded sync capabilities

Breaking Changes

⚠️ None identified — the new attributes on SyncConnectionRequest are additive and should be backward-compatible with existing usage.

Technical Notes

  • Changes are concentrated in the client SDK models and a single API extension endpoint (3 files, +64/−13 lines), keeping this a focused, low-risk release
  • Developers using SyncConnectionRequest directly may want to review the new optional fields (full_rebuild, since) for improved control over sync behavior

📊 Release Statistics

  • Commits: 3
  • Files Changed: 3
  • Lines Added: 64
  • Lines Deleted: 13
  • Previous Release: v0.3.17

🔗 Links


🤖 Generated with Claude Code

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