Skip to content

Releases: projectnessie/nessie

Nessie 0.100.0

12 Nov 11:54
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.100.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.100.0/nessie-quarkus-0.100.0-runner.jar
java -jar nessie-quarkus-0.100.0-runner.jar

Nessie CLI is attached as nessie-cli-0.100.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.100.0.

Nessie GC tool is attached as nessie-gc-0.100.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.100.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.100.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.100.0 --help.

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

Upgrade notes

  • Helm chart: the old logLevel field has been replaced with a new log section with many more
    options to configure logging. You can now configure console- and file-based logging separately. It
    is also possible to enable JSON logging instead of plain text (but this feature requires Nessie >=
    0.99.1). For file-based logging, it is also possible to configure rotation and retention policies,
    and a persistent volume claim is now automatically created when file-based logging is enabled.
    Furthermore, Sentry integration can also be enabled and configured. And finally, it is now
    possible to configure the log level for specific loggers, not just the root logger. The old
    logLevel field is still supported, but will be removed in a future release.

Changes

  • The persistence cache tries to avoid deserialization overhead when getting an object from the
    cache by using Java's SoftReference. There is no guarantee that cached objects keep their
    Java object tree around, but it should eventually for the majority of accesses to frequently
    accessed cached objects. The default cache capacity fraction has been reduced from 70% of the
    heap size to 60% of the heap size. However, extreme heap pressure may let Java GC clear all
    SoftReferences.
  • Sends the following default options, which are convenient when using pyiceberg:
    • py-io-impl=pyiceberg.io.fsspec.FsspecFileIO
    • s3.signer=S3V4RestSigner when S3 signing is being used
  • Iceberg REST: No longer return *FileIO options from the Iceberg REST config endpoint

Fixes

  • GC: Consider referenced statistics (and partition statistics) files as 'live'.
  • JDBC: Perform JDBC commit when auto-creating tables to please transactional schema changes.

