Repository navigation
Releases: Cimos/etchy
Releases · Cimos/etchy
Release list
etchy v0.1.1
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
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
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
Full Changelog: https://github.com/Cimos/etchy/commits/v0.1.0-rc1