Skip to content
Merged
Show file tree
Hide file tree
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
19 changes: 5 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,21 +52,12 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# towncrier writes the rendered notes to stdout (informational
# chatter goes to stderr), so this is the curated release body for
# this version, not github-tag-action's commit-derived changelog.
- name: Generate the GitHub release notes
- name: Assemble native Markdown release notes
env:
RELEASE: ${{ steps.calver.outputs.release }}
run: uv run --group=release towncrier build --draft --version "$RELEASE" >
release-notes.md

# Assemble the same fragments into CHANGELOG.rst under a new
# ``$RELEASE`` section and delete the consumed fragment files.
- name: Update the changelog
env:
RELEASE: ${{ steps.calver.outputs.release }}
run: uv run --group=release towncrier build --yes --version "$RELEASE"
run: |
uv run --group=release towncrier build --yes --version "$RELEASE"
cp "docs/source/changelog/$RELEASE.md" release-notes.md

- name: Update VERSION file for Nix flake
env:
Expand All @@ -78,7 +69,7 @@ jobs:
id: commit
with:
commit_message: Bump CHANGELOG and VERSION
file_pattern: CHANGELOG.rst newsfragments VERSION
file_pattern: CHANGELOG.md docs/source/changelog newsfragments VERSION
# Error if there are no changes.
skip_dirty_check: true

Expand Down
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Changelog

Release notes are stored as [one Markdown file per version](docs/source/changelog/).
121 changes: 0 additions & 121 deletions CHANGELOG.rst

This file was deleted.

11 changes: 11 additions & 0 deletions docs/source/changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Changelog

Releases are assembled from `newsfragments/` using Towncrier.

```{toctree}
:maxdepth: 1
:glob:
:reversed:

changelog/*
```
1 change: 0 additions & 1 deletion docs/source/changelog.rst

This file was deleted.

3 changes: 3 additions & 0 deletions docs/source/changelog/2021.10.08.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2021.10.08.0

Initial release.
3 changes: 3 additions & 0 deletions docs/source/changelog/2025.03.10.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2025.03.10

- Move documentation to GitHub Pages.
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.22.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.22.1
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.22.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.22.2
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.22.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.22.3
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.22
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.25.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.25.1
1 change: 1 addition & 0 deletions docs/source/changelog/2026.01.25.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.01.25
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.07.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.07.1
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.07.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.07.2
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.02.07.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.02.07

- Add support for installing with winget on Windows.
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.15.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.15.1
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.15.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.15.2
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.15.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.15
1 change: 1 addition & 0 deletions docs/source/changelog/2026.02.22.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# 2026.02.22
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.16.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.16.1

No documented changes.
5 changes: 5 additions & 0 deletions docs/source/changelog/2026.08.16.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 2026.08.16

- Drop Python 3.13 support, and update VWS Python so that the documented `ProjectHasNoApiAccess` result code spelling gives a friendly error message.
- Add Model Target dataset commands: `vws create-model-target-dataset`, `vws get-model-target-dataset-status`, `vws wait-for-model-target-dataset-generated`, `vws download-model-target-dataset` and `vws delete-model-target-dataset`.
- Add a `vws get-database-reco-counts-report` command, which requests a per-target recognition counts report for a month, waits for Vuforia to generate it, and writes the CSV to stdout or to a path.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.30.1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.30.1

No documented changes.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.30.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.30.2

No documented changes.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.30.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.30.3

No documented changes.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.30.4.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.30.4

No documented changes.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.08.30.5.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.08.30.5

No documented changes.
5 changes: 5 additions & 0 deletions docs/source/changelog/2026.08.30.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# 2026.08.30

- Handle all VWS and Cloud Reco service errors with clear CLI messages, and use consistent messages for target status and polling timeout errors.
- Test Model Target authentication, client, rate-limit, and server failures through public CLI commands and the configurable mock.
- Update vws-python and vws-python-mock to their releases containing configurable Model Target failure coverage.
3 changes: 3 additions & 0 deletions docs/source/changelog/2026.09.08.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# 2026.09.08

- Check that Gatekeeper accepts the signed and notarized macOS binaries during the release, and remove the quarantine workaround from the install docs.
7 changes: 4 additions & 3 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
author = _pyproject_config.author

extensions = [
"myst_parser",
"sphinx_copybutton",
"sphinxcontrib.spelling",
"sphinxcontrib.towncrier.ext",
Expand All @@ -29,15 +30,15 @@
]

# Render the unreleased ``newsfragments/`` entries into
# ``docs/source/unreleased.rst`` so the Sphinx spelling, doc-build and
# ``docs/source/unreleased.md`` so the Sphinx spelling, doc-build and
# link-checking gates cover the prose before it is assembled into
# CHANGELOG.rst at release time.
# the versioned Markdown notes at release time.
towncrier_draft_autoversion_mode = "draft"
towncrier_draft_include_empty = True
towncrier_draft_working_directory = f"{_pyproject_file.parent}"

templates_path = ["_templates"]
source_suffix = ".rst"
source_suffix = {".rst": "restructuredtext", ".md": "markdown"}
master_doc = "index"

project_copyright = f"%Y, {author}"
Expand Down
7 changes: 7 additions & 0 deletions docs/source/contributing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,10 @@ Performing a release
--------------------

See :doc:`release-process`.

Release notes
-------------

Write user-facing changes as Markdown in ``newsfragments/<issue>.change.md``.
Towncrier writes one Markdown file per version, used directly for GitHub release notes.
Invalid fragment names fail release assembly.
7 changes: 7 additions & 0 deletions docs/source/unreleased.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Unreleased changes

Changes merged into the main branch but not yet part of a tagged release.
These entries are assembled into the {doc}`changelog` when the next release is published.

```{towncrier-draft-entries}
```
7 changes: 0 additions & 7 deletions docs/source/unreleased.rst

This file was deleted.

14 changes: 0 additions & 14 deletions docs/towncrier_template.rst.jinja

This file was deleted.

1 change: 1 addition & 0 deletions newsfragments/+native-markdown.change.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Publish native Markdown release notes and use the same notes in documentation where available.
File renamed without changes.
File renamed without changes.
File renamed without changes.
10 changes: 10 additions & 0 deletions newsfragments/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Release notes

Add user-facing changes in `newsfragments/<issue>.<type>.md`, using an issue or pull request number.
The available types are `change`.
Use `+name.<type>.md` for changes without an issue number.

Write GitHub-compatible Markdown, including inline code, explicit links, and lists.
Towncrier writes one Markdown file per version and rejects invalid fragment names.
GitHub publishes that file directly as the release description.
Sphinx uses MyST to read the same release notes.
4 changes: 2 additions & 2 deletions prek.toml
Original file line number Diff line number Diff line change
Expand Up @@ -453,7 +453,7 @@ hooks = [
name = "linkcheck",
entry = "uv run --group=dev sphinx-build -M linkcheck docs/source docs/build -W",
language = "python",
types_or = ["rst"],
types_or = ["rst", "markdown"],
stages = ["manual"],
pass_filenames = false,
additional_dependencies = ["uv==0.11.7"]
Expand All @@ -463,7 +463,7 @@ hooks = [
name = "spelling",
entry = "uv run --group=dev sphinx-build -M spelling docs/source docs/build -W",
language = "python",
types_or = ["rst"],
types_or = ["rst", "markdown"],
stages = ["manual"],
pass_filenames = false,
additional_dependencies = ["uv==0.11.7"]
Expand Down
Loading
Loading