Skip to content

Releases: projectnessie/nessie

Nessie 0.93.1

19 Jul 19:36
Compare
Choose a tag to compare

Try it

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

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

Nessie CLI is attached as nessie-cli-0.93.1.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Nessie CLI is also available as a Docker image: docker run --rm -it ghcr.io/projectnessie/nessie-cli:0.93.1.

Nessie GC tool is attached as nessie-gc-0.93.1.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.93.1 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.93.1-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.93.1 --help.

The attached nessie-helm-0.93.1.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.

Changelog

Breaking changes

  • The throttled-retry-after advanced configuration property was renamed from
    nessie.catalog.service.s3.throttled-retry-after to
    nessie.catalog.error-handling.throttled-retry-after. The old property name is ignored.
  • Helm chart: a few ADLS-specific options under catalog.storage.adls were incorrectly placed and
    therefore effectively ignored by Nessie; if you are using ADLS, please re-check your configuration
    and adjust it accordingly.

New Features

  • CLI: New REVERT CONTENT command to update one or more tables or views to a previous state.

Changes

  • Catalog: ADLS + GCS credentials are no longer sent to the client. It is considered insecure to expose the
    server's credentials to clients, even if this is likely very convenient. Unless we have a secure mechanism
    to provide per-client/table credentials, users have to configure object store credentials when using GCS or
    ADLS via the local Iceberg configuration(s).

Fixes

  • GC: Fix behavior of cutoff policy "num commits", it was 'off by one' and considered the n-th commit as non-live
    vs the n-th commit as the last live one.
  • GC: Record failed "sweep"/"expire" runs in the repository. Before this fix, failures were reported on the console.
  • GC: Fix handling of broken manifest files written by pyiceberg up to 0.6.1
  • Catalog/ADLS: Don't let endpoint default to warehouse/object-store URI
  • Catalog/ADLS: More informative error message if mandatory endpoint is missing.
  • Catalog/ADLS: Use a less restrictive endpoint in the 'ObjectIO.ping' function used for health checks.

