Release Notes
Updates, fixes, and improvements across the Montycat database and its client libraries.
16 releasesLatest update · May 12, 2026
Montycat v1.1.12
LatestMay 12, 2026
- Implemented global key sequence indexing for all CRUD operations, enabling efficient paginated key retrieval across volumes
- Added per-volume key indexes with batch processing for fast lookups and reverse iteration support
- Integrated tikv-jemallocator for improved memory allocation performance and reduced fragmentation
- Refactored volume memory tracking with an "always forward" strategy and explicit target volume support
- Atomic inserts into persistent storage for improved write reliability
- Bulk delete now streams indexing tasks per chunk, preventing memory pile-up under large workloads
- Graceful shutdown with Unix signal handlers and interruptible sleep loops
- Enhanced TLS key parsing to support multiple certificate formats; TLS handshake moved into a spawned task
- Superowner credentials can now be configured via environment variables
- Subscription server integrated with RootInmemory for consistent in-memory access
- Enhanced store removal with detailed logging and proper cleanup for both persistent and in-memory stores
- Improved server logging with task and type details via server_info helper
Rust Client v0.1.7
LatestMay 12, 2026
- Fixed StoreRequestClient initialization where volumes and latest_volume fields were being ignored in get_bulk
- Refactored get_bulk validation to allow any valid combination of volumes, latest_volume, and limit
- Added optional subscription port parameter to the subscribe API
- Comprehensive unit test suite with 72 tests across all core modules
- Multi-platform CI/CD pipeline with GitHub Actions (Ubuntu, macOS, Windows)
Dart Client v1.0.9
LatestMay 12, 2026
- v1.0.5–1.0.8: Fixed cache values, connection errors, empty string insertion, connection timeout, bulk write, and bulk read
- Added volume-based retrieval in getBulk() for both persistent and in-memory keyspaces
- v1.0.9: Stateless query refactor — command and limitOutput moved from class fields to local method parameters
- subscribe() unified into the KV base class with optional subscriptionPort parameter, available on all keyspace types
- cache and compression parameters moved from class fields to method parameters in createKeyspace() and updateCacheAndCompression()
- Removed mutual-exclusivity restriction between withPointers and pointersMetadata
Python Client v1.0.4
LatestMay 12, 2026
- Stateless query refactor: parameters now passed directly to convert_to_binary_query instead of being set as class attributes
- Improved bulk key handling using explicit concatenation for reliability
- Refined limit validation logic across generic_kv and persistent_kv classes
- Improved input validation for key retrieval and keyspace creation methods
TypeScript Client v1.1.5
LatestMarch 31, 2026
- Added subscribe() method to GenericKV, now available on both persistent and in-memory keyspaces
- Removed mutual-exclusivity restriction between withPointers and pointersMetadata — both can now be used together
- Standardized key validation: all methods now throw when both key and customKey are provided, or when neither is provided
- Updated moduleResolution to "bundler" in tsconfig for improved compatibility
May 12, 2026
- Signal server now loads or registers a persistent token on startup before sending any reports
- Nodes that fail to obtain a token disable reporting gracefully instead of crashing
- Token refresh logic added to handle expired or rejected tokens during the reporting loop
February 5, 2026
- Improved schema enforcement and validation mechanisms
- Added support for nullable values in schema fields (if schema enforced on database level) to improve flexibility in data modeling
- Enhanced error handling and reporting across all client libraries
- Release currently available through apt repo and Docker Hub only. Will add binaries for download soon
February 5, 2026
- Allowed nullable values in schema fields (if schema enforced on database level) to improve flexibility in data modeling
- Improved connection handling and error reporting
February 5, 2026
- Allowed nullable values in schema fields (if schema enforced on database level) to improve flexibility in data modeling
- Improved connection handling and error reporting
February 5, 2026
- Allowed nullable values in schema fields (if schema enforced on database level) to improve flexibility in data modeling
- Improved connection handling and error reporting
February 5, 2026
- Allowed nullable values in schema fields (if schema enforced on database level) to improve flexibility in data modeling
- Improved connection handling and error reporting
November 4, 2025
- Introduced Montycat client libraries for Python, JavaScript, TypeScript, and Dart
- Improved Gossip protocol communication and stability
- Enhanced Proof of Stake consensus efficiency
- Optimized storage engine performance and reduced memory footprint
- Refined cluster synchronization and node discovery mechanisms
November 4, 2025
- Seamless integration with Flutter for cross-platform apps
- Fully async API with Stream support
- Lightweight and dependency-free runtime core
- Compatible with both mobile and desktop platforms
November 4, 2025
- Async support via asyncio for non-blocking operations
- Type hints and auto-completion for modern IDEs
- Native serialization/deserialization with Montycat binary format
- Integrated authentication and connection pooling
November 4, 2025
- Compatible with both ES modules and CommonJS
- Simple API for connecting, querying, and managing data
- Optimized for low-latency web and server communication
- Includes reconnect and retry strategies for resilient connections
November 4, 2025
- Full async API with Promise-based operations
- Lightweight, modular architecture with minimal dependencies
- Supports Node.js environments
- Integrated JSON and binary transport support
- Comprehensive type definitions for all API methods