Skip to content

Commit a9f6998

Browse files
Prepare v0.2.0 release notes and version bump (#7)
* Prepare v0.2.0 release metadata and notes * Consolidate v0.2.0 notes into changelog * Document changelog requirements for releases * Expand v0.1.0 changelog entry details
1 parent fff77e5 commit a9f6998

3 files changed

Lines changed: 63 additions & 1 deletion

File tree

AGENTS.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,13 @@ If you find ambiguity, prefer compatibility with the whitepaper and observed Swi
4949
## Packaging and release notes
5050

5151
- Build backend is `hatchling` via `pyproject.toml`.
52+
- For any release/version bump, update `CHANGELOG.md` in the same branch/PR.
53+
- Changelog conventions:
54+
- Follow Keep a Changelog format and SemVer version headings.
55+
- Add a dated version section (for example `## [0.2.0] - 2026-04-03`).
56+
- Group entries under standard sections as applicable: `Added`, `Changed`, `Deprecated`, `Removed`, `Fixed`, `Security`.
57+
- Keep entries user-facing and behavior-focused (avoid low-level commit noise).
58+
- Maintain/update version comparison links at the bottom of `CHANGELOG.md`.
5259
- Before publish, run:
5360
1. `uv build`
5461
2. `uv run python -m twine check dist/*`

CHANGELOG.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.2.0] - 2026-04-03
9+
10+
### Added
11+
12+
- Flood relay/rebroadcast support in `BleBitChatClient` for transit packets with
13+
TTL decrement (`ttl - 1`) when relaying.
14+
- Pluggable message dedupe cache support in both `BleBitChatClient(...)` and
15+
`create_client(...)` via `dedupe_cache`.
16+
- New `src/python_bitchat_client/dedupe.py` module containing:
17+
- `MessageDedupCache` protocol for custom dedupe implementations.
18+
- `LruTtlDedupeCache` default exact in-memory LRU+TTL dedupe cache.
19+
- Expanded GitHub automation under `.github/` including CI, CodeQL, Scorecard,
20+
security workflows, and Dependabot.
21+
22+
### Changed
23+
24+
- `parse_packet(...)` now stores parsed packet TTL on `ParsedPacket.ttl` to
25+
support relay decisions in client logic.
26+
- `README.md` now documents relay and dedupe behavior, including custom cache
27+
injection and trade-offs for probabilistic caches.
28+
29+
### Tests
30+
31+
- Added coverage for default/injected dedupe cache behavior.
32+
- Added coverage for dedupe factory pass-through in `create_client(...)`.
33+
- Added LRU+TTL cache behavior tests (expiry and eviction).
34+
- Added relay behavior tests (TTL decrement, duplicate suppression, and
35+
non-relay when TTL is 1).
36+
37+
## [0.1.0] - 2026-04-02
38+
39+
### Added
40+
41+
- Initial release of `python-bitchat-client`: a lightweight, headless Python
42+
client library for BitChat BLE mesh integrations.
43+
- Protocol-focused foundations aligned with the BitChat whitepaper and informed
44+
by observed behavior in the Swift/iOS implementation for ecosystem
45+
compatibility.
46+
- Core library modules for packet parsing/building, Noise protocol session
47+
handling, identity/key material, and client-side message models.
48+
- A BLE-backed client implementation (`BleBitChatClient`) with a no-op fallback
49+
(`NullBitChatClient`) for environments where BLE backend support is missing.
50+
- Interactive terminal harness example for manual send/receive testing.
51+
- Initial unit test coverage across keys, protocol handling, client behavior,
52+
and Noise/session paths.
53+
54+
[0.2.0]: https://github.com/BradWhittington/python-bitchat-client/compare/v0.1.0...v0.2.0
55+
[0.1.0]: https://github.com/BradWhittington/python-bitchat-client/releases/tag/v0.1.0

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "python-bitchat-client"
7-
version = "0.1.0"
7+
version = "0.2.0"
88
description = "Headless Python client interfaces for BitChat bridges"
99
readme = "README.md"
1010
requires-python = ">=3.11"

0 commit comments

Comments
 (0)