Skip to content

Nessie 0.40.0

Compare
Choose a tag to compare
@github-actions github-actions released this 22 Jul 19:16
· 4941 commits to main since this release

Highlights

  • 472 commits since 0.30.0
    Rolling upgrades from earlier versions are not supported!
  • Support Spark 3.1 (Scala 2.12), Spark 3.2 (Scala 2.12 + 2.13), Spark 3.3 (Scala 2.12 + 2.13)
  • Support Iceberg 0.14.0
  • Nessie Spark SQL extensions: handle timestamps w/ time-zones
  • Nessie Spark SQL extensions: fix handling of USEd references for CREATE/ASSIGN BRANCH/TAG
  • Detailed merge/transplant result to allow inspection of conflicts
  • Merge/transplant optionally allow "force-keep" & "force-merge" of conflicting content-keys
  • Iceberg table metadata stored in Nessie
  • Improvements to REST error handling
  • Performance improvements when there are many content-keys
  • Hard limit on content-key length (max 20 elements, total 500 characters)
  • Prevent (accidental) deletion of default branch
  • Improved usage of automatic paging via NessieApi
  • Improvements to Nessie server health checks
  • Add rolling-upgrade test suite in regular CI
  • Daily testing against Java 17 + newer
  • Switched to Java 17 in native images
  • Build switched from Maven to Gradle
  • Maven Central: https://search.maven.org/search?q=g:org.projectnessie
  • Docker Hub: https://hub.docker.com/r/projectnessie/nessie
  • PyPI: https://pypi.org/project/pynessie/
  • Helm Chart repo: https://charts.projectnessie.org/

Try it

The attached executable file nessie-quarkus-0.40.0-runner is a x86-64 native binary image and only works on compatible Linux environments.

The attached nessie-quarkus-0.40.0-runner.jar is a standalone uber-jar file that runs on Java 11 or newer and it is also available via Maven Central. Download and run it (requires Java 11):

wget https://github.com/projectnessie/nessie/releases/download/nessie-0.40.0/nessie-quarkus-0.40.0-runner.jar
java -jar nessie-quarkus-0.40.0-runner.jar

The attached nessie-helm-0.40.0.tgz is a packaged Helm chart, which can be downloaded and installed via Helm.
There is also the Nessie Helm chart repo, which can be added and used to install the Nessie Helm chart.

