Repository navigation
Releases
Releases · mikesmitty/interlock
v0.2.0
0.2.0 (2026-10-28)
Features
- api: serve decoder definitions, identify decoders and read or write CVs by name (fe05057)
- decoder: lay out ESU decoders' own function mapping (0eb896c)
- decoder: load a family as a whole and read a decoder's address (c1d3e1a)
- decoder: read JMRI's decoder definitions from a folder, GitHub or the archive (fa25659)
- decoder: resolve decoder definitions, identify decoders and address their CVs (63d9be0)
- driving: drive trains to a stop at a stop marker (2265087)
- interlocking: set routes, lock their turnouts and release them behind trains (4ddfe25)
- programmer: read CVs on the main over RailCom (0b7e67a)
- release: ship a Windows build and sign macOS and Windows builds (2fe8df8)
- replace: move what names a node over to its replacement (cc893d2)
- roster: cars and trains made up of locomotives and cars (9a52fd3)
- roster: check the decoder on the programming track before work on it (79f813f)
- roster: keep changes not written yet with a decoder's CV values (1d5e252)
- roster: keep each locomotive's decoders with their CV values and import a JMRI roster (95c9fee)
- roster: keep imported CV values apart until the decoder is read (3d8c1dd)
- roster: keep named setups of a decoder's values to load again (69e72a7)
- roster: track a session of work on each decoder (641939c)
- run on Windows (771befb)
- sim: a simulated layout with trains running on the track plan (94b050c)
- sim: simulate an ESU decoder with paged CVs on the programming track (a537348)
- tracking: follow trains on the track plan from RailCom reports (d4edc16)
- tracking: measure a train's speed at each step it holds (748e0c5)
- trackplan: correct a stray in a line without starting over (2c62e35)
- trackplan: draw the track plan and work out its topology (2b74186)
- trackplan: draw the track plan to scale and import RailModeller layouts (23427dd)
- trackplan: rotate the background image (cdcd4fb)
- trackplan: select many, then move, turn or delete them together (1b527a9)
- trackplan: trace a background image from planning software (fae3435)
- trackplan: zoom and move the plan in its canvas (f08f2fe)
- train: make up LCC consists on the command station (7872ce6)
- train: show track power as the command stations report it (8efbcc2)
- transport: list Linux serial ports by their by-id names (d05f461)
- web: a Roster page with each locomotive's decoders and the JMRI import (d9dafd0)
- web: ask before Write page writes values not read from the decoder (270d91f)
- web: change a decoder's settings by name (0ee87ef)
- web: name train nodes for their locomotives (382a6bf)
- web: read imported values on Write page instead of writing them (7f572eb)
- web: say how many values a decoder profile load takes as they are (c12e4fa)
- web: show ESU function maps and keep changes not written yet (5559650)
- web: show imported CV values as not read yet (4f47052)
- web: show the roster entry on a train node's page (f8b4a5a)
- web: show where each decoder setting's value came from (e0d2593)
- web: trust only values read or written in this session for writes (302d5eb)
- withrottle: serve throttle apps over WiThrottle (8cae230)
Bug Fixes
- decoder: say plainly when the definitions folder does not exist (6714d4d)
- entity: ask detectors which locomotives they see (7a15c9a)
- memconfig: reply to a requester known only by its alias (5b83cae)
- nodeconfig: show a node's new name as soon as it is written (86884fd)
- release: stop release binaries reporting a modified tree (8c7ddbb)
- tracking: list only trains a detector has seen (1556460)
- trackplan: draw diagonals freehand without a staircase (f7515a9)
- trackplan: keep Look Up off the drawing grid (8275dd1)
- trackplan: place Kato's 248 mm single crossovers, one double crossover (12864eb)
- traction: count only 06.01.00.00 node IDs as train nodes (5a36583)
- web: pad the Decoder settings panel and line up the Programming page (a9756e9)
- web: widen the navigation rail so Programming and Automations fit (2fbd8db)
Miscellaneous
v0.1.0
0.1.0 (2026-10-17)
Features
- automation: automations with triggers, conditions, actions and traces (9be0848)
- bus: LCC bus layer, local node, discovery, monitor and web pages (7b85e21)
- config: memory configuration client, CDI parser and node configuration forms (f47eb83)
- entities: named event table, node profiles and entities with live state (bbdfc99)
- firmware: firmware upgrades, the fast clock, backup and restore, OpenLCB TCP and SocketCAN links, docs site (bcc962e)
- project skeleton with server, store and web scaffold (24ebee2)
- trains: throttle, roster, CV programming and the train automation action (c751ece)
- Update dependency @vitejs/plugin-react to v6 (#15) (6127635)
- Update dependency react-router to v8 (#16) (faef826)
- Update dependency typescript to v7 (#17) (6b61ba5)
- Update dependency vite to v8 (#18) (8304b99)
- Update module golang.org/x/sys to v0.49.0 (#2) (52d86a4)
Bug Fixes
- web: keep node names on one line in narrow tables (7eddd5e)
Miscellaneous
- Configure Renovate (#1) (b64ef63)
- release: make the first release 0.1.0 (6ec745b)
- Update actions/checkout action to v7 (#3) (44d945a)
- Update actions/configure-pages action to v6 (#9) (a157f8a)
- Update actions/deploy-pages action to v5 (#10) (f34bdb7)
- Update actions/setup-go action to v7 (#6) (8b241ef)
- Update actions/setup-node action to v7 (#11) (19562de)
- Update actions/upload-artifact action to v7 (#12) (c7fb53a)
- Update actions/upload-pages-artifact action to v5 (#13) (d868033)
- Update dependency node to v24 (#14) (9a98e28)
- Update golangci/golangci-lint-action action to v9 (#7) (f47461b)
- Update googleapis/release-please-action action to v5 (#8) (ad80b5f)
Documentation
- require Node 22.22 or newer to build (045a2d7)
Tests
- clock: wait for the midnight tick, not the computed date (7ac9ac2)