Nessie 0.40.0
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
USE
d references forCREATE/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
andASSIGN
useUSE
d 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
inKey
(#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 fromrandomHash
(#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
inopLoop
(#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 viaVersionStore
(#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)