Releases: RoboFinSystems/robosystems
Release v1.4.67
RoboSystems Service v1.4.67
This release introduces report package lifecycle management, enhances portfolio block operations, and improves the financial reporting pipeline with FactSet validation support.
✨ Features & Improvements
- Report Package Lifecycle Management — Added full filing lifecycle operations including status checks, database cleanup, and package read functionality with FactSet validation (#643)
- Portfolio Block Operations — Consolidated and enhanced portfolio/position operations into a unified
portfolio_blockmodule with new entity and security types, improved error handling, and updated position deletion logic (#644) - Rendering Projections & Statement Envelopes — Implemented rendering projections and updated fact retrieval logic for statement envelopes
- RoboLedger Demo — Renamed
close_demotoroboledger_demowith added synthetic data generation and accounting policies - Feature Flag Resolution — Updated staging/prod environments to use
boto3directly instead ofawsclifor feature flag resolution - Dependency Updates — Updated
robosystems-clientto v0.3.17
🐛 Bug Fixes
- Fixed custom graph file ingestion handling in XBRL/SEC processors (#645)
- Fixed condition expression to properly handle empty databases in
LadybugAllocationManager - Simplified and clarified handling of special cases in
_explicit_col_expr
⚠️ Breaking Changes
- Portfolio operations restructured —
roboinvestor/commands/portfolios.pyandroboinvestor/commands/positions.pyhave been removed and replaced byroboinvestor/commands/portfolio_block.pyandroboinvestor/reads/portfolio_block.py. Consumers of these internal modules will need to update imports. (#644)
🔧 Notable Technical Changes
- New database migration
0006_report_package_lifecycle.pyfor report package support — ensure migrations are run before deploying - New API extension models and GraphQL types added for
report_package - Reporting model updated with FactSet relationship mappings and lifecycle state management
- 69 files changed across 18 commits (+4,326 / −1,515 lines)
📊 Release Statistics
- Commits: 18
- Files Changed: 69
- Lines Added: 4326
- Lines Deleted: 1515
- Previous Release: v1.4.66
🔗 Links
- Full Changelog: v1.4.66...v1.4.67
- All Releases: View all releases
🤖 Generated with Claude Code
Release v1.4.66
RoboSystems Service v1.4.66
A major release introducing event-driven transaction handling, a terminology shift from "classifications" to "traits," and new GraphQL MCP tooling — alongside significant infrastructure and lifecycle management improvements.
✨ Features & Improvements
- Event-Driven Ledger & Transaction Handling — Introduced a new event-driven architecture for transaction processing, including event block models, duality links, status transition validations, and consolidated classification rules into event handlers (#637, #638)
- Schedule Lifecycle Management — Enhanced schedule creation, updates, and voiding with event-driven obligations, user tracking, historical period handling, and automatic dispatch of pending obligations (#638)
- GraphQL MCP Tools — Added new tools for schema retrieval and query execution via MCP, with async context building, complexity checks, and fragment spread limit enforcement (#640)
- SEC MCP Adapters — New element and report resolver modules for SEC data via MCP
- Arelle Integration — Added new
robosystems/arellepackage with context handling, data extraction, and serialization capabilities - S3 Lifecycle Policies — Enhanced bucket lifecycle policies for graph backups and databases
- Taxonomy & Fact Set Migrations — Added new migration steps for taxonomy library, fact sets, verification results/templates, and event-driven ledger schema
⚠️ Breaking Changes
- Classifications → Traits Rename — All terminology referencing "classifications" has been renamed to "traits" across models, functions, and APIs. Consumers relying on the previous naming convention will need to update their integrations (#641)
- Taxonomy Config Removed —
robosystems/config/taxonomy/module has been deleted; related constants moved tometric.py - Client Dependency Updated —
robosystems-clientbumped to0.3.13with updated source configuration — ensure downstream services are compatible
🔧 Technical Changes
- Refactored client configuration and API interactions for improved modularity and error handling
- Moved metric block constants to
metric.pyfor better code organization - Refactored taxonomy block operations and update handlers
- Refactored journal entry reversal and schedule management logic
- Added scheduled obligation promoter sensor in Dagster pipeline
- Expanded architectural shapes documentation in README
- Added
information_blockGraphQL resolver
🐛 Bug Fixes
- Fixed
robosystems-clientversion and source configuration in project dependencies - Improved data integrity and clarity in event block handlers
🧪 Testing
- Added comprehensive unit tests for GraphQL tools including introspection failure handling and fragment spread limits
- Added unit tests for event block Python handlers; deprecated tests removed
📊 Release Statistics
- Commits: 118
- Files Changed: 382
- Lines Added: 694240
- Lines Deleted: 10183
- Previous Release: v1.4.65
🔗 Links
- Full Changelog: v1.4.65...v1.4.66
- All Releases: View all releases
🤖 Generated with Claude Code
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