Skip to content

Releases: Cimos/etchy

etchy v0.1.1

Choose a tag to compare

@github-actions github-actions released this 03 Oct 09:22
c41edc1

What's Changed

  • Publish container to ghcr, drop shell widget by @Cimos in #388
  • Ship viewer installers and CLI readme (v0.1.1) by @Cimos in #391

Full Changelog: v0.1.0...v0.1.1

etchy v0.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 22:25
eb71e56

What's Changed

  • docs: record the history rewrite + drop a banned word by @Cimos in #286
  • deps: clear three RUSTSEC advisories blocking the deny job by @Cimos in #288
  • site: describe the tool that shipped, and make every example run by @Cimos in #289
  • deps: bump webbrowser to 1.2.4 for RUSTSEC-2026-0257 by @Cimos in #351
  • deploy: block private files by resolved path and refuse directory listings by @Cimos in #356
  • cli: reject a --gate-layers spec that is only separators by @Cimos in #353
  • pdf: cap the total raster budget across both documents before rendering by @Cimos in #364
  • cli: make the deprecated --json flag conflict with --format by @Cimos in #372
  • action: find the sticky comment by marker instead of --edit-last by @Cimos in #373
  • action: fail closed on any etchy exit code other than 0 or 1 by @Cimos in #352
  • ci: gate the Pages deploy on a PAGES_ENABLED repository variable by @Cimos in #355
  • report: emit Markdown warnings as inert code spans by @Cimos in #363
  • cli: exit with the real verdict on a broken stdout pipe by @Cimos in #370
  • gui: restore the previous source when a re-diff fails by @Cimos in #379
  • core: fail loud on an unterminated Gerber command before '%' or at EOF by @Cimos in #381
  • core: fail loud on incremental coordinate notation (%FS…I) by @Cimos in #354
  • core: cap, range-check and unwind-guard the Excellon front-end by @Cimos in #359
  • deploy: make setup.ps1 parse on Windows PowerShell 5.1 by @Cimos in #360
  • core: honour the declared placement unit (mil / inch) instead of assuming mm by @Cimos in #362
  • gui: point Help -> website at the project Pages URL by @Cimos in #365
  • site: describe kind-based layer pairing instead of same-filename pairing by @Cimos in #367
  • core: fail loud on a polygon aperture with a hole by @Cimos in #368
  • gui: cap aggregate decompressed bytes and entry count for multi-file input by @Cimos in #371
  • deploy: stop telling contributors to commit the feedback log by @Cimos in #374
  • gui: count focus-hidden layers correctly when the selected layer's eye is off by @Cimos in #376
  • gui: draw every layer's base before any layer's diff in Overlay by @Cimos in #357
  • docs: replace personal names with roles across the tracked tree by @Cimos in #358
  • ci: run cargo-deny weekly on a schedule by @Cimos in #361
  • core: seed a region contour from the current point; refuse nested G36 and stray G37 by @Cimos in #377
  • core: pair leftover same-kind layers by best overlap, not encounter order by @Cimos in #378
  • gui: load two dropped fab packs as old and new; refuse ambiguous drops by @Cimos in #380
  • test: assert on the real page-1 row shape in the PDF CLI test by @Cimos in #383
  • docs: retire the billing-blocked and no-release-binary story by @Cimos in #375
  • cli: reject a non-finite or negative --fail-on-area threshold by @Cimos in #369
  • deploy: bind the demo server to loopback by default and honour ETCHY_BIND by @Cimos in #366
  • cli, gui: fail loud when a directory entry cannot be read by @Cimos in #384
  • core: fail loud on an arc drawn before any G74/G75 declaration by @Cimos in #382
  • gui: restore per-board visibility and colour overrides only for the same board by @Cimos in #385
  • Fix CSV export and zoom overflow by @Cimos in #291
  • core: macro exposure-off cuts the aperture image; honour %TF.FilePolarity,Negative by @Cimos in #386
  • Prepare repo for public release by @Cimos in #387

Full Changelog: v0.1.0-rc1...v0.1.0

etchy v0.1.0-rc1

etchy v0.1.0-rc1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 01 Jul 10:46

