app
Altium - the Altium Bridge
Public Made by Adomby adom
Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.
← Commit history
0.2.43 (STAGED, signed): altium-bridge.exe Authenticode-signed as Adom Industries, Inc.; release.py staging folder fix
Co-Authored-By: Claude Opus 5.5 <[email protected]>
8 files changed
+26−6
CHANGELOG.md+5@@ -1,5 +1,10 @@ # Changelog +## 0.2.43 (2026-09-29)+- **The exe is signed.** `altium-bridge.exe` now carries an Authenticode signature from Adom Industries, Inc., with a timestamp, so Windows 11 Smart App Control no longer blocks it ("Part of this app has been blocked"). The release script signs every exe it ships as the last step before packaging, verifies the signature on Windows and again after the file comes back, and refuses to package an unsigned exe.+- Same code as 0.2.42 otherwise (bounded `altium_panel`, `altium_demo` error reporting), which is still waiting for its licensed test run.++ ## 0.2.42 (2026-09-23), STAGED for the licensed battery, not on any tier Fixes the two defects John's licensed live test of the held 0.2.41 found (adom/altium-bridge#13, arav-rog, AD 26.10.1).
bridge-rs/src/main.rs+1−1@@ -29,7 +29,7 @@ use tiny_http::{Header, Method, Response, Server}; /// Attached to every failed reply (see the /command handler). const REPORT_ISSUES: &str = "If this looks like an altium-bridge BUG (not a refusal you expected), report it: check for a duplicate with `adom-wiki issue list adom/altium-bridge`, then `adom-wiki issue create adom/altium-bridge --title \"<verb>: <one-line symptom>\" --category bug-report --body \"<what you ran, what you expected, what happened, the VERBATIM response JSON (and errorShot if present), bridgeVersion, the Altium version from altium_status, the OS>\"`. A relay, routing, toast or lifecycle problem belongs on adom/adom-bridge instead. Reports from real machines are how this bridge gets correct: three different Altium builds behaved three different ways in one weekend."; -pub const BRIDGE_VERSION: &str = "0.2.42";+pub const BRIDGE_VERSION: &str = "0.2.43"; fn json_response(status: u16, body: &serde_json::Value) -> Response<std::io::Cursor<Vec<u8>>> { let data = serde_json::to_vec(body).unwrap_or_else(|_| b"{}".to_vec());
package.json+1−1@@ -1,6 +1,6 @@ { "slug": "altium-bridge",- "version": "0.2.42",+ "version": "0.2.43", "type": "app", "description": "Skills for your container so your AI knows how to drive the Altium Designer bridge (altium_* verbs). The bridge runtime itself is the release zip; Adom Bridge loads that.", "tags": [
page.json+1−1@@ -4,7 +4,7 @@ "type": "app", "title": "Altium - the Altium Bridge", "brief": "Adom Bridge for Altium Designer: a resident DelphiScript agent gives the AI eval, the 1,100-command process launcher, all 8 EDA surfaces with screenshots, compile/ERC, DRC, OutJob outputs, native SchLib/PcbLib authoring with STEP 3D bodies, and dialog handling by PID.",- "version": "0.2.42",+ "version": "0.2.43", "hero": { "type": "image", "path": "screenshots/hero.png"
scripts/release.py+1−1@@ -221,7 +221,7 @@ def sign_exe(ver): f"It is deliberately not in this public repo; ask the release owner for it.") cfg = json.loads(cfg_p.read_text()) host, thread = cfg["host"], "altium-bridge release signing"- stage = cfg["stageDir"].replace("%LOCALAPPDATA%", cfg.get("localAppData", r"C:\Users\cknox\AppData\Local")) + "\\" + ver+ stage = cfg["stageDir"].replace("%LOCALAPPDATA%", cfg.get("localAppData", r"C:\Users\cknox\AppData\Local")) + "\\build-" + ver.replace(".", "_") # a dotted name reads as a file path to send_files work = DIST / "signing" shutil.rmtree(work, ignore_errors=True) work.mkdir(parents=True)
scripts/releases/0.2.43.jsonadded+15@@ -0,0 +1,15 @@+{+ "name": "altium",+ "version": "0.2.43",+ "url": "https://wiki.adom.inc/download/adom/altium-bridge/0.2.43/adom-bridge-altium-v0.2.43.zip",+ "sha256": "670265422be8abf3fce05376a9663f98d068bf0fcb1db3ce10ec4c28ba7e3b59",+ "size": 1648779,+ "verbPrefixes": [+ "altium_"+ ],+ "healthEndpoint": "/health",+ "updateManifestUrl": "https://wiki.adom.inc/api/v1/pages/altium-bridge/files/adom-bridge-altium-manifest.json",+ "insidersManifestUrl": "https://wiki.adom.inc/api/v1/pages/insiders/files/altium-bridge/version.json",+ "released_at": "2026-09-29T15:07:35.494884Z",+ "tier": "insiders"+}
src/BRIDGE_VERSION+1−1@@ -1 +1 @@-0.2.42+0.2.43
src/bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "altium", "displayName": "Altium Designer",- "version": "0.2.42",+ "version": "0.2.43", "description": "Drive Altium Designer from Adom: a resident DelphiScript agent (eval + the 1,100-command process launcher), the X2 -R command line, UIA over the VCL shell, dialogs by PID, screenshots of every Altium window, and Altium 365.", "homepage": "https://wiki.adom.inc/adom/altium-bridge", "docs": "https://wiki.adom.inc/adom/altium-bridge",