Full Changelog (minus renovate commits):

  • Revert "[release] release nessie-0.93.0", but keep version
  • Build: fix annotation types warnings (#9148)
  • CI: Use Java 21 for CI (#9140)
  • Release workflow: Let helm chart publishing depend on images publishing (#9142)
  • Bump undertow from 2.2.28 to 2.2.33 (#9143)
  • Bump Spark 3.4 from 3.4.2 to 3.4.3 (#9144)
  • Bump Scala 2.13 from 2.13.13 to 2.13.14 (#9145)
  • Revert "[release] release nessie-0.93.0"
  • Add an Operating System check (#9139)
  • Cache invalidations: move code to :nessie-quarkus (#9137)
  • Catalog: decouple bucket name from bucket config key (#9116)
  • Catalog/ADLS: change 'ping' endpoint (#9134)
  • Add exception mappers to convert storage failures to Iceberg REST client exceptions (#8558)
  • CLI: Nicer syntax rendering (#9119)
  • CLI: Add REVERT CONTENT command (#9120)
  • Catalog: update IcebergManifestFileReader to handle broken manifest files (#9132)
  • Reference caching: update default for negative, update comments/docs (#9126)
  • Catalog/ADLS: More information if manadory ADLS endpoint is missing (#9128)
  • ninja: changelog
  • GC: Manifest file reading with specById (#9131)
  • Site: notes on Nessie server sizing + tips (#9127)
  • Catalog / GCS: minor enhancements (#9107)
  • Site: dynamo db note (#9113)
  • GC: Record expiry exception in repository + record stack trace as well (#9114)
  • Catalog: Don't expose ADLS + GCS credentials (#9100)
  • Renovate: automerge action updates (#9106)
  • Catalog: Accept object-store locations w/o trailing / (#9098)
  • Catalog/ADLS: Don't let endpoint default to warehouse/object-store URI (#9102)
  • Add message argument to Objects.requireNonNull() (#9099)
  • GC: Fix behavior of cutoff policy "num commits", 'off by one' (#9096)
  • Site: Fix links to nessie-bom (#9088)

Nessie 0.92.1

13 Jul 19:58
Compare
Choose a tag to compare

Try it

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

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

Nessie CLI is attached as nessie-cli-0.92.1.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Nessie CLI is also available as a Docker image: docker run --rm -it ghcr.io/projectnessie/nessie-cli:0.92.1.

Nessie GC tool is attached as nessie-gc-0.92.1.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.92.1 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.92.1-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.92.1 --help.

The attached nessie-helm-0.92.1.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.

Changelog

Fixes

  • Catalog: fix field-ID reassignment and last-column-id calculation

Full Changelog (minus renovate commits):

  • Catalog: Fix assignment of nested fields in a table's initial schema (#9085)
  • Update docs for CEL Authorization rules (#9078)
  • HTTP client: consistently close streams and responses (#9082)
  • HTTP client: remove hard-coded behavior for status >= 400 (#9071)
  • Gradle 8.9 post updates (#9075)
  • Use released Nessie image in docker-compose examples (#9070)

Nessie 0.92.0

11 Jul 14:46
Compare
Choose a tag to compare

Try it

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

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

Nessie CLI is attached as nessie-cli-0.92.0.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Nessie CLI is also available as a Docker image: docker run --rm -it ghcr.io/projectnessie/nessie-cli:0.92.0.

Nessie GC tool is attached as nessie-gc-0.92.0.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.92.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.92.0-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.92.0 --help.

The attached nessie-helm-0.92.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.

Changelog

Breaking changes

  • Catalog: The nessie.catalog.s3.default-options.auth-mode configuration property has been renamed
    to nessie.catalog.s3.default-options.client-auth-mode to better reflect its purpose. The old
    property name is not supported anymore and must be updated in customized Helm values and/or
    Quarkus configurations.

New Features

  • Catalog: Exported Nessie repositories now include the contents for Nessie Catalog
  • Catalog: Improve indicated health check errors
  • Catalog/GCS: Support using the default application credentials
  • Catalog/S3: Allow custom key+trust stores
  • Catalog: Check privileges earlier
  • Catalog: cleanup non-committed metadata objects

Changes

  • Helm chart improvements

Fixes

  • Fix potential class-loader deadlock via Namespace.EMPTY
  • Catalog: Fix double write of metadata objects to S3
  • GC/ADLS: Handle BlobNotFound as well
  • Fix behavior of metadata-update/set-statistics + set-partition-statistics
  • Fix duplicate OAuth interactive flows when the Nessie API compatibility filter is enabled

Full Changelog (minus renovate commits):

  • Fix Iceberg REST "getting started" examples (#9065)
  • HTTP client: refactor BaseHttpRequest (#9055)
  • Persist: make GenericObj implement Obj (#9059)
  • Remove superfluous \ in CLI welcome message (#9066)
  • Make o.p.client.http.Status safe against unknown HTTP status codes (#9062)
  • Export related objects (#9034)
  • Catalog S3: use DefaultCredentialsProvider if no access key configured (#8987)
  • nit: fix typo in changelog (#9051)
  • Compatibility filter: bypass filters when contacting the config endpoint (#9050)
  • Add ability to (de)serialize generic custom ObjTypes (#9032)
  • Refactor Nessie HTTP compatibility filter (#9047)
  • Fix Docker Compose ports (#9046)
  • Fix behavior of metadata-update/set-statistics + set-partition-statistics (#9045)
  • SQL Extension SHOW LOG with AT (#8294)
  • Committing operations: cleanup metadata after failures (#8889)
  • Ability to identify related objects for Nessie export (#9033)
  • Docs: Update REST catalog config for Trino (#9016)
  • ninja: changelog
  • Fix concurrency issue in flaky test TestIceberg*Files.iceberg() (#9039)
  • Allow Smallrye config sections to have no properties (#9023)
  • Catalog: Improve warehouse health/readiness checks (#9036)
  • Add at least some reason to Optional.orElseThrow() (#9037)
  • Nit: move EntityObj ID calculation from impl class (#9030)
  • Unify obj-type namespaces (#9031)
  • Fix older-client/server dependency resolution errors (#9029)
  • Implement early access-checks for Iceberg REST operations (#8768)
  • Export: remove ability to export a new repo using the legacy export version (#9017)
  • GC/ADLS: Handle BlobNotFound (#9015)
  • ninja: changelog
  • Catalog/S3: Allow custom trust and key stores (#9012)
  • Ninja: changelog
  • Ninja: changelog updates
  • Catalog/Bug: Fix double-write for S3 (#9008)
  • Support using the default application credentials for google client (#9004)
  • Docs: improve tabbed display of code blocks (#9006)
  • Helm chart: fix advanced config examples (#9005)
  • Refactor MultiTableUpdate (#9001)
  • Exclude DNS test on macOS (#9003)
  • Add for-write query parameter to Nessie API v2 (#8993)
  • Move AddressResolve to a separate module, so it's reusable (#8992)
  • Add initial unit tests for CatalogServiceImpl (#8998)
  • Make address resolution more resilient (#8984)
  • Add returnNotFound for VersionStore.getValue(s) (#8983)
  • Adopt to change from Gradle 8.0 to 8.1 (#8985)
  • Helm chart: don't call template if feature is disabled (#8982)
  • Add ObjectIO.deleteObjects() (#8981)
  • Site: add docs on Kubernetes troubleshooting (#8966)
  • Fix potential class-loader deadlock via Namespace.EMPTY (#8963)
  • Clean site directories and built-tools-IT directories during clean (#8969)
  • Fix more IJ inspections (#8962)

Nessie 0.91.3

28 Jun 10:09
Compare
Choose a tag to compare

Try it

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

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

Nessie CLI is attached as nessie-cli-0.91.3.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Nessie CLI is also available as a Docker image: docker run --rm -it ghcr.io/projectnessie/nessie-cli:0.91.3.

Nessie GC tool is attached as nessie-gc-0.91.3.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.91.3 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.91.3-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.91.3 --help.

The attached nessie-helm-0.91.3.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.

Changelog

Breaking changes

  • The config properties for the object storage defaults for S3, GCS and ADLS have been moved under the
    default-options composite object. Inconsistent property names between the old defaults and the per-bucket
    property names have been resolved.

New Features

  • Nessie CLI now has its own Docker images. Running Nessie CLI is now as simple as: docker run -it ghcr.io/projectnessie/nessie-cli. Read more about it
    here.

Fixes

  • Fix console output during CONNECT in CLI/REPL (the bug was introduced in 0.91.1)

Full Changelog (minus renovate commits):

  • Fix a bunch of IntelliJ inspections, rather nits + cosmetic (#8955)
  • nit: fix typo in NessieConfigConstants (#8959)
  • Site: display download options for each artifact in tabs (#8946)
  • Just add comments when adding new images. (#8958)
  • Nessie CLI: publish Docker images (#8935)
  • Fix STDOUT in ConnectCommand (#8953)
  • Remove unused Cloud enum (#8951)
  • Fix flaky TestCacheInvalidationSender.regularServiceNameLookups (#8950)
  • Helm chart: remove build-time property quarkus.log.min-level (#8948)
  • Helm chart: fix catalogStorageEnv template (#8944)
  • Clarify OpenAPI doc for updateRepositoryConfig (#8945)
  • Migrate default bucket options to default-options composite property (#8933)
  • Site: new placeholders for nightly version, tag and unstable suffix (#8939)
  • Replace usage of Project.extra for PublishingHelperPlugin + explicitly disable Gradle config cache (#8942)
  • create-gh-release-notes.sh: don't include h1 title in release notes (#8938)
  • Site: nicer word-break for config references (#8936)
  • Site / downloads fixes + reorg (#8934)
  • Follow-up of stream-to-list refactor (#8931)
  • OAuth2: nit: clarify trust relationship required for impersonation (#8928)
  • GH WFs: Fix comment + job parameter description (#8924)

Nessie 0.91.2

24 Jun 18:54
Compare
Choose a tag to compare

Nessie 0.91.2 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.91.2.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.91.2 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.91.2-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.91.2 --help.

The attached nessie-helm-0.91.2.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.

Changelog

Breaking changes

  • We have improved Nessie client's support for impersonation scenarios using the token exchange
    grant type. A few options starting with nessie.authentication.oauth2.token-exchange.* were
    renamed to nessie.authentication.oauth2.impersonation.*. Check the [Nessie authentication
    settings] for details. Please note that token exchange and impersonation are both considered in
    beta state. Their APIs and configuration options are subject to change at any time.

Full Changelog (minus renovate commits):

  • OAuth2Client: differentiate token exchange from impersonation (#8847)
  • Migrate off deprecated AwsS3V4Signer to AwsV4HttpSigner (#8923)
  • OAuthClient: improve next token refresh computation (#8922)
  • Docker compose: expose Nessie management port (#8888)
  • Site: update headers to appear in ToC (#8916)

Nessie 0.91.1

22 Jun 18:21
Compare
Choose a tag to compare

Nessie 0.91.1 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.91.1.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.91.1 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.91.1-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.91.1 --help.

The attached nessie-helm-0.91.1.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.

Changelog

New Features

  • Nessie's metrics now support custom, user-defined tags (dimensional labels). To
    define a custom tag, set the nessie.metrics.tags.<tag-name>=<tag-value> configuration property.
    Such tags are added to all metrics published by Nessie.
  • Readiness/health check testing the general availability of the object stores configured for the warehouses.
  • Helm chart with support for Iceberg REST

Fixes

  • S3 request signing, when using Iceberg REST, did not work with Iceberg (Java) before 1.5.0. Iceberg
    S3 request signing before 1.5.0 works now.
  • Fix service-name resolution in k8s, spamming the Nessie log.

Full Changelog (minus renovate commits):

  • Fix flaky tests in :nessie-gc-iceberg-files (#8913)
  • Fix patch version
  • Ninja: bump sonatype timeout + bump snapshot-version for next release
  • Revert release 0.91.0
  • CI: split Quarkus intTest jobs (#8898)
  • Site: exchange "black" Nessie (#8908)
  • Fix Helm chart CI (#8900)
  • NInja: changelog
  • Possibly fix Java stream issuue w/ name resolution (#8899)
  • Expose object store(s) availability as a readiness check (#8893)
  • ADLS: advice against shared account name/key (#8895)
  • Use correct IcebergView.of (#8896)
  • Update nessie-IDs in returned metadata properties, simplify some code (#8879)
  • Catalog/ADLS: Expose the endpoint and sas-token using the correct Iceberg properties (#8894)
  • Add admin command: delete-catalog-tasks (#8869)
  • TestOAuth2Authentication: fix flaky test (#8892)
  • Metrics: support user-defined tags (#8890)
  • Prevent console spam when connecting to a non-Iceberg-REST endpoint (#8885)
  • Add the nice Nessie images (#8880)
  • Add docs and docker-compose illustrating the use of a reverse proxy (#8864)
  • Helm chart: support for REST Catalog (#8831)
  • Docker compose: add examples with Prometheus and Grafana (#8883)
  • Fix heading in index-release.md (#8881)
  • Bump regsync from 0.4.7 to 0.6.1 (#8873)
  • Fix test failure in TestResolvConf in macOS CI job (#8874)
  • Make S3 signing work with Iceberg before 1.5.0 (#8871)
  • Relax image registry sync (#8872)
  • Disable Iceberg GC by default (#8870)
  • AdlsConfig: remove unused option (#8868)
  • Support v2 iceberg tables with gzip (#8848)
  • OAuth2 client: improve error reporting (#8861)
  • Use search in resolv.conf to resolve service names (#8849)
  • REST Catalog: disable metrics by default (#8853)
  • Proper N commits since x.y.z in release notes (#8823)
  • Fix release-publish (#8822)
  • Attempt to fix flaky test #8819 (#8821)
  • Increase test worker heap size (#8820)

Nessie 0.90.4

13 Jun 21:04
Compare
Choose a tag to compare

Nessie 0.90.4 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.90.4.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.90.4 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.90.4-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.90.4 --help.

The attached nessie-helm-0.90.4.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.

Changelog

New Features

  • Support for token exchange in the Nessie client has been completely redesigned. The new API and
    configuration options are described in the [Nessie authentication settings]. If this feature is
    enabled, each time a new access token is obtained, the client will exchange it for another one by
    performing a token exchange with the authorization server. We hope that this new feature will
    unlock many advanced use cases for Nessie users, such as impersonation and delegation. Please note
    that token exchange is considered in beta state and both the API and configuration options are
    subject to change at any time; we appreciate early feedback, comments and suggestions.

Full Changelog (minus renovate commits):

  • Skip 0.90.3
  • Fix compilation failure (#8817)
  • Revert commits for 0.90.3 release
  • JDBC: add proper support for H2 (#8751)
  • Fix cache-deserialization for UpdateableObj (#8815)
  • OAuth2Client: refactor scopes (#8814)
  • Token exchange: documentation enhancements (#8813)
  • Token exchange: more flexible subject / actor configuration (#8812)
  • OAuth2Client: integration tests for token exchange (#8810)
  • Fix docker-compose files after Keycloak upgrade to 25.0 (#8804)
  • HTTP client: introduce specialized HttpClientResponseException (#8806)
  • OAuth2Client: internal code cleanup (#8807)
  • OAuthClient: configurable subject and actor token types (#8805)
  • OAuth2Client: introduce proper support for token exchange (#8803)
  • OAuth2Client: don't refresh tokens using token exchange (#8790)
  • Disable a test on macOS (#8799)
  • Helm chart: minor improvement to JDBC section in docs (#8717)
  • Nessie w/ Iceberg REST / post-release site changes (#8510)
  • Ninja: fix release-create workflow issues in "create github release" job

Nessie 0.90.2

11 Jun 22:05
Compare
Choose a tag to compare

Nessie 0.90.2 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.90.2.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.90.2 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.90.2-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.90.2 --help.

The attached nessie-helm-0.90.2.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.

Changelog

Highlights

  • Nessie has got support for Iceberg REST.
  • MySQL users can now configure the JDBC connection using the quarkus.datasource.mysql.*
    properties. Also, JDBC URLs can now use the mysql prefix, e.g.
    jdbc:mysql://example.com:3306/my_db.

Upgrade notes

  • Helm chart: the cassandra section now has support for pulling credentials from a secret. The
    old cassandra.auth.username and cassandra.auth.password properties still work, but are now
    deprecated and will be removed in a future release. Use the cassandra.secret property instead.

New Features

  • Support for Iceberg REST is in "beta" state. We appreciate early feedback, comments and suggestions.
    Take a look at the Guides and Docs
    on our web site projectnessie.org for more information.
  • CEL access check scripts now receive the variable roles that can be used to check whether the current
    principal has a role assigned using a CEL expression like 'rolename' in roles.

Deprecations

  • Support for Java 8 is officially deprecated and users are encouraged to upgrade all clients to
    at least Java 11, better Java 17 or 21, if possible. Current Spark versions 3.3, 3.4 and 3.5
    work with Java 11 and 17. Support for Java 8 will eventually be removed.
  • For JDBC version stores, the following settings, which never worked as expected, are now
    deprecated and will be removed in a future release. The catalog and the schema must always be
    specified explicitly in the JDBC URL.
    • nessie.version.store.persist.jdbc.catalog
    • nessie.version.store.persist.jdbc.schema

Fixes

  • A bug in the API compatibility filter has been discovered and fixed: when OAuth2 authentication is
    being used, the filter causes the OAuth2 client to close prematurely, thus triggering unauthorized
    errors. A workaround is to simply disable the filter (set nessie.enable-api-compatibility-check
    to false), but this is no longer necessary.

Full Changelog (minus renovate commits):

  • Manually bump to 0.90.1-SNAPSHOT for next release
  • Revert "[release] release nessie-0.90.1"
  • Another release-publish bug
  • Manually bump to 0.90.1
  • Revert "[release] release nessie-0.90.0"
  • Revert 0.90.0 commits
  • Ninja: fix
  • Revert 0.90.0 release commits
  • Ninja: Fix Swaggerhub
  • Prepare bump to v0.90.0 (#8792)
  • Persist: introduce type-safe bulk-fetch functions (#8763)
  • Persist-cache: add negative obj cache (#8762)
  • Remove NessieDockerTestResourceLifecycleManager (#8788)
  • Catalog tests: disable token refresh (#8786)
  • OAuth2Client: fix race condition when scheduling refreshes (#8787)
  • OAuth2 client: add support for RFC 8414 metadata discovery (#8789)
  • Support distributed invalidation for Persist cache (#8463)
  • API compatibility filter: don't share authentication with main client (#8769)
  • [Catalog] Restrict S3 signing to URIs within table base prefix (#8654)
  • Persist: add fetchObjsIfExist() (#8761)
  • Refactor Backend.setupSchema to return schema info (#8753)
  • Add workaround for nip.io for macOS, optimize for Linux (#8759)
  • Cleanup nessie-quarkus build file (#8757)
  • [Catalog] Recognize s3a and s3n, behave like s3 (#8755)
  • Expose 'roles' in CEL access check scripts (#8752)
  • Site: Add RSS+JSON feeds (#8754)
  • Docs-gen: more documented types, don't expose "Java types" (#8705)
  • Allow secrets in a Keystore (#8710)
  • [Catalog] Secrets suppliers/managers API (#8706)
  • JDBC: remove options 'catalog' and 'schema' and revisit schema creation (#8723)
  • Helm chart: add support for OIDC client secret (#8750)
  • Site: Clarify "Authorization" and remove confusing paragraph (#8749)
  • Helm chart: fix a few property names (#8743)
  • Add explicit authorization-type = CEL (#8746)
  • Add isAnonymous() to AccessContext (#8745)
  • Add a JSON view to SmileSerialization (#8744)
  • Helm chart: reload pods when configmap changes (#8725)
  • Replace :latest with versions in docker-compose files (#8724)
  • Nit: fix docker-compose paths (#8722)
  • Avoid invalid test names due to non-printable characters (#8721)
  • Helm chart / Cassandra: add support for pulling credentials from secrets (#8716)
  • Helm chart: fix wrong env var + nits (#8718)
  • Helm chart: mention removal of legacy store types in 0.75.0 (#8719)
  • Fix API examples for merge conflict responses (#8712)
  • Prevent Quarkus warning about unindexed dependency (#8711)
  • Helm chart: create ConfigMap for application.properties file (#8709)
  • [Catalog] S3CredentialsResolver: remove one second from session end (#8703)
  • Update URLs in ConfigChecks (#8704)
  • Do not pin digests for Dockerfiles and docker-compose files (#8689)
  • Strip leading / (only for S3) (#8681)
  • [Catalog] Implement paging for Iceberg REST (#8633)
  • Adjust all logback*.xml files to new syntax (#8678)
  • Testing: less console log during BigTable tests (#8677)
  • Helm chart: add support for JDBC catalog and schema (#8672)
  • GC: fix incorrect paths when listing prefixes with ADLS (#8661)
  • [Catalog] return metadata-location in object store (at least for now) (#8669)
  • [Catalog] Handle CompletionStage from snapshot store (#8667)
  • [Catalog] Remove unused parameters/code (#8666)
  • Deprecate support for Java 8 (#8650)
  • [Catalog] Simplify tokens-uri resolution (#8649)
  • [Catalog] update CHANGELOG (#8651)
  • README: remove link to demos repository (#8652)
  • Un-ignore SetLocation directives (#8646)
  • [Catalog] remove Google projectId for S3 (#8635)
  • Ninja: fix renovate config
  • Renovate: more automatic merges (#8640)
  • Ninja: rename snapshot-publish workflow
  • [FEATURE] Nessie integration of Iceberg REST (#7043)
  • Authelia tests: remove nip.io (#8632)
  • Split Release workflow job into multiple, retryable jobs (#8596)
  • Custom keycloak container: add function to create a bearer token (#8622)
  • OAuth2 client: add integration tests with Authelia (#8618)
  • Docker compose: add example with Authelia (#8619)
  • Fix jaegertracing image spec (#8615)
  • Fix downloads on site + publish CLI uber jar (#8595)
  • Fix incremental generation of site/docs (#8591)
  • Separate MariaDB and MySQL datasources (#8585)
  • Clean up failed 0.83.0 + 0.83.1 releases (#8590)
  • Snapshot-Publishing: job splitting for snapshot releases (#8589)
  • Renovate: there's more than just dockerfile (#8586)
  • Remove deprecated HttpClientBuilder (#7803)

Nessie 0.83.2

23 May 17:50
Compare
Choose a tag to compare

Nessie 0.83.2 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.83.2.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.83.2 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.83.2-runner.jar, which is a standalone uber-jar file that runs on Java 17 or newer. Shell completion can be generated from the tool, check its help command. Nessie Server Admin tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-server-admin:0.83.2 --help.

The attached nessie-helm-0.83.2.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.

Changelog

Highlights

  • New Nessie CLI tool + REPL, replacing the old Python based CLI, based on Java.
    SQL-ish syntax, built-in online HELP command, auto-completion of commands, keywords
    and reference names, syntax highlighting, paging of long results, command history.
  • Nessie now includes built-in support for MariaDB, with full compatibility with MySQL servers. New
    users wishing to try MariaDB (or MySQL) should:
    1. Specify the new configuration property: nessie.version.store.persist.jdbc.datasource=mariadb;
    2. Provide all the MariaDB (or MySQL) connection details using quarkus.datasource.mariadb.*
      configuration properties.
  • The Nessie GC tool is now also compatible with MariaDB and MySQL (using the MariaDB connector).
  • The Nessie Server Admin tool is now also compatible with MariaDB and MySQL (using the MariaDB
    connector).

Upgrade notes

  • Due to the newly-introduced support for MariaDB, existing PostgreSQL users can continue to use
    their current JDBC configuration, but are encouraged to update it as follows:
    1. Specify the new configuration property:
      nessie.version.store.persist.jdbc.datasource=postgresql;
    2. Migrate any property under quarkus.datasource.* to quarkus.datasource.postgresql.*. Support
      for the old quarkus.datasource.* properties will be removed in a future release.
  • For the same reason, the Nessie Helm chart has been updated. The old postgres section is now
    called jdbc. Existing Helm chart configurations should be updated accordingly, e.g.
    postgres.jdbcUrl now becomes jdbc.jdbcUrl. Although the old postgres section is still
    honored, it won't be supported in future releases. The right datasource will be chosen based on
    the jdbcUrl contents.

Breaking changes

  • nessie-quarkus-cli, the low-level tool to for example export/import Nessie repositories, has been renamed
    to nessie-server-admin-tool.

New Features

  • More verbose exceptions from Nessie GC.

Full Changelog (minus renovate commits):

(Note: the 0.83.1 and 0.83.0 versions failed to fully release all artifacts for technical reasons, this list of commits contains all commits for 0.83.0, 0.83.1 and 0.83.2.)

  • Ninja: fix GH release-create
  • New CLI: Post-release site updates (#8468)
  • Blog post: support for MariaDB and MySQL backends (#8577)
  • Post-release: Rename nessie-quarkus-cli to nessie-server-admin-tool in docs (#8484)
  • Nessie Server Admin Tool: add support for MariaDB and MySQL backends (#8548)
  • Helm chart: add support for MariaDB and MySQL backends (#8554)
  • Persistence: properly handle timeout-ish exceptions (#8533)
  • Renovate: merge "digest" updates automatically (#8576)
  • Nessie GC: add support for MariaDB and MySQL backends (#8545)
  • Nessie server: add support for MariaDB and MySQL backends (#8544)
  • UDF type: additional changes (#8560)
  • Tests/Scylla: Cap SMP to 1/3 of num-CPUs (#8559)
  • Testing: Centralize image resolution (#8546)
  • Always close BigTable clients (#8549)
  • Cassandra: explicitly specify statement idempotence (#8557)
  • Refactor BackendTestFactory (#8553)
  • JDBC persist: properly handle SUCCESS_NO_INFO and EXECUTE_FAILED (#8551)
  • Persistence layer: add support for MariaDB and MySQL backends (#8483)
  • Renovate: add some recommended extensions (#8534)
  • Add congocc license to NOTICE (#8540)
  • Hide namespace-validation setting in docs (#8535)
  • Nit: fix Util.isHexChar() (#8528)
  • Experimental ability to cache References (#8111)
  • Changelog / Server-Admin-Tool (#8515)
  • Nessie client: optionally disable certificate verifications (#8506)
  • Blog: Nessie Catalog announcement
  • Publish docker images of the server admin tool (#8507)
  • Verify BSD+MIT+Go+UPL+ISC license mentions in NOTICE file + expose in Nessie server, GC-tool, Admin-Tool and CLI/REPL (#8498)
  • Use ubi9/openjdk-21-runtime instead of ubi9/openjdk-21 as the base image (#8503)
  • Rename nessie-quarkus-cli to nessie-server-admin-tool (#8482)
  • Add license reports and checks (#8497)
  • Bump slf4j to 1.7.36/2.0.12 + logback to 1.3.14/1.5.6 (#6536)
  • Add GC tool help to site and enhance GC tool help (#8447)
  • Update UDF + IcebergViewcontent types (#8478)
  • Let renovate merge all google-cloud-cli Docker tag bumps (#8472)
  • New Java based Nessie CLI tool + REPL (#8348)
  • GC: more verbose error messages (#8467)
  • build-push-images.sh: remove unused "artifacts" parameter (#8464)

Nessie 0.82.0

06 May 10:59
Compare
Choose a tag to compare

Nessie 0.82.0 release

Try it

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

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

Nessie GC tool is attached as nessie-gc-0.82.0.jar, which is a standalone uber-jar file that runs on Java 11 or newer. Shell completion can be generated from the tool, check its help command. Nessie GC tool is also available as a Docker image: docker run --rm ghcr.io/projectnessie/nessie-gc:0.82.0 --help.

The attached nessie-helm-0.82.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.

Changelog

Breaking changes

  • The readiness, liveness, metrics and Swagger-UI endpoints starting with /q/ have been moved from the
    HTTP port exposing the REST endpoints to a different HTTP port (9000),
    see Quarkus management interface reference docs.
    Any path starting with /q/ can be safely removed from a possibly customized configuration
    nessie.server.authentication.anonymous-paths.
  • The move of the above endpoints to the management port requires using the Nessie Helm chart for this
    release or a newer release. Also, the Helm Chart for this release will not work with older Nessie
    releases.

Full Changelog (minus renovate commits):

  • Doc-gen: trim-right before style changes (#8459)
  • Site: Fix release-workflow version bump mistakes (#8454)
  • Site: split release notes pages (#8453)
  • Move management endpoints to separate HTTP port (#8207)
  • Site: let site use wider horizontal space (#8452)
  • OAuthClient: fix AbstractFlow.isAboutToExpire (#8423)