Skip to content

v3.8.0

Compare
Choose a tag to compare
@brfrn169 brfrn169 released this 16 Jan 15:02
· 953 commits to master since this release

Summary

This release has a lot of enhancements, improvements, bug fixes, vulnerability fixes, and document improvements. Please see Change logs for the details.

Change logs

Enhancements

  • Remove suspend() from TwoPhaseCommitTransactionManager (#715)
  • Update release workflow to push container to ECR of Marketplace (#699)
  • Add resume() to DistributedTransactionManager (#717)
  • Add several methods to ActiveExpiringMap (#722)
  • Allow to use placeholders in configuration values (#770)
  • Add configurations for gRPC (#776)

Improvements

  • Refactor server integration tests (#663)
  • Use toUpperCase() for valueOf() of enum type (#666)
  • Use ServiceLoader to load storage and transaction modules (#661)
  • Improve error messages in OperationChecker (#667)
  • Add logging for UnknownTransactionStatusException in Scalar DB Server (#669)
  • Refactor JdbcAdminTest (#670)
  • Refactor CosmosAdminTest (#671)
  • Rename endpoint override config in Dynamo (#672)
  • Enable EI_EXPOSE_REP and EI_EXPOSE_REP2 in SpotBugs (#668)
  • Enable parallel/async commit by default (#676)
  • Add more checks for conditions for Dynamo and Cosmos (#675)
  • Refactor schema loader integration tests (#673)
  • Delete setDriver() for BasicDataSource in JDBC (#682)
  • Use DistributedTransactionAdmin for transaction tables in SchemaOperator (#684)
  • Delete licenses (#686)
  • Suppress exception thrown when deleting scalable target and scaling policy when using DynamoDB local. (#683)
  • Upgrade Spotless Gradle Plugin (#694)
  • Fix typo in admin integration test classes (#695)
  • Move integration test base code to subproject (#697)
  • Refactor ServiceLoader related classes (#698)
  • Make the ConsensusCommitAdmin only return transaction table (#702)
  • Add external Scalar DB property file support to getting-started application (#701)
  • Refactor ConsensusCommitAdmin unit test (#704)
  • In the Cosmos DB job of the CI, add a step to clean up gradle daemon logs file (#705)
  • Disable include metadata tests if external server used in server integration tests (#711)
  • Refactor consensus commit specific integration tests (#713)
  • Refactor two-phase commit transaction integration tests (#712)
  • Small integration test modifications for the resume feature (#724)
  • Should throw IllegalStateException when transaction is not found and already exists (#718)
  • Add transaction state management (#719)
  • Separate active transaction management from AbstractDistributedTransactionManager and AbstractTwoPhaseCommitTransactionManager (#723)
  • Fix dependency and spotbugs issues for >JDK 8 (#728)
  • Fix two unit tests of OperationChecker (#731)
  • Throw an exception when putting an empty value to a secondary index column in Dynamo DB (#729)
  • Make JDK11+ use the same google java format version as JDK8 uses (#734)
  • Make ParallelExecutor workers daemon thread (#733)
  • Move vuln check to a separate daily workflow (#737)
  • Conduct daily vulnerability checks on releases not only on main branch (#741)
  • Should drop namespace only when no tables are in the namespace in Schema Loader (#740)
  • Move common classes (#744)
  • Throw TransactionNotFoundException when resuming a transaction but it's not found (#746)
  • Post the vulnerability check result to Slack channel (#745)
  • Deprecate getPartitionKey() and getClusteringKey() of Result (#750)
  • Remove usages of getPartitionKey() and getClusteringKey() of Result from integration tests (#751)
  • Validate contact points size in XxxxConfig to avoid "java.lang.ArrayIndexOutOfBoundsException: 0" (#752)
  • Make integration test bases for transaction extendable (#754)
  • Refactor server integration tests (#755)
  • Small modifications for Javadoc and comments (#756)
  • Should close admin in afterEach() in the repair integration tests (#767)
  • build(fix): bump-up protobufVersion to 3.21.12 (latest) (#760)
  • Refactor prepare logic (#771)
  • Update Scheduled Vulnerability Check workflow (#749)
  • Refactor validation logic (#775)
  • Add transaction decorator (#781)
  • Revisit commit and abort state logic (#783)
  • Should synchronize in active transaction management (#785)
  • Allow commit() and rollback() to be called in parallel in all coordinator/participant processes in 2PC transactions (#786)
  • Load admins lazily in Schema Loader (#792)
  • Rename Scalar DB to ScalarDB (#795)
  • DynamoDB supports up to 100 actions per transaction (#796)
  • Revert async commit default value (#797)

Bug fixes

Documentation

  • Remove readthedocs (#664)
  • Move Schema Loader document to docs directory (#665)
  • Fix Javadoc warnings (#685)
  • Update the Scalar DB supported database matrix with Scalar DB 3.7 (#703)
  • Add description of limitations of data types (#721)
  • Fix the broken link in the backup document (#725)
  • Remove unnecessary key definition from API guide (#742)
  • Add note for Put/Delete operation in the API guide (#747)
  • Add ScalarDB Server's license description in the README (#753)
  • docs: Clearer description on when to use online backups (#761)
  • Add description how to build docker image of ScalarDB Server (#779)
  • Update slides links (#789)