Releases: RoboFinSystems/robosystems
Release v1.4.65
RoboSystems Service v1.4.65
A significant release focused on API documentation alignment, refactoring of the extensions materialization pipeline, and enhanced graph operations—accompanied by substantial dependency updates and internal restructuring of extension models.
Key Features & Improvements
- Enhanced graph operations & idempotency handling — New operations module (
robosystems/middleware/operations.py,robosystems/models/api/graphs/operations.py) with improved idempotency support for graph creation and mutations (#624) - Extensions materialization overhaul — Refactored materialization process to use a dedicated
ExtensionsMaterializer, addeduser_graph_extensions_materialized_sourceDagster asset for better pipeline observability - Transaction & journal entry models — Added transaction creation/response models and enhanced the journal entry command (
robosystems/models/api/extensions/journal_entries.py, updatedtransactions.py) - API & Swagger documentation alignment — Comprehensive error response documentation across endpoints, new OpenAPI tags for Connections and Subscriptions, refined descriptions for Graph Operations and Queries (#627)
- StrategySelector execution strategy refactoring — Cleaner handling of execution strategy selection
- CreateGraphRequest validation improvements — Stricter validation with updated documentation, refined examples, and added initial entity support in graph creation test data
- New API tags —
ConnectionsandSubscriptionstags added to OpenAPI configuration for better API discoverability
⚠️ Breaking Changes
- Legacy environment variable fallbacks removed —
robosystems/config/env.pyno longer falls back to deprecated env vars; ensure your deployment uses the current variable names - Extension models restructured — Several models moved from
robosystems/models/extensions/roboledger/up torobosystems/models/extensions/(e.g.,association.py,classification_rule.py,dimension.py,element.py,structure.py,taxonomy.py). Direct imports from the old paths will break. - Document service path changed —
robosystems/operations/documents/service.pyrelocated torobosystems/operations/document_service.py; thedocuments/__init__.pypackage was removed - Removed dependencies —
async_timeoutandpython-slugifyhave been dropped from the project
Notable Technical Changes
- robosystems-client upgraded through multiple versions — Stepped from 0.3.3 → 0.3.4 → 0.3.5 → 0.3.6 → 0.3.7 → 0.3.8, with a new SDK update task added to the justfile
- New
entity_taxonomy.pymodel anddimension_junctions.pyadded to support richer taxonomy and dimensional relationships in extensions - Improved database health check logging — More informative log output in
health.pyfor diagnosing connectivity issues - Tier change tests added — New test coverage for graph tier change operations
Bug Fixes
- Fixed asset key for extensions materialization reporting
- Improved error response handling across multiple API endpoints to return consistent, well-documented error envelopes
Security & Dependency Updates
- 🔒 Bumped Mako from 1.3.10 to 1.3.11 (via Dependabot, #626) — includes upstream security and stability fixes
📊 Release Statistics
- Commits: 50
- Files Changed: 171
- Lines Added: 10210
- Lines Deleted: 8069
- Previous Release: v1.4.64
🔗 Links
- Full Changelog: v1.4.64...v1.4.65
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.64
RoboSystems Service v1.4.64
This release enhances database infrastructure with RDS Proxy support, adds Graph API cycle protection, and improves observability and operational resilience across the platform.
✨ Features & Improvements
- RDS Proxy Support — Added configurable RDS Proxy integration with connection borrow timeout, updated PostgreSQL configuration, database endpoint handling in CI/CD workflows, and Lambda rotation scripts (#620)
- Graph API Cycle Protection — Refactored sensitive path handling and enhanced
auto_map_elements_oplogic to guard against cycles in graph operations (#619) - Instance Busy Counter — New
instance_busymiddleware module to track and manage destructive operation concurrency, with dedicated test coverage - API Response Caching & Metrics — Extended metrics functionality with enhanced API response caching, OpenTelemetry improvements, and better error handling in extensions (#618)
- Async Lifecycle Management — Implemented async lifecycle management for the RoboSystems API entry point
🔧 Technical Changes
- Refactored table operation management in background tasks for cleaner separation of concerns
- Refactored refresh actions and health check scripts across GitHub Actions workflows (
refresh-graph-asg,refresh-graph-containers,graph-asg-refresh,service-refresh) - Updated deployment workflows (
prod.yml,staging.yml,deploy-postgres.yml) to support new database endpoint configuration - Enhanced
materializeanddirect_materializationoperation extensions with improved metrics and error handling - Updated CloudFormation Postgres template to accommodate RDS Proxy settings
🐛 Bug Fixes
- Fixed edge cases in sensitive path handling within the Graph API router
- Improved robustness of health check scripts for graph instances
⚠️ Breaking Changes
- Database endpoint configuration in workflows has changed — teams with custom deployment pipelines referencing Postgres endpoints should verify compatibility with the new RDS Proxy-aware configuration
📊 Release Stats
| Metric | Value |
|---|---|
| Files Changed | 35 |
| Lines Added | 2,345 |
| Lines Deleted | 825 |
| PRs Merged | 3 |
📊 Release Statistics
- Commits: 18
- Files Changed: 35
- Lines Added: 2345
- Lines Deleted: 825
- Previous Release: v1.4.63
🔗 Links
- Full Changelog: v1.4.63...v1.4.64
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.63
RoboSystems Service v1.4.63
This release introduces a new Extensions GraphQL API with investor and ledger operations, alongside dependency updates and improved documentation.
✨ Features & Improvements
- Extensions GraphQL endpoint — New GraphQL API layer supporting graph-scoped endpoints, pagination validation, and a mapped trial balance feature (#617)
- RoboInvestor operations module — Added command and read operations for portfolios, positions, securities, and holdings
- Authorization & error handling — Refactored auth flow and error handling across GraphQL operations with enhanced idempotency support
- New environment variables — Added configuration options to support extensions and GraphQL feature flags
- Documentation overhaul — New and updated READMEs for GraphQL, API models, extensions models, and core models; clarified URL structure and feature flags in the main README
🔧 Technical Changes
- Updated
robosystems-clientto 0.3.1 andarelle-releaseto 2.39.5 - Updated development and testing dependencies
- Refactored API structure for extensions to align with the new GraphQL architecture
- Updated Content Security Policy (CSP) to accommodate the GraphQL endpoint
- Refactored ValkeyDatabase allocation and updated corresponding tests
- Improved CI compatibility by dynamically deriving
main.pypath in tests
🐛 Bug Fixes
- Fixed test suite to reflect changes in Valkey database allocation behavior
🔒 Security
- Updated
SECURITY.mdand refined authorization logic in GraphQL operations
⚠️ Breaking Changes
- API restructuring for extensions — Existing extensions API routes may have changed as part of the refactor to support GraphQL; consumers of extensions endpoints should verify compatibility
- ValkeyDatabase allocation changes — Database allocation behavior has been updated; services depending on specific database indices should be reviewed
📊 Release Statistics
- Commits: 15
- Files Changed: 157
- Lines Added: 16721
- Lines Deleted: 12076
- Previous Release: v1.4.62
🔗 Links
- Full Changelog: v1.4.62...v1.4.63
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.62
RoboSystems Service v1.4.62
This is a maintenance release focused on secrets rotation bug fixes and a dependency update.
🔧 Bug Fixes
- Secrets rotation workflow improvements — Enhanced the GitHub Actions secrets rotation workflow and refined PostgreSQL rotation logic for more reliable secret lifecycle management (#615)
- Valkey rotation adjustments — Updated Valkey rotation lambda alongside PostgreSQL fixes to ensure consistent rotation behavior
📦 Dependency Updates
- Bumped Pillow from
12.1.1to12.2.0(#616)
🔒 Security & Infrastructure
- Secrets rotation pipeline hardened with improved workflow definitions and rotation logic across both PostgreSQL and Valkey lambdas — critical for maintaining secure credential hygiene in production environments
⚠️ Breaking Changes
None.
Technical Notes
- Changes span the rotation lambdas (
postgres_rotation.py,valkey_rotation.py), the secrets rotation workflow (.github/workflows/secrets-rotation.yml), and lock files (pyproject.toml,uv.lock) - Modest changeset (81 lines added / 66 deleted) indicating targeted refinements rather than major rewrites
📊 Release Statistics
- Commits: 5
- Files Changed: 5
- Lines Added: 81
- Lines Deleted: 66
- Previous Release: v1.4.61
🔗 Links
- Full Changelog: v1.4.61...v1.4.62
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.61
RoboSystems Service v1.4.61
A substantial release focused on RoboLedger closing cadence, embeddings materialization, and improvements to ledger workflows and graph infrastructure.
Key Features & Improvements
- Fiscal period closing cadence — Full support for closing prior periods to retained earnings, including new fiscal calendar models, closing book extensions, and account rollup logic under the
RoboLedgernamespace (#612, #613) - Closing demo — New
examples/close_demo/walkthrough for Cascade Advisory Group LLC demonstrating the end-to-end period close flow with OLTP writing, mappings, and policies - Embeddings materialization & vector indexing — Added materialization support for embeddings with HNSW vector index identifier validation and chunked materialization options (#607)
- Auto-reverse schedules — Schedules now support auto-reverse functionality with enhanced schedule models (#610)
- Provenance tracking — Ledger entries now carry provenance metadata with improved error handling (#612)
- Graph ID generation overhaul — Switched to ULID-based graph IDs for time-ordering, with custom exceptions for graph ID collisions and allocation race conditions (#611)
- Enhanced financial statement tool — Refactored report generation logic and improved API documentation for cash flow handling
Bug Fixes
- Taxonomy seeding fix — Refactored Docker Compose configuration and corrected taxonomy extension seeding logic (#608)
Security
- cryptography bumped from 46.0.6 → 46.0.7 (#609)
⚠️ Breaking Changes
- Fiscal calendar and schedule operations have been refactored into the
RoboLedgernamespace — consumers of the previous fiscal calendar or schedule APIs/models may need to update imports and references - Graph ID generation now uses ULID instead of the previous scheme, which may affect any code that parses or depends on graph ID format
Notable Technical Changes
robosystems-clientupdated to 0.2.48 with refined fiscal calendar error handling- Document ID handling improved with parent document ID extraction and new test coverage
- R2 backup service enhanced with better zstd compression error handling and updated documentation
- Task deduplication logic refactored with updated task labels
preserve_duckdboption added to database deletion flows- 109 files changed across 31 commits (+13,513 / −1,421 lines)
📊 Release Statistics
- Commits: 31
- Files Changed: 109
- Lines Added: 13513
- Lines Deleted: 1421
- Previous Release: v1.4.60
🔗 Links
- Full Changelog: v1.4.60...v1.4.61
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.60
RoboSystems Service v1.4.60
This release improves OpenSearch index management, adds new search filtering options, and enhances DuckDB schema evolution support.
✨ Features & Improvements
- New
force-mergecommand — Thedrop-indexcommand has been renamed toforce-merge, now compacting index segments, purging deleted document tombstones, and reclaiming memory with improved user prompts and feedback. before_datefilter for search delete — Added abefore_dateoption to the search delete command, enabling more targeted document removal by date.skip_embeddingsconfig option —SECNarrativeIndexConfigandSECiXBRLIndexConfignow support askip_embeddingsflag, allowing pipelines to bypass embedding generation when not needed.
🐛 Bug Fixes
- DuckDB schema evolution fix — Removed an unnecessary column refresh after
ALTERinDuckDBTableManager, resolving issues with staging table evolution (#605). - OpenSearch bulk reindex removal — Fixed OpenSearch reindex bulk mode behavior (#604).
⚠️ Breaking Changes
- The
drop-indexCLI command has been renamed toforce-merge. Any scripts or workflows referencing the old command name will need to be updated.
🔧 Technical Changes
- Refactored
query_osfunction for cleaner OpenSearch query construction. - Refactored
sec_narratives_indexedfunction for improved clarity and efficiency. - Refactored DuckDB table management internals to properly support schema evolution, ensuring
ALTER TABLEoperations propagate correctly without redundant refreshes.
📊 Release Statistics
- Commits: 10
- Files Changed: 8
- Lines Added: 155
- Lines Deleted: 30
- Previous Release: v1.4.59
🔗 Links
- Full Changelog: v1.4.59...v1.4.60
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.59
RoboSystems Service v1.4.59
This release introduces graph tier upgrade functionality and resolves subscription management issues related to caching and access enforcement.
✨ Features & Improvements
- Graph tier upgrades — Added dedicated graph tier upgrade workflow, including tier validation logic, upgrade task orchestration, and a new API endpoint for managing upgrades (
#602) - Enhanced subscription management — Improved error handling during graph tier upgrades with better fallback and recovery behavior
- Improved entity ticker handling — Updated how entity tickers are resolved during graph access enforcement
🐛 Bug Fixes
- Graph subscription cache invalidation — Fixed issues with stale cache entries in subscription management that could lead to incorrect access enforcement (
#603) - Improved cache invalidation logging — Added detailed logging around cache invalidation to aid in debugging subscription state issues
🔧 Technical Changes
- Added new modules:
graph_tier_upgrade.py(task),tier_validation.py(validation logic) - Removed deprecated
upgrade.pybilling model in favor of consolidated subscription model handling - Expanded test coverage across graph tier upgrades, tier validation, access enforcement, and document tools (6 new/modified test files)
- Updated CloudFormation templates for graph volumes and worker infrastructure
- Updated billing enforcement middleware to align with new subscription and tier logic
- Dependency lock file updated (
uv.lock)
⚠️ Breaking Changes
- Removed
robosystems/models/api/billing/upgrade.py— Upgrade model has been deleted; consumers importing from this module must migrate to the updated subscription models inrobosystems/models/api/billing/subscription.py
📊 Release Statistics
- Commits: 8
- Files Changed: 38
- Lines Added: 2846
- Lines Deleted: 213
- Previous Release: v1.4.58
🔗 Links
- Full Changelog: v1.4.58...v1.4.59
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.58
RoboSystems Service v1.4.58
This release refactors API documentation, enhances vector search functionality, and updates the robosystems-client dependency.
Improvements
- Enhanced vector search functionality — Refined vector search capabilities in the databases API for improved query handling
- API tags refactored — Updated OpenAPI tag definitions for better API documentation organization and clarity
- Dependency update — Bumped
robosystems-clientto version0.2.45
Notable Technical Changes
- Significant code cleanup across multiple routers (
credits,materialize), with a net reduction of ~194 lines — indicating simplified or consolidated logic - Updated tests for the credits graph router to reflect refactored endpoints
- Lock file (
uv.lock) updated to align with dependency changes
Breaking Changes
openapi_tags.py.
credits.py and materialize.py may indicate changed or removed endpoints. Review the updated API docs before upgrading.
Bug Fixes
- No explicit bug fixes identified in this release.
📊 Release Statistics
- Commits: 4
- Files Changed: 7
- Lines Added: 70
- Lines Deleted: 264
- Previous Release: v1.4.57
🔗 Links
- Full Changelog: v1.4.57...v1.4.58
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.57
RoboSystems Service v1.4.57
This release refactors storage limit handling, improves search defaults, and fixes a bug in repository credit allocation. The net deletion of over 1,000 lines reflects a significant cleanup of deprecated storage limit endpoints and related tests.
✨ Features & Improvements
- Hybrid semantic search capability — Added hybrid semantic search and clarified default search modes across the search client and service (#599)
- Instance storage limit in service offerings — Storage limit information is now returned as part of the service offerings response, replacing the previous dedicated endpoint (#600)
- User repository credit allocation — Added a new operation for user repository credit allocation (#598)
🐛 Bug Fixes
- Repository credit allocation logic — Refactored and corrected user repository credit allocation logic to resolve allocation issues (#598)
⚠️ Breaking Changes
- Removed
StorageLimitResponseand dedicated storage limit endpoints — The standalone storage limits API and its response model have been removed. Consumers should now retrieve instance storage limits from the service offerings endpoint instead (#600) - Search default mode change — Default search behavior has been updated to use BM25; clients relying on the previous default should verify their search integration (#599)
🔧 Technical Changes
- Upgraded
robosystems-clientdependency to v0.2.44 - Removed obsolete test suites:
test_storage_limits_ops.pyandtest_storage_limits.py - Refactored billing and credit router logic for cleaner credit allocation handling
- Updated and added tests for search client/service, credit allocation, and file upload routers
📊 Release Statistics
- Commits: 14
- Files Changed: 20
- Lines Added: 292
- Lines Deleted: 1355
- Previous Release: v1.4.56
🔗 Links
- Full Changelog: v1.4.56...v1.4.57
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.56
RoboSystems Service v1.4.56
A substantial release focused on simplifying graph provisioning, introducing graph-scoped agents, and optimizing data ingestion performance.
✨ Features & Improvements
- Graph-Scoped Agents — Added
GraphScopeandmatches_graph_scopefiltering, enabling agents to be scoped and matched to specific graphs (#595) - Bulk Write Mode for OpenSearch — Implemented bulk write mode in the OpenSearch client to significantly optimize indexing performance, with enhanced logging and error handling (#594)
- Memory Subgraph Support — Added memory subgraph creation example and integrated reporting into Dagster (#596)
- New MCP Tool Modules — Added dedicated
document_tools,materialization_tools, andschedule_tools, replacing the monolithicsemantic_memorymodule - Database Swap Router — Added new database swap endpoint for graph databases
- Materialization Lock — Introduced
materialization_lockfor safer concurrent materialization handling - Usage Monitoring Sensors — New Dagster sensors for usage monitoring and asset materialization tracking
⚠️ Breaking Changes
- Removed
GRAPH_PROVISION_QUEUE_ENABLED— All references to the graph provision queue flag have been removed; graph lifecycle management is now streamlined without queue-based provisioning (#597) - Removed
semantic_memoryMCP tool module — Replaced bydocument_tools,materialization_tools, andschedule_tools; any direct imports will break - Removed Dagster graph queue sensor (
dagster/sensors/graph_queue.pydeleted) — Replaced by new materialization and usage monitor sensors - Bulk export configuration removed from service offerings — update any integrations relying on this config
- Dagster reporting refactored — Dagster asset materialization reporting removed from graph/subgraph creation tasks and replaced with a new centralized
dagster/reporting.pymodule (#591)
🔧 Notable Technical Changes
- Refactored billing plan configurations, AI billing config, and agent token cost handling for credits cost alignment (#590)
- Refactored document tier limits and graph storage monitoring/constraints (#592)
- Streamlined agent and task registry management with new loading mechanisms for graph operation tasks
- Updated initial schema migration (
0001_initial_schema.py) - Refactored ingestion limit checks and graph allocation management logic
- Enhanced
SearchServiceand offering retrieval logic
🐛 Bug Fixes
- Fixed Dagster worker reporting integration issues (#591)
- Improved error handling in memory subgraph operations
- Enhanced logging in OpenSearch bulk write operations for better debugging
📊 Release Statistics
- Commits: 64
- Files Changed: 132
- Lines Added: 9032
- Lines Deleted: 3349
- Previous Release: v1.4.55
🔗 Links
- Full Changelog: v1.4.55...v1.4.56
- All Releases: View all releases
🤖 Generated with Claude Code