Releases: projectnessie/nessie
Nessie 0.100.0
- 252 commits since 0.99.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.100.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.100.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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 newlog
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'sSoftReference
. 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
SoftReference
s. - 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
:
fornessieProject()
(#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
withAwsV4HttpSigner
(#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
- 37 commits since 0.98.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.99.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.99.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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 theorg.projectnessie.events.api
package have been
removed and replaced with their respective model classes from theorg.projectnessie.model
package:CommitMeta
Content
and its subclassesContentKey
Reference
and its subclasses
- Helm chart: the
service
section has been redesigned to allow for extra services to be defined.
If you have customized theservice.ports
field, beware that this field is now an array. Also,
the management port configuration has been moved to a newmanagementService
section. And
finally, a newextraServices
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).
Thecontainer@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 optionpath-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 optionauthority
, which is recommended to specify the technical bucket name. Ifauthority
is
not specified, it will default to the value of thename
option, then default to thekey
part of the
formerly mentioned maps.
- The resolution of the specific bucket options has been enhanced to select the specific bucket options
- 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 setlocation
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
fromTransplantResult
(#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
- 26 commits since 0.97.1
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.98.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.98.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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
toLONGBLOB
.
Full Changelog (minus renovate commits):
Nessie 0.97.1
- 6 commits since 0.97.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.97.1
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.97.1-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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
toLONGBLOB
.
Full Changelog (minus renovate commits):
- MySQL/MariaDB: change from
BLOB
type toLONGBLOB
(#9564)
Nessie 0.97.0
- 36 commits since 0.96.1
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.97.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.97.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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
, andJDBC2
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
- 9 commits since 0.96.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.96.1
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.96.1-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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
, andJDBC2
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):
Nessie 0.96.0
- 204 commits since 0.95.0
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.96.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.96.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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 userdefault
(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 userdefault
(UID 185 and GID 0), you will need to adjust
them to reference the new usernessie
(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
andschema
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
patternurn:nessie-secret:<provider>:<secret-name>
.
The currently supported provider isquarkus
, 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 theJDBC
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 theCASSANDRA
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 theDYNAMODB
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 theMONGODB
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 newJDBC2
version store
type. Please use the Nessie Server Admin Tool
to migrate from theJDBC
version store type toJDBC2
. - The current version store type
CASSANDRA
is deprecated, please migrate to the newCASSANDRA2
version store
type. Please use the Nessie Server Admin Tool
to migrate from theCASSANDRA
version store type toCASSANDRA2
. - The current version store type
MONGODB
is deprecated, please migrate to the newMONGODB2
version store
type. Please use the Nessie Server Admin Tool
to migrate from theMONGODB
version store type toMONGODB2
.
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
SecretsProvider
s 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, deprecateMONGODB
version store type (#9367) - Helm chart: strengthen default security context (#9448)
- Add
referenced
attribute to persistedObj
s (#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, deprecateDYNAMODB
version store type (#9418) - Adopt tests for C*2 (#9426)
- Introduce
CASSANDRA2
version store type, deprecateCASSANDRA
version store type (#9368) - Minor cleanups in JDBC(2) (#9422)
- Introduce
JDBC2
version store type, deprecateJDBC
version store type (#9366) - Allow Nessie Web UI to authenticate (#9398)
- [DocTool] Allow nested config sections (#9370)
- Catalog: use `pre...
Nessie 0.95.0
- 52 commits since 0.94.4
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.95.0
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.95.0-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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 toREQUEST_SIGNING
). - A new S3 bucket configuration option
request-signing-enabled
has been added (defaults totrue
).
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 optionsrequest-signing-enabled
andassume-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
vsLICENSE
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
- 19 commits since 0.94.3
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.94.4
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.94.4-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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):
Nessie 0.94.3
- 12 commits since 0.94.2
- Maven Central: https://search.maven.org/search?q=g:org.projectnessie.nessie+v:0.94.3
- Docker images: https://github.com/projectnessie/nessie/pkgs/container/nessie and https://quay.io/repository/projectnessie/nessie?tab=tags
It is a multiplatform Java image (amd64, arm64, ppc64le, s390x):docker pull ghcr.io/projectnessie/nessie:0.94.3-java
- PyPI: https://pypi.org/project/pynessie/ (See pynessie)
- Helm Chart repo: https://charts.projectnessie.org/
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.