Releases: RoboFinSystems/robosystems-python-client
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
Release v0.3.20
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
CancelSubscriptionRequestmodel and updated thecancel_org_subscriptionbilling API endpoint to support structured cancellation requests (#110) - Delete Graph Operation — Introduced a new
DeleteGraphOpmodel andop_delete_graphAPI 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, andop_delete_graph.py - Models registry (
models/__init__.py) updated to export the new model classes - Existing
cancel_org_subscriptionendpoint modified to integrate with the new request model
⚠️ Breaking Changes
- The
cancel_org_subscriptionAPI endpoint has been modified — callers may now need to provide aCancelSubscriptionRequestbody. 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
- Full Changelog: v0.3.19...v0.3.20
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.19
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
LedgerClientfor retrieving and working with event blocks (#109) - New query definitions added to the ledger GraphQL queries module
🔧 Technical Changes
- Extended
LedgerClientwith 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
- Full Changelog: v0.3.18...v0.3.19
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.18
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 connections —
SyncConnectionRequestnow includes a full rebuild attribute, enabling complete data resynchronization when needed (#108) - Since-date filtering — Added a
sincedate attribute toSyncConnectionRequest, allowing users to sync data from a specific point in time rather than performing a full sync (#108) - Updated
op_update_event_blockendpoint — Minor enhancements to the RoboLedger event block update operation to align with the expanded sync capabilities
Breaking Changes
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
SyncConnectionRequestdirectly 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
- Full Changelog: v0.3.17...v0.3.18
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.17
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, andPortfolioBlockPositionUpdate. - Updated
InvestorClientto use the new block-based operations.
⚠️ Breaking Changes
- Removed standalone portfolio operations:
op_create_portfolio,op_update_portfolio, andop_delete_portfoliohave been replaced byop_create_portfolio_block,op_update_portfolio_block, andop_delete_portfolio_blockrespectively. - Removed all position operations:
op_create_position,op_update_position, andop_delete_positionhave been deleted. Position management is now handled through the portfolio block API. - Model renames/removals:
CreatePortfolioRequest,UpdatePortfolioOperation,DeletePortfolioOperation,CreatePositionRequest,UpdatePositionOperation, andDeletePositionOperationno longer exist. Consumers must migrate to the newPortfolioBlock*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
- Full Changelog: v0.3.16...v0.3.17
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.16
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_reportto the RoboLedger extensions API, along with a correspondingFileReportRequestmodel, enabling programmatic report filing through the client. (#106) - Transition Filing Status operation — Added
op_transition_filing_statuswith aTransitionFilingStatusRequestmodel, allowing clients to manage and transition filing statuses. (#106)
🔧 Technical Changes
- Updated
LedgerClientto expose the new file report and transition filing status operations. - Extended
modelsandgraphql/queries/ledgermodule 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
- Full Changelog: v0.3.15...v0.3.16
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.15
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
classificationtotraitin GraphQL queries — Ledger and library query modules now use the updatedtraitterminology, aligning the client with the latest API schema (#105)
⚠️ Breaking Changes
- GraphQL query field rename: All references to
classificationin ledger and library queries have been replaced withtrait. If your code directly depends onclassificationfields 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/androbosystems_client/graphql/queries/library/
📊 Release Statistics
- Commits: 3
- Files Changed: 3
- Lines Added: 18
- Lines Deleted: 18
- Previous Release: v0.3.14
🔗 Links
- Full Changelog: v0.3.14...v0.3.15
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.14
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_classattribute for event blocks — AddedCreateEventBlockRequestEventClassmodel, extending event block creation with a new classification dimension - Enhanced taxonomy block models — Updated
TaxonomyBlockElementRequestandUpdateTaxonomyBlockRequestwith additional attributes for richer taxonomy definitions - Expanded event block requests — Both
CreateEventBlockRequestandUpdateEventBlockRequestnow support new fields alongside the existingevent_category - Improved documentation — Model docstrings and attribute descriptions updated for clarity
Technical Changes
- Updated
EvaluateRulesRequestmodel and its corresponding API operation (op_evaluate_rules) - Extended
ElementUpdatePatchmodel with new patch capabilities - Updated
op_update_taxonomy_blockAPI operation to support new taxonomy attributes - New model
CreateEventBlockRequestEventClassregistered inmodels/__init__.py
⚠️ Breaking Changes
- Event block and taxonomy block request schemas have changed — If you are constructing
CreateEventBlockRequest,UpdateEventBlockRequest,TaxonomyBlockElementRequest, orUpdateTaxonomyBlockRequestobjects manually, review the updated model signatures for new or modified fields EvaluateRulesRequestmodel 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
- Full Changelog: v0.3.13...v0.3.14
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.13
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.pyandoperation_client.pywith improved error handling and header management. - Updated
create_event_handler_request.pymodel (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
- Full Changelog: v0.3.12...v0.3.13
- All Releases: View all releases
🤖 Generated with Claude Code
Release v0.3.12
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, includingcreate_event_block,preview_event_block, andupdate_event_blockoperations (#102) - Agent Management: Introduced
create_agentandupdate_agentoperations for managing agents with address and metadata support (#102) - Event Handler Support: Added
create_event_handlerandupdate_event_handleroperations with metadata expression matching and origin configuration (#102) - Transaction Templates: Introduced new
TransactionTemplatemodel 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_transactionandCreateTransactionRequestmodels have been removed - Removed schedule operations:
op_dispose_schedule,op_truncate_schedule, and associated models (DisposeScheduleRequest,TruncateScheduleOperation) have been deleted - Model namespace changes: The
modelsmodule 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
Rstatus) 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
- Full Changelog: v0.3.11...v0.3.12
- All Releases: View all releases
🤖 Generated with Claude Code