10 KiB
QMK Breaking Changes - 2024 November 24 Changelog
Notable Features
November 2024 brings a relatively lightweight QMK release. As with previous cycles, almost all PRs were related to cleanup or re-organization of aspects of QMK.
One notable item is the removal of arm_atsam – this
affects users with massdrop/ctrl or
massdrop/alt keyboards. These have no current replacement,
but support for an alternative to the arm_atsam backend is
nearing completion. Unfortunately the alternative backend didn’t make
this quarter’s list of merges, so there’s a temporary removal of these
boards. Users who need to build for these targets should stay on the
0.26.x version of QMK until these boards have been
restored.
Changes Requiring User Action
Updated Keyboard Codebases
One note with updated keyboard names – historical keyboard names are still considered valid when using External Userspace for builds. If you’re already using External Userspace, you do not need to move your keymap inside your repository.
| Old Keyboard Name | New Keyboard Name |
|---|---|
| saevus/cor | concreteflowers/cor |
| saevus/cor_tkl | concreteflowers/cor_tkl |
Deprecation Notices
In line with the notice period, deprecation notices for larger items are listed here.
RGB Keycode Overhaul (#23679, #24484, #24490)
RGB keycodes have been reworked to allow for both rgblight and
rgb_matrix to coexist for the handful of boards in the repo with both
enabled. Previously, RGB_xxx style keycodes were available,
but now for rgblight we have UG_xxx (underglow), and
RM_xxx for rgb_matrix. Default keymaps have been updated to
reflect whichever system the respective board enables.
Longer-term, RGB_xxx style keycodes will be removed, but
for now they act as if they’re UG_xxx, and
UG_xxx keycodes act upon both rgblight and rgb_matrix
simultaneously. Put simply, the existing RGB_xxx keycodes
act as they always have, giving users time to transition across to the
new keycodes instead.
ADNS9800 and PMW33xx sensor firmware ROM removal (#24428)
Following on from the last Breaking Changes cycle, Binary blobs for optical sensors have been removed from the QMK codebase. Hooks allowing users to supply their own have been put in place; users wishing to source firmware blobs and integrate them into their keymap may do so. Doing so renders their firmware un-distributable due to licensing incompatibility with the GPL – as such user firmware containing such blobs must not be distributed.
Please get in touch with the QMK team on Discord if your sensor is no longer functional.
Full changelist
Core: * Refactor F4 ld files to use common files (#18059) * Add
LD7032 support to QP. (#20828) * Add
combo key repress feature (#22858) * Add
Layer Lock feature (#23430) *
Added MCU support for ArteryTek AT32F415 (#23445) *
Allow codegen of keymap.json => keymap.c
without requiring layers/layout etc. (#23451) *
Separate RGBLight/RGB Matrix keycode handling (#23679) *
Allow for inverted SPI CS logic (#23699) * Add
timer_save and _restore functions. (#23887) *
Allow for get_hardware_id() to be used for serial number.
(#24053) *
Segregrate keycode at pre-process record quantum (#24194) * Add
ability to poweroff ADNS5050 sensor (#24223) *
quantum: util: add bit and bitmask helpers (#24229) * Add
new connection keycodes for Bluetooth, 2.4GHz. (#24251) *
usb_device_state: consolidate usb state handling across
implementations (#24258) *
Remove global k_rgb_matrix_split (#24348) *
util: uf2families: sync with upstream (#24351) *
[Maintenance] builddefs: common_rules: overhaul debug information
generation (#24352) * Add
easier way to set default single layer (#24376) *
Tweak OS detect, add OS_DETECTION_SINGLE_REPORT (#24379) *
Reinstate global k_rgb_matrix_split (#24388) *
Bring supported STM32F4 configs in line with F4x1 (#24413) *
Extended wheel reports (#24422) *
Remove binary blobs from optical sensors. (#24428) *
Remove STM32_PWM_USE_ADVANCED references (#24432) *
Remove RING_BUFFERED_6KRO_REPORT_ENABLE due to disuse. (#24433) * Move
pointing device driver code (#24445) * Add
svlinky converter (#24449) *
Update combo user function variable (#24467) *
qmk find: expand operator support (#24468) *
Rename RGB and HSV structs (#24471) *
RGBLight: Improve RGB Test animation (#24477) *
Change default ARM hardware PWM WS2812 tick frequency to 800kHz (#24508) * Add
pointing tests (#24513) *
Joystick: add support for 8-way hat switch (#24515) *
Refactor Riverflow matrix effect with runner (#24520) *
Update Pixel Rain to respect LED range limits (#24532) *
Update Jellybean Raindrops to respect LED range limits (#24534) *
Refactor Breathing effect with runner (#24535) *
Refactor LED Breathing effect with runner (#24540) *
Expose rgb_matrix_update_pwm_buffers to be available in keymaps (#24573) *
Simple Python script to show polling rate (#24622) * Add
keycode PDF(layer) to set the default layer in EEPROM (#24630) *
Provide method to save a single default layer in the full range of 0-31
(#24639)
CLI: * Refactor painter arguments to table instead of commandline (#24456) *
qmk new-keyboard: separate dev board and MCU selection (#24548) * Bump
minimum required Python version (#24554)
Submodule updates: * Remove arm_atsam platform (#24337)
Keyboards: * add ergodox Community Layout for LAYOUT_ergodox
keyboards (#22963) *
Cutie Club Fidelity Layout Additions (#23838) * Add
Ploopyco functions for host state control (#23953) *
Corne rev4 (#24084) *
Rename saevus to concreteflowers (#24249) *
Remove 60_tsangan_hhkb community layout (#24355) * add
USART configuration to config.h for PS/2 mouse support (#24398) * Add
SteelSeries Prime+ mouse (#24408) *
Rename RGB/HSV structs: keyboard-level code (#24476) *
xiudi/xd002: Remove broken oversized multilayer_rgb keymap
(#24480) *
Update keycodes for keyboards with RGB Matrix (#24484) *
Cipulot Updates (#24539) *
Update keymaps to use PDF keycode (#24633) *
Remove keyboard use of eeconfig_read_default_layer (#24635)
Keyboard fixes: * Fix rendering of keymap_config.no_gui
within led_update_kb (#24473) * Fix
duplication of core GU_TOGG keycode (#24474) *
keebio/nyquist: Remove invalid I2C config (#24479) *
horrortroll/nyx/rev1: Fix compilation of custom RGB effect (#24481)
Others: * Improve consistency of syntax within
data/constants/keycodes (#24528)
Bugs: * WS2812 API rework (#24364) *
Backward compatibility for new RGB keycode handling (#24490) * Fix
compiliation issues with OS Detection (#24502) *
Revert removal of QK_OUTPUT_AUTO, fixup docs to reflect.
(#24593) *
Review fixes for layer lock feature (#24627)