* Initial changelog pass * update generate-develop-pr-list content * Fix bad word-ness * Fix generate-develop-pr-list ignores * Update docs/ChangeLog/20220226.md Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
		
			
				
	
	
	
	
		
			36 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	QMK Breaking Changes - 2022 February 26 Changelog
Notable Features :id=notable-features
Default USB Polling rate now 1kHz (#15352)
The default USB Polling rate has been aligned across supported platforms to now be 1ms/1kHz.
Something something Lets go gamers!
Split support for pointing devices (#15304)
Pointing devices can now be shared across a split keyboard with support for a single pointing device or a pointing device on each side.
See the Pointing Device documentation for further configuration options.
Changes Requiring User Action :id=changes-requiring-user-action
Legacy macro and action_function system removed (#16025)
The long time deprecated MACRO() and action_get_macro methods have been removed. Where possible, existing usages have been migrated over to core Macros.
Create a build error if no bootloader is specified (#16181)
Bootloader configuration is no longer assumed. Keyboards must now set either:
BOOTLOADERwithinrules.mkbootloaderwithininfo.json
Rename AdafruitBLE to BluefruitLE (#16127)
In preparation of future bluetooth work, the AdafruitBLE integration has been renamed to allow potential for any other Adafruit BLE products.
Updated Keyboard Codebases :id=updated-keyboard-codebases
The following keyboards have had their source moved within QMK:
| Old Keyboard Name | New Keyboard Name | 
|---|---|
| 6ball | maple_computing/6ball | 
| 7skb | salicylic_acid3/7skb | 
| 7splus | salicylic_acid3/7splus | 
| acr60 | mechkeys/acr60 | 
| adalyn | tominabox1/adalyn | 
| ajisai74 | salicylic_acid3/ajisai74 | 
| aleth42 | 25keys/aleth42 | 
| alicia_cook | ibnuda/alicia_cook | 
| allison_numpad | prototypist/allison_numpad | 
| allison | prototypist/allison | 
| alu84 | mechkeys/alu84 | 
| angel17 | kakunpc/angel17 | 
| angel64/alpha | kakunpc/angel64/alpha | 
| angel64/rev1 | kakunpc/angel64/rev1 | 
| arch_36 | obosob/arch_36 | 
| bakeneko60 | kkatano/bakeneko60 | 
| bakeneko65/rev2 | kkatano/bakeneko65/rev2 | 
| bakeneko65/rev3 | kkatano/bakeneko65/rev3 | 
| bakeneko80 | kkatano/bakeneko80 | 
| barleycorn | yiancardesigns/barleycorn | 
| bat43/rev1 | dailycraft/bat43/rev1 | 
| bat43/rev2 | dailycraft/bat43/rev2 | 
| bigseries/1key | woodkeys/bigseries/1key | 
| bigseries/2key | woodkeys/bigseries/2key | 
| bigseries/3key | woodkeys/bigseries/3key | 
| bigseries/4key | woodkeys/bigseries/4key | 
| bkf | drhigsby/bkf | 
| business_card/alpha | kakunpc/business_card/alpha | 
| business_card/beta | kakunpc/business_card/beta | 
| butterstick | gboards/butterstick | 
| c39 | maple_computing/c39 | 
| cassette42 | 25keys/cassette42 | 
| chidori | kagizaraya/chidori | 
| chili | ydkb/chili | 
| chimera_ergo | glenpickle/chimera_ergo | 
| chimera_ls | glenpickle/chimera_ls | 
| chimera_ortho | glenpickle/chimera_ortho | 
| chimera_ortho_plus | glenpickle/chimera_ortho_plus | 
| choco60 | recompile_keys/choco60 | 
| choc_taro | kakunpc/choc_taro | 
| christmas_tree | maple_computing/christmas_tree | 
| claw44/rev1 | dailycraft/claw44/rev1 | 
| cocoa40 | recompile_keys/cocoa40 | 
| comet46 | satt/comet46 | 
| cu24 | capsunlocked/cu24 | 
| cu75 | capsunlocked/cu75 | 
| cu80 | capsunlocked/cu80/v1 | 
| delilah | rainkeebs/delilah | 
| diverge3 | unikeyboard/diverge3 | 
| divergetm2 | unikeyboard/divergetm2 | 
| dozen0 | yynmt/dozen0 | 
| dubba175 | drhigsby/dubba175 | 
| eggman | qpockets/eggman | 
| ergo42 | biacco42/ergo42 | 
| ergoarrows | salicylic_acid3/ergoarrows | 
| ergodash/mini | omkbd/ergodash/mini | 
| ergodash/rev1 | omkbd/ergodash/rev1 | 
| ergodox_infinity | input_club/ergodox_infinity | 
| ergotaco | gboards/ergotaco | 
| espectro | mechkeys/espectro | 
| felix | unikeyboard/felix | 
| four_banger | bpiphany/four_banger | 
| freyr | hnahkb/freyr | 
| geminate60 | weirdo/geminate60 | 
| georgi | gboards/georgi | 
| gergo | gboards/gergo | 
| getta25 | salicylic_acid3/getta25 | 
| gingham | yiancardesigns/gingham | 
| gurindam | ibnuda/gurindam | 
| halberd | kagizaraya/halberd | 
| hecomi/alpha | takashiski/hecomi/alpha | 
| hid_liber | bpiphany/hid_liber | 
| id67/default_rgb | idobao/id67/default_rgb | 
| id67/rgb | idobao/id67/rgb | 
| id80 | idobao/id80/v1 | 
| id87 | idobao/id87/v1 | 
| idobo | idobao/id75/v1 | 
| infinity60 | input_club/infinity60 | 
| ivy/rev1 | maple_computing/ivy/rev1 | 
| jisplit89 | salicylic_acid3/jisplit89 | 
| jnao | maple_computing/jnao | 
| just60 | ydkb/just60 | 
| kagamidget | yynmt/kagamidget | 
| kelowna/rgb64 | weirdo/kelowna/rgb64 | 
| kprepublic/bm65hsrgb_iso | kprepublic/bm65hsrgb_iso/rev1 | 
| kprepublic/bm68hsrgb | kprepublic/bm68hsrgb/rev1 | 
| k_type | input_club/k_type | 
| latin17rgb | latincompass/latin17rgb | 
| latin47ble | latincompass/latin47ble | 
| latin60rgb | latincompass/latin60rgb | 
| latin64ble | latincompass/latin64ble | 
| latin6rgb | latincompass/latin6rgb | 
| latinpadble | latincompass/latinpadble | 
| latinpad | latincompass/latinpad | 
| launchpad/rev1 | maple_computing/launchpad/rev1 | 
| lck75 | lyso1/lck75 | 
| le_chiffre | tominabox1/le_chiffre | 
| lefishe | lyso1/lefishe | 
| lets_split_eh/eh | maple_computing/lets_split_eh/eh | 
| ls_60 | weirdo/ls_60 | 
| m3n3van | matthewdias/m3n3van | 
| mechmini/v1 | mechkeys/mechmini/v1 | 
| mechmini/v2 | mechkeys/mechmini/v2 | 
| meira | woodkeys/meira | 
| meishi2 | biacco42/meishi2 | 
| meishi | biacco42/meishi | 
| minidox/rev1 | maple_computing/minidox/rev1 | 
| minim | matthewdias/minim | 
| mio | recompile_keys/mio | 
| model_v | matthewdias/model_v | 
| montex | idobao/montex/v1 | 
| nafuda | salicylic_acid3/nafuda | 
| naiping/np64 | weirdo/naiping/np64 | 
| naiping/nphhkb | weirdo/naiping/nphhkb | 
| naiping/npminila | weirdo/naiping/npminila | 
| naked48 | salicylic_acid3/naked48 | 
| naked60 | salicylic_acid3/naked60 | 
| naked64 | salicylic_acid3/naked64 | 
| namecard2x4 | takashiski/namecard2x4 | 
| nebula12 | spaceholdings/nebula12 | 
| nebula68b | spaceholdings/nebula68b | 
| nebula68 | spaceholdings/nebula68 | 
| niu_mini | kbdfans/niu_mini | 
| nk1 | novelkeys/nk1 | 
| nk65 | novelkeys/nk65 | 
| nk87 | novelkeys/nk87 | 
| nknl7en | salicylic_acid3/nknl7en | 
| nknl7jp | salicylic_acid3/nknl7jp | 
| nomu30 | recompile_keys/nomu30 | 
| novelpad | novelkeys/novelpad | 
| ogurec | drhigsby/ogurec | 
| otaku_split/rev0 | takashiski/otaku_split/rev0 | 
| otaku_split/rev1 | takashiski/otaku_split/rev1 | 
| owl8 | dailycraft/owl8 | 
| packrat | drhigsby/packrat | 
| pistachio_mp | rate/pistachio_mp | 
| pistachio_pro | rate/pistachio_pro | 
| pistachio | rate/pistachio | 
| plexus75 | checkerboards/plexus75 | 
| pursuit40 | checkerboards/pursuit40 | 
| qaz | tominabox1/qaz | 
| quark | checkerboards/quark | 
| rabbit_capture_plan | kakunpc/rabbit_capture_plan | 
| rainkeeb | rainkeebs/rainkeeb | 
| reviung33 | reviung/reviung33 | 
| reviung34 | reviung/reviung34 | 
| reviung39 | reviung/reviung39 | 
| reviung41 | reviung/reviung41 | 
| reviung53 | reviung/reviung53 | 
| reviung5 | reviung/reviung5 | 
| reviung61 | reviung/reviung61 | 
| runner3680/3x6 | omkbd/runner3680/3x6 | 
| runner3680/3x7 | omkbd/runner3680/3x7 | 
| runner3680/3x8 | omkbd/runner3680/3x8 | 
| runner3680/4x6 | omkbd/runner3680/4x6 | 
| runner3680/4x7 | omkbd/runner3680/4x7 | 
| runner3680/4x8 | omkbd/runner3680/4x8 | 
| runner3680/5x6_5x8 | omkbd/runner3680/5x6_5x8 | 
| runner3680/5x6 | omkbd/runner3680/5x6 | 
| runner3680/5x7 | omkbd/runner3680/5x7 | 
| runner3680/5x8 | omkbd/runner3680/5x8 | 
| scarletbandana | woodkeys/scarletbandana | 
| scythe | kagizaraya/scythe | 
| seigaiha | yiancardesigns/seigaiha | 
| setta21 | salicylic_acid3/setta21 | 
| space_space/rev1 | qpockets/space_space/rev1 | 
| space_space/rev2 | qpockets/space_space/rev2 | 
| spiderisland/winry25tc | winry/winry25tc | 
| splitreus62 | nacly/splitreus62 | 
| squiggle/rev1 | ibnuda/squiggle/rev1 | 
| standaside | edi/standaside | 
| steal_this_keyboard | obosob/steal_this_keyboard | 
| stella | hnahkb/stella | 
| suihankey/alpha | kakunpc/suihankey/alpha | 
| suihankey/rev1 | kakunpc/suihankey/rev1 | 
| suihankey/split | kakunpc/suihankey/split | 
| thedogkeyboard | kakunpc/thedogkeyboard | 
| the_ruler | maple_computing/the_ruler | 
| tiger910 | weirdo/tiger910 | 
| treadstone32 | marksard/treadstone32 | 
| treadstone48/rev1 | marksard/treadstone48/rev1 | 
| treadstone48/rev2 | marksard/treadstone48/rev2 | 
| txuu | matthewdias/txuu | 
| ua62 | nacly/ua62 | 
| underscore33/rev1 | tominabox1/underscore33/rev1 | 
| underscore33/rev2 | tominabox1/underscore33/rev2 | 
| vn66 | hnahkb/vn66 | 
| wallaby | kkatano/wallaby | 
| wanten | qpockets/wanten | 
| whitefox | input_club/whitefox | 
| wings42/rev1 | dailycraft/wings42/rev1 | 
| wings42/rev1_extkeys | dailycraft/wings42/rev1_extkeys | 
| wings42/rev2 | dailycraft/wings42/rev2 | 
| yasui | rainkeebs/yasui | 
| yd60mq | ymdk/yd60mq | 
| yd68 | ydkb/yd68 | 
| ymd75 | ymdk/ymd75 | 
| ymd96 | ymdk/ymd96 | 
| ymdk_np21 | ymdk/np21 | 
| yurei | kkatano/yurei | 
| zinc | 25keys/zinc | 
| zinc/rev1 | 25keys/zinc/rev1 | 
| zinc/reva | 25keys/zinc/reva | 
Notable core changes :id=notable-core
New MCU Support :id=new-mcu-support
Building on previous cycles, QMK firmware picked up support for a couple extra MCU variants:
- STM32L432
 - STM32L442
 
New Drivers
QMK now has core-supplied support for the following device peripherals:
LED
- IS31FL3742A
 - IS31FL3743A
 - IS31FL3745
 - IS31FL3746A
 
GPIO
- SN74x138
 - mcp23018
 
Full changelist
Core:
- Initial pass at data driven new-keyboard subcommand (#12795)
 - Don't send keyboard reports that propagate no changes to the host (#14065)
 - Custom matrix lite support for split keyboards (#14674)
 - Add sym_defer_pr debouncer type (#14948)
 - Add RGB matrix & LED Matrix support for IS31FL3742A, IS31FL3743A, IS31FL3745, IS31FL3746A (#14989)
 - New combo configuration options (#15083)
 - IS31FL3733 driver for LED Matrix (#15088)
 - Add open-drain GPIO support. (#15282)
 - Make (un)register code functions weak (#15285)
 - Split support for pointing devices. (#15304)
 - Added cancel_key_lock function (#15321)
 - Remove matrix_is_modified() and debounce_is_active() (#15349)
 - Change default USB Polling rate to 1kHz (#15352)
 - Implement MAGIC_TOGGLE_CONTROL_CAPSLOCK (#15368)
 - Tidy up existing i2c_master implementations (#15376)
 - Generalize Unicode defines (#15409)
 - Added external spi flash driver. (#15419)
 - Remove Deprecated USB Polling comment from vusb.c (#15420)
 - Expand rotational range for PMW3360 Optical Sensor (#15431)
 - ChibiOS SVN mirror script update (#15435)
 - Refactor 
bootloader_jump()implementations (#15450) - added missing audio_off_user() callback (#15457)
 - Migrate serial_uart usages to UART driver (#15479)
 - Migrate RN42 to UART driver and refactor (#15492)
 - pwm3360 driver cleanup and diff reduction to adns9800 (#15559)
 - Advanced deferred_exec for core-side code. (#15579)
 - Adjust tap_code16 to account for TAP_HOLD_CAPS_DELAY (#15635)
 - Slight tidy up of keyboard task loop (#15725)
 - Unify the key up/down behaviour of RGB keycodes (#15730)
 - Add PMW3389 optical sensor Support (Updated) (#15740)
 - ChibiOS: add support for HID Programmable Buttons (#15787)
 - ChibiOS: shorten USB disconnect state on boot to 50ms (#15805)
 - Add init function to clear previous matrix effect (#15815)
 - Optimize initialization of PMW3360 Sensor (#15821)
 - Add Pixel Flow RGB matrix effect (#15829)
 - PMW3389 Revert Firmware load during Initilization (#15859)
 - Combo 
TAP_CODE_DELAYandclear_weak_mods(#15866) - Relocate matrix_scan_quantum tasks (#15882)
 - Adjust mouse key defaults (#15883)
 - RGB Matrix: Reload from EEPROM (#15923)
 - Enable a default task throttle for split pointing. (#15925)
 - Move mcp23018 driver to core (#15944)
 - Relocate matrix_init_quantum content (#15953)
 - Align location of some host led logic (#15954)
 - Rename some Quantum keycodes (#15968)
 - Migrate more makefile utilities to builddefs sub-directory (#16002)
 - Various Makefile optimisations (#16015)
 - Add support for STM32L432, STM32L442. (#16016)
 - EEPROM refactor: remove 
eeprom_teensy.cby default, use transient instead (#16020) - Deprecate Split Transaction status field (#16023)
 - Rip out old macro and action_function system (#16025)
 - Add a script that simplifies running commands under docker. (#16028)
 - Add support for Q-series on the ckled2001 LED driver (#16051)
 - Remove unused suspend_idle (#16063)
 - Initial migration of suspend callbacks (#16067)
 - Add layout change callbacks to VIA (#16087)
 - Rename 
AdafruitBLEtoBluefruitLE(#16127) - Update outputselect to use platform connected state API (#16185)
 - Remove default pointing device driver. (#16190)
 - Add SN74x138 demultiplexer driver (#16217)
 - Standardise error output. (#16220)
 - Followup to #16220, more test error output. (#16221)
 - Misc size regression script improvements. (#16268)
 - Align existing pca9555 driver to better match mcp23018 API (#16277)
 - Size checks print out target firmware file instead (#16290)
 
CLI:
developchangelog generator: use the PR title instead (#15537)developchangelog generator: skip code formatting in listing (#16215)
Keyboards:
- Durgod: Increase scan rate by using wait_us timer (#14091)
 - Add another GMMK Pro ANSI Keymap with custom RGB. (#14243)
 - Parse USB device version BCD (#14580)
 - Add vitoni keymap for GMMK Pro (ISO) (#15006)
 - Move bm65hsrgb_iso and bm68hsrgb to rev1/ to prepare for updates to the boards (#15132)
 - Convert ergoinu to SPLIT_KEYBOARD (#15305)
 - Convert not_so_minidox to SPLIT_KEYBOARD (#15306)
 - Added new handwired keyboard Wakizashi 40 (#15336)
 - Convert ai03/orbit to SPLIT_KEYBOARD (#15340)
 - Remove manual enable of LTO within user keymaps (#15378)
 - Move to organization folder (#15481)
 - Convert some more boards to Matrix Lite (#15489)
 - Organize Reviung boards into a directory (#15636)
 - move winry25tc to winry/ (#15637)
 - Rename ymdk_np21 to np21 + move to ymdk vendor folder (#15641)
 - move ymd96 to ymdk vendor folder (#15643)
 - move ymd75 to ymdk vendor folder (#15645)
 - move yd60mq to ymdk vendor folder (#15647)
 - rename idobo to idobao/id75, move to vendor folder (#15661)
 - move ID67 to IDOBAO vendor folder (#15662)
 - move ID80 to IDOBAO vendor folder (#15665)
 - move ID87 to IDOBAO vendor folder (#15667)
 - move montex to IDOBAO vendor folder (#15668)
 - move @yangdigi 's keyboards to a YDKB folder (#15681)
 - move @kkatano 's keyboards to kkatano user folder (#15684)
 - Sol 3 Keyboard from RGBKB (#15687)
 - move cu24, cu75, cu80/v1 into capsunlocked folder (#15758)
 - move mechkeys keyboards into the mechkeys/ vendor folder (#15760)
 - move @lyso1 's boards into lyso1/ (#15767)
 - move prototypist boards into vendor folder (#15780)
 - move @yiancar 's boards into yiancardesigns/ (#15781)
 - move novelkeys keyboards to vendor folder (#15783)
 - move @weirdo-f 's keyboards into weirdo/ (#15785)
 - move @marksard 's boards to marksard/ (#15786)
 - move input club keyboards into vendor folder (#15788)
 - move @monksoffunk 's boards into 25keys/ (#15789)
 - move @Salicylic-acid3 's keyboards to salicylic-acid3/ (#15791)
 - move @rainkeebs 's keyboards to rainkeebs/ (#15797)
 - move standaside into edi/ (#15798)
 - move @obosob 's boards into obosob/ (#15799)
 - move @nacly 's boards to nacly/ (#15801)
 - move @kakunpc 's keebs into kakunpc/ (#15814)
 - move @qpocket 's keyboards to qpocket/ (#15827)
 - BDN9 keymap (#15924)
 - move @matthewdias 's keebs into matthewdias/ (#15991)
 - move id80 and id75 to v1 to accommodate for id75 v2 and id80 v3 (#15992)
 - Remove 
action_function()from LFKeyboards boards (#15993) - move @latincompass (aka @18438880 , @haierwangwei2005)'s boards to /latincompass (#16039)
 - move g heavy industry boards into /gboards (#16040)
 - move @drhigsby 's boards into /drhigsby (#16041)
 - More keyboard rules.mk cleanups (#16044)
 - move @That-Canadian 's boards into /maple_computing (#16050)
 - move @takai 's keyboards into /recompile_keys (#16053)
 - move @satt99 's comet46 to satt/ (#16059)
 - move @ka2hiro 's boards into /kagizaraya (#16070)
 - move @GlenPickle 's chimera* boards into a folder (#16072)
 - move @yynmt 's boards into /yynmt (#16075)
 - move @Biacco42 's keebs into /biacco42 (#16080)
 - move unikeyboard boards to /unikeyboard (#16081)
 - move four_banger to bpiphany (#16082)
 - move @takashiski 's keebs into /takashiski (#16089)
 - move hid_liber to /bpiphany (#16091)
 - move spaceholdings boards into /spaceholdings (#16096)
 - move @7-rate 's keebs to /rate (#16099)
 - move @npspears 's boards into /checkerboards (#16100)
 - move @vuhopkep 's keebs into /hnahkb (#16102)
 - move @ibnuda 's keebs into /ibnuda (#16108)
 - move @tominabox1 's keebs into /tominabox1 (#16109)
 - move niu_mini to /kbdfans (#16112)
 - move woodkeys.click keyboards to /woodkeys (#16113)
 - move @omkbd 's boards to /omkbd (#16116)
 - Overhaul Tractyl Manuform (#16134)
 - Reduce firmware size for dztech/dz60rgb_wkl/v2_1:via (#16254)
 
Keyboard fixes:
- Fix build failure for UT47 (#15483)
 - Update grs_70ec to use newer custom matrix (#15609)
 - fix compiler issue with Tractyl Manuform 4x6 (#15646)
 - Fix CI. (#15828)
 - Yet another bad 
DEFAULT_FOLDERfix. (#15904) - Fix build failures for 
mschwingen/modelm(#15987) rocketboard_16: Fix mismatched LUT sizes (#15997)- Fix erroneous SRC for Clueboard 66 hotswap (#16007)
 - Fix handwired/ms_sculpt_mobile default keymap (#16032)
 - Re-org Hillside folders as new model prep. Fix default keymap. (#16128)
 - Fix up default folder locations. Again. (#16135)
 - Sol3 rgb fix (#16157)
 - Add missing 
BOOTLOADERfor a handful of boards (#16225) - Remove half implemented micronucleus bootloader support (#16252)
 - Fixup bootloaders. (#16256)
 - Fix idobao/id80/v3 compilation errors (#16280)
 - Remove parent-relative paths from keyboards. (#16282)
 - Bodge for helix build failures (#16376)
 
Others:
- Add a clarification to an error message (#15207)
 - Clang-format tweaks (#15906)
 - Add example implementations for compatible MCUs list (#15935)
 - Add version.h to gitignore (#16222)
 - Update keyboard mapping for all moved boards this cycle (#16312)
 - Align docs to new-keyboard behaviour (#16357)
 - Align new-keyboard with recent schema updates (#16378)
 
Bugs:
- Fixes potential wpm sampling overflow, along with code comment fixes (#15277)
 - Add missing define for unicode common (#15416)
 - Fix for SPI write timing in PMW3360 driver (#15519)
 - Documentation Typo fix (#15538)
 - fix a typo (#15557)
 - Fix avr serial compile (#15589)
 - More AVR GPIO compilation fixes. (#15592)
 - Fix bug and code regression for Split Common (#15603)
 - Include missing string.h include in split (#15606)
 - Fixes for bootloader refactor build failures (#15638)
 - Update pmw3360 driver after reading the datasheet top to bottom. Fix some outdated refs. (#15682)
 - Fix split pointing for analog joystick (#15691)
 - Fix broken bootloader builds in develop. (#15880)
 - Fix optical sensor firmware upload (#15919)
 - Pass in the keyrecord_t of the dual-role/tapping key when calling per-key tap hold functions (#15938)
 - fixed typo in orange HSV colors decalartion (#15976)
 - Fix hack for chibiOS reset name (#15984)
 - Fix right side ws2812 leds having two indices (#15985)
 - Workaround in Makefile for recursive rule matching (#15988)
 - Fix BACKLIGHT_CAPS_LOCK warning (#15999)
 - Fix compilation issues for led indicators (#16001)
 - ChibiOS timer fixes (#16017)
 - Fix bootloader_jump for certain CTRL boards (#16026)
 - Fix up issue with PROGMEM and hand_swap_config (#16027)
 - Don't make EEPROM size assumptions with dynamic keymaps. (#16054)
 - fix missed .noci in reviung move (#16107)
 - Fix issues with Python Tests (#16162)
 - Fixup multibuild filegen (#16166)
 - Remove old .gitignore entry. Add more macOS junk exclusions. (#16167)
 - Fixup builds so that teensy EEPROM knows which MCU it's targeting. (#16168)
 - Create a build error if no bootloader is specified. (#16181)
 - Ensure 
version.his recreated each build. (#16188) - Add 
customto list of valid bootloader types in info.json (#16228) - Fix 
layer_staterestoration at end of dynamic macro feature #16208 (#16230) - Minor additions #12795 (#16276)
 - Various fixes for matrix _RIGHT handling (#16292)
 - Fix slashes in build_full_test.mk (#16300)
 - ps2/avr: use the correct file name (#16316)
 - Fix compilation of ChibiOS UART driver (#16348)
 - Various fixes for new-keyboard (#16358)
 - Allow NO_PIN within data driven configuration (#16359)