Hello all,

I would like once again to propose that, instead of editorializing version numbers (for example a mythical "V3" with a curated subset of recent features), we define "profiles" or "presets" purely based on calendar adoption of features.

1. Choose a small number of authoritative implementations (AIs :-))) maintained by the our community - I would suggest Java, Rust, C++.

2. Define calendar-based presets depending on availability of features in AIs at a given point. For example, Parquet Preset "2023-04" is the set of features that are supported *for reading* by all the latest releases of AIs in 2023-04-01.

This gives us a mechanistic process for definining compatibility levels based on actual feature adoption in the main implementations (which is also, implicitly, a measure of how useful those features are). It can be automated quite easily given that most of the information is already there for generating https://parquet.apache.org/docs/file-format/implementationstatus/

Calendar-based presets are ostensibly not version numbers and don't look like such (unless you're Ubuntu :-)), so there are no expectations that they correspond to a git tag or something.

Calendar-based presets also map on how people informally think about their dependencies and their upgrade strategy (regardless of project differences in release frequency). People who live on the bleeding edge will benefit from using the latest preset. People who want to support legacy software versions know they need to use an older preset, for example 3 years old.

One question is which granularity we want for presets: yearly? quaterly? Quarterly probably doesn't hurt and gives more options (especially to people living close to the bleeding edge).

Regards

Antoine.



Le 01/06/2026 à 23:35, Daniel Weeks a écrit :
Hey Parquet Community,

A few weeks back during one of the community syncs, the topic of versioning
came up (again) and I offered to pull together some thoughts on how we
might want to move forward.

I've gathered some of the background and concerns about how we address
versioning across the ecosystem in order to have a discussion and gather
feedback.

There are a lot of new features and major capabilities that community
members are eager to introduce, so it would be great to have a clear path
forward on how to coordinate changes.

I've included the discussion in a doc
<https://docs.google.com/document/d/1zrbGT4kRCEdadBUludwfQR9b2CfLgH-RWn9zE84gYfg/edit?tab=t.0#heading=h.aozivdm2oj4d>
so that people can comment and respond either in-line or on this thread.

Looking forward to discussion and feedback!
-Dan



Reply via email to