docs/ChangeLog/20250223.md
Community Modules are a feature within QMK which allows code to be implemented by third parties, making it available for other people to import into their own builds.
These modules can provide implementations which override or enhance normal QMK processing; initialization, key processing, suspend, and shutdown are some of the provided hooks which modules may currently implement.
See the Community Modules documentation for more information, including the full list of available hooks.
First-class support for External Userspace is included out of the box, so there's even more reason to take the plunge and convert your keymap builds to a userspace repository!
::: tip An example with a new keycode and some debugging information in the QMK repository lives here, and a community module port of getreuer's SOCD Cleaner can be found in tzarc's modules repo. :::
Chordal Hold implements, by default, an "opposite hands" rule. Suppose a tap-hold key is pressed and then, before the tapping term, another key is pressed. With Chordal Hold, the tap-hold key is settled as tapped if the two keys are on the same hand.
Chordal Hold may be useful to avoid accidental modifier activation with mod-taps, particularly in rolled keypresses when using home row mods.
See the Chordal Hold documentation for more information.
| Old Keyboard Name | New Keyboard Name |
|---|---|
| cxt_studio | cxt_studio/12e4 |
| ergodox_stm32 | handwired/ergodox_stm32 |
| ploopyco/mouse | ploopyco/mouse/rev1_002 |
| ploopyco/trackball/rev1 | ploopyco/trackball/rev1_004 |
| ymdk/id75 | ymdk/id75/f103 |
In line with the notice period, deprecation notices for larger items are listed here.
DEFAULT_FOLDER was originally introduced to work around limitations within the build system.
Parent folders containing common configuration would create invalid build targets.
With the introduction of keyboard.json as a configuration file, the build system now has a consistent method to detect build targets.
The DEFAULT_FOLDER functionality is now redundant and the intent is for rules.mk to become pure configuration.
Backwards compatibility of build targets has been maintained where possible.
Core:
i2c_master: remove deprecated functions (#24832)ferris/0_1: update I2C API usage (#24839)process_record_via after _user/_kb have a chance to handle it. (#24879)CLI:
qmk docs: restore --port and --browser arguments (#24623)new-keymap keymap name prompt (#24701)qmk flash rejects invalid files for uf2 compatible bootloaders (#24802)Submodule updates:
stable_21.11.x. (#24714)Keyboards:
Keyboard fixes:
Others:
Bugs: