Repository navigation
Releases: KNXBench-Labs/KNXBench
Release list
KNXBench v0.1.0-alpha.8 (pre-release)
KNXBench v0.1.0-alpha.8
Alpha 8 packages the published source changes since Alpha 7. More import evidence,
fewer imaginary defaults — the bus remains blissfully uninvolved in this release.
Highlights
- Merge selected lines or devices into the open project. The File-menu flow
and CLI share a previewed, conflict-checked application service. Required
dependencies are mapped explicitly and the merge is one undo step. Consent
explains that retained complete source archives can include unselected data
and survive Undo. Workflow. - More robust schema-23 imports. Independent root object lists and recursive
channel/folder lists are handled without fabricating placement for unassigned
devices. ZIP member lookup binds validated names to physical entries; encoding,
collision, CRC and expansion guards remain intact. Both project XML files and
unsupported source information are retained and explicitly reported.
Import integrity. - Read-only stored module-instance values. The Inspector, HTTP API and MCP
readers expose each instance's own stored values separately from defaults,
sibling instances and evaluated Dynamic values. This does not enable Repeat
activation, broader parameter writes or additional download eligibility.
Design. - Larger project archive budget with clear feedback. The cumulative expanded
.knxprojbudget is 1024 MiB, up from 512 MiB. The 64 MiB per-member
limit and all archive integrity checks remain. The popup and persistent failure
banner explain expanded size and the actual server limit in English or German.
The compressed upload ceiling remains separate; large-project peak memory is
not newly certified. Limits. - Bounded payload evidence, not App certification. Project UserFiles,
AddinData and manufacturer payloads expose sniffed content separately from
unverified name/location roles. Unknown and misleading bytes remain retained;
nothing is unpacked, rendered or executed. Independent same-member diagnostics
remain visible. Design. - Honest preservation and regression evidence. Additional synthetic and
opt-in private tests cover source provenance, native Save/Reopen/Re-Save,
schema-23 references, manufacturer retry reporting and outside-tree overrides
without activating unsupported objects. Retained bytes are not complete ETS
semantics. Diagnostics redact sensitive identities and endpoint data within
their documented scope.
Upgrade: back up first
Native/model schema 12 is required. The v11→v12 migration is an identity
migration with a completion-status vocabulary barrier, not extra project tables.
Earlier builds refuse upgraded files. Close the application and make an
independent backup of every native project and Docker data directory before
upgrading; downgrade requires the pre-upgrade backup. In-file history is not a
disaster backup. Update the standalone knx-mcp binary together with the app.
Distribution
- Linux x86-64 AppImage:
KNXBench_0.1.0-alpha.8_amd64.AppImage. - Linux x86-64 read-only MCP server:
knx-mcp-x86_64-linux. - Verify downloads against
SHA256SUMS; a partial download uses
sha256sum -c --ignore-missing SHA256SUMS. - Docker Hub:
knxbench/knxbench-server:0.1.0-alpha.8, forlinux/amd64and
linux/arm64.latestfollows published releases, including alphas, not
movingmain. Pin the version when controlled upgrades matter. - The release tag is
v0.1.0-alpha.8. Publication and artifact verification are
recorded separately in the implementation history; these notes do not certify
a pending build.
Still alpha — explicit boundaries
No ETS-compatible .knxproj export, project signing, complete ETS semantics,
new physical-device certification or broader hardware commissioning is claimed.
Unsupported data remains retained/reported where technically possible. Read-only
cvexc analysis does not execute vendor rules. Real historical ETS revision-export
acceptance remains blocked on authorized exports and independently reviewed
baselines. Native accessibility, an interactive screen-reader session and
Raspberry Pi deployment are not established by browser/CI checks.
This release packages published source only; unmerged Functions/Sites work and
other parallel worktrees are not swept into it. Existing running containers and
user project directories are not automatically replaced.
Verified release preparation
Source commit: fdddad8. Full workspace: 3912 passed, 0 failed,
190 deliberately ignored; frontend: 2611 passed in 164 files; Chromium:
244 passed with no skips, retries or unexpected failures. Explicit private
import/native roundtrip, stored instance, source reconciliation and reference
checks passed. Registered corpus plus explicit download/AP1/matrix selection:
146 passed. All source inputs stayed frozen. Builds, strict Clippy, formatting,
types, five repository gates, documentation and 54 Python tool tests passed.
Self-review only.
Both exact-source packaging dry runs passed: native amd64/arm64 Docker smoke
tests and AppImage X11/headless-Wayland startup plus MCP build. The earlier
pre-reconciliation acceptance stays historical; the changed combined source was
fully reaccepted. The initial matrix output-filesystem refusal occurred before
observation and was corrected without weakening guards or changing baselines.
The source cutoff includes published payload evidence through fd6b1cf. Later
parallel work is not silently added to this immutable snapshot. Published-asset
checks are recorded after download and anonymous Docker verification; no fresh
interactive desktop/Orca/Pi/real-bus acceptance is claimed.
KNXBench v0.1.0-alpha.7 (pre-release)
KNXBench v0.1.0-alpha.7
A Linux-first engineering alpha, bringing together the changes since v0.1.0-alpha.6. The browser now has a dependable way home, and the upload bouncer has relaxed a little.
Important upgrade note
Close the application and back up native project files before upgrading. Persistent history advances the native store from schema 10 to 11. Old stores migrate forward; Alpha 6 cannot reopen an upgraded store. To return to Alpha 6, use the pre-upgrade backup. Internal project versions are not a substitute for an external backup. Update knx-mcp together with the application.
New since Alpha 6
- Persistent project history: after the first native Save As, reversible edits and undo/redo survive reopening. Named versions, previous saved versions and confirmed restore preserve a pre-restore version. Unsaved recovered edits remain visibly unsaved; projects without a native save location still have session-local history.
- Communication-object table: column headings, grouped/flat channel views, natural/numeric sorting, search, combined status/link/DPT filters and visible match counts. Existing edits and drafts survive same-device filtering and sorting. Narrow layouts retain locally scrollable columns rather than hiding data.
- Rename without changing identity: project and supported KNX-object names can be edited through F2, context menus and the properties inspector; stable IDs and references are retained.
- Offline System-B AP1 diagnostics: bounded, source-aware procedure/template inspection with explicit partial/unavailable findings. This is diagnostic evidence, not new executable download support.
- Legacy import/download improvements: large
.vd5handling, legacy application download planning and additional narrowly scoped verified device cases. Existing capability/refusal checks still apply; this does not mean every product of a manufacturer is programmable. - Parameter correctness:
TypeNonemetadata rows no longer present misleading editable input fields; their underlying information is retained. - Visual/documentation polish: the proper KNXBench header badge, updated feature inventory and clearer engineering/status documentation.
Browser/Docker fixes
- Issue #1 — larger uploads: the file limit is now 256 MiB, plus a separate 16 KiB multipart envelope allowance. Uploads stream to staging and only publish complete files without overwriting existing uploads. A real 115 MiB upload was checked byte-for-byte. This is not a 115 MB cap.
- Issue #2 — return to the editor: explicit Diagnostics/Flow return navigates the current browser tab back to the editor and reads the existing server project, including saved-file authority. It also works without a live opener. Normal fresh startup remains unchanged; native desktop focus and source-bound Flow selection retain their existing behavior.
- Release pipeline: configured Docker Hub credentials authenticate base-image pulls before the build, while manual dry runs still cannot publish images.
Both reported issues are intentionally left open for reporter confirmation. The already-published Alpha 6 container is unchanged; use Alpha 7 to receive these fixes.
Downloads and Docker
Linux x86-64 assets: KNXBench_0.1.0-alpha.7_amd64.AppImage, knx-mcp-x86_64-linux and SHA256SUMS. Download the checksum file too; when checking only one asset use sha256sum -c --ignore-missing SHA256SUMS.
The server image is published for linux/amd64 and linux/arm64:
docker pull knxbench/knxbench-server:0.1.0-alpha.7latest follows this alpha under the existing release policy. Recreate an existing container after pulling; retain the same /data volume. Linux bus access still requires the documented network settings; no real-bus operation was performed for this release.
Verification and limits
The frozen Alpha 7 application inputs passed 18 local gate stages: 3,831 Rust tests, 2,583 frontend tests across 162 files, and 236 Chromium cases, with zero failures. The ordinary Rust run left 185 explicitly ignored tests; separately, 143 registered private-corpus tests plus three focused corpus regressions passed in a loopback-only namespace. Password-dependent legacy tests were not freshly selected because their configured password file was unavailable. Five fresh real-server/browser checks used the built production frontend without API interception, including the large upload and visible project return. CI-only pull-authentication changes preserve those application/dependency inputs and pass five named workflow regressions and the full Python tool suite.
This remains an alpha, not full ETS certification or a blanket hardware guarantee. Upload acceptance does not bypass import safety limits: expanded ZIP members remain capped at 64 MiB each and the whole expanded archive at 512 MiB. Browser return does not transfer transient selection between separate tabs. Native Functions/Sites work that is not on the released main tree is not included.
See the upload/return contract, project-history contract, communication-object table, offline AP1 scope and known limitations.
KNXBench v0.1.0-alpha.6 (pre-release)
Pre-release. KNXBench is alpha software. Keep independent copies of your
projects and of the original ETS archives.
What is new against alpha.5
- Docker Hub. The server image is published for the first time:
docker pull knxbench/knxbench-server:0.1.0-alpha.6(alsolatest), for
linux/amd64andlinux/arm64. Every release tag from now on does the same
(ADR-0097,
Ready-made image). - The server speaks HTTPS by itself as soon as a password is set, with a
self-signed certificate kept in/data/.knxbench-tls, or your own via
KNX_TLS_CERT/KNX_TLS_KEY
(ADR-0088).
It also leaves cleanly onSIGTERM: open requests finish and a bus monitor's
tunnel is closed. - Wizards for a new project with a starting structure and for adding
devices with a server-side preview
(ADR-0093). - Devices has its own place in the navigation: a searchable, sortable list
and a catalogue batch
(ADR-0096). - Legacy ETS3 product databases (
.vd3to.vd5): read-only inspection,
offline import of application programs, and web upload with a password dialog.
Downloading such programs to devices is not supported
(ADR-0094). - A cleaner parameter editor with dedicated inspection tabs.
knx-mcp, a read-only MCP server over saved projects, attached below as
knx-mcp-x86_64-linux, plus an agent skill
(ADR-0090).- The fun department: achievements
(ADR-0089),
a built-in LCARS presentation
(ADR-0092),
Boarisch and Klingon in the language picker, the German UI now uses the
informal "du" throughout, and every notification follows the same nine-second rule. - Three fictional English community demo projects live in the repository
underdemos/;
they are not attached to this release.
Upgrading
- Desktop: same app identifier and data folder as alpha.5
(~/.local/share/com.knxbench.knxbench-labs). Download, verify with
sha256sum -c SHA256SUMS, start. - Docker: with a password set, open
https://…rather thanhttp://…. The
browser warns once about the self-signed certificate; compare its
fingerprint withdocker logs knxbenchbefore accepting it. knx-server,knx,knx-mcpand the desktop app all report
0.1.0-alpha.6now; the server andknx-mcppreviously reported older
numbers.
How this build was made
This is the first release built by the release workflows on GitHub-hosted
runners: the AppImage on ubuntu-latest (with launch checks under Xvfb and
headless Weston), and the Docker images natively on amd64 and arm64 runners,
each smoke-tested before being pushed. That is automated evidence, not a hand
test on every desktop or every Raspberry Pi.
Limits that still apply:
known issues ·
full catalogue.
KNXBench v0.1.0-alpha.5 (pre-release)
Pre-release. KNXBench is alpha software. This
build replaces the withdrawn v0.1.0-alpha.4.
What is new against alpha.4
-
New desktop app identifier
com.knxbench.knxbench-labs. The data folder
moves with it to~/.local/share/com.knxbench.knxbench-labs. alpha.5 does
not read the alpha.4 data folder; copy it over by hand while KNXBench is
closed (ADR-0087,
known limitation §161). -
AppImage launcher (KL-158): on a Wayland session it prefers a native
window and falls back to X11; an explicitGDK_BACKENDis respected
(troubleshooting). -
The post-alpha work of 2026-10-07: first-run guide, DPT inventory and
boundaries, Flow window and project links, and more; see
IMPLEMENTATION_STATUS.
In total 28 commits and 77 product files since the alpha.4 tag. -
The project identity is
KNXBenchthroughout; the Git history was
rewritten, so commit hashes cited in older documents map to new ones via
COMMIT_MAP_2026-10-07.txt. -
Republished on 2026-10-08 for the public launch. Before the repository
went public, two long-deleted third-party payloads were removed from the
whole Git history, so the tag now points ata0ff1f55(formerlyaca70fd7).
The source tree is byte-identical (42c64555), and so is the AppImage below;
any build stamp inside it names the old hash. Map:
COMMIT_MAP_2026-10-08-public.txt.
How it was tested
All on the tagged commit, in a fresh build directory, offline where possible
(ALPHA_FINAL_GATES §14):
- Rust workspace: 3,430 passed, 0 failed, 178 ignored (194 result blocks); Clippy
-D warnings, rustfmt - Web: Vitest 2,162/2,162 (125 files), TypeScript, production build; Playwright/Chromium 155/155 (offline)
- Private corpus: 143/143 tests in 31 targets (offline)
cargo deny(advisories, bans, licenses, sources) andnpm audit: clean- Repository gates: layering, headers, anchors, ledger, corpus gates
- AppImage built with remapped build paths;
check-appimage --tag v0.1.0-alpha.5ok;
no builder or personal path in the binaries or the AppDir
Not independently reviewed. The AR18 READY verdict covered the alpha.4
product code. alpha.5 was accepted by the owner session's gate alone.
Started once on the build host (x86_64 Arch Linux, Hyprland): native Wayland window, first-run guide rendered, status bar v0.1.0-alpha.5, offline and with an isolated data folder. No portability claim.
No ETS compatibility claim beyond what the documentation verifies; see
KNOWN_LIMITATIONS.
Verify the download
sha256sum -c SHA256SUMS
chmod +x KNXBench_0.1.0-alpha.5_amd64.AppImage
./KNXBench_0.1.0-alpha.5_amd64.AppImage