Skip to content

Releases: formless63/wirehub

v0.8.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 23:46
cbf919e

Highlights

Packs you can inspect before installing

Pack previews show how many connectors, components, wires and other records will be added, list the example designs, and explain conflicts before anything is changed. Installed packs have a View contents button that opens their records in the Library.

Automotive now includes eight connectors, supporting hardware and a complete OBD-II example. Networking includes a new PCB-mounted RJ45 jack and improved RJ45 plug geometry, with front and rear artwork. These generated models remain clearly labelled approximations. The asset finder offers exact-part searches and public KiCad model discovery; imported assets can retain their source citation.

Know what a part number and a model mean

Connectors distinguish a shared body number from a connector's own stock number and show the pinout beside the body number. Asset coverage explains which drawings and model views exist, whether a model contains materials, and whether its source still needs building. Source revision models can be viewed without claiming a saved historical design definition exists.

A clearer editor and workbench

Canvas labels have more room, very long imported titles wrap below their parts, and fitting a small assembly stays at a usable zoom. The new assembly wizard begins with connectors and respects saved unit preferences. Sign-in, setup, document controls and empty pages use clearer actions and the shared visual style.

Print labels for this job

The Documents panel lets you choose label stock and QR codes for one print without changing the hub's defaults. The preview and printed pages use the selected stock's dimensions; tape exports remain available for compatible stock. Print waits until the preview reflects your latest choice.

Safer editing hand-offs

Taking over a design makes the previous editor's notice visible immediately while preserving their draft. Late lock refreshes cannot restore an obsolete holder. History entries use readable action and record names.

Changelog

0.8.0 (2026-10-10)

