Skip to content

Series sync: version fields, common/ 3.0.0, device rename, release-asset fix (v1.0.2) - #2

Merged
sws-chipkin merged 3 commits into
mainfrom
fix-device-version-properties
Sep 24, 2026
Merged

sws-chipkin merged 3 commits into
mainfrom
fix-device-version-properties

Conversation

@sws-chipkin

Copy link
Copy Markdown
Collaborator

Brings main up to v1.0.2 with the series-wide changes made locally since the last merge:

  • Fix stale hardcoded Application_Software_Version and Firmware_Revision
  • chore: rename Device from "Rainbow" to "Chipkin Example B-SS"
  • ci: upload one copy of each release asset (fix duplicate-name publish failure)

Summary:

  • Version fields: Application_Software_Version and Firmware_Revision now report the real app and stack versions (C++ repos).
  • common/ synced to 3.0.0, which merges the B-BC and B-SCHUB forks (C++ repos).
  • Device renamed from the series placeholder "Rainbow" to "Chipkin Example ", so examples can be told apart on one network. docs/objects.json and PICS are updated to match.
  • Release workflow: the publish job now uploads one copy of each asset name. Duplicate doc files from the two platform artifacts made the upload fail part-way (seen on B-SCHUB v1.1.18); the same fix is already merged in B-SCHUB #12 and B-BC #20.

Each rebuild was version-bumped and live-verified locally at commit time (startup banner shows the new Device name). See CHANGELOG.md.

🤖 Generated with Claude Code

sws-chipkin and others added 3 commits September 22, 2026 01:27
Application_Software_Version (12) and Firmware_Revision (44) were both
hardcoded to the literal "1.0.0" in main.py and never updated as the
example's real version advanced - the same class of bug just found in
the sibling BACnetProfileExample-B-SCHUB-CPP by testing against a real
BACnet client. Application_Software_Version now reads APP_VERSION
directly so it can't drift from --version's own banner again.
Firmware_Revision names the underlying CAS BACnet Stack, not this app,
so it is now built once at start-up (right after bacnet.bind()
succeeds) from the stack's own BACnetStack_GetAPI{Major,Minor,Patch,
Build}Version() calls - the same 4 calls cas_example_helper.
print_version() already uses for the startup banner - and stored in
g_firmware_revision.

Verified with a real BACnet ReadProperty (via bacpypes3) against the
running device: Application_Software_Version read back "1.0.1" and
Firmware_Revision read back "6.0.21.0", matching the stack's own
--version banner.

Bumps APP_VERSION to 1.0.1 with a CHANGELOG.md entry, per this
project's standing rule to patch-bump before any rebuild.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Every example in the series announced the identical Object_Name
"Rainbow" for its Device object, so two examples running on the same
subnet were indistinguishable by name. Renamed to "Chipkin Example
B-SS" (the series' BACnet profile code) so devices are identifiable
on the network; sub-object names are unchanged. docs/colour-table.md
(series root, not in this repo) updated to match. APP_VERSION bumped
1.0.1 -> 1.0.2.

Verified: `py_compile` clean, and a live run confirms "FYI: Device
389001 (\"Chipkin Example B-SS\") ready."

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… failure)

Every platform artifact carries the same docs (README.md, LICENSE,
TUTORIAL.md, ...), and the publish job handed all of them to
softprops/action-gh-release with `files: artifacts/**/*`. Uploading two
assets with the same name makes the action fail part-way ("Not Found"
updating asset metadata) and leaves a draft release behind -
BACnetProfileExample-B-SCHUB-CPP v1.1.18 hit exactly this.

The publish job now flattens the downloaded artifacts into release/,
keeping one copy of each file name, and fails loudly if two files share
a name but differ. Same asset set as before, each name once. Applied
series-wide (the release job is a shared template, checked by
tools/check-series.sh check 11).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sws-chipkin
sws-chipkin merged commit 1aa8713 into main Sep 24, 2026
3 checks passed
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

Successfully merging this pull request may close these issues.

1 participant