Files
zsa_qmk_firmware/docs/ChangeLog/20220226.md
Joel Challis cf31355f08 Changelog 2022q1 (#16380)
* 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>
2022-02-23 17:33:08 +00:00

36 KiB
Raw Blame History

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:

  • BOOTLOADER within rules.mk
  • bootloader within info.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) * Dont 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_DELAY and clear_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.c by 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 AdafruitBLE to BluefruitLE (#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: * develop changelog generator: use the PR title instead (#15537) * develop changelog 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_FOLDER fix. (#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 BOOTLOADER for 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) * Dont 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 its targeting. (#16168) * Create a build error if no bootloader is specified. (#16181) * Ensure version.h is recreated each build. (#16188) * Add custom to list of valid bootloader types in info.json (#16228) * Fix layer_state restoration 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)