Full Changelog (minus renovate commits):

  • Catalog/Iceberg: support new remove-partition-specs metadata-update (#9906)
  • Testing/Docker: use exact version for C* images (#9908)
  • Catalog: Fix "load credendials" model (#9907)
  • Catalog: add new model and api (#9905)
  • Refactor Nessie's HTTP authentication (Quarkus 3.16 prep) (#9863)
  • Catalog/S3,GCS: Adopt IAM policies to new object-storage layout (Iceberg 1.7.0) (#9897)
  • Catalog/config: add endpoints to config response (Iceberg 1.7.0) (#9895)
  • Testing: disable looking up GCP credentials (#9900)
  • JDBC: commit after DDL setup + more info (#9901)
  • GC: consider statistics files (#9898)
  • Catalog/S3: Adopt S3 signing to new object-storage layout (Iceberg 1.7.0) (#9896)
  • Revert "Prevent tracing initialization race (Quarkus 3.16 prep) (#9866)" (#9899)
  • [Catalog] Do not return *FileIO options from the Iceberg REST config endpoint (#9642)
  • Send s3-signer only when signing is enabled (#9869)
  • Prevent tracing initialization race (Quarkus 3.16 prep) (#9866)
  • Remove @Nested from a Quarkus test (Quarkus 3.16 prep) (#9865)
  • Adopt AmazonSecretsManagerBuilder (Quarkus 3.16 prep) (#9864)
  • Convenience for pyiceberg (#9868)
  • Build only: Prefer Maven Local if enabled (#9861)
  • Build/internal/NesQuEIT: enforce no colon : for nessieProject() (#9842)
  • Docs: update troubleshooting guide with recent UID/GID changes (#9783)
  • Helm chart: add extraInitContainers value (#9773)
  • fix/keycloak-v26-deprecated-vars (#9778)
  • Helm chart: redesign logging options (#9775)
  • Fix some IDE warnings, remove unused code (#9772)
  • server-admin-tool intTest: Re-add forkEvery (#9762)
  • Remove validatation annotations from static functions (#9761)
  • Do not access Apache snapshots repository by default (#9754)
  • Transfer/related: make CoreTransferRelatedObjects generally accessible (#9752)
  • Persist: introduce deleteWithReferenced(Obj) (#9731)
  • ReferenceLogic: parameterized purge of the commit log of a Reference (#9735)
  • Add convenience functionality to get all storage locations defined in LakehouseConfig (#9742)
  • More verbose "Unauthorized signing request" warnings (#9743)
  • Move catalog-config types to separate module (#9741)
  • Site: fix formatting in Time travel with Iceberg REST chapter (#9732)
  • Docker compose: enhance all-in-one example with Spark SQL and Nessie CLI (#9719)
  • Helm chart: explicitly include namespace in created resources (#9711)
  • Let Persist.scanAllObjects() accept an empty set to return all object types (#9687)
  • Make the composite TransferRelatedObjects accessible to other projects (#9689)
  • Events SPI: load implementations via CDI (#9696)
  • Events RI: use Quarkus Messaging extension (#9686)
  • Fix ObjId.longAt() for non-256-bit object IDs (#9685)
  • Fix deprecation of o.t.containers.CassandraContainer + KafkaContainer (#9680)
  • Replace deprecated Aws4Signer with AwsV4HttpSigner (#9681)
  • Cache: keep (deserialized) object around (#9648)
  • Patch version bumps of Scala + Spark 3.5 (#9667)
  • Fix running nessie-quarkus instructions (#9668)
  • Update Docker Compose instructions in Getting Started guide (#9662)
  • Helm chart: remove bogus default value for oidcAuthServerUrl (#9654)
  • Events API: test JSON serde with views (#9645)
  • Events RI: add example with JSON serialization (#9639)

Nessie 0.99.0

26 Sep 18:10
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.99.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.99.0/nessie-quarkus-0.99.0-runner.jar
java -jar nessie-quarkus-0.99.0-runner.jar

Nessie CLI is attached as nessie-cli-0.99.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.99.0.

Nessie GC tool is attached as nessie-gc-0.99.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.99.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.99.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.99.0 --help.

The attached nessie-helm-0.99.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 Events API has been redesigned to import the Nessie Model API directly, instead of using
    specific DTO classes. This change is intended to simplify the API and facilitate consumption of
    the events. The following classes from the org.projectnessie.events.api package have been
    removed and replaced with their respective model classes from the org.projectnessie.model
    package:
    • CommitMeta
    • Content and its subclasses
    • ContentKey
    • Reference and its subclasses
  • Helm chart: the service section has been redesigned to allow for extra services to be defined.
    If you have customized the service.ports field, beware that this field is now an array. Also,
    the management port configuration has been moved to a new managementService section. And
    finally, a new extraServices section has been added to allow for additional services to be
    defined.
  • ADLS: The way how storage URIs are resolved to ADLS "buckets" (container @ storage-account) has been
    changed (fixed). An ADLS "bucket" is technically identified by the storage-account, optionally further
    identified by a container/file-system name. It is recommended to specify the newly added via the
    nessie.catalog.service.adls.file-systems.<key>.authority=container@storageAccount option(s).
    The container@storageAccount part is what is mentioned as <file_system>@<account_name> in the Azure
    docs
    .

New Features

  • Access check SPI has been enhanced to provide richer information in the Check type about the receiving
    API (Nessie REST or Iceberg REST) and about the individual changes, especially during a commit operation.

Changes

  • S3/GCS/ADLS: Bucket settings
    • The resolution of the specific bucket options has been enhanced to select the specific bucket options
      using the longest matching option including an optional path-prefix.
    • All bucket specific options (nessie.catalog.service.adls.buckets.<key>.,
      nessie.catalog.service.gcs.buckets.<key>., nessie.catalog.service.adls.file-systems.<key>.) got a
      new option path-prefix, which is used to restrict settings to a specific object store path prefix.
    • All bucket specific options (nessie.catalog.service.adls.buckets.<key>.,
      nessie.catalog.service.gcs.buckets.<key>., nessie.catalog.service.adls.file-systems.<key>.) got a
      new option authority, which is recommended to specify the technical bucket name. If authority is
      not specified, it will default to the value of the name option, then default to the key part of the
      formerly mentioned maps.
  • The base location of a new entity (e.g. tables) created via Iceberg REST is derived from the nearest
    parent namespace that has an explicitly set location property. (Path separator character is /.)
  • The location property on tables (and view) created via Iceberg REST may be explicitly configured, as
    long as it can be resolved against the configured object storage locations. (Path separator character
    is /.)

Fixes

  • CLI: Fix connecting to Nessie's Iceberg REST

Full Changelog (minus renovate commits):

  • CLI: Pull in essential *FileIO dependencies for Iceberg REST (#9640)
  • Events API: add support for direct JSON serialization (#9637)
  • Remove unused sourceHashes from TransplantResult (#9628)
  • Events API: use Nessie model API directly and remove DTOs (#9588)
  • remove rocksdb dependency from nessie-compatibility-common (#9632)
  • Helm chart: more flexible services configuration (#9625)
  • Also initialize Iceberg-View location (#9629)
  • [Catalog] More flexible named buckets (#9617)
  • Nit: remove unintentional output (#9626)
  • LakehouseConfigObj as transfer-related for export/import (#9623)
  • Persistable LakehouseConfig (#9614)
  • Derive location of new tables from parent namespaces, add some validations (#9612)
  • HTTP client: Update Apache HTTP client impl to avoid deprecated classes (#9610)
  • Richer access checks (#9553)
  • Version Store Result API enhancements (#9592)

Nessie 0.98.0

23 Sep 17:26
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.98.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.98.0/nessie-quarkus-0.98.0-runner.jar
java -jar nessie-quarkus-0.98.0-runner.jar

Nessie CLI is attached as nessie-cli-0.98.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.98.0.

Nessie GC tool is attached as nessie-gc-0.98.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.98.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.98.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.98.0 --help.

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

Highlights

  • Alert: If you are using MySQL or MariaDB, make sure to update objs table immediately:
    ALTER TABLE objs MODIFY c_headers LONGBLOB;
    ALTER TABLE objs MODIFY c_incremental_index LONGBLOB;
    ALTER TABLE objs MODIFY c_reference_index_stripes LONGBLOB;
    ALTER TABLE objs MODIFY i_index LONGBLOB;
    ALTER TABLE objs MODIFY i_stripes LONGBLOB;
    ALTER TABLE objs MODIFY s_text LONGBLOB;
    ALTER TABLE objs MODIFY t_headers LONGBLOB;
    ALTER TABLE objs MODIFY t_signature LONGBLOB;
    ALTER TABLE objs MODIFY u_value LONGBLOB;
    ALTER TABLE objs MODIFY v_data LONGBLOB;
    ALTER TABLE objs MODIFY x_data LONGBLOB;

Fixes

  • MySQL: Change type of binary columns from BLOB to LONGBLOB.

Full Changelog (minus renovate commits):

  • Helm chart: allow setting config options when the value is a zero-value (#9587)
  • Helm chart: fix Azure SAS token settings (#9585)
  • Nit: move constant used in tests (#9579)
  • Construct *ApiImpl instead of injecting the V1 rest instances (#9577)
  • Simplify IcebergMetadataUpdate/trusted-location (#9576)

Nessie 0.97.1

19 Sep 09:53
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.97.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.97.1/nessie-quarkus-0.97.1-runner.jar
java -jar nessie-quarkus-0.97.1-runner.jar

Nessie CLI is attached as nessie-cli-0.97.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.97.1.

Nessie GC tool is attached as nessie-gc-0.97.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.97.1 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.97.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.97.1 --help.

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

Highlights

  • Alert: If you are using MySQL or MariaDB, make sure to update objs table immediately:
    ALTER TABLE objs MODIFY c_headers LONGBLOB;
    ALTER TABLE objs MODIFY c_incremental_index LONGBLOB;
    ALTER TABLE objs MODIFY c_reference_index_stripes LONGBLOB;
    ALTER TABLE objs MODIFY i_index LONGBLOB;
    ALTER TABLE objs MODIFY i_stripes LONGBLOB;
    ALTER TABLE objs MODIFY s_text LONGBLOB;
    ALTER TABLE objs MODIFY t_headers LONGBLOB;
    ALTER TABLE objs MODIFY t_signature LONGBLOB;
    ALTER TABLE objs MODIFY u_value LONGBLOB;
    ALTER TABLE objs MODIFY v_data LONGBLOB;
    ALTER TABLE objs MODIFY x_data LONGBLOB;

Fixes

  • MySQL: Change type of binary columns from BLOB to LONGBLOB.

Full Changelog (minus renovate commits):

  • MySQL/MariaDB: change from BLOB type to LONGBLOB (#9564)

Nessie 0.97.0

18 Sep 18:33
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.97.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.97.0/nessie-quarkus-0.97.0-runner.jar
java -jar nessie-quarkus-0.97.0-runner.jar

Nessie CLI is attached as nessie-cli-0.97.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.97.0.

Nessie GC tool is attached as nessie-gc-0.97.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.97.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.97.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.97.0 --help.

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

New Features

  • Helm chart: support has been added for the DYNAMODB2, MONGODB2, CASSANDRA2, and JDBC2
    version store types, introduced in Nessie 0.96.0. Also, support for legacy version store types
    based on the old "database adapter" code, which were removed in Nessie 0.75.0, has also been
    removed from the Helm chart.

Fixes

  • Helm chart: fixed a regression where a datasource secret would result in a failure to deploy the
    chart.

Full Changelog (minus renovate commits):

  • Downgrade Jandex from 3.2.2 to 3.1.8 (#9561)
  • Site: Add information about warehouse + object storages (#9560)
  • Replace versioned-spi operation types with model operation types (#9551)
  • Use Tree/ContentService in Catalog (#9547)
  • Nit: fix JSON alias typo in IcebergMetadataUpdate interface (#9550)
  • Quarkus: fail on unknown config properties (#9542)
  • Add secrets-validation option to docs (#9541)
  • Docs: add missing link in TOC of index.md (#9529)
  • Events notification system for Nessie - Reference Implementation (#6943)

Nessie 0.96.1

12 Sep 16:53
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.96.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.96.1/nessie-quarkus-0.96.1-runner.jar
java -jar nessie-quarkus-0.96.1-runner.jar

Nessie CLI is attached as nessie-cli-0.96.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.96.1.

Nessie GC tool is attached as nessie-gc-0.96.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.96.1 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.96.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.96.1 --help.

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

  • Helm chart: support has been added for the DYNAMODB2, MONGODB2, CASSANDRA2, and JDBC2
    version store types, introduced in Nessie 0.96.0. Also, support for legacy version store types
    based on the old "database adapter" code, which were removed in Nessie 0.75.0, has also been
    removed from the Helm chart.

Fixes

  • Helm chart: fixed a regression where a datasource secret would result in a failure to deploy the
    chart.

Full Changelog (minus renovate commits):

  • Helm chart: add support for DYNAMODB2, MONGODB2, CASSANDRA2, JDBC2 (#9520)
  • Postgres tests: use alpine-based Docker images (#9521)
  • Helm chart: redesign CI fixtures + minor fixes to docs (#9519)
  • [Bug]: Helm Chart does not render in version 0.96 (#9517)

Nessie 0.96.0

11 Sep 17:12
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.96.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.96.0/nessie-quarkus-0.96.0-runner.jar
java -jar nessie-quarkus-0.96.0-runner.jar

Nessie CLI is attached as nessie-cli-0.96.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.96.0.

Nessie GC tool is attached as nessie-gc-0.96.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.96.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.96.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.96.0 --help.

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

Upgrade notes

  • Support for Java 8 has been removed, even for Nessie clients. Minimum runtime requirement for clients
    is Java 11.
  • Nessie Docker images now all execute as user nessie (UID 10000 and GID 10001). They would
    previously execute as user default (UID 185 and GID 0). This is a security improvement, as the
    Nessie images no longer run with a UID within the privileged range, and the GID is no longer 0
    (root). If you have any custom configurations, especially Kubernetes manifests containing security
    contexts, that rely on the previous user default (UID 185 and GID 0), you will need to adjust
    them to reference the new user nessie (UID 10000 and GID 10001) from now on.
  • Helm chart: the chart now comes with sane defaults for both pod and container security contexts.
    If you have customized these settings, you don't need to do anything. If you have not customized these
    settings, you may need to check if the new defaults are compatible with your environment.

Breaking changes

  • The deprecated JDBC configuration properties for catalog and schema have been removed.
  • Catalog/Object store secrets: Secrets are now referenced via a URN as requirement to introduce support
    for secret managers like Vault or those offered by cloud vendors. All secret reference URNs use the
    pattern urn:nessie-secret:<provider>:<secret-name>.
    The currently supported provider is quarkus, the <secret-name> is the name of the Quarkus
    configuration entry, which can also be an environment variable name.
    Make sure to use the new helm chart.
    See Nessie Docs.
  • Catalog/Object store secrets: secrets are now handled as immutable composites, which is important
    to support secrets rotation with external secrets managers.
    See Nessie Docs.

New Features

  • Catalog/ADLS: Added experimental support for short-lived SAS tokens passed down to clients. Those
    tokens still have read/write access to the whole file system and are not scoped down.
  • Catalog/GCS: Added experimental support for short-lived and scoped down access tokens passed down
    to clients, providing a similar functionality as vended-credentials for S3, including object-storage
    file layout.
  • Client-configs: Commit authors, signed-off-by, message can be customized per REST/HTTP request. Those
    can be configured for both the Nessie client API
    and for Iceberg REST catalog clients.
  • Support for Servlet Spec v6 w/ strict URI path validation has been added and will be transparently
    used by Nessie REST API v2 clients since this version. This steps is a preparation for when Quarkus
    introduces that Servlet Spec. Content keys in URL paths may look different than before. More information
    here.
  • The Swagger UI and OpenAPI generation by Quarkus has been disabled, because the contents/results were
    wrong. Instead, refer to SwaggerHub. You can
    also fetch the Nessie REST OpenAPI yaml from Nessie /nessie-openapi/openapi.yaml (for example via
    curl http://127.0.0.1:19120//nessie-openapi/openapi.yaml)
  • Nessie commit author(s) and "signed off by" can now be configured for both Nessie clients and Iceberg
    REST clients. More info on
    projectnessie.org.
  • Enable authentication for the Nessie Web UI
  • Introduce new JDBC2 version store type, which is has the same functionality as the JDBC version
    store type, but uses way less columns, which reduces storage overhead for example in PostgreSQL a lot.
  • Introduce new CASSANDRA2 version store type, which is has the same functionality as the CASSANDRA version
    store type, but uses way less attributes, which reduces storage overhead.
  • Introduce new DYNAMODB2 version store type, which is has the same functionality as the DYNAMODB version
    store type, but uses way less attributes, which reduces storage overhead.
  • Introduce new MONGODB2 version store type, which is has the same functionality as the MONGODB version
    store type, but uses way less attributes, which reduces storage overhead.
  • Added functionality to optionally validate that referenced secrets can be resolved, opt-in.

Deprecations

  • The current version store type JDBC is deprecated, please migrate to the new JDBC2 version store
    type. Please use the Nessie Server Admin Tool
    to migrate from the JDBC version store type to JDBC2.
  • The current version store type CASSANDRA is deprecated, please migrate to the new CASSANDRA2 version store
    type. Please use the Nessie Server Admin Tool
    to migrate from the CASSANDRA version store type to CASSANDRA2.
  • The current version store type MONGODB is deprecated, please migrate to the new MONGODB2 version store
    type. Please use the Nessie Server Admin Tool
    to migrate from the MONGODB version store type to MONGODB2.

Fixes

  • CLI: fixed a bug that was preventing the tool from running properly when history is disabled.

Full Changelog (minus renovate commits):

  • Secrets validation (#9509)
  • Introduce functional LakehouseConfig (#9353)
  • External secrets managers follow-up (#9497)
  • Wire SecretsProviders up to Quarkus (#8708)
  • Add SecretsProvider implementations for AWS, GCP, Vault (#8707)
  • Move object-store configuration types to :nessie-catalog-files-api (#9350)
  • Reference secrets by name, do not inject (#9345)
  • "Thread per test class" via MultiEnvTestEngine (#9453)
  • public test methods in BaseTestNessieApi (#9472)
  • Introduce MONGODB2 version store type, deprecate MONGODB version store type (#9367)
  • Helm chart: strengthen default security context (#9448)
  • Add referenced attribute to persisted Objs (#9401)
  • Helm chart: add license headers and LICENSE file (#9466)
  • Switch Nessie Docker images to use UID 10000 (#9456)
  • Add ability to change pathType of ingress (#9462)
  • CLI: make tool runnable without history (#9449)
  • Use non-blocking random (#9445)
  • Switch to new s3-sign endpoint using an opaque path parameter (#9447)
  • Docs: fix broken link (#9446)
  • Choose the Nessie client by name, case-insensitive (#9439)
  • Cleanup resources held by Iceberg that accumulate JVM resources (#9440)
  • Introduce DYNAMODB2 version store type, deprecate DYNAMODB version store type (#9418)
  • Adopt tests for C*2 (#9426)
  • Introduce CASSANDRA2 version store type, deprecate CASSANDRA version store type (#9368)
  • Minor cleanups in JDBC(2) (#9422)
  • Introduce JDBC2 version store type, deprecate JDBC version store type (#9366)
  • Allow Nessie Web UI to authenticate (#9398)
  • [DocTool] Allow nested config sections (#9370)
  • Catalog: use `pre...
Read more

Nessie 0.95.0

07 Aug 20:26
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.95.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.95.0/nessie-quarkus-0.95.0-runner.jar
java -jar nessie-quarkus-0.95.0-runner.jar

Nessie CLI is attached as nessie-cli-0.95.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.95.0.

Nessie GC tool is attached as nessie-gc-0.95.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.95.0 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.95.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.95.0 --help.

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

Catalog S3 bucket configuration changes / breaking

  • The S3 bucket configuration option client-authentication-mode has been removed (defaulted to REQUEST_SIGNING).
  • A new S3 bucket configuration option request-signing-enabled has been added (defaults to true).

Breaking changes

  • See above for breaking changes to S3 bucket configurations.

New Features

  • Catalog/Trino: Add convenience REST endpoint to provide a starter Trino catalog configuration.
    Use /iceberg-ext/v1/client-template/trino?format=static for Trino 'static' catalog configurations,
    /iceberg-ext/v1/client-template/trino?format=dynamic for Trino 'dynamic' catalog configurations.
    Please take a look at the Trino page for known
    limitations in Trino.
  • Catalog: The Iceberg REST header X-Iceberg-Access-Delegation is now respected. The functionality
    depends on the S3 bucket configuration options request-signing-enabled and assume-role-enabled.

Changes

  • Catalog: Only general object store configurations are returned via the /iceberg/v1/config endpoint.
  • Catalog: Table specific options are returned for each individual table, including scoped-down S3
    credentials, if applicable.
  • The Nessie Spark SQL extensions are now based on the same syntax and options that are provided by the
    Nessie CLI. A reference docs page for the Nessie Spark SQL command syntax was added to the web site.

Fixes

  • Declare the contentType variable for CEL Authorization rules.
  • Catalog: Make Nessie time-travel functionality available to all use cases, including DDL.

Full Changelog (minus renovate commits):

  • Quarkus 3.13.1 (#9236)
  • Helm Chart: mention imagePullSecrets in values.yaml (#9292)
  • Trino config-helper-endpoint & web site updates (#9270)
  • Catalog: split S3SessionsManager into several components (#9279)
  • Catalog: Enable time-travel and branch/tag selection for Iceberg REST in all cases (#9219)
  • Replace antlr w/ congocc grammar in SQL Extensions (#9256)
  • Build / IntelliJ: include the project root dir in the IDE window name (#9281)
  • Remove Windows CI (#9260)
  • Fix illegal access (#9280)
  • Catalog: expose location for namespaces, iam-policy per location (#9170)
  • Nit: remove references to unused pr-native label (#9272)
  • Release: make publish-openapi job idempotent (#9264)
  • Add signer-keys service (#9239)
  • Scala Compiler and how it disrespects things (#9261)
  • Adopt to Iceberg dropping support for Java 8 (#9259)
  • Blog: Polaris (#9257)
  • Fix Gradle/Kotlin deprecation warning (#9255)
  • Fix a Gradle deprecation (#9254)
  • Fix NOTICE vs LICENSE confusion (#9250)
  • Declare the contentType variable for CEL AuthZ rules. (#9251)
  • Add ability to generate IAM policies (#9244)
  • Protect Iceberg REST config endpoint (#9247)
  • Nit: make some test profiles non-final (#9243)
  • Rename S3Clients.awsCredentialsProvider() to make its usage clearer (#9242)
  • Add StorageUri.pathWithoutLeadingTrailingSlash() (#9241)
  • Add utility method to escape strings in IAMs (#9240)

Nessie 0.94.4

01 Aug 09:59
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.94.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.94.4/nessie-quarkus-0.94.4-runner.jar
java -jar nessie-quarkus-0.94.4-runner.jar

Nessie CLI is attached as nessie-cli-0.94.4.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.94.4.

Nessie GC tool is attached as nessie-gc-0.94.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.94.4 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.94.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.94.4 --help.

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

  • Helm chart: liveness and readiness probes are now configurable via the livenessProbe and
    readinessProbe Helm values.

Full Changelog (minus renovate commits):

  • Replace deprecated quarkus properies (#9235)
  • Fix NPE, will NPE w/ Quarkus 3.13.0 (#9233)
  • Replace quarkus-resteasy-reactive with quarkus-rest (#9234)
  • Helm chart: better document the purpose of the logLevel option (#9223)
  • Gradle wrapper - download and verify (#9221)
  • Fix legit scale=0 (#9214)

Nessie 0.94.3

29 Jul 06:41
Compare
Choose a tag to compare

Try it

The attached nessie-quarkus-0.94.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.94.3/nessie-quarkus-0.94.3-runner.jar
java -jar nessie-quarkus-0.94.3-runner.jar

Nessie CLI is attached as nessie-cli-0.94.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.94.3.

Nessie GC tool is attached as nessie-gc-0.94.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.94.3 --help.

Nessie Server Admin tool is attached as nessie-server-admin-tool-0.94.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.94.3 --help.

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

New Features

  • Helm chart: liveness and readiness probes are now configurable via the livenessProbe and
    readinessProbe Helm values.

Full Changelog (minus renovate commits):

  • Helm chart: configurable liveness and readiness probes (#9203)
  • Dependency cleanup, remove dependency on nessie-quarkus-common (#9206)
  • Ninja: fix release notes