Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 5 additions & 22 deletions docs/release-notes/v1.1.0.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
# openRepoTools v1.1.0

<!-- FIRST DRAFT, lane openRepoTools-3, 2026-10-18, for opensoft/openRepoTools#228 (feature 006-release-pypi, T023). Each value not yet known is a named placeholder in angle brackets, set in code font, and each is listed under "Before the tag". Every one is filled in, or its paragraph is cut, before the tag. Paragraphs are one line each, as in v1.0.0.md, because a GitHub Release keeps a single line break as a break. -->

v1.1.0 puts openRepoTools on PyPI. It is openRepoTools as it stands at `2a057a6d84e58c8acb4bda20d2b7b667b552c3fe` in `opensoft/openRepoTools-code`, tagged on `<release-date>`. `pipx install openrepotools` is a second way in, beside the one-line install and a checkout's `--install`, and `openRepoTools --version` from the package names the release it runs. 60 pull requests landed between v1.0.0's commit, `aaa7bc8`, and this release's: 59 on `main` in `opensoft/openRepoTools`, up to `33ce26d`, the commit the triad's legs were carved from, and then opensoft/openRepoTools-code#1 on the code leg's `main`.
v1.1.0 puts openRepoTools on PyPI. It is openRepoTools as it stands at `2a057a6d84e58c8acb4bda20d2b7b667b552c3fe` in `opensoft/openRepoTools-code`, tagged on 2026-10-28. `pipx install openrepotools` is a second way in, beside the one-line install and a checkout's `--install`, and `openRepoTools --version` from the package names the release it runs. 60 pull requests landed between v1.0.0's commit, `aaa7bc8`, and this release's: 59 on `main` in `opensoft/openRepoTools`, up to `33ce26d`, the commit the triad's legs were carved from, and then opensoft/openRepoTools-code#1 on the code leg's `main`. The split itself, opensoft/openRepoTools#344, which made `opensoft/openRepoTools` the triad's assembly root, landed there after them and is not one of the 60.

