Releases: scalar-labs/scalardb
Releases · scalar-labs/scalardb
v3.6.0
Summary
This release has a lot of API changes while preserving backward compatibility. Please see Java API Guide for the details of the API.
Also, it has a lot of enhancements, improvements, bug fixes, vulnerability fixes, and document improvements. Please see the following Change logs for the details.
Change logs
Enhancements
- Add suspend method to TwoPhaseCommitTransactionManager (#588)
- Allow null values (#512)
- Add factory methods to Key (#517)
- Add factory methods to Scan.Ordering (#520)
- Add ConditionBuilder (#519)
- Add creating and dropping index support to DistributedStorageAdmin (#526)
- Introduce DistributedTransactionAdmin (#528)
- Add support for isNull and isNotNull conditions (#529)
- Add SQL API (#525)
- Support parameterized statement in SQL API (#547)
- Introduce ScanAll operation (#548)
- Release SNAPSHOT versions (#561)
- Add scanAll for cassandra storage (#570)
- Add DistributedTransactionAdminService to Scalar DB Server (#575)
- Add ScanAll for Cosmos DB storage (#578)
- Add new steps in the release.yaml to push container to Azure Container Registry (#580)
- Add ScanAll for DynamoDB storage (#577)
- Add ScanAll for JDBC storage (#582)
- Implement the checkPaused service according to scalar-admin 1.2.0 (#583)
- Add ScanAll to GRPC storage (#584)
- Use
max_pause_wait_time
in AdminService (#585) - Implement ScanAll for Consensus Commit (#586)
- Add builder for Put, Delete, Scan and Get operations (#601)
- Add some useful methods (#614)
- Introduce GetWithIndex and ScanWithIndex operations (#618)
- Add methods to repair table and coordinator table to the Admin interfaces (#613)
- Add repair table command to the Schema Loader Tool (#622)
Improvements
- Refactor ImmutableLinkedHashSet (#513)
- Hide
Value
from users (#515) - Add more explicit methods to Put (#516)
- Deprecate the methods for default namespace and table (#518)
- Add conditional mutation integration test (#522)
- Add a method to get DataType of the column to Value (#523)
- Introduce Column (#527)
- Extract Admin interface from XXXAdmin (#531)
- Add a integration test putting a null value for secondary index column (#530)
- Extract an interface for transaction CRUD operations (#533)
- Move commonly used classes to
common
package (#532) - Execute conditional mutation integration tests in parallel (#536)
- Refactor SQL API (#538)
- Add more methods to SQL builders (#540)
- Rename metadata cache expiration time configuration name (#539)
- Support alias in SQL API (#542)
- Cache metadata in SQL API (#543)
- Fix typo in the integrationTestTwoPhaseConsensusCommit gradle task name (#546)
- Use collectors in Guava (#545)
- Update the base image jre8 to 1.1.0 (#551)
- Invalidate metadata cache when schema change happens in SQL API (#549)
- Change Gradle dependencies format (#554)
- Add validations for create table statements in SQL API (#552)
- Migrate CI to GitHub actions (#541)
- Upgrade JUnit to 5 (#555)
- Trigger CI for "push" event on the master branch (#557)
- Rearrange integration tests (#558)
- Update the base image jre8 to 1.1.1 (#560)
- Add transaction integration tests (#559)
- Rearrange schema loader integration tests (#565)
- Rearrange server integration tests (#566)
- Add integration tests for SQL API (#567)
- Add docker check to CI (#568)
- Add ifNotExists and ifExists flags to RPC (#569)
- Add CI triggers for "push" events on support and release branches (#572)
- Refactor DistributedTransactionAdmin (#574)
- Remove SQL API (#576)
- Refactor DatabaseConfig related things (#579)
- Enable PITR for metadata table in Dynamo DB adapter (#581)
- Update jre8 base image to 1.1.2 (#587)
- Update dependencies to fix CVE-2022-25647 (#589)
- Use dockerize command by default in the Dockerfile (#590)
- Handle projections in query for Cosmos DB (#591)
- For Dynamo storage, throw an exception when a Put set a secondary index column value to null (#593)
- Do not return primary key columns by default for selection operation in Storage mode (#592)
- Add check for empty key (#594)
- Add integration test for scanning table without clustering key (#595)
- Merge protocVersion and protobufVersion (#596)
- Add toString() to condition related classes (#599)
- Add a way to disable metadata cache (#598)
- Refactor ConsensusCommitUtils (#600)
- Remove copyDependencies task (#602)
- Fix CVE-2022-1664 (#604)
- Refactor Gradle Plugin things (#606)
- Introduce Column in Protocol Buffers (#607)
- Upgrade SpotBugs (#597)
- Refactor Scalar DB Server (#609)
- Add
@deprecated
javadoc to overriding methods (#610) - Fix non constant names (#611)
- Refactor Guice modules (#608)
- Use ThreadLocal for Random in integration test (#612)
- Fix CVE-2022-2068 (#623)
- Add Scanner paging support for scan operations to the Cosmos adapter (#619)
- Remove non useful operation in ScannerImpl from the Cosmos DB adapter (#624)
- Rename getCreateOptions() to getCreationOptions() in integration tests (#629)
- Refactor Schema Loader (#631)
- Rename
transactional
totransaction
(#632) - Reduce Intellij warnings (#633)
Bug fixes
- Fix typo in the javadoc (#514)
- Handle lastEvaluatedKey for query in DynamoDB (#534)
- Fix
Query condition missed key schema element
error in DynamoDB (#544) - Fix SQL syntax error that happens when scanning a table without clustering key in JDBC adapter (#550)
- Fix equals method of Value for bytes type (#553)
- Upgrade grpc_health_probe (#562)
- Upgrade PostgreSQL driver (#563)
- Upgrade Cosmos DB client (#564)
- Update the docs (#603)
- Fix incompatible change (#605)
Documentation
- Update ScalarDB compatibility test matrix (#510)
- Change terms in data model (#521)
- Update CI status badge in index.md (#556)
- Update backup creation and restoration procedures (#571)
- Update Javadoc (#615)
- Update documents (#616)
- Update Getting Started (#617)
- Add documentation for Consensus Commit configurations (#621)
- Add API guide (#620)
- Add myself in the released pom file "developers" information (#628)
- Add documentation for Storage abstraction (#625)
- Refactor Scalar DB Server documentation (#627)
- Add GraphQL and SQL to License section in README (#626)
- Fix typo (#630)
- Small modifications for documentation (#634)
v3.5.3
Improvements
- Update jre8 base image to 1.1.2 (#587)
- Update dependencies to fix CVE-2022-25647 (#589)
- Fix CVE-2022-1664 (#604)
- Fix CVE-2022-2068 (#623)
v3.4.5
Improvements
- Update jre8 base image to 1.1.2 (#587)
- Update dependencies to fix CVE-2022-25647 (#589)
- Fix CVE-2022-1664 (#604)
- Fix CVE-2022-2068 (#623)
v3.3.5
Improvements
- Update jre8 base image to 1.1.2 (#587)
- Update dependencies to fix CVE-2022-25647 (#589)
- Fix CVE-2022-1664 (#604)
- Fix CVE-2022-2068 (#623)
v3.5.2
Enhancements
- Release SNAPSHOT versions (#561)
Improvements
- Fix typo in the integrationTestTwoPhaseConsensusCommit gradle task name (#546)
- Update the base image jre8 to 1.1.0 (#551)
- Migrate CI to GitHub actions (#541)
- Trigger CI for "push" event on the master branch (#557)
- Update the base image jre8 to 1.1.1 (#560)
- Add docker check to CI (#568)
- Add CI triggers for "push" events on support and release branches (#572)
Bug fixes
- Fix
Query condition missed key schema element
error in DynamoDB (#544) - Fix SQL syntax error that happens when scanning a table without clustering key in JDBC adapter (#550)
- Upgrade grpc_health_probe (#562)
- Upgrade PostgreSQL driver (#563)
- Upgrade Cosmos DB client (#564)
Documentation
- Update CI status badge in index.md (#556)
v3.4.4
Enhancements
- Release SNAPSHOT versions (#561)
Improvements
- Fix typo in the integrationTestTwoPhaseConsensusCommit gradle task name (#546)
- Update the base image jre8 to 1.1.0 (#551)
- Migrate CI to GitHub actions (#541)
- Trigger CI for "push" event on the master branch (#557)
- Update the base image jre8 to 1.1.1 (#560)
- Add docker check to CI (#568)
- Add CI triggers for "push" events on support and release branches (#572)
Bug fixes
- Fix
Query condition missed key schema element
error in DynamoDB (#544) - Fix SQL syntax error that happens when scanning a table without clustering key in JDBC adapter (#550)
- Upgrade grpc_health_probe (#562)
- Upgrade PostgreSQL driver (#563)
- Upgrade Cosmos DB client (#564)
Documentation
- Update CI status badge in index.md (#556)
v3.3.4
Enhancements
- Release SNAPSHOT versions (#561)
Improvements
- Add dockerize to Dockerfile for grpc-server (#376)
- Add -XX:MaxRAMPercentage parameter to SCALARDB_SERVER_OPTS (#392)
- Use the internal JRE Docker image to avoid CVE fixing commands (#420)
- Fix typo in the integrationTestTwoPhaseConsensusCommit gradle task name (#546)
- Update the base image jre8 to 1.1.0 (#551)
- Migrate CI to GitHub actions (#541)
- Trigger CI for "push" event on the master branch (#557)
- Update the base image jre8 to 1.1.1 (#560)
- Add docker check to CI (#568)
- Add CI triggers for "push" events on support and release branches (#572)
Bug fixes
- Log in GitHub Container Registry first (#421)
- Fix
Query condition missed key schema element
error in DynamoDB (#544) - Fix SQL syntax error that happens when scanning a table without clustering key in JDBC adapter (#550)
- Upgrade grpc_health_probe (#562)
- Upgrade PostgreSQL driver (#563)
- Upgrade Cosmos DB client (#564)
Documentation
- Update CI status badge in index.md (#556)
v3.5.1
v3.4.3
v3.5.0
Enhancements
- Make JDBC isolation level configurable (#412)
- Support parallel preparation/commit/rollback in Consensus Commit (#438)
- Support async commit/rollback in Consensus Commit (#445)
- Add connection pool configurations for JdbcAdmin (#458)
- Add TransactionalTableMetadataManager (#465)
- Support parallel validation for EXTRA_READ in Consensus Commit (#459)
- Add ByteBuffer support for Blob type (#497)
- Add ByteBuffer support to Value (#508)
Improvements
- Refactor DistributedStorageAdmin (#405)
- Move ReadRepairableExecutionException to the Cassandra package (#411)
- Throw RetriableExecutionException when TransactionConflict happens in the Dynamo adapter (#407)
- Throw RetriableExecutionException in mutate operations when conflicts happen in the JDBC adapter (#408)
- Handle RetriableExecutionException in ConsensusCommit (#409)
- Move Isolation to the consensuscommit package (#404)
- Result.getClusteringKey() should return empty when there is no clustering key (#410)
- Use the internal JRE Docker image to avoid CVE fixing commands (#420)
- Revisit logging in Consensus Commit (#419)
- Remove synchronized from ConsensusCommitManager (#418)
- Upgrade supported storage database version in the CI (#416)
- Refactor OperationChecker (#423)
- Add
SCALAR_DB_SERVER_PORT
to database.properties.tmpl (#426) - Rename utility classes for consistency (#425)
- Upgrade log4j version (#429)
- Filter transactional columns and support projection for get/scan in Consensus Commit (#428)
- Use different datasource for table metadata in JDBC adapter (#431)
- Remove TransactionRuntimeException (#430)
- Move CoordinatorException to the consensuscommit package (#434)
- Upgrade log4j to 2.17.0 (#436)
- Add end-to-end test for schema loader to CI (#349)
- Refactor integration tests (#442)
- Upgrade log4j to 2.17.1 (#449)
- Refactor Schema Loader (#448)
- Rename JdbcDatabaseAdmin to JdbcAdmin (#456)
- Deprecate XXXService classes (#455)
- Refactor TableMetadataManager (#454)
- Refactor JDBC adapter (#468)
- Sort order for Scan without orderings should follow clustering order in Cosmos adapter (#473)
- Allow getting already written data in Consensus Commit (#474)
- Rename JDBC integration tests (#475)
- Handle SQL Server conflict error (#478)
- Add more integration tests for Scan (#477)
- Increase no_output_timeout for Cosmos DB adapter CI (#483)
- Use only id and version to check if a read record is not changed in the validation in EXTRA_READ (#482)
- Add annotations (#491)
- Move ResultImpl to the util package (#492)
- Unnecessary columns are not read any more in Consensus Commit (#488)
- Add constructors to ConditionalExpression (#496)
- Use before image column names from TransactionalTableMetadata in RollbackMutationComposer (#494)
- Revisit Key construction (#447)
- Should not change states of operation instances passed as arguments (#498)
- Classes/Methods deprecated in 3.x should be removed in 5.0.0 (#506)
- Reduce Intellij warnings (#503)
- Change Key builder (#504)
- Move the rollbackRecords method from RecoveryHandler to CommitHandler (#500)
- Revisit logging (#502)
- Refactor Scalar DB Server code (#453)
- Add ConfigUtils.getStringArray() (#501)
- Rename
keyspace
tonamespace
in unit tests (#507)
Bug fixes
- Add mergeServiceFiles for shadowJar in Schema Loader (#406)
- Fix get tables in Dynamo adapter when actual number of tables exceed the maximum in a response. (#415)
- Restore JdbcUtils.initDataSource(JdbcConfig config) (#417)
- Log in GitHub Container Registry first (#421)
- Add -u option for Cosmos DB in schema loader for backward compatibility (#440)
- Should close FileInputStream in XXXConfig (#451)
- Should rollback a transaction when expiring it in Two-phase commit transactions (#452)
- Transactions that have multiple scans are always rejected in EXTRA_READ (#457)
- Handling namespaces/tables/columns with reserved keywords in Cassandra and JDBC adapters (#441)
- Handling namespaces/tables/columns with reserved keywords in DynamoDB adapter (#462)
- Handling namespaces/tables/columns with reserved keywords in Cosmos DB adapter (#461)
- Fix OperationChecker for mutation operations (#476)
- Fix Scan logic in CrudHandler in Consensus Commit (#479)
- Should not publish a fat jar for Schema Loader to the maven repository (#490)
- Update PostgreSQL driver version for vulnerability fix (#493)
Documentation
- Update the Scalar DB version in README (#403)
- Update schema-loader javadoc to fix warning (#413)
- Update the Scalar DB version of the dependency in README (#433)
- Improve Getting Started with Scalar DB on X (#432)
- Add gRPC deadline duration configuration to the Scalar DB Server documentation (#437)
- Update the Getting Started doc and code (#446)
- Add A Guide on How to Handle Exceptions (#450)
- Update Scalar DB backup and restoration guide (#486)
- Support SQL Server and Amazon Aurora officially (#499)
- Update the Scalar DB version of the dependency in README (#509)