contributions.tscircuit.com γ» tscircuit.com γ» Contribution Overviews γ» Changelogs
Generates weekly contribution overviews for tscircuit contributors. Check out all the contribution overviews here You can find AI-generated monthly changelogs in the changelogs directory
- All PRs in the tscircuit org are scanned/summarized via an LLM
- The LLM classifies each Diff/PR as into a set of attributes for scoring
- All the PRs, summaries, and classifications are organized into charts and tables for the website
Want to run locally? See the Development Section
The current week is shown below. There are 3 major sections:
pie
"tscircuit/pcb-viewer" : 2
"tscircuit/tscircuit.com" : 43
"tscircuit/cli" : 57
"tscircuit/tscircuit-autorouter" : 17
"tscircuit/circuit-json-to-step" : 5
"tscircuit/order-dialog" : 4
"tscircuit/arduino-uno-with-re-routing-demo" : 1
"tscircuit/fake-stripe" : 4
"tscircuit/eval" : 28
"tscircuit/tscircuit" : 50
"tscircuit/core" : 10
"tscircuit/runframe" : 57
"tscircuit/circuit-json-to-kicad" : 4
"tscircuit/krt-wasm" : 6
"tscircuit/circuit-json-to-3d-png" : 3
"tscircuit/sparkfun-boards" : 2
"tscircuit/checks" : 2
"tscircuit/internal-dynamic-import" : 3
"tscircuit/circuit-json-to-gerber" : 10
"tscircuit/easyeda-converter" : 2
"tscircuit/circuit-json" : 1
"tscircuit/circuit-to-svg" : 2
"tscircuit/circuit-json-to-tscircuit" : 1
"tscircuit/kicadts" : 1
"tscircuit/kicad-to-circuit-json" : 4
"tscircuit/circuit-to-canvas" : 1
"tscircuit/props" : 3
"tscircuit/tscircuit.com-landing" : 6
"tscircuit/tiny-hypergraph" : 1
"tscircuit/docs" : 1
"tscircuit/lbrnts" : 1
"tscircuit/fabrication-operator-ui" : 8
"tscircuit/high-density-repair03" : 3
"tscircuit/dataset-srj16-bga-breakouts" : 1
| Contributor | π³ Major | π Minor | π Tiny | Score | β | Discussion Contributions |
|---|---|---|---|---|---|---|
| imrishabh18 | 10 | 5 | 11 | 62 | βββ | 0πΉ 0πΆ 0π |
| MustafaMulla29 | 4 | 7 | 11 | 42 | ββ | 0πΉ 1πΆ 0π |
| techmannih | 1 | 13 | 6 | 35 | ββ | 0πΉ 0πΆ 0π |
| mohan-bee | 3 | 7 | 2 | 28 | ββ | 0πΉ 0πΆ 0π |
| AnasSarkiz | 3 | 0 | 6 | 25 | ββ | 0πΉ 0πΆ 0π |
| Abse2001 | 3 | 2 | 4 | 23 | ββ | 0πΉ 0πΆ 0π |
| 0hmX | 4 | 0 | 1 | 18 | ββ | 0πΉ 0πΆ 0π |
| tscircuitbot | 0 | 0 | 223 | 14.5 | ββ | 0πΉ 0πΆ 0π |
| rushabhcodes | 1 | 2 | 3 | 12 | ββ | 0πΉ 0πΆ 0π |
| ShiboSoftwareDev | 2 | 2 | 0 | 12 | ββ | 0πΉ 0πΆ 0π |
| seveibar | 2 | 0 | 1 | 10 | β | 1πΉ 0πΆ 0π |
| Sang-it | 1 | 2 | 1 | 9 | β | 0πΉ 0πΆ 0π |
| thisisharsh7 | 0 | 1 | 0 | 2 | 0πΉ 0πΆ 0π | |
| MestreY0d4-Uninter | 0 | 0 | 0 | 2 | 0πΉ 1πΆ 0π |
| Contributor | Reviewed PRs | Rejections | Approvals | SPR |
|---|---|---|---|---|
| techmannih | 11 | 0 | 11 | 100.0% |
| MustafaMulla29 | 6 | 0 | 6 | 100.0% |
| mohan-bee | 4 | 3 | 4 | 25.0% |
| ShiboSoftwareDev | 4 | 0 | 4 | 100.0% |
| imrishabh18 | 3 | 0 | 3 | 100.0% |
| Sang-it | 3 | 0 | 3 | 100.0% |
| rushabhcodes | 1 | 0 | 2 | 100.0% |
| AnasSarkiz | 1 | 0 | 1 | 100.0% |
| thisisharsh7 | 1 | 0 | 1 | 100.0% |
techmannih SPR PRs (11)
- #583 add ccw_rotation to pcb fabrication note text
- #392 Handle CircleSchema silkscreen circles in conversion
- #2306 Extract CAD models from library footprint circuit json
- #2301 Fix JLCPCB footprint prefix hint for invalid footprint props
- #2699 Add jlcpcb cad model support to eval
- #2655 Add JLCPCB footprint library map support
- #33 Support all PCB fabrication note elements in footprint conversion
- #41 Parse solid fills for graphics
- #89 use typed kicadts zones for copper pours
- #87 Preserve KiCad knockout board text in Circuit JSON
- #236 Preserve copper knockout text anchor alignment
MustafaMulla29 SPR PRs (6)
- #2297 Fix default nominal trace width for krt autorouter routes
- #98 Fix plated hole soldermask margin
- #96 Fix pcb_hole soldermask margin
- #91 Fix untented vias missing soldermask openings
- #89 Fix blind vias being emitted in through-board drill output
- #2674 Use jscdn as Primary CDN and keep jsDelivr as fallback
mohan-bee SPR PRs (4)
ShiboSoftwareDev SPR PRs (4)
imrishabh18 SPR PRs (3)
Sang-it SPR PRs (3)
rushabhcodes SPR PRs (1)
- #560 Handle through-pad PCB trace segments in SVG rendering and bounds
AnasSarkiz SPR PRs (1)
- #35 Implement Automatic LightBurn Project Splitting by Cut Setting with Group-Aware Shape Isolation
thisisharsh7 SPR PRs (1)
- #554 Fix blank preview in keyboard tutorial
Note: AI evaluates PRs and assigns 1-3 star ratings automatically. 4 and 5 star ratings require manual staff review.
- πΉ Normal Comments: Basic participation with minimal effort
- πΆ Great Informative Comments: Thoughtful participation that adds value
- π Incredible Comments: Exceptional participation with high-quality content
| Contributor | Reviews Received | Approvals Received | Rejections Received | Approvals | Rejections Given | PRs Opened | PRs Merged | Issues Created |
|---|---|---|---|---|---|---|---|---|
| rimi11e | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| TodouWisiper | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| sandliu | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Kidkrow12 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| dukunline-cyber | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| haocyan0723-code | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| js360000 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 |
| imrishabh18 | 4 | 4 | 0 | 13 | 3 | 26 | 26 | 0 |
| tscircuitbot | 0 | 0 | 0 | 0 | 0 | 281 | 223 | 0 |
| minhduytran | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| intagold561 | 1 | 0 | 0 | 0 | 0 | 8 | 0 | 0 |
| seveibar | 3 | 0 | 0 | 37 | 0 | 10 | 3 | 0 |
| ma-moon | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| tungnguyentu | 0 | 0 | 0 | 0 | 0 | 22 | 0 | 0 |
| gwhthompson | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| mohan-bee | 23 | 17 | 2 | 0 | 0 | 15 | 12 | 0 |
| MustafaMulla29 | 15 | 14 | 0 | 10 | 1 | 25 | 23 | 0 |
| techmannih | 28 | 15 | 0 | 1 | 0 | 24 | 20 | 0 |
| pxtung299-bot | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| rushabhcodes | 18 | 6 | 1 | 1 | 0 | 6 | 6 | 0 |
| AnasSarkiz | 3 | 3 | 0 | 7 | 0 | 9 | 9 | 0 |
| Abse2001 | 5 | 5 | 0 | 3 | 0 | 15 | 10 | 0 |
| Sang-it | 3 | 3 | 0 | 0 | 0 | 5 | 4 | 0 |
| copperwisp | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| BossChaos | 0 | 0 | 0 | 0 | 0 | 11 | 0 | 0 |
| CodeForFee | 0 | 0 | 0 | 0 | 0 | 8 | 0 | 0 |
| ErguLan | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| zzhang82 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| jynbil1 | 3 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| UnlimitedxIQ | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Guzzzzzzzz | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| mochammadfarkhan | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| watcharaponthod-code | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| newmattock | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| Jam-Ngai | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| iota3-cell | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| genson1808 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| fangzheli | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| sureshchouksey8 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| starburtMr | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| phungkaizen | 1 | 0 | 0 | 0 | 0 | 6 | 0 | 0 |
| isteelfelix | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| colorbank | 0 | 0 | 0 | 0 | 0 | 10 | 0 | 0 |
| MestreY0d4-Uninter | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| ShiboSoftwareDev | 6 | 5 | 0 | 0 | 0 | 10 | 4 | 0 |
| 0hmX | 10 | 0 | 0 | 1 | 0 | 12 | 5 | 0 |
| tytkk2 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| singhvishalkr | 1 | 0 | 1 | 0 | 0 | 5 | 0 | 0 |
| Yang122333 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| william08190 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| pon024587-collab | 0 | 0 | 0 | 0 | 0 | 11 | 0 | 0 |
| ron1nrest | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| nikkkkj | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| kingzzoov-ctrl | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| gshaowei6 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| Gimyoonsoo | 12 | 0 | 0 | 0 | 0 | 45 | 0 | 0 |
| radiantjade | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 |
| felixbeyer99-design | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| MAJINSI | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Masihhedayati | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| Arthurescc | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| CalyxNZ | 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| DomDigitalSimple | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| kodokushi444-commits | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| IbrahimLaeeq | 4 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| haim1120 | 0 | 0 | 0 | 0 | 0 | 27 | 0 | 0 |
| Minori016 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Treasure520520 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| realkoreanbeef | 1 | 0 | 0 | 0 | 0 | 5 | 0 | 0 |
| Mira-Mjodheim | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 |
| Adysekus | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Donutking20 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| himanalot | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| ethever | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| johnsmith507 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| xXGoziXx | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| imaanmulji | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| richboyneedcash | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Jahrome907 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| JimmiFriborg | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| partyplatter08-lab | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| dennywu2966 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| zaixincheng174-ai | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| raunaqsingh | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| jorgeschulz | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| lasgg | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| joel777rubio-web | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| qunqin219 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| mdp28 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 0xdungki | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| pnm03 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| jamilahmadzai | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| SkinnyFatBoy05 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| snidova1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| SUNNY-Fu-ai | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| nicovaleops | 1 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| Sparvovic | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| adminlip | 0 | 0 | 0 | 0 | 0 | 5 | 0 | 0 |
| thisismyburner | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| bmoh95 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| phanlehieu10 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| mercanet | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 8npyvz5bd8-lang | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| FJ-CX | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| zeppnyc | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| sagarmaurya64-ai | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Bilal-Lodhi | 6 | 0 | 0 | 0 | 0 | 4 | 0 | 0 |
| authenticarc | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| jswagbo | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| time-turner42 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| yyswhsccc | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| lence773 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| siyrs | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| arias-hooks | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| vinaykrsinghal-stage | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| strongkeep-debug | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| JohnChen034 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| epowell40 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| lumenghz | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| siiferdiiii | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| dktran5105 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 21nak | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| digzrow-coder | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| FeeeeelixWong | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| foxhub2020 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| KarlZhu-ZXC | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| lyd123qw2008 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| albercr3 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 |
| alan747271363-art | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| yusufdalbudak | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| ramrap | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| tmchang1258 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| serendipitous-syntax | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| kenproxx | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| MNgaminhhh | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Mermaid-Man | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| TsukinowaRin | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| douglasflysuper01-cell | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| TheWaste11202 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0 |
| suhail-ak-2 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 |
| Serve63 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| nam27062002 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 |
| xlocalvn-svg | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| GabrielSotto | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| trucnhandeptrai2025-creator | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| andyphp | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Vinzz2303 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 |
| autochamchikim-pixel | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0 |
| masuda-so | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| qjly421 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| tarunag10 | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| AmanKishore | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Two-wood-three-soil | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| zp6 | 0 | 0 | 0 | 0 | 0 | 6 | 0 | 0 |
| federicoschermi | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| mushfique-dgist | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| thisisharsh7 | 2 | 1 | 0 | 0 | 0 | 1 | 1 | 0 |
| iamdinhthuan | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| WhiteEagle-12 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| prokesmic | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| RYB-404 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Munirubenz | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| lezebomb | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Havarry | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| BuckyQ | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| mithustar39 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Sinceretoad | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| chenchong0215 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Chaos-among-us | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| theRadicalSoftware | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| ArtemisMoysen | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| Dannier314 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| s53zo | 1 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| IssacDanny | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #864 | π³ Major | βββ | imrishabh18 | Adds a new tool called Bounds that allows users to drag a rectangle around the view and select bounds, providing a callback with the selected coordinates. |
π Tiny Contributions (1)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #865 | π Tiny | tscircuitbot | Automated package update |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #3446 | π³ Major | βββ | imrishabh18 | Passes the image and board specifications to the order dialog, allowing users to view detailed specifications and a preview image when ordering a package. |
| #3421 | π³ Major | βββ | mohan-bee | Updates the KiCad project build path to use resolveAndLoadKicad3dModelFiles from circuit-json-to-kicad0.0.137, ensuring 3D model assets are included in project exports for a self-contained ZIP file. |
| #3445 | π Minor | ββ | imrishabh18 | Integrates the fake-stripe library for simulating Stripe checkout sessions in the development environment. |
π Tiny Contributions (40)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #3438 | π Tiny | imrishabh18 | Applies CSS style fixes to the order dialog component, including background and z-index adjustments. |
| #3455 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1978 to 0.0.1979 |
| #3454 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1978 |
| #3453 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1976 to 0.0.1977 |
| #3452 | π Tiny | tscircuitbot | Automated package update |
| #3451 | π Tiny | tscircuitbot | Automated package update |
| #3450 | π Tiny | tscircuitbot | Automated package update |
| #3449 | π Tiny | tscircuitbot | Automated package update |
| #3448 | π Tiny | tscircuitbot | Automated package update |
| #3444 | π Tiny | tscircuitbot | Automated package update |
| #3409 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.839 to 0.0.840 |
| #3410 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1951 |
| #3441 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970 |
| #3443 | π Tiny | tscircuitbot | Automated package update |
| #3411 | π Tiny | tscircuitbot | Automated package update |
| #3432 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1966 in package.json |
| #3415 | π Tiny | tscircuitbot | Automated package update |
| #3418 | π Tiny | tscircuitbot | Automated package update |
| #3416 | π Tiny | tscircuitbot | Automated package update |
| #3434 | π Tiny | tscircuitbot | Automated package update |
| #3417 | π Tiny | tscircuitbot | Automated package update |
| #3428 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963 |
| #3419 | π Tiny | tscircuitbot | Automated package update |
| #3440 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.850 in package.json |
| #3431 | π Tiny | tscircuitbot | Automated package update |
| #3424 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1959 |
| #3429 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964 |
| #3439 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1969 |
| #3422 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1958 in package.json |
| #3437 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1967 to 0.0.1968 |
| #3420 | π Tiny | tscircuitbot | Automated package update |
| #3425 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.846 in the package.json file. |
| #3423 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.845 in the package.json file. |
| #3413 | π Tiny | tscircuitbot | Automated package update |
| #3427 | π Tiny | tscircuitbot | Automated package update |
| #3436 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.849 in the package.json file. |
| #3433 | π Tiny | tscircuitbot | Automated package update |
| #3430 | π Tiny | tscircuitbot | Automated package update |
| #3442 | π Tiny | tscircuitbot | Automated package update for tscircuiteval from version 0.0.850 to 0.0.851 |
| #3414 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953 |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #3019 | π³ Major | βββ | imrishabh18 | Adds concurrency support for generating STEP files from circuit JSON, allowing multiple files to be processed simultaneously. |
| #3044 | π Minor | ββ | mohan-bee | Refactors the 3D model file handling in the KiCad project generation process to use a new utility function for improved loading and error handling. |
| #3058 | π Minor | ββ | mohan-bee | Refactors the handling of 3D model files by replacing manual fetching and copying with a centralized function for loading 3D models in KiCad libraries. |
π Tiny Contributions (54)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #3028 | π Tiny | imrishabh18 | Updates the circuit-json-to-step dependency from version 0.0.28 to 0.0.30 in package.json |
| #3039 | π Tiny | imrishabh18 | Updates the circuit-json-to-step dependency to version 0.0.32, resulting in a reduction of the file size of the generated step. |
| #3073 | π Tiny | tscircuitbot | Automated package update |
| #3072 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 |
| #3070 | π Tiny | tscircuitbot | Automated package update |
| #3068 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1973 in package.json |
| #3067 | π Tiny | tscircuitbot | Automated package update |
| #3066 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 |
| #3065 | π Tiny | tscircuitbot | Automated package update |
| #3047 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1964 to 0.0.1965 |
| #3020 | π Tiny | tscircuitbot | Automated package update |
| #3027 | π Tiny | tscircuitbot | Automated package update |
| #3037 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963 |
| #3022 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package version from 0.0.1955 to 0.0.1957 in package.json |
| #3015 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1953 to 0.0.1954 |
| #3030 | π Tiny | tscircuitbot | Automated package update |
| #3062 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package version from 0.0.1970 to 0.0.1971 in package.json |
| #3024 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1958 |
| #3052 | π Tiny | tscircuitbot | Automated package update |
| #3017 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1954 to 0.0.1955 |
| #3059 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970 |
| #3036 | π Tiny | tscircuitbot | Automated package update |
| #3014 | π Tiny | tscircuitbot | Automated package update |
| #3054 | π Tiny | tscircuitbot | Automated package update |
| #3056 | π Tiny | tscircuitbot | Automated package update for tscircuitrunframe from version 0.0.1968 to 0.0.1969 |
| #3010 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package to version 0.0.1951 in the package.json file. |
| #3013 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953 |
| #3016 | π Tiny | tscircuitbot | Automated package update |
| #3043 | π Tiny | tscircuitbot | Automated package update |
| #3025 | π Tiny | tscircuitbot | Automated package update |
| #3057 | π Tiny | tscircuitbot | Automated package update |
| #3032 | π Tiny | tscircuitbot | Automated package update |
| #3033 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1959 to 0.0.1961 |
| #3049 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1965 to 0.0.1966 |
| #3018 | π Tiny | tscircuitbot | Automated package update |
| #3045 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964 |
| #3051 | π Tiny | tscircuitbot | Updates the tscircuitrunframe package from version 0.0.1966 to 0.0.1967 in the package.json file. |
| #3038 | π Tiny | tscircuitbot | Automated package update |
| #3034 | π Tiny | tscircuitbot | Automated package update |
| #3060 | π Tiny | tscircuitbot | Automated package update |
| #3046 | π Tiny | tscircuitbot | Automated package update |
| #3023 | π Tiny | tscircuitbot | Automated package update |
| #3055 | π Tiny | tscircuitbot | Automated package update |
| #3061 | π Tiny | tscircuitbot | Automated package update |
| #3029 | π Tiny | tscircuitbot | Automated README update with latest CLI usage output. |
| #3042 | π Tiny | tscircuitbot | Automated README update with latest CLI usage output. |
| #3026 | π Tiny | tscircuitbot | Automated package update |
| #3063 | π Tiny | tscircuitbot | Automated package update |
| #3050 | π Tiny | tscircuitbot | Automated package update |
| #3048 | π Tiny | tscircuitbot | Automated package update |
| #3041 | π Tiny | tscircuitbot | Automated package update |
| #3035 | π Tiny | tscircuitbot | Automated package update |
| #3031 | π Tiny | techmannih | Updates the easyeda dependency version from 0.0.258 to 0.0.269 in package.json |
| #3064 | π Tiny | Sang-it | Updates the dependency version of tscircuitcircuit-json-schematic-placement-analysis in package.json |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #1178 | π³ Major | βββ | imrishabh18 | Fixes the issue where the stitch solver disconnects the bridge fragment of the same root net during autorouting. |
| #1173 | π³ Major | βββ | ShiboSoftwareDev | Fixes reroute reachability for overlapping same-layer target nodes in the capacity mesh, ensuring reroute endpoints embedded in padtarget copper are reachable by the tiny-hypergraph pathing stage. |
| #1167 | π³ Major | βββ | ShiboSoftwareDev | Repairs disconnected intra-node route fragments when a same-root MST sibling already contains the missing local bridge, preserving connectivity for cases like cmn_68 in repro117. |
| #1188 | π³ Major | βββ | seveibar | Adds a new BusId type and updates the ConnectionPoint type to include an optional busId property. |
| #1175 | π³ Major | βββ | 0hmX | Adds a new multigraph topology planner for the autorouting pipeline, enhancing the routing capabilities of the system. |
| #1192 | π³ Major | βββ | 0hmX | Fixes the issue where the TinyHypergraphPortPointPathingSolver does not respect input solved routes during pathfinding operations. |
| #1174 | π³ Major | βββ | 0hmX | Adds a BGA topology and component detection solver to enhance routing capabilities for BGA components. |
| #1163 | π³ Major | βββ | 0hmX | Adds a solver that detects rectangular component areas and treats them as small SRJs for separate solving, enhancing the component detection process. |
| #1166 | π Minor | ββ | Sang-it | Adds functionality to annotate nominal trace widths in graphics based on connection specifications, enhancing visual representation in autorouting. |
π Tiny Contributions (8)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1195 | π Tiny | tscircuitbot | Automated package update |
| #1193 | π Tiny | tscircuitbot | Automated package update |
| #1190 | π Tiny | tscircuitbot | Automated package update |
| #1189 | π Tiny | tscircuitbot | Automated package update |
| #1180 | π Tiny | tscircuitbot | Automated package update |
| #1177 | π Tiny | tscircuitbot | Automated package update |
| #1170 | π Tiny | tscircuitbot | Automated package update |
| #1194 | π Tiny | 0hmX | Adds a reproduction test for the uniform port distribution path ordering issue in the autorouter. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #90 | π³ Major | βββ | imrishabh18 | Implements shared hole geometry for top and bottom layers, reducing the file size by optimizing the representation of holes in the circuit design. |
| #92 | π³ Major | βββ | imrishabh18 | Reduces file size by reusing pill boundary vertices at segment joins instead of creating duplicate vertices for each arc or line. |
| #88 | π Minor | ββ | imrishabh18 | Fixes the issue where the geometry is stored once and each component placement references it, leading to loss of face-level STYLED_ITEM colors in the test snapshot. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #93 | π Tiny | tscircuitbot | Automated package update |
| #91 | π Tiny | tscircuitbot | Automated package update |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #2 | π³ Major | βββ | imrishabh18 | Removes the shipping and payment sections from the order dialog and refactors the code by splitting it into smaller components. |
| #3 | π³ Major | βββ | imrishabh18 | This pull request integrates a fake Stripe server into the order checkout process, allowing for simulated payment processing during development. It adds a new script for running the fake Stripe server and modifies the order dialog to utilize this server for checkout sessions. |
| #4 | π Minor | ββ | imrishabh18 | Adds support for using fake-stripe with winterspec for local development, enabling mock Stripe API interactions. |
π Tiny Contributions (1)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #5 | π Tiny | imrishabh18 | Removes unnecessary configuration files and scripts from the project, streamlining the build process. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #1 | π³ Major | βββ | imrishabh18 | Adds functionality to upload a KiCad PCB file, allowing users to dynamically change the board being used in the application. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #4 | π³ Major | βββ | imrishabh18 | Refactors routing logic to utilize the Winterspec framework, enhancing the structure and maintainability of the routing code. |
| #3 | π Minor | ββ | imrishabh18 | Adds a hosted checkout page for simulating Stripe checkout sessions, including routes for creating, retrieving, and completing sessions. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #1 | π Tiny | imrishabh18 | Sets up a Bun-based server for a fake Stripe API, implementing checkout session functionalities including creation and retrieval of sessions. |
| #2 | π Tiny | imrishabh18 | Removes the use of crypto UUID for generating payment intent IDs and separates endpoint handling into distinct files for better organization. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #2665 | π Minor | ββ | imrishabh18 | Add a fallback mechanism for loading webworker entrypoints from an alternative CDN when the primary jsDelivr URL fails or returns a non-OK response. |
| #2674 | π Minor | ββ | MustafaMulla29 | Changes the primary CDN for loading npm packages from jsDelivr to jscdn, with jsDelivr as a fallback option. |
| #2699 | π Minor | ββ | techmannih | Adds CAD model extraction support for jlcpcb footprints in the eval platform, ensuring consistent behavior with kicad footprints by returning both footprintCircuitJson and cadModel. |
| #2655 | π Minor | ββ | techmannih | Adds support for fetching and rendering JLCPCB footprint data in the platform configuration. |
π Tiny Contributions (24)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #2700 | π Tiny | tscircuitbot | Automated package update |
| #2698 | π Tiny | tscircuitbot | Automated package update to version 0.0.852 |
| #2697 | π Tiny | tscircuitbot | Automated package update |
| #2678 | π Tiny | tscircuitbot | Automated package update |
| #2669 | π Tiny | tscircuitbot | Automated package update |
| #2677 | π Tiny | tscircuitbot | Automated package update |
| #2685 | π Tiny | tscircuitbot | Updates the version of the tscircuitcore package from 0.0.1251 to 0.0.1252 in package.json |
| #2682 | π Tiny | tscircuitbot | Updates package versions in package.json to the latest compatible versions. |
| #2686 | π Tiny | tscircuitbot | Automated package update |
| #2694 | π Tiny | tscircuitbot | Automated package update |
| #2689 | π Tiny | tscircuitbot | Automated package update |
| #2672 | π Tiny | tscircuitbot | Automated package update |
| #2668 | π Tiny | tscircuitbot | Automated package update |
| #2670 | π Tiny | tscircuitbot | Automated package update to version 0.0.842 |
| #2693 | π Tiny | tscircuitbot | Updates various package dependencies in the project to their latest versions. |
| #2676 | π Tiny | tscircuitbot | Updates the version of the tscircuitcore package from 0.0.1248 to 0.0.1249 in package.json |
| #2666 | π Tiny | tscircuitbot | Automated package update |
| #2695 | π Tiny | tscircuitbot | Updates package versions for dependencies in the project. |
| #2696 | π Tiny | tscircuitbot | Automated package update |
| #2673 | π Tiny | tscircuitbot | Automated package update |
| #2691 | π Tiny | tscircuitbot | Automated package update |
| #2688 | π Tiny | tscircuitbot | Automated package update |
| #2683 | π Tiny | tscircuitbot | Automated package update |
| #2690 | π Tiny | techmannih | Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json |
π Tiny Contributions (50)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #3197 | π Tiny | imrishabh18 | Fixes the missing dependency in the sync list that was causing the tscircuit to auto-update incorrectly. |
| #3191 | π Tiny | imrishabh18 | Updates the lockfile to ensure consistent dependency versions across environments. |
| #3189 | π Tiny | imrishabh18 | Updates CLI dependencies to newer versions in package.json |
| #3240 | π Tiny | tscircuitbot | Updates the package version from 0.0.1770 to 0.0.1771 in package.json |
| #3239 | π Tiny | tscircuitbot | Automated package update |
| #3238 | π Tiny | tscircuitbot | Automated package update |
| #3237 | π Tiny | tscircuitbot | Updates the tscircuitcli package from version 0.1.1396 to 0.1.1397 and the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 in package.json |
| #3236 | π Tiny | tscircuitbot | Automated package update |
| #3235 | π Tiny | tscircuitbot | Automated package update |
| #3234 | π Tiny | tscircuitbot | Automated package update |
| #3233 | π Tiny | tscircuitbot | Automated package update |
| #3231 | π Tiny | tscircuitbot | Automated package update |
| #3230 | π Tiny | tscircuitbot | Updates the tscircuitcli package from version 0.1.1393 to 0.1.1394 and the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 in package.json |
| #3228 | π Tiny | tscircuitbot | Updates the tscircuitcli package to version 0.1.1393 in the package.json file |
| #3229 | π Tiny | tscircuitbot | Automated package update |
| #3212 | π Tiny | tscircuitbot | Updates the tscircuitcli and tscircuiteval packages to their latest versions. |
| #3222 | π Tiny | tscircuitbot | Updates the tscircuitcli package from version 0.1.1390 to 0.1.1391 |
| #3219 | π Tiny | tscircuitbot | Automated package update |
| #3218 | π Tiny | tscircuitbot | Updates the tscircuitcli package version from 0.1.1388 to 0.1.1389 and the tscircuitrunframe package version from 0.0.1968 to 0.0.1969, while downgrading the circuit-to-svg package version from 0.0.347 to 0.0.345. |
| #3223 | π Tiny | tscircuitbot | Automated package update |
| #3205 | π Tiny | tscircuitbot | Automated package update |
| #3200 | π Tiny | tscircuitbot | Automated package update |
| #3213 | π Tiny | tscircuitbot | Automated package update |
| #3203 | π Tiny | tscircuitbot | Updates the tscircuitcli package from version 0.1.1383 to 0.1.1384 and the tscircuitrunframe package from version 0.0.1964 to 0.0.1965. |
| #3198 | π Tiny | tscircuitbot | Automated package update |
| #3224 | π Tiny | tscircuitbot | Updates the version of the tscircuitchecks and tscircuitcore packages in package.json |
| #3199 | π Tiny | tscircuitbot | Updates the tscircuitcli package version from 0.1.1381 to 0.1.1382 and the tscircuitrunframe package version from 0.0.1959 to 0.0.1963 in package.json |
| #3186 | π Tiny | tscircuitbot | Automated package update to version 0.0.1747 |
| #3196 | π Tiny | tscircuitbot | Automated package update |
| #3220 | π Tiny | tscircuitbot | Automated package update |
| #3215 | π Tiny | tscircuitbot | Automated package update |
| #3201 | π Tiny | tscircuitbot | Automated package update |
| #3209 | π Tiny | tscircuitbot | Automated package update |
| #3190 | π Tiny | tscircuitbot | Automated package version bump from 0.0.1747 to 0.0.1748 |
| #3202 | π Tiny | tscircuitbot | Automated package update |
| #3210 | π Tiny | tscircuitbot | Automated package update |
| #3225 | π Tiny | tscircuitbot | Automated package update |
| #3214 | π Tiny | tscircuitbot | Automated package update |
| #3206 | π Tiny | tscircuitbot | Automated package update to version 0.0.1756 |
| #3217 | π Tiny | tscircuitbot | Automated package update |
| #3204 | π Tiny | tscircuitbot | Automated package update to version 0.0.1755 |
| #3192 | π Tiny | tscircuitbot | Automated package update |
| #3227 | π Tiny | tscircuitbot | Automated package update |
| #3226 | π Tiny | tscircuitbot | Automated package update |
| #3221 | π Tiny | tscircuitbot | Updates the package version from 0.0.1761 to 0.0.1762 in package.json |
| #3194 | π Tiny | tscircuitbot | Automated package update |
| #3184 | π Tiny | mohan-bee | Updates the versions of the CLI, eval, runframe, and core packages in the project dependencies. |
| #3193 | π Tiny | MustafaMulla29 | Updates the tscircuitcore dependency version from 0.0.1249 to 0.0.1251 in package.json |
| #3195 | π Tiny | MustafaMulla29 | Updates the tscircuiteval dependency version from 0.0.845 to 0.0.846 in package.json |
| #3216 | π Tiny | techmannih | Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #2303 | π³ Major | βββ | MustafaMulla29 | Fixes autorouting failure when rerouting a subcircuit using the updated krt-wasm dependency |
| #2297 | π³ Major | βββ | MustafaMulla29 | Fixes the default nominal trace width for krt autorouter routes to ensure proper routing behavior in PCB designs. |
| #2306 | π Minor | ββ | techmannih | Extracts CAD models from library footprint circuit JSON when the resolver does not return an explicit CAD model, preserving embedded CAD metadata for 3D rendering. |
| #2301 | π Minor | ββ | techmannih | Fixes the hint provided for invalid JLCPCB footprint properties to guide users on the correct prefix usage. |
| #2294 | π Minor | ββ | Sang-it | Fixes schematic trace solver by passing missing information for better trace rendering and net label placement. |
| #2295 | π Minor | ββ | ShiboSoftwareDev | Refactors the Arduino Uno reroute repro helpers, adds SVG-backed repro coverage for multiple reroute regions, and fixes stale imported trace geometry left behind after merged region reroutes by expanding merged reroute connection names back to all original source trace IDs before deletion. |
| #2296 | π Minor | ββ | ShiboSoftwareDev | Fixes invalid source trace IDs in reroute output by ensuring that source_trace_id is only assigned when it resolves to exactly one real source trace. |
π Tiny Contributions (3)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #2302 | π Tiny | imrishabh18 | Adds a test to verify that the krt-wasm autorouter fails to re-route a subcircuit in a PCB design. |
| #2304 | π Tiny | tscircuitbot | Updates the tscircuitchecks package from version 0.0.129 to 0.0.130 |
| #2299 | π Tiny | tscircuitbot | Updates the tscircuitchecks package from version 0.0.128 to 0.0.129 |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #3417 | π³ Major | βββ | mohan-bee | Updates runframes KiCad project export to include referenced STEP files in the generated ZIP under 3dmodels, and enables local KIPRJMOD model paths in the exported .kicad_pcb. |
| #3447 | π³ Major | βββ | seveibar | Fixes the autorouting report button functionality in the file menu of the CircuitJsonPreview component. |
π Tiny Contributions (55)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #3415 | π Tiny | imrishabh18 | This pull request introduces a new feature that allows users to reroute a selected region of the PCB view to autoroute, enhancing the PCB design workflow. |
| #3463 | π Tiny | tscircuitbot | Automated package update |
| #3462 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.62 to 0.0.63 |
| #3461 | π Tiny | tscircuitbot | Automated package update |
| #3460 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.60 to 0.0.62 in package.json |
| #3458 | π Tiny | tscircuitbot | Automated package update |
| #3457 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package to version 0.0.60 in package.json |
| #3456 | π Tiny | tscircuitbot | Automated package update |
| #3455 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.851 to 0.0.853 in the package.json file. |
| #3454 | π Tiny | tscircuitbot | Automated package update |
| #3453 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.58 to 0.0.59 in package.json |
| #3452 | π Tiny | tscircuitbot | Automated package update |
| #3451 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.57 to 0.0.58 |
| #3450 | π Tiny | tscircuitbot | Automated package update |
| #3449 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.56 to 0.0.57 |
| #3448 | π Tiny | tscircuitbot | Automated package update |
| #3444 | π Tiny | tscircuitbot | Automated package update |
| #3419 | π Tiny | tscircuitbot | Automated package update |
| #3407 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.842 in the package.json file. |
| #3421 | π Tiny | tscircuitbot | Updates the package version from 0.0.1958 to 0.0.1959 in package.json |
| #3434 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.847 in the package.json file. |
| #3435 | π Tiny | tscircuitbot | Automated package update |
| #3436 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.848 in the package.json file. |
| #3412 | π Tiny | tscircuitbot | Automated package update |
| #3442 | π Tiny | tscircuitbot | Automated package update |
| #3410 | π Tiny | tscircuitbot | Automated package update |
| #3424 | π Tiny | tscircuitbot | Automated package update |
| #3408 | π Tiny | tscircuitbot | Automated package update |
| #3411 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.844 in the package.json file. |
| #3420 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.844 to 0.0.845 in the package.json file. |
| #3432 | π Tiny | tscircuitbot | Automated package update |
| #3431 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.55 to 0.0.56 |
| #3416 | π Tiny | tscircuitbot | Automated package update |
| #3409 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.842 to 0.0.843 in the package.json file. |
| #3403 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.839 to 0.0.840 in the project dependencies. |
| #3439 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.848 to 0.0.849 in the package.json file. |
| #3404 | π Tiny | tscircuitbot | Automated package update |
| #3427 | π Tiny | tscircuitbot | Updates the circuit-json-to-kicad package version from 0.0.136 to 0.0.137 in package.json |
| #3446 | π Tiny | tscircuitbot | Automated package update |
| #3413 | π Tiny | tscircuitbot | Updates the tscircuitpcb-viewer package from version 1.11.369 to 1.11.370 |
| #3437 | π Tiny | tscircuitbot | Automated package update |
| #3433 | π Tiny | tscircuitbot | Automated package update |
| #3443 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.849 to 0.0.850 |
| #3426 | π Tiny | tscircuitbot | Automated package update |
| #3425 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.846 in the package.json file. |
| #3429 | π Tiny | tscircuitbot | Updates the circuit-json-to-gerber package from version 0.0.54 to 0.0.55 |
| #3428 | π Tiny | tscircuitbot | Automated package update |
| #3445 | π Tiny | tscircuitbot | Updates the tscircuiteval package to version 0.0.851 in the package.json file. |
| #3430 | π Tiny | tscircuitbot | Automated package update |
| #3405 | π Tiny | tscircuitbot | Updates the tscircuiteval package from version 0.0.840 to 0.0.841 in the package.json file. |
| #3440 | π Tiny | tscircuitbot | Automated package update |
| #3423 | π Tiny | tscircuitbot | Updates the circuit-json-to-kicad package from version 0.0.135 to 0.0.136 in package.json |
| #3414 | π Tiny | tscircuitbot | Automated package update |
| #3441 | π Tiny | MustafaMulla29 | Updates the tscircuitinternal-dynamic-import dependency from version 0.0.6 to 0.0.7 in package.json |
| #3418 | π Tiny | techmannih | Updates the easyeda dependency version from 0.0.266 to 0.0.269 in package.json |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #264 | π Minor | ββ | mohan-bee | Adds functionality to export copper pours with correct geometry and net mapping in PCB designs. |
| #302 | π Minor | ββ | mohan-bee | This adds resolveAndLoadKicad3dModelFiles so circuit-json-to-kicad owns the KiCad 3D model output path convention while callers still control how files are fetched, read, and written. The helper supports builtin model CDN URLs, custom CAD URLs, local model files, and optional best-effort error handling for consumers like the CLI. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #304 | π Tiny | tscircuitbot | Automated package update |
| #303 | π Tiny | tscircuitbot | Automated package update |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #4 | π³ Major | βββ | MustafaMulla29 | This fixes a KRT rerouting failure where the router reported no route for a valid reroute segment whose endpoints were exactly on the reroute region boundary. The issue showed up from cores autoroutingphase reroute flow. Core was passing a valid SimpleRouteJson: the reroute region was bounded, and the segment endpoints were placed on the clipped region edges. KRT failed because its clearance-margin check treated cells near those boundary endpoints like normal routing cells. Since the required clearance margin extended outside the reroute bounds, the router rejected the endpoint area and returned no route. The fix updates GridObstacleMap::is_blocked_with_margin to respect existing endpoint exemptions. Cells within the endpoint exemption radius now skip the normal margin expansion and only check whether the cell itself is blocked. Normal routing cells still use the full clearance-margin behavior. Also adds a visual snapshot test that reproduces the core-style reroute case with a subcircuit and autoroutingphase reroute . |
π Tiny Contributions (5)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #8 | π Tiny | tscircuitbot | Automated package update |
| #3 | π Tiny | MustafaMulla29 | Adds a GitHub Actions workflow for testing using Bun, including setup, dependency installation, and test execution. |
| #5 | π Tiny | MustafaMulla29 | Adds a GitHub Actions workflow for publishing to npm, including version bumping and triggering updates for upstream repositories. |
| #6 | π Tiny | MustafaMulla29 | Installs wasm-pack as a prerequisite before executing the build command in the CI workflow. |
| #7 | π Tiny | MustafaMulla29 | Fixes the pver workflow and adds a new build workflow for the project. |
π Tiny Contributions (3)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #4 | π Tiny | tscircuitbot | Automated package update |
| #3 | π Tiny | rushabhcodes | This pull request adds two new GitHub Actions workflows to automate package publishing and dependency checking for the repository. |
| #2 | π Tiny | rushabhcodes | Fixes a clean-install runtime dependency bug that caused bun test to fail in GitHub Actions by adding circuit-json-to-connectivity-map as a direct runtime dependency in package.json. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #279 | π³ Major | βββ | mohan-bee | Adds support for the SparkFun RGB and Gesture Sensor APDS-9960 board by introducing new component definitions and updating the circuit layout. |
| #222 | π³ Major | βββ | rushabhcodes | Adds the SparkFun DE9 Breakout - Male board schematic and layout, defines the connector footprint, and provides documentation. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #147 | π Minor | ββ | mohan-bee | Updates the PCB component overlap check to include component courtyards in footprint overlap checks against standalone PCB holes, ensuring DRC reports violations correctly. |
| #149 | π Minor | ββ | mohan-bee | Fixes duplicate courtyard grouping in the PCB component overlap check, ensuring courtyard elements are added only once to each component and preventing duplicate footprint overlap errors while maintaining existing DRC behavior. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #11 | π Minor | ββ | mohan-bee | Syncs generated type bundle declarations for circuit-json-to-kicad, adding new interfaces and properties for better type definitions. |
| #13 | π Minor | ββ | MustafaMulla29 | Changes the dynamic import mechanism to prioritize jscdn for module imports, falling back to esm.run if jscdn fails. |
π Tiny Contributions (1)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #9 | π Tiny | mohan-bee | Updates the circuit-json-to-kicad package version from 0.0.91 to 0.0.137 in package.json |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #95 | π³ Major | βββ | MustafaMulla29 | Applies soldermask margins to SMT pads in Gerber output and ensures plated holes are correctly handled with respect to soldermask coverage. |
| #96 | π Minor | ββ | MustafaMulla29 | Fixes the soldermask margin calculation for circular PCB holes in Gerber file generation. |
| #94 | π Minor | ββ | MustafaMulla29 | Fixes missing soldermask openings for polygon SMT pads in Gerber output. |
| #93 | π Minor | ββ | MustafaMulla29 | Fixes missing copper pads and drill hits for route vias in the circuit JSON to Gerber conversion process. |
| #91 | π Minor | ββ | MustafaMulla29 | Fixes the issue where untented vias were not emitting soldermask openings in the Gerber output, ensuring proper representation in PCB designs. |
| #89 | π Minor | ββ | MustafaMulla29 | Fixes drill generation for boards with blind vias by separating drill outputs for blind and through vias, ensuring accurate drill files are created. |
π Tiny Contributions (4)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #97 | π Tiny | MustafaMulla29 | Reproduces a bug where the plated hole soldermask margin is not applied to the mask opening in the Gerber output. |
| #92 | π Tiny | MustafaMulla29 | Adds a test to ensure that trace route vias do not emit via pads, drill hits, or following layer segments in the Gerber output. |
| #90 | π Tiny | MustafaMulla29 | Reproduces a bug where untented vias incorrectly emit soldermask openings in Gerber output. |
| #88 | π Tiny | MustafaMulla29 | Reproduces a bug where a blind via drill is incorrectly emitted on the bottom layer without a copper pad in the Gerber output. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #392 | π³ Major | βββ | techmannih | Summary convert EasyEDA CIRCLE shapes on silkscreen layers into pcb_silkscreen_path output approximate silkscreen circles with 24 segments so they render in soup and generated TypeScript footprints update affected conversion tests and snapshots to cover the newly emitted silkscreen geometry Why Silkscreen circles were being dropped during conversion. That meant circular outline and marker graphics present in EasyEDA footprints did not make it into the generated soupTypeScript output or snapshots. Impact Generated footprints now preserve circular silkscreen details more faithfully, improving visual accuracy for downstream rendering and snapshot-based regression coverage. Root Cause The converter handled paths and arcs for silkscreen output, but it did not have a CIRCLE branch for silkscreen-layer shapes. Validation bun test --timeout 20000 testsconvert-to-soup-testsC265111.test.ts testsconvert-to-soup-testsc3178291-to-soup.test.ts testsconvert-to-soup-testsc46497.test.ts testsconvert-to-soup-testsc88224.test.ts testsconvert-to-soup-testsesp32-to-soup.test.ts testsconvert-to-tsC113367-to-ts.test.ts testsconvert-to-tsC12084-to-ts.test.ts testsconvert-to-tsC128415-to-ts.test.ts testsconvert-to-tsC19076967-to-ts.test.ts testsconvert-to-tsC2040-to-ts.test.ts testsconvert-to-tsC23689428-to-ts.test.ts testsconvert-to-tsC265111-to-ts.test.ts testsconvert-to-tsC2652953-to-ts.test.ts testsconvert-to-tsC2838502-to-ts.test.ts testsconvert-to-tsC2848306-to-ts.test.ts testsconvert-to-tsC2913206-to-ts.test.ts testsconvert-to-tsC2998002-to-ts.test.ts testsconvert-to-tsC3178291-to-ts.test.ts testsconvert-to-tsC393941-to-ts.test.ts testsconvert-to-tsC46497-to-ts.test.ts testsconvert-to-tsC51950748-to-ts.test.ts testsconvert-to-tsC7203002-to-ts.test.ts testsconvert-to-tsC88224-to-ts.test.ts bun test currently hits an unrelated timeout in browser bundle websafe guard |
π Tiny Contributions (1)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #391 | π Tiny | techmannih | Add fixture-backed coverage for C51950748 in the convert-to-ts suite, including test assets and snapshots for 3D rendering and PCB SVG output. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #583 | π Minor | ββ | techmannih | Adds an optional ccw_rotation property to the PCB fabrication note text schema, allowing for counter-clockwise rotation specification. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #561 | π Minor | ββ | techmannih | Fixes knockout text placement so anchor_alignment is honored for knockout-rendered text in both silkscreen and copper rendering. |
| #560 | π Minor | ββ | rushabhcodes | Fixes pcb_trace.route handling for the new through_pad route-point variant from circuit-json, ensuring correct rendering and bounds calculation for through-pad traces in SVG output. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #33 | π Minor | ββ | techmannih | Expands circuit-json to tscircuit footprint generation to support the full PCB fabrication note family, including text, rectangles, and dimensions with preserved attributes. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #41 | π Minor | ββ | techmannih | Parses fill solid as a filled shape for fp_rect, fp_circle, gr_rect, and board gr_poly, ensuring filled graphics are correctly represented and preventing fill registration collisions. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #89 | π Minor | ββ | techmannih | Summary This PR fixes copper-pour generation by switching CollectZonesStage to the typed kicadts zone API and bumping kicadts to the release that includes the merged typed-zone work. Concretely, the zone-to-copper-pour path now reads: zone.fill zone.filledPolygons zone.polygons zone.layer zone.layers filled_polygon layer information pts arc segments via the shared arc approximation helper and this repo now depends on kicadts 0.0.37 instead of 0.0.33. Root Cause There were two separate mismatches: 1. CollectZonesStage in this repo was still manually reparsing zone._rawChildren instead of using the parsed Zone API. 2. The PR branch was still committed with kicadts 0.0.33, while the typed zone fields used by the downstream change are provided by the newer merged kicadts release. That combination caused copper pours to disappear and led to runtime failures like: TypeError: undefined is not an object (evaluating zone.filledPolygons.length) in CI when the older dependency version was installed. What Changed remove manual _rawChildren parsing from CollectZonesStage detect filled zones from typed zone.fill and zone.filledPolygons emit copper pours from typed filledPolygons first, then fall back to typed polygons resolve copper-pour layers from zone.layer, zone.layers, and per-filled_polygon layer data expand pts arc segments with the existing shared arc helper so polygon point extraction stays aligned with the rest of the PCB pipeline bump kicadts from 0.0.33 to 0.0.37 update the affected snapshots for via_grid_template and repro01-joule-thief Impact This keeps KiCad parsing responsibility in kicadts and removes the repo-local zone parser from kicad-to-circuit-json. It also restores copper pours for the fixtures that depend on zone output, including multi-layer zone cases such as layers F.Cu B.Cu, and makes CI install the kicadts version that actually exposes the typed zone fields used by this change. Validation bunx tsc --noEmit bun test .testsreprosrepro02-arduino-unoarduino-uno-trace-grouping.test.ts bun test .testsvia-grid-template.test.ts bun test .testsreprosrepro01-joule-thiefrepro01-joule-thief-pcb.test.ts |
| #87 | π Minor | ββ | techmannih | Summary Preserve KiCad board-level gr_text knockout semantics when converting silkscreen text into Circuit JSON. What changed detect KiCad knockout on board silkscreen gr_text in CollectGraphicsStage emit pcb_silkscreen_text.is_knockout true for those items add targeted Arduino Nano repro assertions for the board texts NANO and GND update the Arduino Nano PNG golden to reflect the rendered knockout behavior Why Board-level gr_text items with KiCad knockout were being emitted as ordinary pcb_silkscreen_text entries, so the knockout intent was lost in Circuit JSON and in downstream rendering. Impact preserves silkscreen knockout semantics for board text imports tightens regression coverage around the existing Arduino Nano repro keeps the change scoped to the board text conversion path Root cause CollectGraphicsStage converted board gr_text into pcb_silkscreen_text without checking whether the KiCad layer metadata included knockout. Validation bunx tsc --noEmit bun test testsreprosarduino-nanoarduino-nano-pcb.test.ts |
| #91 | π Minor | ββ | techmannih | Fixes the npm publish process by adding necessary properties for pcb fabrication notes in the CollectGraphicsStage class. |
| #90 | π Minor | ββ | techmannih | Preserves standalone board text rotation when collecting KiCad gr_text into Circuit JSON, ensuring rotated labels are correctly represented in the output. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #236 | π Minor | ββ | techmannih | Preserves the alignment of copper knockout text anchors in PCB drawings by allowing for various anchor alignments instead of defaulting to center alignment. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #669 | π³ Major | βββ | Sang-it | Adds a nominalTraceWidth field to the Net interface to specify the width of traces in the circuit. |
π Tiny Contributions (2)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #671 | π Tiny | techmannih | Adds a generator for JLCPCB footprint autocomplete using the public jlcsearch API, enabling type-safe autocomplete for jlcpcb: footprint references in footprint props and pcbSx selectors. |
| #672 | π Tiny | rushabhcodes | Updates the circuit-json dependency to version 0.0.425 to fix issues in Sparkfun boards. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #22 | π Minor | ββ | rushabhcodes | Fixes deployment-only issue where hero preview images fail to load by adding static fallbacks and resolving asset URLs for reliable rendering in production. |
| #19 | π Minor | ββ | Abse2001 | Adds navigation links to the Editor in the header and footer of the landing page for easier access. |
π Tiny Contributions (4)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #21 | π Tiny | Abse2001 | Changes the navigation links from editor to quickstart to ensure consistent site navigation. |
| #20 | π Tiny | Abse2001 | Fixes the GitHub Actions workflow discovery by renaming workflow files to the correct directory structure. |
| #18 | π Tiny | Abse2001 | This pull request introduces two new GitHub Actions workflows for Continuous Integration (CI) in the repository. The first workflow is for building the project, and the second is for checking the formatting of the code. Both workflows are triggered on pushes and pull requests to the main branch. The build workflow installs dependencies using Bun and runs the build command, while the format-check workflow installs dependencies and runs a format check command. |
| #17 | π Tiny | Abse2001 | Adds a local development server setup using Vite for improved development workflow. |
π Tiny Contributions (1)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #84 | π Tiny | seveibar | Adds a new page to demonstrate that two different nets cannot share a single-port chokepoint in the Tiny Hypergraph solver. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #554 | π Minor | ββ | thisisharsh7 | Fixes blank preview in the Building a Keyboard with tscircuit tutorial by disabling routing for the final 60 keyboard example. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #35 | π³ Major | βββ | AnasSarkiz | Adds a new split-by-cut-setting utility that parses LightBurn project XML and generates separate .lbrn2 outputs for each cut setting, preserving relevant project metadata, filtering shapes by cut index, handling nested groups, producing safe unique filenames, and reporting shape counts per generated file. Also exports the new API from both root and lib entrypoints and adds a real-world LightBurn fixture for coverage. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #4 | π³ Major | βββ | AnasSarkiz | Adds a new dashboard UI for managing PCB fabrication jobs, including job queue, upload functionality, and workspace layout. |
| #8 | π³ Major | βββ | AnasSarkiz | Adds an interactive PCB fabrication workflow with deep-linking for job execution stages, allowing users to navigate through different fabrication stages directly from the dashboard. |
π Tiny Contributions (6)
| PR # | Impact | Contributor | Description |
|---|---|---|---|
| #5 | π Tiny | AnasSarkiz | Replaces static mock PCB illustrations with dynamically rendered PCB previews generated directly from real circuit JSON assets using circuit-to-svg. |
| #6 | π Tiny | AnasSarkiz | Adds a GitHub Actions workflow for building the project on push and pull request events to the main branch. |
| #7 | π Tiny | AnasSarkiz | Adds Anas as a code owner for the repository, indicating responsibility for code review and maintenance. |
| #2 | π Tiny | AnasSarkiz | Sets up a new frontend workspace using React Cosmos, Vite, Tailwind CSS, and TypeScript for improved development and styling capabilities. |
| #3 | π Tiny | AnasSarkiz | Adds CI workflows for automated formatting and TypeScript validation using Bun and GitHub Actions, ensuring code quality on every push and pull request to the main branch. |
| #1 | π Tiny | AnasSarkiz | Adds an MIT License file and a biome.json configuration file for code formatting and linting. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #20 | π³ Major | βββ | Abse2001 | Enhances the Global DRC solver by improving route translation, broad-force recovery, and endpoint connection handling for better routing efficiency. |
| #18 | π³ Major | βββ | Abse2001 | Add interactive DRC visualization tooling that allows users to visualize design rule check (DRC) errors with selectable error markers and layer-aware graphics, enhancing the debugging process for circuit designs. |
| #19 | π Minor | ββ | Abse2001 | Adds a summary table to log samples that have remaining DRC errors after benchmarking, displaying sample number, ID, DRC counts, iterations, and elapsed time. |
| PR # | Impact | Rating | Contributor | Description |
|---|---|---|---|---|
| #2 | π³ Major | βββ | Abse2001 | Add visualization tooling using React Cosmos for SRJ16 BGA breakout development |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #864 | π³ Major | βββ | Adds a new tool called Bounds that allows users to drag a rectangle around the view and select bounds, providing a callback with the selected coordinates. |
| #3446 | π³ Major | βββ | Passes the image and board specifications to the order dialog, allowing users to view detailed specifications and a preview image when ordering a package. |
| #3019 | π³ Major | βββ | Adds concurrency support for generating STEP files from circuit JSON, allowing multiple files to be processed simultaneously. |
| #1178 | π³ Major | βββ | Fixes the issue where the stitch solver disconnects the bridge fragment of the same root net during autorouting. |
| #90 | π³ Major | βββ | Implements shared hole geometry for top and bottom layers, reducing the file size by optimizing the representation of holes in the circuit design. |
| #92 | π³ Major | βββ | Reduces file size by reusing pill boundary vertices at segment joins instead of creating duplicate vertices for each arc or line. |
| #2 | π³ Major | βββ | Removes the shipping and payment sections from the order dialog and refactors the code by splitting it into smaller components. |
| #3 | π³ Major | βββ | This pull request integrates a fake Stripe server into the order checkout process, allowing for simulated payment processing during development. It adds a new script for running the fake Stripe server and modifies the order dialog to utilize this server for checkout sessions. |
| #1 | π³ Major | βββ | Adds functionality to upload a KiCad PCB file, allowing users to dynamically change the board being used in the application. |
| #4 | π³ Major | βββ | Refactors routing logic to utilize the Winterspec framework, enhancing the structure and maintainability of the routing code. |
| #3445 | π Minor | ββ | Integrates the fake-stripe library for simulating Stripe checkout sessions in the development environment. |
| #2665 | π Minor | ββ | Add a fallback mechanism for loading webworker entrypoints from an alternative CDN when the primary jsDelivr URL fails or returns a non-OK response. |
| #88 | π Minor | ββ | Fixes the issue where the geometry is stored once and each component placement references it, leading to loss of face-level STYLED_ITEM colors in the test snapshot. |
| #4 | π Minor | ββ | Adds support for using fake-stripe with winterspec for local development, enabling mock Stripe API interactions. |
| #3 | π Minor | ββ | Adds a hosted checkout page for simulating Stripe checkout sessions, including routes for creating, retrieving, and completing sessions. |
π Tiny Contributions (11)
| PR # | Impact | Description |
|---|---|---|
| #3197 | π Tiny | Fixes the missing dependency in the sync list that was causing the tscircuit to auto-update incorrectly. |
| #3191 | π Tiny | Updates the lockfile to ensure consistent dependency versions across environments. |
| #3189 | π Tiny | Updates CLI dependencies to newer versions in package.json |
| #2302 | π Tiny | Adds a test to verify that the krt-wasm autorouter fails to re-route a subcircuit in a PCB design. |
| #3438 | π Tiny | Applies CSS style fixes to the order dialog component, including background and z-index adjustments. |
| #3415 | π Tiny | This pull request introduces a new feature that allows users to reroute a selected region of the PCB view to autoroute, enhancing the PCB design workflow. |
| #3028 | π Tiny | Updates the circuit-json-to-step dependency from version 0.0.28 to 0.0.30 in package.json |
| #3039 | π Tiny | Updates the circuit-json-to-step dependency to version 0.0.32, resulting in a reduction of the file size of the generated step. |
| #5 | π Tiny | Removes unnecessary configuration files and scripts from the project, streamlining the build process. |
| #1 | π Tiny | Sets up a Bun-based server for a fake Stripe API, implementing checkout session functionalities including creation and retrieval of sessions. |
| #2 | π Tiny | Removes the use of crypto UUID for generating payment intent IDs and separates endpoint handling into distinct files for better organization. |
π Tiny Contributions (223)
| PR # | Impact | Description |
|---|---|---|
| #865 | π Tiny | Automated package update |
| #3240 | π Tiny | Updates the package version from 0.0.1770 to 0.0.1771 in package.json |
| #3239 | π Tiny | Automated package update |
| #3238 | π Tiny | Automated package update |
| #3237 | π Tiny | Updates the tscircuitcli package from version 0.1.1396 to 0.1.1397 and the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 in package.json |
| #3236 | π Tiny | Automated package update |
| #3235 | π Tiny | Automated package update |
| #3234 | π Tiny | Automated package update |
| #3233 | π Tiny | Automated package update |
| #3231 | π Tiny | Automated package update |
| #3230 | π Tiny | Updates the tscircuitcli package from version 0.1.1393 to 0.1.1394 and the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 in package.json |
| #3228 | π Tiny | Updates the tscircuitcli package to version 0.1.1393 in the package.json file |
| #3229 | π Tiny | Automated package update |
| #3212 | π Tiny | Updates the tscircuitcli and tscircuiteval packages to their latest versions. |
| #3222 | π Tiny | Updates the tscircuitcli package from version 0.1.1390 to 0.1.1391 |
| #3219 | π Tiny | Automated package update |
| #3218 | π Tiny | Updates the tscircuitcli package version from 0.1.1388 to 0.1.1389 and the tscircuitrunframe package version from 0.0.1968 to 0.0.1969, while downgrading the circuit-to-svg package version from 0.0.347 to 0.0.345. |
| #3223 | π Tiny | Automated package update |
| #3205 | π Tiny | Automated package update |
| #3200 | π Tiny | Automated package update |
| #3213 | π Tiny | Automated package update |
| #3203 | π Tiny | Updates the tscircuitcli package from version 0.1.1383 to 0.1.1384 and the tscircuitrunframe package from version 0.0.1964 to 0.0.1965. |
| #3198 | π Tiny | Automated package update |
| #3224 | π Tiny | Updates the version of the tscircuitchecks and tscircuitcore packages in package.json |
| #3199 | π Tiny | Updates the tscircuitcli package version from 0.1.1381 to 0.1.1382 and the tscircuitrunframe package version from 0.0.1959 to 0.0.1963 in package.json |
| #3186 | π Tiny | Automated package update to version 0.0.1747 |
| #3196 | π Tiny | Automated package update |
| #3220 | π Tiny | Automated package update |
| #3215 | π Tiny | Automated package update |
| #3201 | π Tiny | Automated package update |
| #3209 | π Tiny | Automated package update |
| #3190 | π Tiny | Automated package version bump from 0.0.1747 to 0.0.1748 |
| #3202 | π Tiny | Automated package update |
| #3210 | π Tiny | Automated package update |
| #3225 | π Tiny | Automated package update |
| #3214 | π Tiny | Automated package update |
| #3206 | π Tiny | Automated package update to version 0.0.1756 |
| #3217 | π Tiny | Automated package update |
| #3204 | π Tiny | Automated package update to version 0.0.1755 |
| #3192 | π Tiny | Automated package update |
| #3227 | π Tiny | Automated package update |
| #3226 | π Tiny | Automated package update |
| #3221 | π Tiny | Updates the package version from 0.0.1761 to 0.0.1762 in package.json |
| #3194 | π Tiny | Automated package update |
| #2304 | π Tiny | Updates the tscircuitchecks package from version 0.0.129 to 0.0.130 |
| #2299 | π Tiny | Updates the tscircuitchecks package from version 0.0.128 to 0.0.129 |
| #3455 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1978 to 0.0.1979 |
| #3454 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1978 |
| #3453 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1976 to 0.0.1977 |
| #3452 | π Tiny | Automated package update |
| #3451 | π Tiny | Automated package update |
| #3450 | π Tiny | Automated package update |
| #3449 | π Tiny | Automated package update |
| #3448 | π Tiny | Automated package update |
| #3444 | π Tiny | Automated package update |
| #3409 | π Tiny | Updates the tscircuiteval package from version 0.0.839 to 0.0.840 |
| #3410 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1951 |
| #3441 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970 |
| #3443 | π Tiny | Automated package update |
| #3411 | π Tiny | Automated package update |
| #3432 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1966 in package.json |
| #3415 | π Tiny | Automated package update |
| #3418 | π Tiny | Automated package update |
| #3416 | π Tiny | Automated package update |
| #3434 | π Tiny | Automated package update |
| #3417 | π Tiny | Automated package update |
| #3428 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963 |
| #3419 | π Tiny | Automated package update |
| #3440 | π Tiny | Updates the tscircuiteval package to version 0.0.850 in package.json |
| #3431 | π Tiny | Automated package update |
| #3424 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1959 |
| #3429 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964 |
| #3439 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1969 |
| #3422 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1958 in package.json |
| #3437 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1967 to 0.0.1968 |
| #3420 | π Tiny | Automated package update |
| #3425 | π Tiny | Updates the tscircuiteval package to version 0.0.846 in the package.json file. |
| #3423 | π Tiny | Updates the tscircuiteval package to version 0.0.845 in the package.json file. |
| #3413 | π Tiny | Automated package update |
| #3427 | π Tiny | Automated package update |
| #3436 | π Tiny | Updates the tscircuiteval package to version 0.0.849 in the package.json file. |
| #3433 | π Tiny | Automated package update |
| #3430 | π Tiny | Automated package update |
| #3442 | π Tiny | Automated package update for tscircuiteval from version 0.0.850 to 0.0.851 |
| #3414 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953 |
| #2700 | π Tiny | Automated package update |
| #2698 | π Tiny | Automated package update to version 0.0.852 |
| #2697 | π Tiny | Automated package update |
| #2678 | π Tiny | Automated package update |
| #2669 | π Tiny | Automated package update |
| #2677 | π Tiny | Automated package update |
| #2685 | π Tiny | Updates the version of the tscircuitcore package from 0.0.1251 to 0.0.1252 in package.json |
| #2682 | π Tiny | Updates package versions in package.json to the latest compatible versions. |
| #2686 | π Tiny | Automated package update |
| #2694 | π Tiny | Automated package update |
| #2689 | π Tiny | Automated package update |
| #2672 | π Tiny | Automated package update |
| #2668 | π Tiny | Automated package update |
| #2670 | π Tiny | Automated package update to version 0.0.842 |
| #2693 | π Tiny | Updates various package dependencies in the project to their latest versions. |
| #2676 | π Tiny | Updates the version of the tscircuitcore package from 0.0.1248 to 0.0.1249 in package.json |
| #2666 | π Tiny | Automated package update |
| #2695 | π Tiny | Updates package versions for dependencies in the project. |
| #2696 | π Tiny | Automated package update |
| #2673 | π Tiny | Automated package update |
| #2691 | π Tiny | Automated package update |
| #2688 | π Tiny | Automated package update |
| #2683 | π Tiny | Automated package update |
| #3463 | π Tiny | Automated package update |
| #3462 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.62 to 0.0.63 |
| #3461 | π Tiny | Automated package update |
| #3460 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.60 to 0.0.62 in package.json |
| #3458 | π Tiny | Automated package update |
| #3457 | π Tiny | Updates the circuit-json-to-gerber package to version 0.0.60 in package.json |
| #3456 | π Tiny | Automated package update |
| #3455 | π Tiny | Updates the tscircuiteval package from version 0.0.851 to 0.0.853 in the package.json file. |
| #3454 | π Tiny | Automated package update |
| #3453 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.58 to 0.0.59 in package.json |
| #3452 | π Tiny | Automated package update |
| #3451 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.57 to 0.0.58 |
| #3450 | π Tiny | Automated package update |
| #3449 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.56 to 0.0.57 |
| #3448 | π Tiny | Automated package update |
| #3444 | π Tiny | Automated package update |
| #3419 | π Tiny | Automated package update |
| #3407 | π Tiny | Updates the tscircuiteval package to version 0.0.842 in the package.json file. |
| #3421 | π Tiny | Updates the package version from 0.0.1958 to 0.0.1959 in package.json |
| #3434 | π Tiny | Updates the tscircuiteval package to version 0.0.847 in the package.json file. |
| #3435 | π Tiny | Automated package update |
| #3436 | π Tiny | Updates the tscircuiteval package to version 0.0.848 in the package.json file. |
| #3412 | π Tiny | Automated package update |
| #3442 | π Tiny | Automated package update |
| #3410 | π Tiny | Automated package update |
| #3424 | π Tiny | Automated package update |
| #3408 | π Tiny | Automated package update |
| #3411 | π Tiny | Updates the tscircuiteval package to version 0.0.844 in the package.json file. |
| #3420 | π Tiny | Updates the tscircuiteval package from version 0.0.844 to 0.0.845 in the package.json file. |
| #3432 | π Tiny | Automated package update |
| #3431 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.55 to 0.0.56 |
| #3416 | π Tiny | Automated package update |
| #3409 | π Tiny | Updates the tscircuiteval package from version 0.0.842 to 0.0.843 in the package.json file. |
| #3403 | π Tiny | Updates the tscircuiteval package from version 0.0.839 to 0.0.840 in the project dependencies. |
| #3439 | π Tiny | Updates the tscircuiteval package from version 0.0.848 to 0.0.849 in the package.json file. |
| #3404 | π Tiny | Automated package update |
| #3427 | π Tiny | Updates the circuit-json-to-kicad package version from 0.0.136 to 0.0.137 in package.json |
| #3446 | π Tiny | Automated package update |
| #3413 | π Tiny | Updates the tscircuitpcb-viewer package from version 1.11.369 to 1.11.370 |
| #3437 | π Tiny | Automated package update |
| #3433 | π Tiny | Automated package update |
| #3443 | π Tiny | Updates the tscircuiteval package from version 0.0.849 to 0.0.850 |
| #3426 | π Tiny | Automated package update |
| #3425 | π Tiny | Updates the tscircuiteval package to version 0.0.846 in the package.json file. |
| #3429 | π Tiny | Updates the circuit-json-to-gerber package from version 0.0.54 to 0.0.55 |
| #3428 | π Tiny | Automated package update |
| #3445 | π Tiny | Updates the tscircuiteval package to version 0.0.851 in the package.json file. |
| #3430 | π Tiny | Automated package update |
| #3405 | π Tiny | Updates the tscircuiteval package from version 0.0.840 to 0.0.841 in the package.json file. |
| #3440 | π Tiny | Automated package update |
| #3423 | π Tiny | Updates the circuit-json-to-kicad package from version 0.0.135 to 0.0.136 in package.json |
| #3414 | π Tiny | Automated package update |
| #3073 | π Tiny | Automated package update |
| #3072 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1974 to 0.0.1975 |
| #3070 | π Tiny | Automated package update |
| #3068 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1973 in package.json |
| #3067 | π Tiny | Automated package update |
| #3066 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1971 to 0.0.1972 |
| #3065 | π Tiny | Automated package update |
| #3047 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1964 to 0.0.1965 |
| #3020 | π Tiny | Automated package update |
| #3027 | π Tiny | Automated package update |
| #3037 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1962 to 0.0.1963 |
| #3022 | π Tiny | Updates the tscircuitrunframe package version from 0.0.1955 to 0.0.1957 in package.json |
| #3015 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1953 to 0.0.1954 |
| #3030 | π Tiny | Automated package update |
| #3062 | π Tiny | Updates the tscircuitrunframe package version from 0.0.1970 to 0.0.1971 in package.json |
| #3024 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1958 |
| #3052 | π Tiny | Automated package update |
| #3017 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1954 to 0.0.1955 |
| #3059 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1969 to 0.0.1970 |
| #3036 | π Tiny | Automated package update |
| #3014 | π Tiny | Automated package update |
| #3054 | π Tiny | Automated package update |
| #3056 | π Tiny | Automated package update for tscircuitrunframe from version 0.0.1968 to 0.0.1969 |
| #3010 | π Tiny | Updates the tscircuitrunframe package to version 0.0.1951 in the package.json file. |
| #3013 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1951 to 0.0.1953 |
| #3016 | π Tiny | Automated package update |
| #3043 | π Tiny | Automated package update |
| #3025 | π Tiny | Automated package update |
| #3057 | π Tiny | Automated package update |
| #3032 | π Tiny | Automated package update |
| #3033 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1959 to 0.0.1961 |
| #3049 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1965 to 0.0.1966 |
| #3018 | π Tiny | Automated package update |
| #3045 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1963 to 0.0.1964 |
| #3051 | π Tiny | Updates the tscircuitrunframe package from version 0.0.1966 to 0.0.1967 in the package.json file. |
| #3038 | π Tiny | Automated package update |
| #3034 | π Tiny | Automated package update |
| #3060 | π Tiny | Automated package update |
| #3046 | π Tiny | Automated package update |
| #3023 | π Tiny | Automated package update |
| #3055 | π Tiny | Automated package update |
| #3061 | π Tiny | Automated package update |
| #3029 | π Tiny | Automated README update with latest CLI usage output. |
| #3042 | π Tiny | Automated README update with latest CLI usage output. |
| #3026 | π Tiny | Automated package update |
| #3063 | π Tiny | Automated package update |
| #3050 | π Tiny | Automated package update |
| #3048 | π Tiny | Automated package update |
| #3041 | π Tiny | Automated package update |
| #3035 | π Tiny | Automated package update |
| #1195 | π Tiny | Automated package update |
| #1193 | π Tiny | Automated package update |
| #1190 | π Tiny | Automated package update |
| #1189 | π Tiny | Automated package update |
| #1180 | π Tiny | Automated package update |
| #1177 | π Tiny | Automated package update |
| #1170 | π Tiny | Automated package update |
| #93 | π Tiny | Automated package update |
| #91 | π Tiny | Automated package update |
| #304 | π Tiny | Automated package update |
| #303 | π Tiny | Automated package update |
| #8 | π Tiny | Automated package update |
| #4 | π Tiny | Automated package update |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #3421 | π³ Major | βββ | Updates the KiCad project build path to use resolveAndLoadKicad3dModelFiles from circuit-json-to-kicad0.0.137, ensuring 3D model assets are included in project exports for a self-contained ZIP file. |
| #3417 | π³ Major | βββ | Updates runframes KiCad project export to include referenced STEP files in the generated ZIP under 3dmodels, and enables local KIPRJMOD model paths in the exported .kicad_pcb. |
| #279 | π³ Major | βββ | Adds support for the SparkFun RGB and Gesture Sensor APDS-9960 board by introducing new component definitions and updating the circuit layout. |
| #147 | π Minor | ββ | Updates the PCB component overlap check to include component courtyards in footprint overlap checks against standalone PCB holes, ensuring DRC reports violations correctly. |
| #149 | π Minor | ββ | Fixes duplicate courtyard grouping in the PCB component overlap check, ensuring courtyard elements are added only once to each component and preventing duplicate footprint overlap errors while maintaining existing DRC behavior. |
| #3044 | π Minor | ββ | Refactors the 3D model file handling in the KiCad project generation process to use a new utility function for improved loading and error handling. |
| #3058 | π Minor | ββ | Refactors the handling of 3D model files by replacing manual fetching and copying with a centralized function for loading 3D models in KiCad libraries. |
| #264 | π Minor | ββ | Adds functionality to export copper pours with correct geometry and net mapping in PCB designs. |
| #302 | π Minor | ββ | This adds resolveAndLoadKicad3dModelFiles so circuit-json-to-kicad owns the KiCad 3D model output path convention while callers still control how files are fetched, read, and written. The helper supports builtin model CDN URLs, custom CAD URLs, local model files, and optional best-effort error handling for consumers like the CLI. |
| #11 | π Minor | ββ | Syncs generated type bundle declarations for circuit-json-to-kicad, adding new interfaces and properties for better type definitions. |
π Tiny Contributions (2)
| PR # | Impact | Description |
|---|---|---|
| #3184 | π Tiny | Updates the versions of the CLI, eval, runframe, and core packages in the project dependencies. |
| #9 | π Tiny | Updates the circuit-json-to-kicad package version from 0.0.91 to 0.0.137 in package.json |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #2303 | π³ Major | βββ | Fixes autorouting failure when rerouting a subcircuit using the updated krt-wasm dependency |
| #2297 | π³ Major | βββ | Fixes the default nominal trace width for krt autorouter routes to ensure proper routing behavior in PCB designs. |
| #95 | π³ Major | βββ | Applies soldermask margins to SMT pads in Gerber output and ensures plated holes are correctly handled with respect to soldermask coverage. |
| #4 | π³ Major | βββ | This fixes a KRT rerouting failure where the router reported no route for a valid reroute segment whose endpoints were exactly on the reroute region boundary. The issue showed up from cores autoroutingphase reroute flow. Core was passing a valid SimpleRouteJson: the reroute region was bounded, and the segment endpoints were placed on the clipped region edges. KRT failed because its clearance-margin check treated cells near those boundary endpoints like normal routing cells. Since the required clearance margin extended outside the reroute bounds, the router rejected the endpoint area and returned no route. The fix updates GridObstacleMap::is_blocked_with_margin to respect existing endpoint exemptions. Cells within the endpoint exemption radius now skip the normal margin expansion and only check whether the cell itself is blocked. Normal routing cells still use the full clearance-margin behavior. Also adds a visual snapshot test that reproduces the core-style reroute case with a subcircuit and autoroutingphase reroute . |
| #96 | π Minor | ββ | Fixes the soldermask margin calculation for circular PCB holes in Gerber file generation. |
| #94 | π Minor | ββ | Fixes missing soldermask openings for polygon SMT pads in Gerber output. |
| #93 | π Minor | ββ | Fixes missing copper pads and drill hits for route vias in the circuit JSON to Gerber conversion process. |
| #91 | π Minor | ββ | Fixes the issue where untented vias were not emitting soldermask openings in the Gerber output, ensuring proper representation in PCB designs. |
| #89 | π Minor | ββ | Fixes drill generation for boards with blind vias by separating drill outputs for blind and through vias, ensuring accurate drill files are created. |
| #2674 | π Minor | ββ | Changes the primary CDN for loading npm packages from jsDelivr to jscdn, with jsDelivr as a fallback option. |
| #13 | π Minor | ββ | Changes the dynamic import mechanism to prioritize jscdn for module imports, falling back to esm.run if jscdn fails. |
π Tiny Contributions (11)
| PR # | Impact | Description |
|---|---|---|
| #3193 | π Tiny | Updates the tscircuitcore dependency version from 0.0.1249 to 0.0.1251 in package.json |
| #3195 | π Tiny | Updates the tscircuiteval dependency version from 0.0.845 to 0.0.846 in package.json |
| #97 | π Tiny | Reproduces a bug where the plated hole soldermask margin is not applied to the mask opening in the Gerber output. |
| #92 | π Tiny | Adds a test to ensure that trace route vias do not emit via pads, drill hits, or following layer segments in the Gerber output. |
| #90 | π Tiny | Reproduces a bug where untented vias incorrectly emit soldermask openings in Gerber output. |
| #88 | π Tiny | Reproduces a bug where a blind via drill is incorrectly emitted on the bottom layer without a copper pad in the Gerber output. |
| #3441 | π Tiny | Updates the tscircuitinternal-dynamic-import dependency from version 0.0.6 to 0.0.7 in package.json |
| #3 | π Tiny | Adds a GitHub Actions workflow for testing using Bun, including setup, dependency installation, and test execution. |
| #5 | π Tiny | Adds a GitHub Actions workflow for publishing to npm, including version bumping and triggering updates for upstream repositories. |
| #6 | π Tiny | Installs wasm-pack as a prerequisite before executing the build command in the CI workflow. |
| #7 | π Tiny | Fixes the pver workflow and adds a new build workflow for the project. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #392 | π³ Major | βββ | Summary convert EasyEDA CIRCLE shapes on silkscreen layers into pcb_silkscreen_path output approximate silkscreen circles with 24 segments so they render in soup and generated TypeScript footprints update affected conversion tests and snapshots to cover the newly emitted silkscreen geometry Why Silkscreen circles were being dropped during conversion. That meant circular outline and marker graphics present in EasyEDA footprints did not make it into the generated soupTypeScript output or snapshots. Impact Generated footprints now preserve circular silkscreen details more faithfully, improving visual accuracy for downstream rendering and snapshot-based regression coverage. Root Cause The converter handled paths and arcs for silkscreen output, but it did not have a CIRCLE branch for silkscreen-layer shapes. Validation bun test --timeout 20000 testsconvert-to-soup-testsC265111.test.ts testsconvert-to-soup-testsc3178291-to-soup.test.ts testsconvert-to-soup-testsc46497.test.ts testsconvert-to-soup-testsc88224.test.ts testsconvert-to-soup-testsesp32-to-soup.test.ts testsconvert-to-tsC113367-to-ts.test.ts testsconvert-to-tsC12084-to-ts.test.ts testsconvert-to-tsC128415-to-ts.test.ts testsconvert-to-tsC19076967-to-ts.test.ts testsconvert-to-tsC2040-to-ts.test.ts testsconvert-to-tsC23689428-to-ts.test.ts testsconvert-to-tsC265111-to-ts.test.ts testsconvert-to-tsC2652953-to-ts.test.ts testsconvert-to-tsC2838502-to-ts.test.ts testsconvert-to-tsC2848306-to-ts.test.ts testsconvert-to-tsC2913206-to-ts.test.ts testsconvert-to-tsC2998002-to-ts.test.ts testsconvert-to-tsC3178291-to-ts.test.ts testsconvert-to-tsC393941-to-ts.test.ts testsconvert-to-tsC46497-to-ts.test.ts testsconvert-to-tsC51950748-to-ts.test.ts testsconvert-to-tsC7203002-to-ts.test.ts testsconvert-to-tsC88224-to-ts.test.ts bun test currently hits an unrelated timeout in browser bundle websafe guard |
| #583 | π Minor | ββ | Adds an optional ccw_rotation property to the PCB fabrication note text schema, allowing for counter-clockwise rotation specification. |
| #2306 | π Minor | ββ | Extracts CAD models from library footprint circuit JSON when the resolver does not return an explicit CAD model, preserving embedded CAD metadata for 3D rendering. |
| #2301 | π Minor | ββ | Fixes the hint provided for invalid JLCPCB footprint properties to guide users on the correct prefix usage. |
| #561 | π Minor | ββ | Fixes knockout text placement so anchor_alignment is honored for knockout-rendered text in both silkscreen and copper rendering. |
| #2699 | π Minor | ββ | Adds CAD model extraction support for jlcpcb footprints in the eval platform, ensuring consistent behavior with kicad footprints by returning both footprintCircuitJson and cadModel. |
| #2655 | π Minor | ββ | Adds support for fetching and rendering JLCPCB footprint data in the platform configuration. |
| #33 | π Minor | ββ | Expands circuit-json to tscircuit footprint generation to support the full PCB fabrication note family, including text, rectangles, and dimensions with preserved attributes. |
| #41 | π Minor | ββ | Parses fill solid as a filled shape for fp_rect, fp_circle, gr_rect, and board gr_poly, ensuring filled graphics are correctly represented and preventing fill registration collisions. |
| #89 | π Minor | ββ | Summary This PR fixes copper-pour generation by switching CollectZonesStage to the typed kicadts zone API and bumping kicadts to the release that includes the merged typed-zone work. Concretely, the zone-to-copper-pour path now reads: zone.fill zone.filledPolygons zone.polygons zone.layer zone.layers filled_polygon layer information pts arc segments via the shared arc approximation helper and this repo now depends on kicadts 0.0.37 instead of 0.0.33. Root Cause There were two separate mismatches: 1. CollectZonesStage in this repo was still manually reparsing zone._rawChildren instead of using the parsed Zone API. 2. The PR branch was still committed with kicadts 0.0.33, while the typed zone fields used by the downstream change are provided by the newer merged kicadts release. That combination caused copper pours to disappear and led to runtime failures like: TypeError: undefined is not an object (evaluating zone.filledPolygons.length) in CI when the older dependency version was installed. What Changed remove manual _rawChildren parsing from CollectZonesStage detect filled zones from typed zone.fill and zone.filledPolygons emit copper pours from typed filledPolygons first, then fall back to typed polygons resolve copper-pour layers from zone.layer, zone.layers, and per-filled_polygon layer data expand pts arc segments with the existing shared arc helper so polygon point extraction stays aligned with the rest of the PCB pipeline bump kicadts from 0.0.33 to 0.0.37 update the affected snapshots for via_grid_template and repro01-joule-thief Impact This keeps KiCad parsing responsibility in kicadts and removes the repo-local zone parser from kicad-to-circuit-json. It also restores copper pours for the fixtures that depend on zone output, including multi-layer zone cases such as layers F.Cu B.Cu, and makes CI install the kicadts version that actually exposes the typed zone fields used by this change. Validation bunx tsc --noEmit bun test .testsreprosrepro02-arduino-unoarduino-uno-trace-grouping.test.ts bun test .testsvia-grid-template.test.ts bun test .testsreprosrepro01-joule-thiefrepro01-joule-thief-pcb.test.ts |
| #87 | π Minor | ββ | Summary Preserve KiCad board-level gr_text knockout semantics when converting silkscreen text into Circuit JSON. What changed detect KiCad knockout on board silkscreen gr_text in CollectGraphicsStage emit pcb_silkscreen_text.is_knockout true for those items add targeted Arduino Nano repro assertions for the board texts NANO and GND update the Arduino Nano PNG golden to reflect the rendered knockout behavior Why Board-level gr_text items with KiCad knockout were being emitted as ordinary pcb_silkscreen_text entries, so the knockout intent was lost in Circuit JSON and in downstream rendering. Impact preserves silkscreen knockout semantics for board text imports tightens regression coverage around the existing Arduino Nano repro keeps the change scoped to the board text conversion path Root cause CollectGraphicsStage converted board gr_text into pcb_silkscreen_text without checking whether the KiCad layer metadata included knockout. Validation bunx tsc --noEmit bun test testsreprosarduino-nanoarduino-nano-pcb.test.ts |
| #91 | π Minor | ββ | Fixes the npm publish process by adding necessary properties for pcb fabrication notes in the CollectGraphicsStage class. |
| #90 | π Minor | ββ | Preserves standalone board text rotation when collecting KiCad gr_text into Circuit JSON, ensuring rotated labels are correctly represented in the output. |
| #236 | π Minor | ββ | Preserves the alignment of copper knockout text anchors in PCB drawings by allowing for various anchor alignments instead of defaulting to center alignment. |
π Tiny Contributions (6)
| PR # | Impact | Description |
|---|---|---|
| #3216 | π Tiny | Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json |
| #671 | π Tiny | Adds a generator for JLCPCB footprint autocomplete using the public jlcsearch API, enabling type-safe autocomplete for jlcpcb: footprint references in footprint props and pcbSx selectors. |
| #391 | π Tiny | Add fixture-backed coverage for C51950748 in the convert-to-ts suite, including test assets and snapshots for 3D rendering and PCB SVG output. |
| #2690 | π Tiny | Updates the circuit-to-svg dependency version from 0.0.345 to 0.0.347 in package.json |
| #3418 | π Tiny | Updates the easyeda dependency version from 0.0.266 to 0.0.269 in package.json |
| #3031 | π Tiny | Updates the easyeda dependency version from 0.0.258 to 0.0.269 in package.json |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #222 | π³ Major | βββ | Adds the SparkFun DE9 Breakout - Male board schematic and layout, defines the connector footprint, and provides documentation. |
| #560 | π Minor | ββ | Fixes pcb_trace.route handling for the new through_pad route-point variant from circuit-json, ensuring correct rendering and bounds calculation for through-pad traces in SVG output. |
| #22 | π Minor | ββ | Fixes deployment-only issue where hero preview images fail to load by adding static fallbacks and resolving asset URLs for reliable rendering in production. |
π Tiny Contributions (3)
| PR # | Impact | Description |
|---|---|---|
| #672 | π Tiny | Updates the circuit-json dependency to version 0.0.425 to fix issues in Sparkfun boards. |
| #3 | π Tiny | This pull request adds two new GitHub Actions workflows to automate package publishing and dependency checking for the repository. |
| #2 | π Tiny | Fixes a clean-install runtime dependency bug that caused bun test to fail in GitHub Actions by adding circuit-json-to-connectivity-map as a direct runtime dependency in package.json. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #669 | π³ Major | βββ | Adds a nominalTraceWidth field to the Net interface to specify the width of traces in the circuit. |
| #2294 | π Minor | ββ | Fixes schematic trace solver by passing missing information for better trace rendering and net label placement. |
| #1166 | π Minor | ββ | Adds functionality to annotate nominal trace widths in graphics based on connection specifications, enhancing visual representation in autorouting. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #3064 | π Tiny | Updates the dependency version of tscircuitcircuit-json-schematic-placement-analysis in package.json |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #1173 | π³ Major | βββ | Fixes reroute reachability for overlapping same-layer target nodes in the capacity mesh, ensuring reroute endpoints embedded in padtarget copper are reachable by the tiny-hypergraph pathing stage. |
| #1167 | π³ Major | βββ | Repairs disconnected intra-node route fragments when a same-root MST sibling already contains the missing local bridge, preserving connectivity for cases like cmn_68 in repro117. |
| #2295 | π Minor | ββ | Refactors the Arduino Uno reroute repro helpers, adds SVG-backed repro coverage for multiple reroute regions, and fixes stale imported trace geometry left behind after merged region reroutes by expanding merged reroute connection names back to all original source trace IDs before deletion. |
| #2296 | π Minor | ββ | Fixes invalid source trace IDs in reroute output by ensuring that source_trace_id is only assigned when it resolves to exactly one real source trace. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #3447 | π³ Major | βββ | Fixes the autorouting report button functionality in the file menu of the CircuitJsonPreview component. |
| #1188 | π³ Major | βββ | Adds a new BusId type and updates the ConnectionPoint type to include an optional busId property. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #84 | π Tiny | Adds a new page to demonstrate that two different nets cannot share a single-port chokepoint in the Tiny Hypergraph solver. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #554 | π Minor | ββ | Fixes blank preview in the Building a Keyboard with tscircuit tutorial by disabling routing for the final 60 keyboard example. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #1175 | π³ Major | βββ | Adds a new multigraph topology planner for the autorouting pipeline, enhancing the routing capabilities of the system. |
| #1192 | π³ Major | βββ | Fixes the issue where the TinyHypergraphPortPointPathingSolver does not respect input solved routes during pathfinding operations. |
| #1174 | π³ Major | βββ | Adds a BGA topology and component detection solver to enhance routing capabilities for BGA components. |
| #1163 | π³ Major | βββ | Adds a solver that detects rectangular component areas and treats them as small SRJs for separate solving, enhancing the component detection process. |
π Tiny Contributions (1)
| PR # | Impact | Description |
|---|---|---|
| #1194 | π Tiny | Adds a reproduction test for the uniform port distribution path ordering issue in the autorouter. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #35 | π³ Major | βββ | Adds a new split-by-cut-setting utility that parses LightBurn project XML and generates separate .lbrn2 outputs for each cut setting, preserving relevant project metadata, filtering shapes by cut index, handling nested groups, producing safe unique filenames, and reporting shape counts per generated file. Also exports the new API from both root and lib entrypoints and adds a real-world LightBurn fixture for coverage. |
| #4 | π³ Major | βββ | Adds a new dashboard UI for managing PCB fabrication jobs, including job queue, upload functionality, and workspace layout. |
| #8 | π³ Major | βββ | Adds an interactive PCB fabrication workflow with deep-linking for job execution stages, allowing users to navigate through different fabrication stages directly from the dashboard. |
π Tiny Contributions (6)
| PR # | Impact | Description |
|---|---|---|
| #5 | π Tiny | Replaces static mock PCB illustrations with dynamically rendered PCB previews generated directly from real circuit JSON assets using circuit-to-svg. |
| #6 | π Tiny | Adds a GitHub Actions workflow for building the project on push and pull request events to the main branch. |
| #7 | π Tiny | Adds Anas as a code owner for the repository, indicating responsibility for code review and maintenance. |
| #2 | π Tiny | Sets up a new frontend workspace using React Cosmos, Vite, Tailwind CSS, and TypeScript for improved development and styling capabilities. |
| #3 | π Tiny | Adds CI workflows for automated formatting and TypeScript validation using Bun and GitHub Actions, ensuring code quality on every push and pull request to the main branch. |
| #1 | π Tiny | Adds an MIT License file and a biome.json configuration file for code formatting and linting. |
| PRs # | Impact | Rating | Description |
|---|---|---|---|
| #20 | π³ Major | βββ | Enhances the Global DRC solver by improving route translation, broad-force recovery, and endpoint connection handling for better routing efficiency. |
| #18 | π³ Major | βββ | Add interactive DRC visualization tooling that allows users to visualize design rule check (DRC) errors with selectable error markers and layer-aware graphics, enhancing the debugging process for circuit designs. |
| #2 | π³ Major | βββ | Add visualization tooling using React Cosmos for SRJ16 BGA breakout development |
| #19 | π Minor | ββ | Adds navigation links to the Editor in the header and footer of the landing page for easier access. |
| #19 | π Minor | ββ | Adds a summary table to log samples that have remaining DRC errors after benchmarking, displaying sample number, ID, DRC counts, iterations, and elapsed time. |
π Tiny Contributions (4)
| PR # | Impact | Description |
|---|---|---|
| #21 | π Tiny | Changes the navigation links from editor to quickstart to ensure consistent site navigation. |
| #20 | π Tiny | Fixes the GitHub Actions workflow discovery by renaming workflow files to the correct directory structure. |
| #18 | π Tiny | This pull request introduces two new GitHub Actions workflows for Continuous Integration (CI) in the repository. The first workflow is for building the project, and the second is for checking the formatting of the code. Both workflows are triggered on pushes and pull requests to the main branch. The build workflow installs dependencies using Bun and runs the build command, while the format-check workflow installs dependencies and runs a format check command. |
| #17 | π Tiny | Adds a local development server setup using Vite for improved development workflow. |
- Bun runtime
.envfile with required API keys:GITHUB_TOKEN=your_github_token OPENAI_API_KEY=your_openai_api_key DISCORD_TOKEN=your_discord_token (optional, for Discord integration) SLACK_BOT_TOKEN=your_slack_token (optional, for Slack integration)
bun run generate:weekly- Generate current week's contribution overviewbun run generate:monthly- Generate current month's contribution overviewbun run generate:changelog- Generate monthly changelog from PRs
bun run analyze-pr- Analyze a single PR (interactive prompt)bun run test:github- Test GitHub API integration
bun run notifications:issues- Send notifications for new issuesbun run notifications:pr- Send notifications for new PRsbun run sync:discord- Sync contributor roles with Discord
bun run export:sponsorship- Generate sponsorship data CSV
bun run dev- Start development server for web UIbun run build- Build for productionbun run format- Format code with Biome
# Generate this week's contribution overview
bun run generate:weekly
# Generate current month's overview
bun run generate:monthly
# Analyze a specific PR
bun run analyze-pr
# Test your GitHub token setup
bun run test:github