What's Changed

  • Phase 0 + M1: engine, CLI, GUI — diffs real Gerber boards by @Cimos in #1
  • Review follow-ups: rename-tolerant layer pairing + fail-loud coord guard by @Cimos in #2
  • Landing page (GitHub Pages) by @Cimos in #3
  • Landing page: review revisions + GUI demo by @Cimos in #4
  • Landing: docs page, real example, badges, Get-it, accuracy fixes by @Cimos in #5
  • Docs: per-OS install, exit-code clarity, back-home link by @Cimos in #6
  • Docs: back-home link (left, gold text) by @Cimos in #8
  • Docs: tabbed install methods (Windows default) by @Cimos in #9
  • Docs: match landing shell + simpler Home nav by @Cimos in #11
  • etchy GUI: web demo + M1 viewer hardening + landing site by @Cimos in #10
  • docs: board-free UI screenshots for feedback issues by @Cimos in #43
  • Viewer UX + colour fixes (feedback batch) by @Cimos in #45
  • Features: SVG export, measure tool, noise-filter range, widget capture by @Cimos in #47
  • fix(core): track→pad junction notch (#13) — primitive winding normalization by @Cimos in #48
  • Render: zoom-stable diff LOD (marker dots) + triangulation proof by @Cimos in #46
  • fix(core): pour clearances filled solid (regression from #48) by @Cimos in #66
  • Settings persistence + canvas/grid colour + mode hotkeys + centered Colors (#52,#53,#55,#56) by @Cimos in #65
  • Measure-tool upgrades + grid overlay (#50, #51) by @Cimos in #64
  • Per-ECAD input presets (#54 MVP) — rebased onto main by @Cimos in #69
  • docs: handoff (2026-06-24) — Phase 1-2 + render fixes merged by @Cimos in #70
  • gui: viewer feedback fixes (arrow, per-theme canvas, collapsible groups, measure Esc, input presets) by @Cimos in #71
  • gui: multi-layer view with highlight/dim and group show/hide (#58, #59) by @Cimos in #73
  • gui: swipe/curtain compare + Phase 3 review feedback (#61) by @Cimos in #74
  • docs: GPU-side geometry transform design (viewer perf) by @Cimos in #75
  • gui: default viewer to selected layer only (perf, #9/#10) by @Cimos in #76
  • size: drop wgpu for glow + release profile (#86, #87) by @Cimos in #98
  • test: winding-invariant + macro/arc geometry tests (#89, #90) by @Cimos in #102
  • ci/test: cargo-deny + fuzz target + parser panic boundary (#84, #85) by @Cimos in #104
  • feat: resource caps — input size + per-layer object count (#82, #83) by @Cimos in #103
  • perf: share layer geometry via Arc, not deep-clone (#81) by @Cimos in #101
  • docs: scope #94 (adaptive tessellation) as future work by @Cimos in #97
  • docs: full code review (2026-06-25) with diagrams by @Cimos in #78
  • core: tessellation-robust region count (noise-floored) — unblocks #94 by @Cimos in #96
  • perf: render-only base-mesh simplification (~2x faster all-layers pan, #94) by @Cimos in #95
  • core: parallelize per-layer diff with rayon (~20% on large boards) by @Cimos in #77
  • perf(gui): pre-reserve per-frame mesh buffers — fixes dense-board lag (#80) by @Cimos in #116
  • perf(gui): GPU path for all layers — O(1) pan, the HDI fix (#80, supersedes #107) by @Cimos in #117
  • ci: fix wasm bundle optimization + gate it in CI (Refs #99, #88) by @Cimos in #119
  • core: classify Altium fab-documentation gerbers (Refs #111) by @Cimos in #118
  • docs: native KiCad .kicad_pcb diff as an accepted future goal (Refs #122) by @Cimos in #123
  • core: tighten same-board guard to spec (1mm/2%) (Refs #92) by @Cimos in #127
  • core: cap per-layer point + polarity-span counts (DoS) (Refs #83) by @Cimos in #128
  • core+cli: Excellon/NC drill parsing — hits + slots (Refs #62) by @Cimos in #129
  • feat(gui): Open revision A / B loader — folder, zip, drag-drop (Refs #120) by @Cimos in #124
  • feat(gui): unified Settings panel (Refs #121) by @Cimos in #131
  • feat(gui): sidebar %-change (#114), single-layer clarity (#112), loader last-dir (#120) by @Cimos in #126
  • feat(gui): drill layers in the viewer via Excellon front-end (Refs #62) by @Cimos in #130
  • cleanup: drop dead spike examples + unused gerber-types dep (#93) by @Cimos in #109
  • fix(gui): label Split/Swipe as raw-board views (Refs #91) by @Cimos in #132
  • feat(gui): startup splash — the etchy brand screen by @Cimos in #133
  • feat: export per-layer SVG + copper-area CSV (Refs #60) by @Cimos in #134
  • release: distroless container + tag-triggered binary release + roadmap reconcile by @Cimos in #135

New Contributors

  • @Cimos made their first contribution in #1

Full Changelog: https://github.com/Cimos/etchy/commits/v0.1.0-rc1