Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
584 commits
Select commit Hold shift + click to select a range
d898440
Do not hide extensions that are not specified in the target config (#…
thsparks Jul 14, 2025
1ab71ad
Fix Minecraft Workspace Background (#10767)
thsparks Jul 14, 2025
ac81734
make sure icons are included in the built semantic.css for pxt-core d…
riknoll Jul 16, 2025
c12fefb
Add editor controller message to enable keyboard controls (#10768)
microbit-robert Jul 16, 2025
49a7093
Fix erroneous option in flyout menu change variable block (#10772)
glastonbridge Jul 17, 2025
860858d
Escape closes context menu without closing flyout. Area menu can full…
glastonbridge Jul 17, 2025
88bba4c
Prevented LED matrix from swamping the undo stack (#10775)
glastonbridge Jul 17, 2025
a7b4b56
Persist project id when signing in (#10776)
thsparks Jul 17, 2025
122b1ba
[pxt-cli] bump version to v12.1.1 (#10781)
abchatra Jul 17, 2025
cef5767
Tab navigation improvement for the docs sidebar (#10774)
glastonbridge Jul 18, 2025
a108548
Reload code eval iframe even when URL is the same (#10782)
thsparks Jul 18, 2025
5c9d378
Microbit 2025 update blog post (#10783)
ganicke Jul 18, 2025
a0a5464
[pxt-cli] bump version to v12.1.2 (#10787)
abchatra Jul 21, 2025
3940032
Update Micro:bit 2025 blog post for accuracy (#10789)
Jaqster Jul 22, 2025
971f876
Implement the rest of python's standard string lib (#10790)
riknoll Jul 22, 2025
dfefe0c
add dropdown options to block search fields (#10791)
jwunderl Jul 23, 2025
93a8597
Debounce showing monaco error list (#10792)
thsparks Jul 23, 2025
16d0c40
Do not show AI Error Help in offline app (#10795)
thsparks Jul 24, 2025
1ad561b
Theme Fixes for Minecraft (#10793)
thsparks Jul 24, 2025
f9ea424
[pxt-cli] bump version to v12.1.3 (#10799)
abchatra Jul 24, 2025
0a7c590
put microsoft logo in common docs so it gets served with electron (#1…
srietkerk Jul 25, 2025
84a92c1
if the tour steps are empty, don't try to load anything (#10802)
srietkerk Jul 25, 2025
9cded35
add the save only flag back to filedownload (#10803)
srietkerk Jul 28, 2025
7e37f7c
PXT High Contrast Fixes (#10805)
thsparks Jul 28, 2025
9e511d0
[pxt-cli] bump version to v12.1.4 (#10810)
abchatra Jul 29, 2025
69721a7
add arm builds below existing builds (#10804)
jwunderl Jul 30, 2025
c69f955
Open localized README.md file if available (#10813)
microbit-robert Jul 31, 2025
d938fc1
Update accessibility.md with micro:bit resources (#10815)
Jaqster Aug 1, 2025
4090501
Recover the duplicate shortcut in the blocks context menu (#10812)
microbit-grace Aug 1, 2025
0856a2e
Add JSON asset type (#10808)
riknoll Aug 1, 2025
1ba642d
Fix Minecraft Tutorial Layout with Experiments Banner (#10819)
thsparks Aug 4, 2025
80673e9
add support for events that use blockAliasFor (#10820)
riknoll Aug 4, 2025
ea1ae31
fix context menu init and blockIdentity decompilation (#10821)
riknoll Aug 4, 2025
01f94c2
[pxt-cli] bump version to v12.1.5 (#10823)
abchatra Aug 4, 2025
063626f
Correct typo in documentation (#10806)
sjmurdoch Aug 5, 2025
b6c5903
add forceStatement commentattr and deprecate handlerStatement (#10825)
riknoll Aug 5, 2025
81de5a1
[pxt-cli] bump version to v12.1.6 (#10827)
riknoll Aug 5, 2025
3dacd83
Add mention of python-template to tutorials docs (#10811)
gbaman Aug 5, 2025
003674c
add support for reporter parameters with the optionalVariableArgs att…
riknoll Aug 13, 2025
1c04f3e
[pxt-cli] bump version to v12.1.7 (#10833)
riknoll Aug 13, 2025
1c2f35f
Refactor MenuDropdown and replace sui.DropdownMenu in settings and do…
riknoll Aug 15, 2025
07247ef
add tutorial metadata flag for hiding from projects (#10835)
riknoll Aug 15, 2025
8404363
don't cache used blocks when doing quick builds (#10834)
riknoll Aug 15, 2025
86393a3
Reset feature page (#10836)
ganicke Aug 16, 2025
7605819
reassign window location when loading beta in-game (#10838)
riknoll Aug 18, 2025
e2a044a
show file explorer when no sim (#10839)
jwunderl Aug 18, 2025
5ec3ad7
use dropdown instead of select for language restriction (#10841)
riknoll Aug 19, 2025
09a110f
use anchor elements for social buttons (#10837)
riknoll Aug 19, 2025
eae9a10
fix area menu overlay for headless sim targets (#10842)
riknoll Aug 19, 2025
9c4c7fc
Support different tutorial instruction layouts per editor language (#…
thsparks Aug 25, 2025
cec635b
lots of keyboard accessibility fixes for gridpicker (#10845)
riknoll Aug 25, 2025
adf2c2d
[pxt-cli] bump version to v12.1.8 (#10849)
abchatra Aug 25, 2025
72fdd09
copilot generated instructions files for pxt (#10712)
srietkerk Aug 27, 2025
1fe29a5
Add a "unified toolbox" option which works for blocks and text (#10851)
thsparks Aug 29, 2025
1da7484
Fix flyoutOnly (and unifiedToolbox) bugs (#10854)
thsparks Sep 2, 2025
c575551
Fix contrast for search icon in high contrast theme (#10857)
thsparks Sep 3, 2025
f17de13
Check for secrets before logging strings and/or sending them to the b…
thsparks Sep 3, 2025
44c7130
Prevent selection when resizing tutorial instructions (#10858)
thsparks Sep 4, 2025
05c0da6
Do not crash when sharing if no socialOptions set for editor (#10860)
jwunderl Sep 5, 2025
d22d5c1
Prevent file explorer from opening in Minecraft tutorials (#10859)
thsparks Sep 9, 2025
fed638b
Fix spacing on tutorial step bubbles when there are not many steps (#…
thsparks Sep 9, 2025
5da6f3e
Remove experiment card resize on tablet screens (#10862)
thsparks Sep 11, 2025
1f10266
[pxt-cli] bump version to v12.1.9 (#10864)
srietkerk Sep 12, 2025
6d25e64
serve monaco from docs/static for tutorial-tool (#10866)
jwunderl Sep 16, 2025
d531412
don't directly ref monaco sources in playground either (#10867)
jwunderl Sep 16, 2025
1be773e
set abs url rooted off current origin so worker requests work (#10868)
jwunderl Sep 16, 2025
c2ee55a
editor context in described in 'extensions' page (#10869)
ganicke Sep 16, 2025
a762e5c
Remove survey from GitHub Teacher verification Page (#10863)
Jaqster Sep 18, 2025
1c068d5
Beta editor page (#10870)
ganicke Sep 22, 2025
d265d18
Fix Keyboard Nav with FlyoutOnly Mode (#10871)
thsparks Sep 24, 2025
ff1a2c4
Fix keyboard nav to Basic category (#10872)
thsparks Sep 24, 2025
0cc4d72
Hide immersive reader full screen button in Minecraft (#10874)
thsparks Sep 25, 2025
9ff9b02
[pxt-cli] bump version to v12.1.10 (#10875)
abchatra Sep 25, 2025
0fd7998
add skillmap option for pixellating the background image (#10877)
riknoll Sep 25, 2025
1972349
adding a few tutorial options and fixing toolbox filters for variable…
riknoll Sep 30, 2025
019ca64
High contrast dropdown menu fixes (#10880)
thsparks Sep 30, 2025
0535fc3
fix extension button filtering logic (#10884)
riknoll Oct 1, 2025
038c7eb
remove "run simulator" context menu item in monaco and fix shortcut (…
riknoll Oct 2, 2025
ff70795
[pxt-cli] bump version to v12.1.11 (#10886)
abchatra Oct 3, 2025
23a12f5
prevvent drag+select when dragging from flyout in safari (#10891)
riknoll Oct 8, 2025
1f49703
add immersive reader to minecraft hoc layout (#10890)
jwunderl Oct 9, 2025
62fd01a
always fetch simx via ORIGIN/simx/... (#10889)
thomasjball Oct 9, 2025
7f84e73
[pxt-cli] bump version to v12.1.12 (#10894)
riknoll Oct 9, 2025
8f81699
Bumping minor version to 12.2.0
abchatra Oct 10, 2025
6ef15b7
[pxt-cli] bump version to v12.2.1 (#10896)
abchatra Oct 10, 2025
5d253da
mark editor as incomplete when loading blocks file (#10900)
riknoll Oct 10, 2025
0b90a85
Adding displayName support to extensions (#10901)
abchatra Oct 13, 2025
c2d7b7e
Adding displayName support to extensions (#10901)
abchatra Oct 13, 2025
c8657f5
[pxt-cli] bump version to v12.1.13 (#10902)
abchatra Oct 13, 2025
8b2bbf8
mark editor as incomplete when loading blocks file (#10900) (#10903)
riknoll Oct 13, 2025
4ceb331
[pxt-cli] bump version to v12.1.14 (#10904)
abchatra Oct 13, 2025
cb24c9c
Merge tag 'v12.1.14' into upgrade-to-v12.1.14
jeperkins4 Oct 15, 2025
f0e58f6
Use JS, PY icons in action cards (#10895)
srietkerk Oct 17, 2025
3b13215
Minecraft 2025 Release Update - blog post pub (#10898)
ganicke Oct 17, 2025
2fc4abc
filter bad file entries when parsing pxt.json (#10906)
riknoll Oct 20, 2025
677f330
remove overzealous filter (#10909)
riknoll Oct 21, 2025
e98a8a7
add button handler that focuses monaco flyout items on click (#10911)
riknoll Oct 21, 2025
a86b995
workaround chrome bug that allows block text to be selected (#10913)
riknoll Oct 22, 2025
cc4b675
[pxt-cli] bump version to v12.2.2 (#10914)
abchatra Oct 22, 2025
670d406
create sprite kinds during field validation (#10908)
riknoll Oct 23, 2025
2275dc1
always open links in tutorial markdown in a new tab (#10918)
riknoll Oct 23, 2025
e730d13
hoist hexliteral declarations in binaryjs (#10922)
riknoll Oct 27, 2025
075f99f
fix tile cache when switching projects (#10923)
riknoll Oct 28, 2025
548ee57
add support for help pages for blockCombine blocks (#10921)
riknoll Oct 28, 2025
4f8a447
Update CodeQL to ignore monaco in tutorial tool (#10926)
aznhassan Oct 29, 2025
a252e3a
Actually Ignore Monaco in Code Scanning (#10928)
aznhassan Oct 29, 2025
36ff4ac
fix html escape and unescape functions (#10929)
riknoll Oct 29, 2025
0886e7e
fix getGalleryAssets (#10925)
riknoll Oct 29, 2025
413cf48
fix tileset duplicate and rendering of gallery tiles (#10924)
riknoll Oct 29, 2025
f3978c8
[pxt-cli] bump version to v12.2.3 (#10930)
abchatra Oct 30, 2025
0076736
Removed broken link on educator verification page (#10931)
Jaqster Oct 31, 2025
1f9e836
propagate opts through editor controller ticks (#10933)
jwunderl Nov 3, 2025
ae13658
Let skillmaps specify an intro modal (#10939)
riknoll Nov 11, 2025
46bbf83
fix typechecking for unions of array types (#10945)
riknoll Nov 11, 2025
02d811c
CS Education Week 2025 Blog Post (#10946)
ganicke Nov 12, 2025
33d9322
fix GC-related crash in codegen (#10944)
mmoskal Nov 12, 2025
9ba69f0
[pxt-cli] bump version to v12.2.4 (#10947)
abchatra Nov 12, 2025
69f378c
package updates / npm vulnerability clean up (#10927)
jwunderl Nov 13, 2025
aba285b
Pause homepage hero when it has mouse hover or focus (#10937)
microbit-robert Nov 13, 2025
2e45807
Select fieldSlider text when the input is activated (#10938)
microbit-robert Nov 13, 2025
6db1cb1
remove NPM_ACCESS_TOKEN secret for trusted deployment (#10949)
riknoll Nov 13, 2025
ac93e16
[pxt-cli] bump version to v12.2.5 (#10950)
riknoll Nov 13, 2025
62fbf4c
Add id token permission for npm trusted publishing (#10951)
riknoll Nov 13, 2025
79741a6
[pxt-cli] bump version to v12.2.6 (#10952)
riknoll Nov 13, 2025
6daa627
Upgrade Node.js to version 20.x and update npm
riknoll Nov 13, 2025
3bf3873
[pxt-cli] bump version to v12.2.7 (#10953)
riknoll Nov 13, 2025
32838e2
Upgrade Node.js to 20.x and update npm
riknoll Nov 13, 2025
fb0c6df
[pxt-cli] bump version to v12.2.8 (#10954)
riknoll Nov 13, 2025
3abf835
Improve perf for field editor regexes and fix music editor bug (#10955)
riknoll Nov 20, 2025
2a61801
fix focus outline for asset fields (#10958)
riknoll Nov 20, 2025
cae7b28
fix header for code eval tool in arcade (#10963)
jwunderl Nov 20, 2025
1142e3f
fix rendering of sidedocs (#10961)
riknoll Nov 20, 2025
2eda505
[pxt-cli] bump version to v12.2.9 (#10965)
jwunderl Nov 21, 2025
5239352
improve the monaco field editor experience for creating new assets an…
riknoll Nov 21, 2025
2360917
remove left and right padding from inline block styling for tutorials…
srietkerk Nov 21, 2025
9d4123b
Fix evalEnabled condition to check teachertool exists (#10972)
jwunderl Nov 25, 2025
eb952e3
support dropdown for ask ai: criteria (#10970)
jwunderl Nov 25, 2025
99f3c5d
fix the dropdown size of blockly fields in the toolbox flyout in skil…
riknoll Dec 3, 2025
76e56e5
Get rid of background for arcade tutorial minisim (#10969)
srietkerk Dec 3, 2025
9c93c52
--eval wasn't working locally, only --teachertool (#10973)
jwunderl Dec 3, 2025
d115924
[pxt-cli] bump version to v12.2.10 (#10984)
jwunderl Dec 4, 2025
de8c923
Reduce blockly scroll scale (#10956)
srietkerk Dec 4, 2025
a1e8c7e
[pxt-cli] bump version to v12.2.11 (#10987)
jwunderl Dec 4, 2025
1c3c591
don't reload header after editing pxt.json when going home (#10988)
riknoll Dec 4, 2025
cd94c4c
update blockly and blockly plugins (#10990)
riknoll Dec 5, 2025
f02b690
[pxt-cli] bump version to v12.2.12 (#10993)
abchatra Dec 5, 2025
9a82720
Disable Export and Print buttons when checklist has no criteria (#10989)
Copilot Dec 5, 2025
eb64804
Change debug selected styling (#10986)
srietkerk Dec 5, 2025
6eacb4d
reduce blockly snap radius to default value (#10994)
riknoll Dec 8, 2025
1166ec1
convert overly chatty warn to debug (#10962)
riknoll Dec 8, 2025
fe4656c
set min count for 'at least' questions (#10995)
jwunderl Dec 8, 2025
a514d8c
fix in-context translations for builtin blocks (#10997)
riknoll Dec 9, 2025
5085fe4
check for top level comments in block validation step (#10996)
jwunderl Dec 9, 2025
0b6b5b6
Fix misleading error message for large program sharing (HTTP 413) (#1…
Copilot Dec 10, 2025
b945ba0
allow skillmaps to specify name and description in code blocks for RT…
riknoll Dec 10, 2025
44fe325
Update README with local markdown testing instructions (#11001)
jwunderl Dec 10, 2025
dc9a36c
add documentation agentic workflow (#11003)
vritant24 Dec 10, 2025
908a61a
Enhance documentation review process for React components in PRs (#11…
vritant24 Dec 10, 2025
0a9e444
nag to share as persistent when share fails for being too large (#11002)
jwunderl Dec 10, 2025
d88df57
Update documentation workflows to enhance PR information retrieval an…
vritant24 Dec 10, 2025
c095aef
Use escape key to collapse the full screen simulator (#10991)
srietkerk Dec 10, 2025
4e02d07
don't disable cloud sync for skillmap (#11008)
riknoll Dec 11, 2025
9615827
Fix codeembed share option (#11006)
srietkerk Dec 12, 2025
c248fe2
[pxt-cli] bump version to v12.2.13 (#11013)
abchatra Dec 13, 2025
8b69950
Updated PD registration (#11014)
Jaqster Dec 16, 2025
20139ab
support using return blocks outside of function definitions (#11007)
riknoll Dec 17, 2025
9edabc2
Use proxy for Microsoft-owned extensions when logged-in to GitHub (#1…
srietkerk Dec 17, 2025
2a1d317
Fix tilemap icon for unicode-named assets in text editors (#10999)
srietkerk Dec 17, 2025
13fa590
Gave blocks rendered in docs a readable aria label (#11015)
srietkerk Dec 19, 2025
0b5a27c
Code Ninjas Blog Post (#11018)
ganicke Dec 20, 2025
7e7544b
[pxt-cli] bump version to v12.2.14 (#11024)
abchatra Jan 4, 2026
7f4e8e1
trigger on change for dropdown & warn on empty ask ai prompt (#11029)
jwunderl Jan 5, 2026
cd8d1a8
Share button for most homepage content (#11030)
jwunderl Jan 6, 2026
28e3fc0
[pxt-cli] bump version to v12.2.15 (#11031)
abchatra Jan 6, 2026
a75bfde
Change fullscreen sim button to use arrows (#11016)
srietkerk Jan 7, 2026
fc85d27
fix filtering and snippets for blockAliasFor in monaco (#11035)
riknoll Jan 7, 2026
d298516
Add project description to settings editor and share dialog (#11036)
riknoll Jan 7, 2026
0d29223
[pxt-cli] bump version to v12.2.16 (#11040)
abchatra Jan 9, 2026
e050a27
enforce the 5000 character limit on project descriptions (#11038)
riknoll Jan 9, 2026
f1f1eed
Tilemap Gallery (#11041)
jwunderl Jan 13, 2026
ec43c52
add target flag to build typescript for share page (#11043)
riknoll Jan 13, 2026
3de7e51
[pxt-cli] bump version to v12.2.17 (#11044)
riknoll Jan 13, 2026
a06ac9e
top level 'ask ai' button in code eval tool (#11042)
jwunderl Jan 14, 2026
f6a0f27
prevent docs HTML sanitizer from removing youtube embeds (#11045)
riknoll Jan 15, 2026
5de40aa
Bump qs and express in /kiosk (#11034)
dependabot[bot] Jan 15, 2026
94c0655
Bump qs and express in /skillmap (#11033)
dependabot[bot] Jan 15, 2026
6798a39
Bump qs and express in /authcode (#11032)
dependabot[bot] Jan 15, 2026
f012997
[pxt-cli] bump version to v12.2.18 (#11046)
abchatra Jan 16, 2026
e6185c5
fix rendering for getter/setter blocks in eval tool (#11054)
riknoll Jan 20, 2026
17e29df
Remove Ask AI criteria from catalog dialog (#11050)
Copilot Jan 21, 2026
7b7a661
fix toolbox filtering for tutorials with py snippets that compile to …
riknoll Jan 21, 2026
44a42d3
fix instrument LFOs in simulator synth playback (#11061)
riknoll Jan 21, 2026
239b1a4
fix description save when sharing a project (#11052)
riknoll Jan 22, 2026
29ea7d4
prevent the tutorial button css from bleeding into share dialog at sm…
riknoll Jan 22, 2026
419487b
[pxt-cli] bump version to v12.2.19 (#11065)
abchatra Jan 22, 2026
869d398
use youtube-nocookie for embeds and add query params (#11063)
riknoll Jan 22, 2026
1df6a6c
Add delete control for custom Ask AI questions (#11053)
Copilot Jan 22, 2026
a197874
Fix Share button visibility in iPad portrait mode with long descripti…
Copilot Jan 22, 2026
e0f9476
[pxt-cli] bump version to v12.2.20 (#11068)
abchatra Jan 23, 2026
982bcdb
Add a note/hint to discuss H1 removal of extension title for extensio…
ganicke Jan 23, 2026
080a552
Make link color meet contrast ratio requirements (#11037)
srietkerk Jan 27, 2026
55b4f73
Fix accessibility of logos in main menubar (#11066)
srietkerk Jan 27, 2026
63c1902
Enforce min length of 10 for ask ai questions (#11071)
jwunderl Jan 29, 2026
e62c465
[pxt-cli] bump version to v12.2.21 (#11073)
abchatra Jan 30, 2026
d6e5148
fix error help on collapsed (#11075)
jwunderl Feb 2, 2026
245bdcb
add delete option to the function parameter edit prompt (#11076)
riknoll Feb 2, 2026
c16715b
adjust error message when too short (#11078)
jwunderl Feb 3, 2026
79dbc31
fix common dropdown items not hiding when sim fullscreen (#11077)
riknoll Feb 3, 2026
46eb1f5
Code eval: give the footer a set height so scroll does not cut off co…
srietkerk Feb 3, 2026
2f769c6
move mixer sound synthesis into an audioworklet and add spatial audio…
riknoll Feb 3, 2026
0acbdca
allow block configs to override builtin blocks (#11082)
riknoll Feb 3, 2026
9059125
add Import as asset Pack to github extension zone (#11080)
jwunderl Feb 3, 2026
cf8303b
[pxt-cli] bump version to v12.2.22 (#11084)
abchatra Feb 4, 2026
5058d42
Bug fix: make the functions category use the xicon font family (#11083)
srietkerk Feb 5, 2026
b1d0dea
add a delay on reconnect attempt, so that refreshed header does not c…
jwunderl Feb 5, 2026
cb307c4
[pxt-cli] bump version to v12.2.23 (#11089)
abchatra Feb 5, 2026
c0046cc
Map category names to their respective icons for tutorial bullet poin…
srietkerk Feb 6, 2026
9adc2e1
show extension zone in github view (#11093)
jwunderl Feb 6, 2026
852dd44
make zooming with the editor buttons match live (#11092)
srietkerk Feb 7, 2026
ee609bd
[pxt-cli] bump version to v12.2.24 (#11095)
abchatra Feb 9, 2026
d8aeb2c
use stable dist tag when publishing (#11012) (#11100)
riknoll Feb 10, 2026
4a88d3b
[pxt-cli] bump version to v12.2.25 (#11101)
riknoll Feb 10, 2026
13d1794
fix render of youtube links and images in docs pages (#11105)
riknoll Feb 12, 2026
411030b
don't lose description when opening thumbnail recorder (#11109)
riknoll Feb 12, 2026
cc19e63
[pxt-cli] bump version to v12.2.26 (#11111)
abchatra Feb 13, 2026
c474c81
[Stable 12.2] Cherry pick hotfix changes to stable 12.2 (#11126)
riknoll Feb 18, 2026
e8978e3
[pxt-cli] bump version to v12.2.27 (#11127)
riknoll Feb 18, 2026
ecc2e3e
fix is gallery asset check (#11130)
riknoll Feb 19, 2026
8cc8109
prevent temp asset patch from duplicating assets (#11131)
riknoll Feb 23, 2026
d012d06
tweak focus on dispose logic to work for all blocks (#11140)
riknoll Feb 23, 2026
8660d26
fix memory leak of audio sources (#11139)
riknoll Feb 23, 2026
2db2d05
fix debugger icon background color (#11142)
riknoll Feb 24, 2026
f33979a
remove file size filter for file drag/drop handler (#11141)
riknoll Feb 24, 2026
4357c8e
remove transparency from asset pack gallery and allow multiple catego…
riknoll Feb 24, 2026
85c6e57
fix animation preview not stopping in non chromium browsers (#11143)
riknoll Feb 24, 2026
e654a7d
[pxt-cli] bump version to v12.2.28 (#11145)
riknoll Feb 24, 2026
2e74788
fix bug when disposing animation block (#11159) (#11160)
riknoll Mar 2, 2026
9553073
[pxt-cli] bump version to v12.2.29 (#11161)
riknoll Mar 2, 2026
f9e222f
fix null pointer check again (#11162)
riknoll Mar 2, 2026
5c690a6
[pxt-cli] bump version to v12.2.30 (#11163)
riknoll Mar 2, 2026
dfb3303
handle starting and ending whitespace in song regex (#11158)
riknoll Mar 3, 2026
5450bc0
[pxt-cli] bump version to v12.2.31 (#11164)
riknoll Mar 3, 2026
4a54954
[stable12.2] offline app cherry picks (#11182)
jwunderl Mar 9, 2026
2973f40
[pxt-cli] bump version to v12.2.32 (#11188)
riknoll Mar 11, 2026
4877cbd
collapse error pane by default (#11199)
riknoll Mar 18, 2026
c820bd4
[pxt-cli] bump version to v12.2.33 (#11200)
riknoll Mar 18, 2026
1a7eb34
fix escaping of xml code snippets (#11253) (#11254)
riknoll Apr 7, 2026
112133c
[pxt-cli] bump version to v12.2.34 (#11255)
riknoll Apr 7, 2026
fedbab1
Merge tag 'v12.2.34' into upgrade-to-v12.2.34
jeperkins4 May 27, 2026
9db4729
Pin Node to v24.16.0 (Active LTS); bump README prereq
jeperkins4 May 27, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
39 changes: 39 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
# PXT Framework Development Instructions

## General Guidelines

- Follow TypeScript strict mode conventions
- Use semantic versioning for all packages
- Maintain backward compatibility when possible
- Write clear, self-documenting code with JSDoc comments
- Follow the existing code style and patterns in each component

## Architecture Principles

- The PXT framework follows a modular architecture with clear separation between:
- Core framework (`pxtlib/`, `pxtcompiler/`)
- Web application (`webapp/`)
- Simulator (`pxtsim/`)
- Target implementations (`pxt-microbit/`, `pxt-common-packages/`)

## Code Generation Standards

- Always include proper type annotations
- Use `export` statements for public APIs
- Prefer `const` over `let` where possible
- Use arrow functions for callbacks and short functions
- Include error handling for async operations

## Testing Requirements

- Write unit tests for new functionality
- Include accessibility tests for UI components
- Test simulator features across different browsers
- Validate TypeScript compilation without errors

## Documentation

- Update relevant README files when adding features
- Include inline documentation for complex algorithms
- Document breaking changes in commit messages
- Provide examples for new API functions
61 changes: 61 additions & 0 deletions .github/instructions/accessibility.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
---
description: "Common accessibility guidelines for all PXT components"
applyTo: "**/*.{ts,tsx,less,css}"
---

# PXT Accessibility Instructions

## ARIA Guidelines

- Use semantic HTML elements as the foundation
- Add ARIA roles, properties, and states when semantic HTML is insufficient
- Ensure ARIA labels are descriptive and context-aware
- Follow ARIA authoring practices for complex widgets

## Keyboard Navigation

- Implement logical tab order throughout the interface
- Provide visible focus indicators for all interactive elements
- Support standard keyboard shortcuts and navigation patterns
- Handle focus management for dynamic content changes

## Screen Reader Support

- Provide meaningful alternative text for images and icons
- Use proper heading hierarchy (h1, h2, h3, etc.)
- Announce dynamic content changes with live regions
- Ensure form labels are properly associated with inputs

## Color and Contrast

- Maintain WCAG 2.1 AA contrast ratios (4.5:1 for normal text)
- Don't rely solely on color to convey information
- Support high contrast mode and forced color schemes
- Test with color blindness simulation tools

## WCAG Compliance

- Target WCAG 2.1 AA conformance level
- Test with automated accessibility tools (axe, Lighthouse)
- Conduct manual testing with keyboard and screen readers
- Document accessibility features and testing procedures

## Common Patterns

### Modals and Dialogs
- Trap focus within modal content
- Return focus to trigger element on close
- Provide proper ARIA labeling (aria-labelledby, aria-describedby)
- Support Escape key to close

### Menus and Navigation
- Use proper ARIA menu roles and properties
- Support arrow key navigation within menus
- Indicate current page/section appropriately
- Handle submenu expansion and collapse

### Forms
- Associate labels with form controls
- Provide clear error messages and validation feedback
- Group related form fields with fieldset/legend
- Support autocomplete where appropriate
55 changes: 55 additions & 0 deletions .github/instructions/blocks.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
description: "Instructions for PXT block editor development"
applyTo: "pxtblocks/**/*.ts"
---

# PXT Blocks Development Instructions

## Blockly Integration

- Follow Blockly extension patterns and APIs
- Maintain compatibility with current Blockly version
- Implement proper block disposal and cleanup
- Handle workspace serialization/deserialization correctly

## Block Definition

- Create accessible block definitions with proper ARIA labels
- Support both beginner and advanced block modes
- Implement proper input validation and type checking
- Provide clear visual feedback for block states

## Custom Field Types

- Extend Blockly field types following established patterns
- Implement proper serialization for custom fields
- Handle focus management and keyboard navigation
- Support theming and customization

## Code Generation

- Generate clean, readable TypeScript/Python code
- Handle proper indentation and formatting
- Support round-trip conversion (blocks ↔ text)
- Maintain source comments and structure

## Accessibility

- Ensure blocks work with screen readers
- Implement proper keyboard navigation
- Provide meaningful descriptions for complex blocks
- Support high contrast and other accessibility features

## Performance

- Optimize block rendering for large workspaces
- Implement efficient block search and filtering
- Handle workspace scaling and zooming smoothly
- Minimize memory usage for block instances

## Localization

- Support right-to-left languages
- Implement proper text measurement and layout
- Handle translation of block text and tooltips
- Maintain block functionality across languages
62 changes: 62 additions & 0 deletions .github/instructions/common.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
description: "Common development practices shared across all PXT components"
applyTo: "**/*.{ts,tsx,js,jsx}"
---

# Common PXT Development Instructions

## TypeScript Best Practices

- Use strict TypeScript configuration
- Define explicit return types for public functions
- Prefer interfaces over type aliases for object shapes
- Use union types and type guards for type safety
- Avoid `any` type - use `unknown` or proper types instead

## Code Organization

- Follow the established file and folder structure
- Use barrel exports (index.ts) for clean imports
- Keep functions and classes focused on single responsibilities
- Separate business logic from UI presentation logic
- Group related functionality into modules

## Error Handling

- Use typed errors and proper error boundaries
- Provide meaningful error messages for users and developers
- Log errors with sufficient context for debugging
- Handle edge cases and provide graceful degradation
- Implement retry logic for transient failures

## Performance Considerations

- Minimize bundle size through tree shaking
- Use lazy loading for non-critical components
- Implement proper caching strategies
- Profile performance in development and production
- Optimize for both memory usage and execution speed

## Security Guidelines

- Sanitize user inputs and validate data
- Use Content Security Policy (CSP) headers
- Avoid exposing sensitive information in client code
- Implement proper authentication and authorization
- Follow OWASP security best practices

## Git and Version Control

- Write clear, descriptive commit messages
- Use conventional commit format when possible
- Keep commits atomic and focused
- Include tests and documentation in commits
- Update version numbers following semantic versioning

## Dependencies

- Keep dependencies up to date and secure
- Minimize the number of external dependencies
- Use peer dependencies appropriately
- Document dependency requirements and compatibility
- Regular security audits of dependency tree
55 changes: 55 additions & 0 deletions .github/instructions/compiler.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
description: "Instructions for PXT compiler and language services"
applyTo: "pxtcompiler/**/*.ts,pxtlib/**/*.ts"
---

# PXT Compiler Development Instructions

## TypeScript Compiler Integration

- Extend TypeScript compiler APIs following established patterns
- Maintain compatibility with current TypeScript version
- Handle AST transformations carefully to preserve source maps
- Implement proper error reporting with accurate location information

## Symbol Resolution

- Use the existing symbol table and resolution mechanisms
- Implement proper scoping rules for PXT language features
- Handle namespace resolution and imports correctly
- Support both TypeScript and Python syntax trees

## Code Generation

- Generate efficient target code for embedded devices
- Optimize for memory usage and performance
- Support different target architectures (ARM, ESP32, etc.)
- Implement proper dead code elimination

## Language Services

- Provide accurate IntelliSense and autocomplete
- Implement hover information and documentation
- Support go-to-definition and find-references
- Handle incremental compilation for performance

## API Documentation

- Extract API information from TypeScript declarations
- Generate block definitions from function signatures
- Support localization of API documentation
- Maintain backward compatibility in API changes

## Error Handling

- Provide clear, actionable error messages
- Include source location information
- Support error recovery for better IDE experience
- Implement proper diagnostic reporting

## Performance

- Optimize compilation speed for large projects
- Implement efficient caching strategies
- Support incremental builds
- Profile and optimize hot code paths
52 changes: 52 additions & 0 deletions .github/instructions/simulator.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
description: "Instructions for PXT simulator development"
applyTo: "pxtsim/**/*.ts,sim/**/*.ts,**/sim/*.ts"
---

# PXT Simulator Development Instructions

## Simulator Architecture

- Follow the modular board/state pattern established in the codebase
- Separate visual rendering from simulation logic
- Use TypeScript interfaces to define board state contracts
- Implement proper cleanup in simulation lifecycle methods

## Audio/Media Handling

- Use Web Audio API for audio processing and effects
- Implement proper gain control and volume management
- Handle browser compatibility issues (Chrome, Firefox, Safari)
- Use MediaStream API for recording functionality
- Always clean up audio resources when stopping simulation

## Visual Components

- Use SVG for scalable simulator graphics
- Implement proper coordinate systems and transforms
- Support both light and dark themes
- Ensure responsive design for different screen sizes
- Use CSS custom properties for theming

## Performance Optimization

- Minimize DOM manipulations during animation
- Use requestAnimationFrame for smooth animations
- Implement efficient update cycles
- Cache frequently accessed DOM elements
- Profile performance in different browsers

## Hardware Simulation

- Accurately model hardware behavior and constraints
- Implement realistic timing and delays
- Handle edge cases and error conditions
- Support debugging and breakpoint functionality
- Maintain compatibility with runtime implementations

## Debugging Support

- Include comprehensive logging for development
- Implement proper error handling and recovery
- Support simulator reset and state inspection
- Provide clear error messages for debugging
55 changes: 55 additions & 0 deletions .github/instructions/styling.instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
description: "Instructions for styling and theming in PXT"
applyTo: "**/*.{less,css}"
---

# PXT Theming and Styling Instructions

## CSS/Less Guidelines

- Use CSS custom properties (variables) for all color values
- Follow the existing naming conventions for variables
- Implement both light and dark theme support
- Use semantic color names rather than specific color values

## Print Styles

- Always provide fallback colors for print media
- Use `@media print` blocks with solid color alternatives
- Apply `print-color-adjust: exact` for variable color preservation
- Test print functionality across different browsers

## Responsive Design

- Use mobile-first responsive design principles
- Implement proper breakpoints for different screen sizes
- Ensure touch-friendly interactions on mobile devices
- Test across different device orientations

## Accessibility

- Maintain sufficient color contrast ratios (WCAG AA)
- Support high contrast mode and forced colors
- Use focus indicators that are clearly visible
- Ensure text remains readable when zoomed to 200%

## Component Styling

- Follow BEM methodology for CSS class naming
- Keep specificity low and avoid !important
- Use flexbox and CSS Grid for layout
- Implement proper component encapsulation

## Performance

- Minimize CSS bundle size
- Use efficient selectors and avoid deep nesting
- Implement critical CSS for above-the-fold content
- Optimize for browser rendering performance

## Browser Compatibility

- Support modern browsers (Chrome, Firefox, Safari, Edge)
- Provide graceful degradation for older browsers
- Test vendor prefixes and feature support
- Handle browser-specific quirks appropriately
Loading
Loading