From 13ee3501c2cdef58524661d32170b614a3ab8f7d Mon Sep 17 00:00:00 2001 From: shaonianche <16186646+shaonianche@users.noreply.github.com> Date: Wed, 28 Oct 2026 13:33:11 +0800 Subject: [PATCH] chore(release): prepare 0.9.17 changelog and version bump Bump the package version to 0.9.17 and fold the pending news fragments into the release section: FIT protocol 2.0 headers (#78), explicit encode kwargs overriding EncodeOptions (#82), Garmin FIT SDK profile 21.218.0 (#68), and the Python 3.15 CI matrix (#python-315). Amp-Thread-ID: https://ampcode.com/threads/T-01a180f7-8bdd-77a3-bedc-fcca2ad4bd20 Co-authored-by: Amp --- CHANGELOG.md | 16 ++++++++++++++++ news/68.dep | 1 - news/78.bugfix | 1 - news/82.bugfix | 1 - news/python-315.misc | 1 - pyproject.toml | 2 +- uv.lock | 2 +- 7 files changed, 18 insertions(+), 6 deletions(-) delete mode 100644 news/68.dep delete mode 100644 news/78.bugfix delete mode 100644 news/82.bugfix delete mode 100644 news/python-315.misc diff --git a/CHANGELOG.md b/CHANGELOG.md index 27bba54..5388e64 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,19 @@ +## Release v0.9.17 (2026-10-28) + +### Bug Fixes + +- Write FIT protocol version 2.0 in file headers (the SDK's `FIT_PROTOCOL_VERSION_20`) and report `PROTOCOL_VERSION` as `2.0`; 2.4 is the FIT protocol document revision, not a header value. ([#78](https://github.com/shaonianche/python_fit_tool/issues/78)) +- `to_bytes(preserve=...)` now overrides `EncodeOptions.mode` instead of being silently ignored, and an explicit `strict=False` or `check_crc=...` overrides an options object. Omitted `strict` / `check_crc` still inherit from `options=`. ([#82](https://github.com/shaonianche/python_fit_tool/issues/82)) + +### Dependencies + +- Upgrade the bundled Garmin FIT SDK Profile to 21.218.0. ([#68](https://github.com/shaonianche/python_fit_tool/issues/68)) + +### Miscellany + +- Add Python 3.15 to the CI test matrix and package classifiers. ([#python-315](https://github.com/shaonianche/python_fit_tool/issues/python-315)) + + ## Release v0.9.16 (2026-08-05) ### Features & Improvements diff --git a/news/68.dep b/news/68.dep deleted file mode 100644 index 90cfe3d..0000000 --- a/news/68.dep +++ /dev/null @@ -1 +0,0 @@ -Upgrade the bundled Garmin FIT SDK Profile to 21.218.0. diff --git a/news/78.bugfix b/news/78.bugfix deleted file mode 100644 index 558283c..0000000 --- a/news/78.bugfix +++ /dev/null @@ -1 +0,0 @@ -Write FIT protocol version 2.0 in file headers (the SDK's `FIT_PROTOCOL_VERSION_20`) and report `PROTOCOL_VERSION` as `2.0`; 2.4 is the FIT protocol document revision, not a header value. diff --git a/news/82.bugfix b/news/82.bugfix deleted file mode 100644 index b2e4efb..0000000 --- a/news/82.bugfix +++ /dev/null @@ -1 +0,0 @@ -`to_bytes(preserve=...)` now overrides `EncodeOptions.mode` instead of being silently ignored, and an explicit `strict=False` or `check_crc=...` overrides an options object. Omitted `strict` / `check_crc` still inherit from `options=`. diff --git a/news/python-315.misc b/news/python-315.misc deleted file mode 100644 index e51e705..0000000 --- a/news/python-315.misc +++ /dev/null @@ -1 +0,0 @@ -Add Python 3.15 to the CI test matrix and package classifiers. diff --git a/pyproject.toml b/pyproject.toml index 6cb3632..2c82526 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "fit-tool" -version = "0.9.16" +version = "0.9.17" description = "A library for reading and writing Garmin FIT files." readme = "README.md" license = "BSD-3-Clause" diff --git a/uv.lock b/uv.lock index 018378a..39dfb71 100644 --- a/uv.lock +++ b/uv.lock @@ -338,7 +338,7 @@ wheels = [ [[package]] name = "fit-tool" -version = "0.9.16" +version = "0.9.17" source = { editable = "." } [package.optional-dependencies]