v1.0.0 is not on PyPI, and 1.1.0 is the first version there. This release is published from `opensoft/openRepoTools-code`, after the triad migration (opensoft/openRepoTools#186), and its tag is made there. v1.0.0 stays in `opensoft/openRepoTools`, where it was made, and no tag is carried from one repository to the other.

## What 1.1.0 adds

- **openRepoTools on PyPI, as `openrepotools`** (opensoft/openRepoTools#228). `<pypi-url>` is its page. Two commands install it:
- **openRepoTools on PyPI, as `openrepotools`** (opensoft/openRepoTools#228). <https://pypi.org/project/openrepotools/1.1.0/> is its page. Two commands install it:

```sh
pipx install openrepotools
Expand Down Expand Up @@ -122,26 +120,11 @@ v1.0.0 is not on PyPI, and 1.1.0 is the first version there. This release is pub
- **The one-line install and a checkout** work as before, and their `--version` still prints a repository and ref and no release: a checkout's ref is `main` by default, and the one-line install's is now the `opensoft/openRepoTools` commit that the assembly root's front door resolved `main` to.
- **Windows** is reached through WSL2, as for every bash command here. The package has no native Windows command, and it is a wheel only, with no source distribution.

Tagged on Brett Heap's word (`<tag-time>`, "`<tag-words>`").
Tagged on Brett Heap's word (2026-10-28T21:14:02Z, "yes, tag v1.1.0 at 2a057a6d and dispatch it").

## Full list

- The `v1.1.0` milestone: <https://github.com/opensoft/openRepoTools/milestone/1>
- The package series of opensoft/openRepoTools#228, which the items credited to it above describe: opensoft/openRepoTools#262, opensoft/openRepoTools#267, opensoft/openRepoTools#268, opensoft/openRepoTools#269, opensoft/openRepoTools#270 and opensoft/openRepoTools#284.

## Before the tag

Before the tag, fill in every placeholder below or cut its paragraph, then cut this section, the draft comment at the top and the last line of this file. The GitHub Release is created from this file only after PyPI serves 1.1.0 (FR-042), so these notes never name a version PyPI lacks. Cutting the release follows the RELEASING header of `.github/workflows/release.yml`.

- [x] **`<release-commit>`**: the 40-hex commit the tag `v1.1.0` names, in `opensoft/openRepoTools-code`, on `main` or on `release/v1.1`. It appears in the first paragraph and in the `--version` lines. The build refuses it unless its `tests.yml` runs have all finished and the newest is green. It is `2a057a6d84e58c8acb4bda20d2b7b667b552c3fe`, the merge of opensoft/openRepoTools-code#1 on the code leg's `main`, written in full as `--version` prints it, and the gate in its `release.yml` is the one this item describes, counting push and dispatch runs only (2026-10-28).
- [x] **`<release-digest>`**: that commit's tree digest by `sorted-ls-tree-r-v1`, as the install check's `--version` prints it. It is `31123e2d08efe36583e72956ed8b8dbbe4b968c75402b59af5b8952be83ef6d5`, computed offline both by the pinned openRepoShape's `tree_digest` and by `git ls-tree -r -z`, a bytewise sort and `sha256sum`, which agree (2026-10-28).
- [ ] **`<release-date>`**: the UTC date of the tag.
- [ ] **`<tag-time>` and `<tag-words>`**: the exact UTC second and Brett Heap's own words, as the tag message gives them.
- [ ] **`<pypi-url>`**: PyPI's page for `openrepotools` 1.1.0, filled in once PyPI serves it. Neither pypi.org nor test.pypi.org held the project when this was read on 2026-10-18 (both answered 404), and the page is expected at `https://pypi.org/project/openrepotools/1.1.0/`.
- [x] **The hook pair, with no placeholder**: #237 landed as opensoft/openRepoTools#247 (`586dea2`, merged 2026-10-18T14:29:20Z), and #237 is in the `v1.1.0` milestone on Brett Heap's word. Re-read the hook-pair paragraph against `main` at the release commit: which entries wait, what the message says, and that our exact guard entry is taken back out of a file that carries it while the pair is deferred (at drafting, `openRepoTools:187` and `:3377-3392`; README says it too). At the release commit the paragraph holds as written, at those same lines, and the README that says it is now the assembly root's (`README.md:315` at `2a99dd4`), not the code leg's (2026-10-28).
- [x] **`<pr-count>`**: the number of pull requests that landed on `main` in `opensoft/openRepoTools` between v1.0.0's commit, `aaa7bc8`, and the release commit, counted at the tag. At drafting it was 53, counted at `a42946e`: each of the 53 commits of `aaa7bc8..a42946e` is the squash of one pull request, and none is a merge. It is 60: each of the 59 commits of `aaa7bc8..33ce26d` is the squash of one pull request and none is a merge, and opensoft/openRepoTools-code#1 follows them on the code leg (2026-10-28).
- [x] **`<other-changes>`**: the closing line of the list under "What else changed since v1.0.0", for the changes that land after `a42946e`. The list above it was drafted on 2026-10-20 from the squash titles of `aaa7bc8..a42946e`, by area, one line each with its pull request. It carries 44 of the 53 pull requests in that range, the openRepoShape pin's (#233) at its head and 43 by area; the other 9 have their lines under "What 1.1.0 adds": the package series of #228 (#262, #267, #268, #269, #270 and #284), #237's hook pair (#247), #255's fix (#271) and #280's fix (#283). Lines for the changes after `a42946e` were added to it on 2026-10-21, each in its area: #263, #289, #294 and #296. They are not in those counts. At the tag, redo the list from `aaa7bc8` to the release commit, add a line for each pull request after `a42946e` that has none, check that every pull request in that range has a line in these notes, and cut this placeholder's line. The openRepoShape pin's line is already written. Redone over all 60: #299 and opensoft/openRepoTools-code#1 gained lines under the triad migration's records and #293 a line of its own, the other 57 have theirs (the six of #228's package series in #228's), and the placeholder's line is cut (2026-10-28).
- [x] **`<workBenches#165 state>`**: whether opensoft/workBenches#165 has landed, and whether workBenches has taken a version that accepts pipx's link. If it has, rewrite the "One install route or the other" paragraph to say so; if not, keep it as it stands. It is open and has not landed, so the paragraph stands, and the pull request that fills in the tag's values reads it again (2026-10-28).
- [x] **The pin, with no placeholder**: `contracts/openreposhape-pin.yaml` at the release commit still names `190133d`. If the pin moved, correct the pin line, and the commit it names must be on openRepoShape's `main`. It still names `190133d5e704e380c430f87ca9c4e31746de0012`, as the `upstream/openRepoShape` gitlink does, and that commit is openRepoShape's `v1.1.0` on its `main`, so the pin line stands (2026-10-28).
- [x] **The milestone**: re-read the `v1.1.0` milestone. It held two issues at drafting time, #228 and #237. By 2026-10-20 it held six entries: #228, still open; #237, closed by its merged pull request #247; #255, closed; and #280, closed by its merged pull request #283. Each closed entry has its line above under "What 1.1.0 adds" (#255's pull request is #271, which is not in the milestone). Each that lands before the tag gets its line above, and each that does not is moved out by Brett Heap. It still holds those six entries, unchanged since 2026-10-20, so nothing is added (2026-10-28).

This draft is `opensoft/openRepoTools-spec`'s `docs/release-notes/v1.1.0.md`.
These notes are [`docs/release-notes/v1.1.0.md`](https://github.com/opensoft/openRepoTools-spec/blob/main/docs/release-notes/v1.1.0.md) in `opensoft/openRepoTools-spec`.