Full Changelog (minus dependabot commits):

  • Add missing signing plugin (#4768)
  • Fix pom validation to top-level pom (#4767)
  • Rename 0.31.0 to 0.40.0 (#4766)
  • Prepare Nessie 0.31.0 (#4765)
  • Add Spark/Scala-version-matrix (#4751)
  • Avoid converting 415 Unsupported Media Type into 500 ISE (#4436/#4711)
  • Fix POM transitive dependency issue (#4750)
  • Bump iceberg to 0.14 (#4738)
  • Let SQL CREATE and ASSIGN use USEd ref (#4697)
  • Nessie REST (HTTP) client: verify JSON response (#4712)
  • Cleanup nessie-dependencies handling for query-engine-int-tests (#4710)
  • Bump Gradle to 7.5 (#4713)
  • Move antlr-runtime dependency back into Nessie (#4701)
  • README Fix link for build-status-badge (#4702)
  • SQL extensions: Small cleanup (#4698)
  • Add badge for Java17/18 CI (#4700)
  • SQL-Extensions/Test: small cleanup (#4699)
  • Iceberg metadata in Nessie (#3907)
  • CI: Also test with Java 17 + 18 (#4659)
  • Nit: close NessieApi instance (#4687)
  • Add build used by integrations-testing for Iceberg dependencies (#4336)
  • GH-WF: Add mandatory description fields (#4669)
  • UI/hygiene: Remove pkg.json package (#4676)
  • NessieApi - automatic paging stream (#4638)
  • Handle times in SQL extensions better fixes #1452
  • Use Java 17 in native images (#4660)
  • build/ui: premature add java dir to PATH (#4657)
  • Workaround spotless plugin bug (#4656)
  • Prepare build files for integrations testing (#4645)
  • Allow anonymous health checks (#4639)
  • Add content-variant using attachments (#4150)
  • Change Pynessie dependencies import from relative to absolute (#4634)
  • Use isort instead of flake8-import-order (#4633)
  • Let Nessie Spark-SQL extensions test against in-tree Nessie server version (#4625)
  • Remove Gradle type-safe project accessors (#4618)
  • Allow to create a release from another branch as well (#4596)
  • Add workflow to manually bump the development version on the 'main' branch (#4594)
  • Run "main CI" workflow also from release-* branches (#4595)
  • Release-workflows: simplify handling of step outputs (#4593)
  • Content attachments in Nessie (#3293)
  • Hashed key-lists using open-addrressing (#4536)
  • Reuse containers via testcontainers testcontainers.reuse.enable=true fixes #4509
  • Limit key length and number of key elements (#4561)
  • Fix build of the Nessie Docker image (#4558)
  • Prevent deletion of the default branch Fixes #3401
  • Refactor namedRefsIndex Test (#4560)
  • Suppress maven progress output in build-tools ITs (#4559)
  • Rename ITDynamoDatabaseAdapter to ITDatabaseAdapterDynamo (#4557)
  • versioned/spi: remove Collator in Key (#4542)
  • Add erase-repo command to quarkus-cli (#4537)
  • update keycloak guide for 17+ (#4543)
  • Make KeyListBuildState a top-level class (#4535)
  • Fix reference deletion in RocksDB (#4533)
  • Revert ACCIDENTAL push to projectnessie/main: "EXP"
  • EXP
  • UI: Fix relevant ui module tasks not run (#4487)
  • Revert "build(deps-dev): bump @testing-library/react in /ui (#4362)" (#4486)
  • Increase severity of some errorprone checks (#4479)
  • Fix some errorprone warnings (#4476)
  • Allow dependabot to manage plugin dependencies (#4466)
  • Ninja: fix main.yml
  • Fix task output dependency issues for jacoco (#4463)
  • GH WF main fix snapshot publishing (#4462)
  • Do not let the UI module assume that npm is already setup (#4461)
  • Use common projectnessie build plugins for Gradle (#4459)
  • Fix the warning: unknown enum constant SchemaType.OBJECT (#4460)
  • Move from Maven to Gradle (#4274)
  • Eliminate a few nit-ish compiler warnings (#4443)
  • Fix OpenAPI examples (#4437)
  • cli: remove dependency to commons-io (#4442)
  • Add check-content Nessie CLI command (#4414)
  • Store and retrieve merge-parent (#4333)
  • Identify referenced+unreferenced HEADs (#4303)
  • Move commitTimeMicros() to config interface (#4400)
  • Add functionality to scan all commits in the database (#4397)
  • Helm testing: Wait 10 secs until Nessie service/pod is up (#4398)
  • Minor improvement for dynamodb tests (#4396)
  • Repository changed events from AbstractDatabaseAdapter (#4323)
  • Helm: Credentials for MongoDB as secrets (#4382)
  • Fix Fields.ERROR_OBJECT value in TracingUtil (#4372)
  • Article about rolling upgrade issue (#4370)
  • Add Rolling-Upgrade test suite (#4350)
  • Add server upgrade notes to site (#4364)
  • Extract functionality to launch a local Mongo instance (#4363)
  • Remove Hasher usage from randomHash (#4332)
  • Deprecate reflog (#4335)
  • Eliminiate global-pointer contention (non-tx database adapters) (#4234)
  • Flatten Hash (#4330)
  • CI: Ignore OWASP errors (#4331)
  • Prepare PR-Workflow for "All the tools" integrations tests (#4309)
  • Add OpenAPI examples for MergeResponse + update some existing examples (#4321)
  • Ninja: ignore codecov upload failures (Python as well)
  • Testing: allow more concrete types than just DatabaseAdapter.class (#4319)
  • Ninja: ignore codecov upload failures
  • Add Nessie Logo to Quarkus UIs (#4322)
  • Align Java parameter names in Http classes with RestAPI parameter names (#4320)
  • Expose merge-response via public API (#4307)
  • TX: Minor cleanup, use fetchNamedRefHead in opLoop (#4318)
  • Nit: remove outdated comment (#4308)
  • Prevent use of Builder type name (#4306)
  • Fix compatibility tests for namespace (#4305)
  • Helm: Add Transactional store type support to deployment (#4223)
  • Pass locale+encoding to Quarkus integration tests (#4292)
  • Expose MergeResult from #4273 via VersionStore (#4277)
  • Detailed merge/transplant results (database adapters) (#4273)
  • Bump quarkus.native.builder-image from 22.0 to 22.1 (#4288)
  • Fix keycloak startup docs (#4290)
  • Lint & Test Nessie Helm chart (#4289)
  • Add Ingress example with Minikube (#4286)
  • Move Helm README inside chart directory (#4276)
  • Add some additional metadata to Nessie Helm chart (#4275)
  • Add ArtifactHub Badge (#4272)
  • Remove ability to write content with global state (#4249)
  • Simplify functionality to erase repo for tests (#4248)
  • Move tests out of AbstractDatabaseAdapterTest (#4247)
  • Upgrade maven wrapper to v3.1.1 (#4246)