Features

  • catalog: expand connector packs and add reviewed CAD discovery (#25) (0a31744)
  • workflows: improve editor, catalog reviews and label printing (#27) (d47cf3f)

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 18:55
4b9fa49

Highlights

A first run that gets you to a design

The first-run page is rebuilt: the setup code sits at the top with a copy button, and the advanced options are collapsed until you want them. A new hub shows a short strip that points to the first steps, and empty lists link to the guide instead of sitting blank. The starter bodies and designs now carry part numbers.

Module slots

Modules (the cable families, connector libraries and signal sets) now declare where they plug in. The Library Import menu lists those places, installing a module shows progress in a drawer, and a restart asks before it happens.

Wiring on the canvas

  • Connect a new design by signal, by colour, or leave it open, and watch a live preview as you choose.
  • Wire from the keyboard through the connection table; the canvas respects reduced motion.
  • New layouts keep open ends on the outside with the wire between them.
  • Connector nodes always list their pins with 16 px targets; the art is a thumbnail and a face toggle, and dense faces enlarge to hit the same size.
  • The node creator groups parts by kind and offers matches from your stores.
  • A design now warns about conductors left floating at both ends, and names terminals in words.

One design system, light and dark

Every screen draws from the same set of tokens and components, in light and dark, with contrast checked against AA. Copy across the app was swept so it no longer shows file paths, environment variables or internal names.

Documents on one frame

Every sheet (build sheet, bill of materials, continuity spec, drawing, formboard, labels, schematic and the wire spec sheet) shares one border, title block and corner state stamp, on the paper you choose in Settings, with an ISO or ANSI title block. The state stamp reads UNRELEASED or UNAPPROVED until a version is released. Text is set in IBM Plex, and PDFs are vector with real text. The Documents preview shows the sheet at paper size, with zoom.

Without a PDF engine the headless PDFs now carry the same frame and the same type, and the build sheet's end pages lay the strip diagram out at a steady size instead of floating on a half-empty page.

Labels for your printer

Wire labels now read Source end and Destination end, carry the design's part number and revision, and can print a QR code (the part number and revision, or an address you set in Settings › Documents). Choose the label stock in Settings or per print: the A4 and Letter sheets, or one label per page for common Brady and Dymo sizes.

Documentation inside the app

The guide, the reference and a search now live on the docs site. Help links in the app open the page for what you are looking at, and Ctrl K searches the docs too.

Words

A design is the noun everywhere (not cable). The two ends of a wire are the source end and the destination end; the part number field is Reference; and the list is Find a design.

Changelog

0.7.0 (2026-10-09)

Features

  • a11y: per-route document title, one h1, skip link, landmarks and an axe-core run on every route (9ee4085)
  • brand: one mark in the top bar, dev favicon, social card and OpenGraph tags (899cc37)
  • catalog: parametric 3D for the starter connectors (DE-9, JST XH, terminal block in the base; XLR and RJ45 in their packs) (46a4ff0)
  • catalog: part numbers on every starter body and design; drop the stray family number (831ee9a)
  • catalog: polish the example designs: drawing sidecars with revision A, build notes, no end A/B wording (b2f3518)
  • docs: Brother P-touch TZe tape labels, label templates as data and .lbx export (cs-gqbj) (b6b1aa8)
  • docs: set raster and vector PDFs in the embedded IBM Plex subsets (7476fc5)
  • docs: SheetFrame, one frame and title block for every sheet (08fbb97)
  • docs: wire labels carry the part number and both ends, an optional QR code, and a label-stock preset (2c59420)
  • docs: wire spec sheet and headless text PDFs on the SheetFrame (e892c34)
  • editor: connector nodes always list their pins with 16 px handles; art is a header thumbnail and a face toggle (6ce3339)
  • editor: Documents preview at paper size, with zoom (a66a668)
  • editor: face view enlarges dense faces to 16 px pin targets; the face toggle is presentation state auto-arrange measures (7cd4a88)
  • editor: fresh layouts keep open ends on the outside with the wire between them (1515366)
  • editor: node creator groups parts by kind and offers store matches (a0f988e)
  • editor: wire from the keyboard through the connection table; canvas respects reduced motion (4eb7e8d)
  • library: fork to edit asks for the copy's id in an in-app dialog (96718f7)
  • model: warn on conductors floating at both ends; name terminals for people in issues (49f04e9)
  • nav: grouped rail with avatar menu, Extensions page (Browse, Installed, Sources) and rail-module hub setting (31579ce)
  • packs: part numbers for the domain packs' designs and parts, each pack in its own range (9b41551)
  • prefs: per-user UI preferences on the server (slot pins, theme, column choices) with localStorage fallback (f182600)
  • settings: system group intros become (?) tips (bcc0cc0)
  • setup: standalone first-run page, setup code moved up with a copy button, advanced options collapsed (fcc3a91)
  • site: documentation site at /docs/ (guide, reference, search, app tokens) (76c08ab)
  • site: README and home show the product; guide screenshots replace placeholders (6bbba4c)
  • studio: in-app help links to the docs site, docs results in Ctrl K, WIREHUB_DOCS_URL (2848260)
  • studio: module slots, declared places and the Library Import menu (8a3d676)
  • studio: read-only phone views for every route (d624283)
  • studio: toasts and install drawer for installs, restart confirm and progress (83a0d44)
  • ui: copy sweep - no docs paths, env vars, job-engine ids or internal names in rendered copy (f884bef)
  • ui: DataTable on TanStack Table, page anatomy primitives, adopted on Designs, Library, Jobs, History, Part numbers and Products (850dbce)
  • ui: full design token set in tokens.css, with tokens.ts and the Tailwind theme generated from it (bbe4237)
  • ui: New hub strip (dismissal kept on the hub), empty states with docs links, a central help-link map and a (?) in the top bar (6d8a286)
  • ui: shadcn-style primitives on Radix in WireHub tokens, a dev-only /dev/ui gallery, and Module settings adopting them (887245d)
  • ui: skeleton rows on lists, optimistic delete, canvas opens already fitted, gallery shows page anatomy (569074d)
  • ui: terminology - design as the noun, source/destination end, Reference field, Find a design ([388d020](388d0201585e0cc2f63d639...
Read more

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Oct 03:29
05f1067

0.6.0 (2026-10-08)

Features

  • add optional GitHub and Google authentication (#18) (1bcd955)
  • module settings — modules declare secrets an owner enters in Settings (418162e)
  • preserve source opacity and Library model materials (ddfdc11)

Bug Fixes

  • clarify cable samples and restore Library controls and PCB views (#14) (989053a)
  • editor: preserve paper proportions in narrow document previews (#15) (a58743e)
  • improve runtime settings instruction readability (#19) (a0d83d8)
  • preserve STEP occurrence colors and PCB coatings (#17) (705c228)
  • purge module settings from old mirror history; tests follow module API 1.5 (52bdb11)
  • recover Library artwork loads and preserve model cache compatibility (#12) (e3c443f)
  • retain complete paper and cross-section preview bounds (#16) (b233683)
  • studio: bound Store page height for scrolling (#23) (a65fcc6)
  • studio: preserve navigation health and readable Store text (#22) (6eedfd9)
  • unify navigation, organize Settings and surface optional modules (fd9f9e5)

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 03:26
b582d7b

0.5.0 (2026-10-07)

Features

  • add optional Mouser, DigiKey and LCSC supplier module (b51e971)
  • complete runtime module and catalog maintenance follow-ups (878d43c)
  • configure store review policies and bound index downloads (1e0c9bb)
  • costing: add explicit FX snapshot and operation-time panels (e162f16)
  • embed brand fonts in vector and fallback PDFs (dcd50c1)
  • fx-rates: save reference snapshots and derive cost reports (6d9cd4f)
  • modules: apply signed runtime SQL with owner migration roots (5e09347)
  • modules: edit cable drafts through guarded panel callbacks (d905e25)
  • modules: reconcile runtime job queues live in worker (d3dd72c)
  • optional FX snapshots and operation-time labour estimates (399c56f)
  • resolver: add device pin and recipe field editors (09f9839)
  • resolver: fan out explicit signal pairings to inputs (86c82c4)
  • settings: edit numbering segments and rule conditions with forms (a556126)
  • standard-work: estimate operation times and adopt labour explicitly (9b7f9b7)
  • store: identify code modules before install preview (97ae366)
  • studio: show and search cable product memberships (790251f)
  • suppliers: add DigiKey and LCSC API adapters (ecaa41e)
  • suppliers: add explicit quote lookup and procurement panels (ab25ea6)
  • suppliers: derive procurement reports and reviewed quote updates (4309741)
  • suppliers: queue bounded exact supplier lookups (3022b62)
  • suppliers: scaffold optional module and offer contracts (e7c3cf8)
  • suppliers: ship signed optional procurement module (c00622d)
  • suppliers: validate reviewed cost updates and provenance (3638667)

Bug Fixes

  • catalog: merge prototype-named tag keys as own data (e2ddefd)
  • catalog: preserve local auxiliary shape changes (fac7336)
  • catalog: reconcile owned pack sidecars and model links (2f251cc)
  • catalog: recover legacy nested auxiliary ownership (b187045)
  • catalog: track auxiliary lists and configuration ownership (e4b2a09)
  • costing: preserve report quantities and complete module validation (18b3ac0)
  • fx-rates: show snapshots with cable documents (#11) (b56a813)
  • jobs: create live module queues before sending (d17aee8)
  • packs: respect PDF name token boundaries (d9804c5)
  • reject host control documents in catalog packs (c09e892)
  • render installed pack artwork and load runtime browser modules (#10) (4e74f19)
  • respect PDF name boundaries during pack validation (e6fe74d)
  • retain bounded webhook history and suggest cable variants (1974396)
  • suppliers: fetch LCSC prices in the requested currency (3ae6ba6)

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 22:59
92a38ce

0.4.0 (2026-10-05)

Features

  • branding: licensed fonts and drawing art as hub data, used by sheets and PDFs; fonts and PDFs in packs (e45f488)
  • model: board and adapter proposals from resolver gaps (8ff4ccf)
  • model: generic device resolver — device profiles, conditioning recipes, hazards, ranked options, derived designs, recipe drift and inference (4564024)
  • model: pn counter exclusions, range unions and multi-segment matches; cable-end and board/shell rule selectors (9bf90bd)
  • model: product families, variants, merge and split, the lineup, and make/contract/buy routes (f951dd8)
  • model: revisions of library records, where used per revision, variant numbers; feat(modules): revisionSources extension point (module API 1.2) (56349b9)
  • packs: a pack ships a drawing photo as an asset-library image with its index entry (8899e6d)
  • packs: bench-rules.json and pcba-pads.json as owned pack data; preview validates what will run (b77ea2a)
  • packs: resolver examples — a PC serial port to an RS-485 device through a converter board, a line output into a mic input through a pad, a control unit to sensors of two pinouts (280b21a)
  • packs: signed vendor PDFs and fonts as pack assets, served by /api/blobs with safe headers (93237e3)
  • store: record the official store index public key (key id 289BB53D1B721017) (e9b1175)
  • store: record the wirehub publisher key and sign bundled packs in the pages workflow (6bc4ff5)
  • studio: "Which cable do I need?", the resolver API and the editor's Recipe tab (ed41822)
  • studio: product pages, the lineup (JSON/CSV), product.changed webhooks, route badge and sourcing fields (3c520dc)
  • studio: record Revisions section, revisions API, and the base compare view in fields, 2D and 3D (5754933)
  • studio: review proposals — drafts on "Which cable do I need?", decline (remembered), accept as a development board, the Proposals tab and /api/proposals (22282e1)

Bug Fixes

  • catalog: revision model-link keys take a part number as <part> (migration 0022) (d908a2c)
  • model: no false recipe-device-unknown for requirement ends; one warning per design for missing devices (003b745)
  • packs: preview, files and Postgres agree about a pack (f0bb284)
  • settings: a library that cannot be read leaves the branding art out; part-number settings hint (d2925d4)
  • store-index: read OFFICIAL_STORE_PUBLIC_KEY with or without a type annotation (72ee451)
  • store: injectable official index and tests off the real store; chore(ci): bump all GitHub Actions to current majors (ec54eef)
  • studio: file stores layer pack wire library, depictions, tag review and part-number data; extend pack parity fixture (bbb518c)

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 18:28
8984af5

0.3.0 (2026-10-05)

Features

  • declarative part-number schemes and validation rules as data (ac28a37)
  • history: mirror-purge tool and docs for older mirror history (bb25ca1)
  • modules: bench work instructions as a module extension point (b8e9bc7)
  • modules: delegate every registry member live; art and bench steps follow a registry swap (be56a37)
  • modules: runtime code modules installed as signed packs, loaded into a live registry, with Restart WireHub (ed1e481)
  • settings: rotate WIREHUB_SETTINGS_KEY without downtime (9718339)
  • site: shared shell, home, docs placeholder, generator at /generator/, browsable module store (75f6ddb)
  • stack: Restart WireHub smoke on the compose stack; keep the code-module host across first-run setup; code-module env in compose (7aa2841)
  • store: stores carry code modules: the action builds modules/ into signed packs; skill and template updated (820aa59)
  • studio: load runtime code modules in the page, consent before install, Settings for code modules and Restart WireHub (5749575)
  • webhook settings UI, pack-carried schemes and rules, docs and skills for declarative configuration (e302c72)
  • webhooks: subscriptions, signed deliveries as jobs, delivery log, event emission (c6368e1)

Bug Fixes

  • settings: a host without code modules says so quietly, not as an alert (51169fa)

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 13:57
59022cb

0.2.0 (2026-10-05)

Features

  • a crimp contact's rated current feeds the contact-rating rule (dd0dd80)
  • art: packs and modules contribute connector drawings, body layouts, depictions and sheet art (881706c)
  • art: side-view connector drawings as pack data, and licence and provenance on art records (076d10c)
  • board-import: paint gerber art on the board's 3D model; plan shows replaced art as changed; gerber step-and-repeat, inch macros, routed slots (e2cab58)
  • board-import: public board-import module for KiCad, Gerber and fab BOM files (da6f28b)
  • board-import: the kicad-board importer can propose components and placed parts from the footprints (fd81206)
  • compose: the worker service, its memory cap and its deploy test (d0efb3b)
  • Connect known pins — propose the joints the signal tags settle (71adc74)
  • costing: part prices, quantity breaks, BOM cost roll-up and labour (cs-5k1.17) (f0ab3c0)
  • crimp contacts, seals, plugs and tools per cavity (7056c7c)
  • csv-library: a from/to pin CSV becomes a proposed design (connection-list importer and the Library's Connections CSV dialog) (29ee1ba)
  • csv-library: update-existing mode, board and kit kinds, XLSX input (aa1cee8)
  • docs: a sub-assembly's cost rolls up from its own BOM and labour (0540c04)
  • docs: CSV/XLSX production exports, continuity tester export with test parameters, wire labels and label sheet (37fcd67)
  • docs: formboard drawing (true-length layout, pegs, tiled pages) and generic design specs (795a269)
  • docs: sub-assemblies in the BOM, build sheet, continuity spec and schematic (758bff2)
  • editable label text per segment, connector and core; electrical-rule tests and docs (351b5cb)
  • editor: crimp housing editing on connector bodies; the connector form shows the body's housing read-only (0e00239)
  • editor: extension slots for inspector, documents, exports and library detail (6ad8b4a)
  • editor: Make variant — copy a cable onto another trunk stock (9be5d2b)
  • editor: node picker offers cables as sub-assemblies, wired to the best port (1fe5ab3)
  • editor: place, draw, connect, open and pin sub-assemblies (43ebf8d)
  • editor: price-break table in the Library cost section (d06820f)
  • electrical rules, engineering settings, release approval model and routes (wip) (0acc7f0)
  • formboard: keep captions off glyphs, pegs, ticks and each other (5119371)
  • headless document rendering (CLI and API), wire labels on the build sheet, pluggable tester exporters (0a0aa8f)
  • history: change history API on both backends, with restore as a new change set (e727dec)
  • history: History in the phone navigation sheet (255c486)
  • history: History panel per design and library record, and a hub-wide History page (0939dfd)
  • history: opt-in git mirror of every change set as a worker job (70503ca)
  • history: restore a drawing photo from the history (bc1db44)
  • hub branding settings (organisation, logo, rights line) on every document (30f12ae)
  • interop: WireViz YAML import/export and bulk CSV library import (cs-5k1.18, cs-5k1.19) (26929b5)
  • Library compare slot for modules, plus a generic field-diff compare (066d74a)
  • model: crimp contacts, seals, plugs and tools per cavity (wip) (9009324)
  • model: per-design current overrides and thresholds for the electrical rules; cite the ampacity table (1627636)
  • model: per-record license, provenance and derivedFrom (6164ee9)
  • model: sub-assemblies — a design placed in another, its ports, flattening and pinning (acc8e51)
  • modules: derived records, panel/route props and registry lookups in @wirehub/modules (9a20cbb)
  • modules: example module exercising every extension point, with end-to-end tests and docs (31a492a)
  • modules: job queues registered through an integration, with pg tests and docs (10922a8)
  • modules: raw-bytes upload route for importer jobs, used by the SPA (d79f851)
  • ops: Backrest post-snapshot marker, jobs deep check, backup/restore/audit/parity alerts (07125ad)
  • packs: carry depiction and art images in uploaded, URL and store packs (5cf33e4)
  • packs: install a pack from a file or https URL, Packs panel and fork to edit in the UI (c349671)
  • packs: pack badge, guard pack vocab entries and designs, retire dropped-but-used records, role in /api/me (915edfa)
  • packs: pack lifecycle on files and pg (update with diff, disable, read-only, fork) (7143afb)
  • part-number health (duplicate detection, refusal on save, report page) (9cb468e)
  • per-tool crimp heights and the applicator picked per cavity (296abe8)
  • release approvals on saved versions (model, API, UI, migration 0018, documents), engineering settings page (fcd6084)
  • render: embed Liberation Sans in the formboard vector PDF (7d71635)
  • settings: adopt the server's values, upgrade safety nets, owner-only settings privacy (7a408fb)
  • settings: SVG logo upload (drawn to a PNG on the server) and a wire spec file prefix (02279f3)
  • settings: title-block general note and tolerance rows in the settings page (402e697)
  • **st...
Read more

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Oct 02:10
9a8553f

0.1.0 (2026-10-05)

Features

  • catalog: the catalog codec — explode a tree into rows, render rows back (3904e59)
  • default stack with Garage object storage, PostgreSQL 18 and backups (4fc0a76)
  • env: rename STUDIO_* variables to WIREHUB_*, keep the old names as a fallback (af6509d)
  • first-run setup and the automotive domain module (2002a5f)
  • license WireHub as AGPL-3.0-only with a module exception (de2c41c)
  • modules: split serial, networking and audio into domain packs (530df7b)
  • setup: setup code, unticked modules, packs beside the catalog, *_FILE variables (7eb039d)
  • site: config generator on GitHub Pages; releases with release-please (ff41043)
  • stack: one compose file with profiles and self-bootstrapping secrets (e4b04e2)
  • stack: the database is the default; backups through studio_ro with restore checks (S1, S2, S6, S10) (fc344b9)
  • studio: adopt a file deployment at migrate time; the first admin claims it (7c406c3)
  • studio: artwork and catalog docs are staged record kinds (B7, file backend) (37224f2)
  • studio: bytes by content address and SVG entity refusal (B4) (ec1abb6)
  • studio: converted models as derived blobs on Postgres (B10) (2515dbd)
  • studio: edit locks in Postgres and the events stream (B6) (a663ab2)
  • studio: first-run setup creates the organisation, its catalog and the admin (S3) (dffa87e)
  • studio: first-run setup on Postgres, and pg:import --if-empty (f5f5aae)
  • studio: import a file catalog into Postgres as one change set (565028c)
  • studio: model links are a staged record kind (B0) (b6cd059)
  • studio: People page, environment guard, and the indicator on Postgres (S4, S5, D6) (afac826)
  • studio: personal API tokens (B12) and RLS on the auth tables (6d7f9f7)
  • studio: pg:gate (S1), pg:import, pg:export and db:* commands (437605a)
  • studio: POST /api/batch, ?dryRun=1 and /api/docs (B13) (926978f)
  • studio: Postgres scaffold, schema migrations 0000-0013 and the pg test harness (28889ab)
  • studio: sign-in on Postgres — local accounts, people, invitations (B8) (5926b05)
  • studio: the catalog export is for owners and editors (958cba7)
  • studio: the Postgres read path — snapshot, read stores, WIREHUB_BACKEND=pg (cc93f93)
  • studio: the Postgres write path — one transaction per change set (B1-B3, B7, B9) (76c8900)
  • studio: WIREHUB_TRUST_PROXY; sign-in trusts the address the hub was opened at (47e9b79)
  • WireHub logo, icons and brand tokens (6af399d)

Bug Fixes

  • backup: give pull --rebase a committer identity so rebases work on hosts with no git config (b8ef350)
  • let the browser bundle link the catalog's pack installer (7a466fe)