Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release version 1.0 #1361

Open
1 of 4 tasks
rickeylev opened this issue Aug 3, 2023 · 3 comments
Open
1 of 4 tasks

Release version 1.0 #1361

rickeylev opened this issue Aug 3, 2023 · 3 comments

Comments

@rickeylev
Copy link
Contributor

rickeylev commented Aug 3, 2023

This issue is for tracking the effort to release a version 1.0 of rules_python.

There are several reasons for wanting to have a major version release:

  • Better communicates when breaking changes are made
  • Easier support for multiple versions and backporting of functionality
  • Major versions are an indicator of fitness for use.

Anyways, there's a few large items to complete before a 1.0 release can be considered:

  • Implementation is all in rules_python Starlark, not Bazel itself.
  • Written policies that cover breaking changes, backwards compatibility, support for older rules_python versions, and supported Bazel versions
    • Bazel rules are rather leaky: it's easy for implementation details to unintentionally be
      visible and accessible to users, even if weren't intended so. This is especially true for
      rules_python, which carries various legacy and historical behaviors.
    • Requiring e.g. the latest patch or minor version release of Bazel allows us to take advantage
      of newer functionality and reduce the size of the test/support matrix
    • Steps necessary to introduce a breaking change (e.g. docs about how to migrate, issues to file, etc).
  • Human friendly changelog, i.e. CHANGELOG.md in keepachangelog.org-style format.
  • API review: reduce our API footprint to what makes sense (there's a variety of things exposed publicly that probably shouldn't be public)
@rickeylev rickeylev pinned this issue Aug 3, 2023
@chrislovecnm
Copy link
Collaborator

Do we want #1360 as well?

This is a big change to have after a 1.0 release. It is more a 1.1.

@rickeylev
Copy link
Contributor Author

Do we want #1360 as well?

Nah, it's separate from 1.0 requirements. The key point of these 1.0 requirements are rules_python being able to control its implementation and establishing a framework for how to move forward. The latter is necessary to create predictability and plan for the future (something both maintainers and users need). The former is a basic necessity (it's hard to support or address anything when half our implementation isn't under our direct control and has 3 to 9 month lead times with an order of magnitude higher barrier to entry).

This is a big change to have after a 1.0 release. It is more a 1.1.

We're going to have a variety of other large changes, too, as we address some of the hairy issues (pip support, bzlmod, cross-building, patch-level-Python-version specificity, etc etc). So I'm not really worried about having to release a 1.1, or 2.0, or etc in the future. Creating sustainable and predictable processes for that is what's important.

rickeylev added a commit to rickeylev/rules_python that referenced this issue Aug 19, 2023
This adds a changelog in a keepachanglog.com style format.

It's initially populated with currently unreleased behavior and the
last release's (0.24.0) changes.

Work towards bazelbuild#1361
rickeylev added a commit to rickeylev/rules_python that referenced this issue Aug 19, 2023
This adds a changelog in a keepachanglog.com style format.

It's initially populated with currently unreleased behavior and the
last release's (0.24.0) changes.

Work towards bazelbuild#1361
github-merge-queue bot pushed a commit that referenced this issue Aug 21, 2023
This adds a changelog in a keepachanglog.com style format.

It's initially populated with currently unreleased behavior and the last
release's (0.24.0) changes.

Work towards #1361
github-merge-queue bot pushed a commit that referenced this issue Oct 6, 2023
This largely covers how to introduce a breaking change.

It also attempts to clarify what is or isn't a breaking change.

Closes #1424
Work towards #1361
github-merge-queue bot pushed a commit that referenced this issue Dec 21, 2023
This just writes down our support policies and puts them in a single
location in the hosted
docs. Summarized:

* Bazel version support is as discussed from the maintainers meeting:
upcoming,
  current, and last versions
* Reference the Bazel rule compatibility guidelines (always having an
incremental
  path to upgrade)
* Described what experimental features mean.
* Only support the latest rules_python version; older ones are best
effort.
* Only support platforms CI can run.

Work towards #1361
Copy link

This issue has been automatically marked as stale because it has not had any activity for 180 days. It will be closed if no further activity occurs in 30 days.
Collaborators can add an assignee to keep this open indefinitely. Thanks for your contributions to rules_python!

@github-actions github-actions bot added the Can Close? Will close in 30 days if there is no new activity label Feb 17, 2024
@aignas aignas removed the Can Close? Will close in 30 days if there is no new activity label Feb 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants