Releases: ArcadeData/arcadedb
25.12.1
ArcadeDB 25.12.1 Release Notes
We're excited to announce the release of ArcadeDB v25.12.1! This release includes significant bug fixes, new features, performance improvements, and dependency updates.
Highlights
Vector Search Enhancements
- Fixed critical vector quantization bug (#3052, #3053) - INT8 and BINARY vector quantization now works correctly across all dimensions
- New filtered vector search (#3071, #3072) - LSMVectorIndex now supports filtered searches for more precise queries
- Better vector type support (#3090) - Added support for
List<Float>in vector indexes - Improved compression (#2911) - Enhanced compression for LSM vector indexes
- Fixed HNSW graph persistence (#2916) - Ensures JVector HNSW graph file is properly closed and flushed to disk
SQL and Query Improvements
- Fixed IF statement execution (#2775) - SQL scripts with IF statements now execute correctly from console
- Fixed index creation with IF NOT EXISTS (#1819) - Console no longer errors when creating existing indexes with IF NOT EXISTS clause
- Custom function parameter binding (#3046, #3049) - Fixed parameter binding for SQL and JavaScript custom functions
- SQL method consistency (#2964, #2967) -
values()method now behaves consistently withkeys()method - CONTAINSANY index fix (#3051) - Fixed index usage for lists of embedded documents with CONTAINSANY
Transaction Management
- Revised transaction logic (#3074) - Improved transaction handling and consistency
- Fixed edge index invalidation (#3091) - Edge indexes now remain valid in edge-case scenarios
New Features
- Database size API (#3045) - Added new
database.getSize()API method - Version display enhancement (#2905) - Server log version number now displayed consistently
What's Changed
Bug Fixes
- Fix INT8 and BINARY vector quantization offset bug in LSMVectorIndex page loading by @Copilot in #3053
- fix: revert SQL grammar changes and disable deep level JSON insert tests by @robfrank in #2961
- #2915 fix: ensure Jvector HNSW graph file is closed and flushed to disk on database close by @robfrank in #2916
- fix: make values method behave like keys method by @gramian in #2967
- Fix custom function parameter binding for SQL and JavaScript functions by @Copilot in #3049
- fix CONTAINSANY index use for lists of embedded documents by @gramian in #3051
- fix: support List in vector index by @szekelyszabi in #3090
Features
- Show version number same as in server log by @gramian in #2905
- feat: added new
database.getSize()api by @lvca in #3045 - Add filtered vector search support to LSMVectorIndex by @Copilot in #3072
- add stars chart by @robfrank in #3084
Performance Improvements
Core Improvements
- Revised Tx Logic by @robfrank in #3074
- chore: refactor vector index tests and improve naming conventions by @robfrank in #2906
- test: add comprehensive tests for SQLMethodValues including document … by @robfrank in #3047
Dependency Updates
Build Tools & Infrastructure
- chore(deps): bump com.github.eirslett:frontend-maven-plugin from 1.15.4 to 2.0.0 by @dependabot[bot] in #3067
- chore(deps): bump io.github.ascopes:protobuf-maven-plugin from 4.0.3 to 4.1.1 by @dependabot[bot] in #2938
- chore(deps): bump io.github.ascopes:protobuf-maven-plugin from 4.1.1 to 4.1.2 by @dependabot[bot] in #3088
- chore: bump pre-commit hooks versions by @robfrank in #3050
Core Dependencies
- chore(deps): bump io.netty:netty-transport from 4.2.7.Final to 4.2.8.Final by @dependabot[bot] in #2934
- chore(deps): bump io.netty:netty-all from 4.2.7.Final to 4.2.8.Final by @dependabot[bot] in #2940
- chore(deps): bump io.netty:netty-transport from 4.2.8.Final to 4.2.9.Final by @dependabot[bot] in #3068
- chore(deps): bump io.netty:netty-all from 4.2.8.Final to 4.2.9.Final by @dependabot[bot] in #3064
- chore(deps): bump ch.qos.logback:logback-classic from 1.5.21 to 1.5.22 by @dependabot[bot] in #2935
- chore(deps): bump ch.qos.logback:logback-classic from 1.5.22 to 1.5.23 by @dependabot[bot] in #3081
- chore(deps): bump at.yawk.lz4:lz4-java from 1.10.1 to 1.10.2 by @dependabot[bot] in #3065
- chore(deps): bump protobuf-java.version from 4.33.1 to 4.33.2 by @dependabot[bot] in #2895
- chore(deps): bump com.google.api.grpc:proto-google-common-protos from 2.63.1 to 2.63.2 by @dependabot[bot] in #2939
- chore(deps): bump grpc.version from 1.77.0 to 1.78.0 by @dependabot[bot] in #3079
Monitoring & Testing
- chore(deps): bump io.micrometer:micrometer-registry-prometheus from 1.16.0 to 1.16.1 by @dependabot[bot] in #2937
- chore(deps-dev): bump io.micrometer:micrometer-core from 1.16.0 to 1.16.1 by @dependabot[bot] in #2932
- chore(deps-dev): bump testcontainers from 11.9.0 to 11.10.0 in /e2e-studio by @dependabot[bot] in #2943
- chore(deps-dev): bump testcontainers from 11.9.0 to 11.10.0 in /e2e-js by @dependabot[bot] in #2942
- chore(deps): bump testcontainers.version from 2.0.2 to 2.0.3 by @dependabot[bot] in #3062
- chore(deps-dev): bump testcontainers from 11.10.0 to 11.11.0 in /e2e-studio by @dependabot[bot] in #3083
- chore(deps-dev): bump testcontainers from 11.10.0 to 11.11.0 in /e2e-js by @dependabot[bot] in #3082
- chore(deps-dev): bump org.mockito:mockito-core from 5.20.0 to 5.21.0 by @dependabot[bot] in #2929
- chore(deps-dev): bump org.apache.tomcat:tomcat-jdbc from 11.0.14 to 11.0.15 by @dependabot[bot] in #2941
- chore(deps-dev): bump io.swagger.parser.v3:swagger-parser from 2.1.36 to 2.1.37 by @dependabot[bot] in #3066
- chore(deps-dev): bump org.assertj:assertj-db from 3.0.0 to 3.0.1 by @dependabot[bot] in #3080
GitHub Actions
- chore(deps): bump actions/cache from 4.3.0 to 5.0.1 by @dependabot[bot] in #2933
- chore(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions from 4.0.0 to 4.0.1 by @dependabot[bot] in #2928
- chore(deps): bump actions/download-artifact from 6.0.0 to 7.0.0 by @dependabot[bot] in #2931
- chore(deps): bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #2930
- chore(deps): bump github/codeql-action from 4.31.7 to 4.31.8 by @dependabot[bot] in #2936
- chore(deps): bump github/codeql-action from 4.31.8 to 4.31.9 by @dependabot[bot] in #3063
- chore(deps): bump dorny/test-reporter from 2.3.0 to 2.5.0 by @dependabot[bot] in #3087
- chore(deps): bump docker/setup-buildx-action from 3.11.1 to 3.12.0 by @dependabot[bot] in #3061
Studio (Frontend) Dependencies
- chore(studio-deps)(deps): bump sweetalert2 from 11.26.4 to 11.26.10 in /studio in the security-critical group by @dependabot[bot] in #2919
- chore(studio-deps)(deps): bump sweetalert2 from 11.26.10 to 11.26.12 in /studio in the security-critical group by @dependabot[bot] in #3054
- chore(studio-deps)(deps): bump the security-critical group in /studio with 5 updates by @dependabot[bot] in #3076
- chore(studio-deps)(deps): bump swagger-ui-dist from 5.30.3 to 5.31.0 in /studio by @dependabot[bot] in #2923
- chore(studio-deps)(deps): bump pdfmake from 0.2.20 to 0.2.21 in /studio by @dependabot[bot] in #3078
- chore(studio-deps)(deps): bump xmldoc from 2.0.2 to 2.0.3 in /studio by @dependabot[bot] in #2926
- chore(studio-deps-dev)(deps-dev): bump terser-webpack-plugin from 5.3.15 to 5.3.16 in /studio in the build-tools group by @dependabot[bot] in #2920
- chore(studio-deps-dev)(dep...
25.11.1
ArcadeDB v25.11.1
This release introduces significant improvements to vector search capabilities, alongside critical fixes for SQL querying, indexing, and gRPC protocol handling.
🚀 Highlights
New JVector Integration
We have implemented a new LSMVector index using the JVector open-source engine. This provides a substantial performance boost and better state-of-the-art capabilities for vector search operations within ArcadeDB.
✨ New Features & Improvements
SQL & Indexing
- Embedded List Indexing: Added support for indexing properties contained in embedded documents (or maps) inside lists using the
BY ITEMsyntax. (#2802, #2803) - Enhanced Query Optimization: Improved index awareness for
CONTAINS,IN, andCONTAINSALLoperators. (#2786) - Delete Operations: Enhanced
DELETEfunctionality to better handle multipleORconditions. (#2760, #2695) - Progress Logging: Added progress logging to the
LSMTreeIndexbuild phase to improve visibility during large index operations. (#2772, #2763)
gRPC & API
- SQL Aliases: Fixed issue where SQL aliases were missing in gRPC
ResultSetserialization. (#2858, #2854, #2903) - Command Serialization: Improved reliability of gRPC command result serialization. (#2904)
- CLI Options: Updated and refined Command Line Interface options. (#2799)
Core & Internal
- Prometheus Plugin: Added shading to the Prometheus plugin to prevent classpath conflicts. (#2779, #2780)
- Test Refactoring: Major refactoring of test utilities and module dependencies for better maintainability. (#2885, #2881)
🐛 Bug Fixes
Query Engine
- Filtering Fix: Resolved a critical bug where filtering with
WHEREclauses returned wrong results in specific scenarios. (#2814, #2815) - Unwind/Merge: Hotfix for
UNWINDandMERGEoperations, including a fix for broken iterators. (#2856, #2861) - Binary Comparator: Fixed
ClassCastExceptioninBinaryComparatorforTYPE_BINARYcomparisons. (#2762, #1534) - Duplicate Documents: Fixed an issue where using the Greater Than (
>) operator with indexes returned duplicate documents. (#2328)
Indexing
- NOTUNIQUE Indexes: Fixed an issue where creating a
NOTUNIQUEstring index on a large dataset broke the=operator. (#2757, #2859) - LSMTree Compaction: Addressed an issue where compaction created duplicate timestamped indexes that were not cleaned up. (#2701)
- Console Creation: Fixed error when attempting to create an index that exists even when using the
IF NOT EXISTSclause. (#1819)
Studio & Tools
- Mongo Wrapper: Fixed failures when running Mongo queries inside Studio. (#2168)
- CSV Importer: Fixed the
createdDocumentscounter not incrementing during imports. (#2700) - REST API: Addressed idempotency issues where queries worked in Studio but failed via REST. (#1589)
🛠 Dependency Updates
Significant updates to core dependencies to ensure security and performance:
- Lucene: Bumped to version
10.3.2. - gRPC: Bumped to version
1.77.0. - LZ4-Java: Bumped to version
1.10.1. - Various updates to Spring, Micrometer, Testcontainers, and Studio UI dependencies.
❤️ New Contributors
- @mindreframer made their first contribution in PR #2815. Welcome to the project!
Full Changelog: 25.10.1...25.11.1
25.10.1
We're excited to announce the release of ArcadeDB 25.10.1!
This version introduces a major new feature: official Python Bindings for embedded use. It also delivers significant query and indexing enhancements, particularly for LIST data types, along with a solid round of bug fixes to improve stability, SQL/Cypher compatibility, and core performance.
🚀 New Features
- Official Python Bindings: You can now run ArcadeDB in an embedded mode directly within your Python applications! This opens up new possibilities for high-performance, in-process graph and document data management for Python developers. Thanks @tae898!
- LIST Indexing by ITEM: Implements indexing for
LISTdata types byITEM. This drastically improves query performance and capabilities when filtering or looking up records based on the contents of a list.
🐛 Bug Fixes
SQL, Cypher & Drivers
- SQL: Corrects the SQL parser to properly handle nested projections within array concatenation expressions.
- PostgreSQL Driver: Fixes an offset logic issue in Cypher parameters for the
psycopgdriver that could cause parameters to be incorrectly treated asnull.
Indexing
- Index Compaction: Resolves an "Invalid Position" error that could occur during the compaction of large, non-unique indexes.
- Edge Index: Fixes a bug where
IF NOT EXISTSwas not working correctly for edge indexes defined on[@out, @in]properties.
Server & Core
- Shell Script: Fixes an issue in the server bootup script (
server.sh) that caused Java parameters to be duplicated. - Backup/Restore: Corrects several logging entries during database restore operations for better clarity.
- gRPC: Adds a missing Maven variable to the gRPC
pom.xmlto resolve build issues. - MongoDB: Includes a temporary fix for MongoDB commands.
⚙️ Enhancements & Maintenance
- Testing: Improved E2E test stability by removing flaky checks and fixing failing integration tests. ([#2646](#2646), [#2651](#2651))
- Code Quality: Removed fully qualified names in the codebase to improve readability. ([#2624](#2624))
- CI/CD: Fixed the release workflow to correctly update the Studio
package.jsonversion. ([#2688](#2688)) - Build: Bumped the Maven wrapper to 3.3.4. ([#2689](#2689))
- Housekeeping: Added
.venvand.vscodeto.gitignore. ([#2660](#2660))
📦 Dependency Updates
This release includes numerous dependency updates to keep the platform secure and up-to-date.
- Core: Upgraded major components including GraalVM (25.0.1), Lucene (10.3.1), gRPC (1.76.0), Protobuf (4.33.0), Swagger (2.2.40), Jackson (2.20.1), and Netty (4.2.7.Final).
- Studio & E2E: Updated Playwright (1.56.1), TypeScript (5.9.3), Testcontainers (11.8.0), and many other Studio UI and E2E testing packages.
- Build: Upgraded several GitHub Actions, including
setup-java(5.0.0),setup-node(6.0.0),upload-artifact(5.0.0),download-artifact(6.0.0), andcodeql-action.
🎉 New Contributors
A warm welcome to our new contributor!
Full Changelog: 25.9.1...25.10.1
25.9.1
ArcadeDB Release v25.9.1
Release Date: October 9, 2025
We're excited to announce the release of ArcadeDB version 25.9.1! This is a significant update that introduces powerful new features for developers, including experimental gRPC protocol support and an OpenAPI specification endpoint for easier API integration. This release also delivers crucial fixes for data integrity, high availability, and overall stability, addressing long-standing issues with indexing and scripting.
🚀 Highlights
- gRPC Protocol Support: A new, high-performance gRPC protocol has been added as an alternative to the existing binary protocol, enabling modern, efficient communication with the database.
- OpenAPI (Swagger) Endpoint: The HTTP server now exposes an OpenAPI specification at
/api/v1/openapi.json, making it easier than ever to explore, test, and integrate with ArcadeDB's API. - Critical Data Integrity Fixes: Unique index constraints are now correctly enforced during
UPDATEoperations, and a key bug causing indexes to return incorrect results withORDER BYhas been resolved. - High Availability Improvement: A stability issue has been fixed where an empty replica would fail during a full resync, improving the robustness of HA clusters.
✨ New Features
- gRPC Protocol (#2499, #2462): Introduced the initial implementation of the gRPC protocol for server communication. Load testing infrastructure has also been updated to support gRPC.
- OpenAPI Specification Endpoint (#2583): Added a new handler to serve an OpenAPI 3.0 specification, improving API discoverability and client generation.
- Enhanced Login Process (#2543): The user login flow has been improved with more robust error handling and clearer user feedback.
🐛 Bug Fixes & Improvements
Querying & Indexing
- SQL Index with ORDER BY (#1760): Corrected a critical issue where an index could return too many entries when used with an
ORDER BYclause, ensuring query accuracy. - Unique Constraint on UPDATE (#2590, #2591): Fixed a major bug where unique constraints were not being checked during
UPDATEoperations. - Postgres (psycopg) Driver Compatibility (#2606, #2559): Addressed an issue with handling array parameters from psycopg drivers in Cypher queries.
Scripting (Javascript Functions)
- Logical AND Operator (#2161): Resolved an error that prevented the logical AND (
&&) operator from being used correctly in Javascript functions. - Object Serialization (#2165): Fixed an object serialization error that could occur in custom Javascript functions.
Core & Server
- HTTP API Consistency (#2523, #2398): Made HTTP API responses more consistent across different endpoints.
- JSON Serialization of Empty Arrays (#2550, #2497): Resolved a serialization issue where
INSERTstatements with empty arrays in the JSON content would fail. - Consistent Exception Propagation (#2562, #2560): Ensured consistent exception handling in ImmutableDocument during lazy loading operations.
- HTML Entity Decoding (#2542): Corrected an issue with HTML entity decoding in server responses.
High Availability (HA)
- Empty Replica Resync (#2595): Fixed a bug that caused an empty replica to break when requesting a full database resynchronization.
⚙️ CI, Internal & Dependency Updates
- CI Pipeline Speedup (#2604): The continuous integration pipeline has been refactored to significantly speed up the feedback loop for developers.
- Enhanced Test Coverage (#2605): CI has been strengthened by adding profiles for slow unit tests and generating code coverage reports.
- Standardized Logging (#2502): Replaced SLF4J with the standard LogManager for consistent logging and to eliminate startup warnings.
- Dependency Upgrades: This release includes numerous dependency updates to keep the platform secure and up-to-date, including Lucene 10.3.0 and JUnit Jupiter 6.0.0.
👋 New Contributors
A special thank you to our new contributors who made their first contribution in this release cycle:
Full Changelog: https://github.com/
25.8.1
ArcadeDB v25.8.1
We're excited to announce the release of ArcadeDB v25.8.1! This version introduces a powerful new schema feature, enhances Kubernetes support, and resolves several important bugs to improve stability and performance.
A big thank you to our community for your contributions and feedback! 🎉
🚀 New Features
-
Type Renaming and Aliases: You can now rename existing types using the
ALTER TYPE <old-name> NAME <new-name>command. This has been a long-requested feature that makes schema evolution much more flexible. For backward compatibility, the old type name could now be configured as an alias. (#2454) -
Dynamic Type Names in SQL Commands: It's now possible to use a parameter as a placeholder for a type name in your SQL queries. For example, you can execute INSERT INTO $type SET name = 'Mike' and provide the value for $type as a separate argument. This greatly improves the ability to write reusable and dynamic data manipulation logic. (#2230)
✨ Improvements
- Helm Chart Plugin Configuration: The official ArcadeDB Helm chart now supports custom plugin configurations, making it easier to extend your database functionality in Kubernetes environments. (#2436)
🐛 Bug Fixes
- SQL Engine:
- Vector Search:
- High Availability & Core Engine:
- JavaScript Functions: Server-side JavaScript functions have been refactored to seamlessly accept JSON objects as parameters, simplifying complex function calls. (#2165)
- Index Compaction: We've improved the stability and logic of the LSM-Tree index compactor for more reliable performance. (#2463, #2465)
🛡️ Security
- Addressed CVE-2025-48924 by explicitly managing the
commons-lang3dependency to mitigate potential vulnerabilities. (#2493)
🙌 New Contributors
A warm welcome to our new contributor! Thank you for helping make ArcadeDB better.
- @odysseaspenta made their first contribution in [#2433](#2433)
Full Changelog: You can view the complete list of changes on GitHub: 25.7.1...25.8.1
25.7.1
ArcadeDB v25.7.1 Release Highlights
We are excited to announce the general availability of ArcadeDB version 25.7.1!
This is a significant maintenance release that focuses on improving stability, enhancing SQL query functionality, and introducing powerful new capabilities for users running ArcadeDB on Kubernetes. Thank you to our dedicated community and contributors for making this release possible.
✨ What's New
Dynamic Kubernetes Storage with Helm: For our users leveraging Kubernetes, our Helm chart now supports the dynamic allocation of Persistent Volumes. This makes scaling your database with multiple replicas simpler and more automated, especially in cloud environments.
We temporary removed the recent "hidden properties" feature for a back compatibility issue with sql query using *, we're going to add it again in the future with better test coverage.
🐛 Key Bug Fixes & Improvements
This release addresses several bugs to improve the reliability and consistency of the database.
SQL Query Engine Fixes: A significant number of fixes have been applied to the SQL engine to improve consistency and correctness.
The behavior of graph traversal functions like
Data Integrity and Stability
Addressed a critical issue with unique indexes to ensure data integrity constraints are correctly enforced (#2345). Improved the reliability of creating and updating edges when using a remote database connection, ensuring smoother operations in distributed setups (#1578, #2351). Resolved NullPointerException errors that could occur when the database directory has incorrect file permissions, improving startup resilience (#2362).
Operational Improvements
Failed backup operations performed via HTTP will now correctly return an error status code for better automation and error handling (#2244). The official Docker image now includes curl to make diagnostics and scripting easier (#2373).
🛠️ Other Notable Changes
Improved Testing Framework: Our end-to-end (e2e) test suite has been migrated to use Testcontainers, leading to more robust and reliable automated testing. This internal improvement helps us ensure higher quality releases.
Dependency Updates: This release also includes numerous dependency updates to incorporate the latest security patches and improvements from upstream libraries.
Full Changelog: 25.6.1...25.7.1
25.6.1
ArcadeDB v25.6.1 Release Highlights
We're excited to announce ArcadeDB v25.6.1!
This release brings significant improvements in stability, performance, and developer experience.
We've focused on enhancing remote transaction handling, providing more robust server-side retry mechanisms, and updating our dependency management for a smoother development process.
For those leveraging ArcadeDB Studio, you'll find new end-to-end tests ensuring a more reliable experience.
We've also addressed several important bug fixes and made notable changes to the Docker image and Helm chart for easier deployment and management.
We highly recommend upgrading to take advantage of these enhancements!
✨ New Features
- Tx explicit lock (#2292)
- Migrate Docker image to Temurin-alpine (#2319, closes #2316)
- [Helm] Allow multiple replicas by addressing hardcoded
serverList(#2325, closes #2324) - Add extra environment variables to Helm chart (#2308, closes #2307)
- Improve Studio: add package manager and update third-party libraries (#2260, closes #2259)
- Remote property types enhancements (#2247)
- Add end-to-end tests for ArcadeDB Studio database creation and management (#2290)
- Add server-side retry configuration for remote database commands (#2255, closes #2236)
- Add performance testing for single server load in ArcadeDB (#2305, closes #2304)
- Enhance load testing with increased user and friendship counts (#2321)
🐛 Bug Fixes
- Support for remote transaction retry on the server side (#2254)
- Refactor notification system to use Notyf, fixing Studio notification display (#2327, closes #2323)
- Incorrect field type retrieved on RemoteDatabase with
get(<prop>)resolved (related to #2246) - Issue with
RemoteDatabase.reload()addressed (related to #2243) - Remote database no longer automatically converts Float to Double (related to #1700)
- Edge case of partial written record resolved (related to #2282)
- Concurrent modification on page issue fixed (related to #2187)
- Massive insertion (multiple threads/buckets + non-unique index) timeout/excessive retries addressed (related to #2258)
- Concurrent modification error on the same bucket (@v25.3.2) resolved (related to #2236)
- Error reported in the log during performance testing addressed (related to #2175)
🛠️ Other Notable Changes
- Update entity type references for consistency across importer formats (#2245)
- Security Fix: Upgraded the
commons-beanutilslibrary to version 1.11.0 to resolve a security vulnerability identified by a Meterian security scan (#2288) - Add Docker as dependency to developer guide (#2331)
- Refactor load test implementation to use
DatabaseWrapperand enhance parameters (#2329) - Dependency Updates: Numerous dependencies have been bumped to their latest versions, including
junit.jupiter.version,github/codeql-action,io.netty,org.postgresql,io.micrometer,jest,docker/setup-buildx-action,pg,de.bwaldvogel:mongo-java-server,lucene.version,testcontainers.version,org.sonatype.central:central-publishing-maven-plugin, andorg.apache.tomcat:tomcat-jdbc.
Full Changelog: 25.5.1...25.6.1
25.5.1
ArcadeDB v25.5.1 Release Highlights
This release of ArcadeDB brings exciting new features, important bug fixes, and several under-the-hood improvements to enhance performance and developer experience.
✨ New Features
- Encrypted Backup and Restore: Secure your data with the new encrypted backup and restore functionality ( #2222).
- SQL ifempty Function: A new SQL function ifempty has been introduced for more flexible data handling ( #2185).
- Iterable Graph Java API: Vertex and Edge types now return a new Iterable Graph Java API, offering more convenient ways to work with graph data ( #2228).
- Improved SQL Backup: The BACKUP DATABASE SQL command has been enhanced for better functionality and logging ( #2198, #2200).
🐛 Bug Fixes
- Cypher Parametric Queries over JDBC: Refactored Cypher to properly support parametric queries when using JDBC ( #2169).
- Postgres Driver CPU Usage: Fixed an issue causing the Postgres driver to consume 100% CPU on idle connections ( #2229).
🛠️ Other Notable Changes
- Adopted more Java 21 idiomatic code for modernization ( #2143).
- Improved SQL function implementations and added more tests ( #2186).
- The nightly builds link in the README has been updated ( #2220).
- Test workflow speed has been improved ( #2201).
- Deployment of Maven artifacts has been migrated to the Central portal ( #2197, #2218).
- Numerous dependencies have been updated to their latest versions, enhancing security and stability.
Full Changelog: 25.4.1...25.5.1
25.4.1
Summary
ArcadeDB version 25.4.1 introduces significant modernizations, most notably migrating the core dependency from Java 17 to Java 21 and enabling HTTP/2 support. Key new features include an improved connection strategy for High Availability setups, the ability to define unidirectional edges in the schema, an improved space reclaim, and the adoption of Java's modern HttpClient for remote operations.
This release also addresses numerous bugs, enhancing stability and performance. Critical fixes were applied to resolve issues with the HTTP serializer, asynchronous index rebuilding, SQL behavior (including default values and INSERT/UPDATE logic), edge deletion, GraphQL documents, Studio login, HTTPS connections, and several problems within the Postgres driver concerning null values and query results. Additionally, the release incorporates various miscellaneous improvements to builds, documentation, testing, and updates numerous dependencies.
New Features
- Migration from Java17 to Java21 #2081
- RemoteDatabase in HA using a HTTP Proxy - implemented new connection strategy "FIXED" #2101
- Unidirectional edges should be defined at schema level #2093
- Wipeout freespace by @lvca in #2125
- Enable HTTP/2 support in HttpServer for both HTTP and HTTPS listeners by @ExtReMLapin in #2122
- Replace httpUrlConnection with HttpClient on RemoteHttpComponent by @robfrank in #2123
Bugs fixed
- HTTP Serializer is slow when using long arrays of floats #2126
- SQL REBUILD INDEX deletes indexes when used via async HTTP-API #2097
- SQL: Mandatory property is not using default value instead errors #1919
- SQL INSERT vs UPDATE for a Vertex Type using JSON payload and @cat Behavior for Remote API #2060
- Delete of edge uses wrong index if many edges are present #2092
- GraphQL Embedded Document Bug #2103
- Login is not working in studio #2160
- Java RemoteDatabase class doesn't accept HTTPS protocol #2077
- Postgres driver column is omitted when all values are null #2110
- Postgres driver @Rid and @type are null for cypher queries #2111
- Postgres driver returns nothing with INSERT INTO .... RETURN @Rid but RID with RETURN @rid.asString() #2038
- fix cypher psycopg rid and types being returned as null, closes #2038 and #2111 by @ExtReMLapin in #2112
- Fixes columns with null values not being returned by pg driver | closes #2110 by @ExtReMLapin in #2113
- Async rebuild index by @lvca in #2118
Misc
- Nightly Snapshots are the "headless" release variant but should be "general" variant #1996
- #2081 fix readme by @robfrank in #2095
- Add Bluesky logo to README by @gramian in #2131
- Add note about docker image rebuilding by @gramian in #2147
- fix #2160 (studio login) by @gramian in #2162
- Fix doc links in studio by @gramian in #2166
- Refactor REUSE part 2 by @gramian in #2142
- #2119 test: add parameterized query tests for JdbcQueries and psycopg2 by @robfrank in #2146
- #1996 feat: add maven deploy plugin configurations for full, minimal,… by @robfrank in #2148
- Add globalConfiguration.resetAll in tests by @robfrank in #2115
- Fix JSONTest by @gramian in #2129
- Make repo REUSE compliant by @gramian in #2130
- Refactor REUSE by @gramian in #2140
Dependencies Updated
- build(deps): bump lucene.version from 9.12.1 to 10.1.0 by @dependabot in #1983
- build(deps): bump org.codehaus.mojo:javacc-maven-plugin from 3.1.0 to 3.1.1 by @dependabot in #2137
- build(deps): bump actions/setup-node from 4.3.0 to 4.4.0 by @dependabot in #2173
- build(deps): bump io.micrometer:micrometer-core from 1.14.5 to 1.14.6 by @dependabot in #2172
- build(deps): bump graalvm.version from 24.2.0 to 24.2.1 by @dependabot in #2171
- build(deps): bump io.micrometer:micrometer-registry-prometheus from 1.14.5 to 1.14.6 by @dependabot in #2170
- build(deps): bump lucene.version from 10.1.0 to 10.2.0 by @dependabot in #2157
- build(deps-dev): bump @testcontainers/postgresql from 10.24.0 to 10.24.2 in /e2e-js by @dependabot in #2158
- build(deps-dev): bump org.apache.tomcat:tomcat-jdbc from 11.0.5 to 11.0.6 by @dependabot in #2153
- build(deps): bump actions/setup-java from 4.7.0 to 4.7.1 by @dependabot in #2151
- build(deps): bump github/codeql-action from 3.28.13 to 3.28.15 by @dependabot in #2152
- build(deps): bump com.google.code.gson:gson from 2.12.1 to 2.13.0 by @dependabot in #2155
- build(deps): bump io.fabric8:docker-maven-plugin from 0.45.1 to 0.46.0 by @dependabot in #2156
- build(deps): bump junit.jupiter.version from 5.11.4 to 5.12.2 by @dependabot in #2154
- build(deps): bump org.mockito:mockito-core from 5.15.2 to 5.17.0 by @dependabot in #2159
- build(deps): bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.2 to 3.5.3 by @dependabot in #2138
- build(deps-dev): bump @testcontainers/postgresql from 10.23.0 to 10.24.0 in /e2e-js by @dependabot in #2139
- build(deps): bump org.jacoco:jacoco-maven-plugin from 0.8.12 to 0.8.13 by @dependabot in #2132
- build(deps): bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.2 to 3.5.3 by @dependabot in #2135
- build(deps): bump io.netty:netty-all from 4.1.119.Final to 4.2.0.Final by @dependabot in #2136
- build(deps): bump io.netty:netty-transport from 4.1.119.Final to 4.2.0.Final by @dependabot in #2134
- build(deps): bump actions/setup-python from 5.4.0 to 5.5.0 by @dependabot in #2105
- build(deps): bump github/codeql-action from 3.28.12 to 3.28.13 by @dependabot in #2104
- build(deps): bump com.mycila:license-maven-plugin from 4.6 to 5.0.0 by @dependabot in #2108
- build(deps-dev): bump @testcontainers/postgresql from 10.21.0 to 10.23.0 in /e2e-js by @dependabot in #2109
- build(deps): bump zgosalvez/github-actions-ensure-sha-pinned-actions from 3.0.22 to 3.0.23 by @dependabot in #2106
Full Changelog: 25.3.2...25.4.1
25.3.2
Summary
Hello community! This is the second release of March 2025 containing important fixes and improved the check database fix command.
Note: All ArcadeDB releases are 100% compatible with the previous ones in terms of database format, so there is no need to upgrade the database or export/import it for the upgrade, but please make a backup/copy of your database before upgrading.
New Features
- Java RemoteDatabase now accepts HTTPS protocol #2077
Misc
- Return exit status from console if error occurs in bulk mode by @gramian in #2078
- #2061 enhance type mapping form ArcadeDB to Postgres protocol by @robfrank and @ExtReMLapin in #2074
- Add toJson and toMap to Remote Vertex and Edge by @robfrank in #2056
- cleanup tests by @robfrank in #2054
Bugs fixed
- DuplicatedKeyException: Duplicated key [zone1, device1] found on index 'zone_device[from_id,to_id]' already assigned to record #2089
- Remote Vertex and Edge type is "d" rather than "v" or "e" #2055
Dependencies Updated
- build(deps): bump github/codeql-action from 3.28.10 to 3.28.11 by @dependabot in #2044
- build(deps-dev): bump testcontainers.version from 1.20.5 to 1.20.6 by @dependabot in #2050
- build(deps): bump org.apache.maven.plugins:maven-install-plugin from 3.1.3 to 3.1.4 by @dependabot in #2045
- build(deps-dev): bump org.apache.tomcat:tomcat-jdbc from 11.0.4 to 11.0.5 by @dependabot in #2046
- build(deps): bump docker/login-action from 3.3.0 to 3.4.0 by @dependabot in #2071
- build(deps): bump dorny/test-reporter from 1.9.1 to 2.0.0 by @dependabot in #2072
- build(deps): bump io.micrometer:micrometer-registry-prometheus from 1.14.4 to 1.14.5 by @dependabot in #2069
- build(deps): bump io.micrometer:micrometer-core from 1.14.4 to 1.14.5 by @dependabot in #2068
- build(deps): bump pg from 8.13.3 to 8.14.0 in /e2e-js by @dependabot in #2066
- build(deps-dev): bump @testcontainers/postgresql from 10.18.0 to 10.20.0 in /e2e-js by @dependabot in #2065
- build(deps): bump pg from 8.14.0 to 8.14.1 in /e2e-js by @dependabot in #2076
- build(deps-dev): bump @testcontainers/postgresql from 10.20.0 to 10.21.0 in /e2e-js by @dependabot in #2075
- build(deps): bump com.mycila:license-maven-plugin from 4.6 to 5.0.0 by @dependabot in #2088
- build(deps-dev): bump ch.qos.logback:logback-classic from 1.5.17 to 1.5.18 by @dependabot in #2087
- build(deps): bump graalvm.version from 24.1.2 to 24.2.0 by @dependabot in #2086
- build(deps): bump github/codeql-action from 3.28.11 to 3.28.12 by @dependabot in #2085
- build(deps): bump actions/setup-node from 4.2.0 to 4.3.0 by @dependabot in #2084
Full Changelog: 25.3.1...25.3.2