|
| 1 | +# Changelog |
| 2 | + |
| 3 | +Notable changes are recorded here in reverse chronological order. |
| 4 | + |
| 5 | +## Unreleased |
| 6 | + |
| 7 | +This section summarizes the current `Development` branch compared with `main` as reviewed on 2026-05-08. |
| 8 | + |
| 9 | +### Added |
| 10 | + |
| 11 | +- Added Mouser SamacSys support for part detection, preview loading, upstream KiCad ZIP download, and KiCad library or loose-file export. |
| 12 | +- Added Farnell SamacSys support through the shared SamacSys distributor flow. |
| 13 | +- Added Firefox SamacSys relay support for preview and export requests through a user-managed relay URL. |
| 14 | +- Added SamacSys authentication settings for relay auth and upstream username/password Basic auth generation. |
| 15 | +- Added a configurable Downloads-relative KiCad library folder. |
| 16 | +- Added runtime ZIP extraction for SamacSys archives, including KiCad symbols, footprints, STEP models, and WRL files already present in the archive. |
| 17 | +- Added `systemDesign.md`, architecture notes, Firefox relay documentation, contribution guidance, and security reporting documentation. |
| 18 | +- Added a Node/Vitest regression suite covering content-script detection, popup behavior, service-worker orchestration, EasyEDA conversion, and repository hygiene. |
| 19 | +- Added CI, ESLint, dependency audit, `npm run validate`, `.nvmrc`, and `package-lock.json` for repeatable local and GitHub Actions validation. |
| 20 | +- Added repository hygiene checks for source footers, governance docs, validation wiring, high-confidence secret patterns, generated archives, local environment files, logs, editor files, and temporary files. |
| 21 | +- Added repository hygiene checks for conventional file naming, lower camelCase function declarations, and maintained-file line-count limits. |
| 22 | + |
| 23 | +### Changed |
| 24 | + |
| 25 | +- Renamed the extension to Easy ECAD Downloader, including package metadata, UI labels, documentation links, generated KiCad metadata, and the default library folder name. |
| 26 | +- Split the service worker into a thin Manifest V3 entrypoint plus a runtime/router module with source adapters and shared core helpers. |
| 27 | +- Split the EasyEDA-to-KiCad converter into focused parser, emitter, shared conversion, and OBJ-to-WRL modules while keeping `src/kicad_converter.js` as the public facade. |
| 28 | +- Split the oversized service-worker regression file into focused core, EasyEDA, direct SamacSys, and Firefox SamacSys test files backed by a shared harness. |
| 29 | +- Reworked the popup into a provider-aware UI that shows fixed manufacturer metadata plus source-specific part metadata and advanced SamacSys/Firefox settings. |
| 30 | +- Moved persistent download layout, Firefox relay, and SamacSys auth settings from the popup into a dedicated extension settings page. |
| 31 | +- Grouped Firefox helper controls into a Firefox-only advanced settings menu. |
| 32 | +- Added explicit `Save` and `Discard` controls to the settings page. |
| 33 | +- Made helper tokens and SamacSys passwords session-only by default, with explicit remember-on-this-device opt-ins and warning copy. |
| 34 | +- Removed hidden upstream `Authorization` capture, manual override handling, and automatic Firefox auth-refresh retry behavior. |
| 35 | +- Updated the manifest for Chrome service-worker operation and Firefox background-document fallback on Firefox `121+`. |
| 36 | +- Updated README and project docs to describe supported providers, setup, settings, auth behavior, browser support, validation, and repository layout. |
| 37 | + |
| 38 | +### Fixed |
| 39 | + |
| 40 | +- Treated WRL-only SamacSys ZIP archives as valid 3D model exports. |
| 41 | +- Preserved SamacSys library footprint model references when an archive provides only a WRL model. |
| 42 | +- Replaced repeated KiCad footprint template fields so generated vias and text sizes no longer leave raw placeholders. |
| 43 | +- Corrected EasyEDA WRL placement by centering OBJ geometry, bottom-aligning Z, and writing KiCad 3D-unit offsets. |
| 44 | +- Rendered EasyEDA footprint previews for oval pads and solid-region geometry used by several LCSC footprints. |
| 45 | +- Detected JLCPCB manufacturer part numbers when product pages use compact labels such as `MFR.Part #`. |
| 46 | +- Improved provider-aware page detection for JLCPCB, LCSC, Mouser, and Farnell product pages. |
| 47 | +- Reconciled EasyEDA footprint model references with exported STEP/WRL artifacts and removed stale model blocks when no 3D artifact is exported. |
| 48 | +- Preserved SamacSys KiCad library relationships by rewriting symbol footprint properties and footprint model paths in library mode. |
| 49 | +- Handled SamacSys ZIP structures where `KiCad/` and `3D/` folders appear either at the archive root or under a part-specific parent folder. |
| 50 | +- Reworked SamacSys ZIP `401` handling into clearer sign-in-required errors and retry behavior. |
| 51 | +- Kept relay auth separate from upstream SamacSys auth so relay credentials are not forwarded to upstream providers. |
| 52 | +- Saved EasyEDA datasheets in the documented library-mode `datasheets/` folder and warned when selected export assets are unavailable. |
| 53 | +- Removed real-looking SamacSys auth values from tests and fixtures. |
| 54 | +- Removed a stale repository review plan from tracked docs so `systemDesign.md` remains the design source of truth. |
| 55 | + |
| 56 | +### Security |
| 57 | + |
| 58 | +- Documented credential storage, relay responsibility, vulnerability reporting, and stored credential clearing in `SECURITY.md`. |
| 59 | +- Added automated checks for common secret/token formats and private-key material in text files. |
| 60 | +- Added ignore rules and hygiene checks for local secret files, generated extension archives, logs, editor backups, OS metadata, and temporary files. |
| 61 | +- Added full-history security hygiene validation for reachable Git commits. |
0 commit comments