Hey Robert, Thanks for raising this.
snapshot-ID -1 isn't per-se invalid, because the valid values are not > defined in the spec. For me, this is invalid, since there is no snapshot with -1 in the snapshots property. In the tests with the PR, you can see that there are no snapshots <https://github.com/apache/iceberg/pull/11560/files#diff-41bdfb6698d2aa7b47ff7d5fabc558a5a64f8b7496fe1bcd8f8ecb69b2afc128R112>. A year ago we had a similar discussion on PyIceberg <https://py.iceberg.apache.org/configuration/#backward-compatibility> around this and this ended up in adding a flag to fall back to the old behavior. I do agree that we should have communicated this more clearly with the release. Kind regards, Fokko Op ma 17 feb 2025 om 12:25 schreef Robert Stupp <sn...@snazy.de>: > Feels like https://github.com/apache/iceberg/pull/11560 introduced a > behavior change. > > snapshot-ID -1 isn't per-se invalid, because the valid values are not > defined in the spec. > > Previous Iceberg-Java versions always produced -1 if there's no current > snapshot - 1.8 produces `null` in that case. So there are now two > _different_ values for "no current snapshot". > > Implementations that rely on the behavior of the "reference > implementation" (Iceberg-Java) do now fail in case there's no current > snapshot. > On 13.02.25 10:09, Amogh Jahagirdar wrote: > > I'm pleased to announce the release of Apache Iceberg 1.8.0! > > Apache Iceberg is an open table format for huge analytic datasets. Iceberg > delivers high query performance for tables with tens of petabytes of data, > along with atomic commits, concurrent writes, and SQL-compatible table > evolution. > > This release can be downloaded from: > https://www.apache.org/dyn/closer.cgi/iceberg/apache-iceberg-1.8.0/apache-iceberg-1.8.0.tar.gz > > > Release notes: https://iceberg.apache.org/releases/#180-release > <https://iceberg.apache.org/releases/180-release> > > Java artifacts are available from Maven Central. > > Thanks to everyone for contributing! > > -- > Robert Stupp > @snazy > >