Skip to content

discussion: Time-Based Release Schedule #1327

@Xuanwo

Description

@Xuanwo

Hello, everyone. I'm starting this thread to discuss whether it's possible for us to implement a Time-Based Release Schedule, as demonstrated by @alamb in arrow-rs (see, for example, apache/arrow-rs#7395).

Having a predictable release schedule would allow iceberg-rust developers to deliver improvements and fixes on time. We hope users will be able to rely on tagged versions of iceberg-rust, rather than specific git commits, which will also be quite useful for debugging and discussions.

My current proposal is that:

iceberg-rust will release a new minor 0.x version every month, with additional patch 0.x.y versions as needed.

This means:

  • iceberg-rust will actively evolve its public API, but we will make effort to minimize changes and provide clear deprecation notices and upgrade documentation.
  • iceberg-rust will no longer use feature-based milestones. Instead, it will adopt a train model, with releases scheduled every month.

How can we do that:

  • After releasing version 0.5.0, we will create a new tracking issue for release 0.6.0, specifying a clear deadline such as 2025-06-15. This issue will be used to track all blockers that could impact our next release.
  • Once the deadline is reached, we will begin the release process. All blocker issues should be resolved by then; otherwise, they will be moved to the following release.

This proposal will only apply to iceberg-rust until it reaches v1.0, at which point we believe iceberg-rust will be mature enough for us to focus more on API stability and durability.


What do you think?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions