aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <[email protected]>2025-02-27 22:14:32 +0000
committerGitHub <[email protected]>2025-02-28 09:14:32 +1100
commitc4aaab5fa34ec9d66bb57c3640a5356c2daa638f (patch)
tree21fa0c16d64a0c38a64e0c14668b48858ba384da
parent1efc82403bebe759272d1ba7a79d9dfa0d5df506 (diff)
downloadqmk_firmware-c4aaab5fa34ec9d66bb57c3640a5356c2daa638f.tar.gz
qmk_firmware-c4aaab5fa34ec9d66bb57c3640a5356c2daa638f.zip
2025q1 develop changelog (#24949)
Co-authored-by: Nick Brassel <[email protected]>
-rw-r--r--docs/ChangeLog/20250223.md135
-rw-r--r--docs/_sidebar.json2
-rw-r--r--docs/breaking_changes.md20
-rw-r--r--docs/breaking_changes_history.md1
-rw-r--r--modules/qmk/hello_world/qmk_module.json1
5 files changed, 148 insertions, 11 deletions
diff --git a/docs/ChangeLog/20250223.md b/docs/ChangeLog/20250223.md
new file mode 100644
index 0000000000..858848a60b
--- /dev/null
+++ b/docs/ChangeLog/20250223.md
@@ -0,0 +1,135 @@
+# QMK Breaking Changes - 2025 February 23 Changelog
+
+## Notable Features
+
+### Community Modules ([#24848](https://github.com/qmk/qmk_firmware/pull/24848))
+
+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](../features/community_modules) for more information, including the full list of available hooks.
+
+First-class support for [External Userspace](../newbs_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](https://github.com/qmk/qmk_firmware/tree/master/modules/qmk/hello_world), and a community module port of [getreuer's SOCD Cleaner](https://getreuer.info/posts/keyboards/socd-cleaner/) can be found in [tzarc's modules repo](https://github.com/tzarc/qmk_modules).
+:::
+
+### Chordal Hold ([#24560](https://github.com/qmk/qmk_firmware/pull/24560))
+
+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](../tap_hold#chordal-hold) for more information.
+
+## Changes Requiring User Action
+
+### Updated Keyboard Codebases
+
+| 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 |
+
+## Deprecation Notices
+
+In line with the [notice period](../support_deprecation_policy#how-much-advance-notice-will-be-given), deprecation notices for larger items are listed here.
+
+### DEFAULT_FOLDER removal ([#24836](https://github.com/qmk/qmk_firmware/pull/24836))
+
+`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`](./20240526#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.
+
+## Full changelist
+
+Core:
+* Chaining OSL and MO ([#23065](https://github.com/qmk/qmk_firmware/pull/23065))
+* Add extra keymap for EurKEY layout ([#24241](https://github.com/qmk/qmk_firmware/pull/24241))
+* Add leader_add_user callback ([#24266](https://github.com/qmk/qmk_firmware/pull/24266))
+* always return audio pin to 0 on ARM ([#24503](https://github.com/qmk/qmk_firmware/pull/24503))
+* Update Starlight matrix effects ([#24521](https://github.com/qmk/qmk_firmware/pull/24521))
+* Refactor Hue Breathing matrix effect with runner ([#24525](https://github.com/qmk/qmk_firmware/pull/24525))
+* Ensure timer_read() is safe to call from interrupt handlers on ARM ([#24529](https://github.com/qmk/qmk_firmware/pull/24529))
+* Update Raindrops effect to respect LED range limits ([#24531](https://github.com/qmk/qmk_firmware/pull/24531))
+* Add Chordal Hold, an "opposite hands rule" tap-hold option similar to Achordion, Bilateral Combinations. ([#24560](https://github.com/qmk/qmk_firmware/pull/24560))
+* Azoteq - improve I2C behaviour while polling. ([#24611](https://github.com/qmk/qmk_firmware/pull/24611))
+* macOS install: remove bad ARM toolchains ([#24637](https://github.com/qmk/qmk_firmware/pull/24637))
+* small refactoring of TIMER_DIFF ([#24678](https://github.com/qmk/qmk_firmware/pull/24678))
+* Subscript alef correction ([#24707](https://github.com/qmk/qmk_firmware/pull/24707))
+* Created SH1107 driver for quantum painter ([#24724](https://github.com/qmk/qmk_firmware/pull/24724))
+* [CI] Regenerate Files ([#24772](https://github.com/qmk/qmk_firmware/pull/24772))
+* Patch up issue for inverted complementary output on Backlight ([#24794](https://github.com/qmk/qmk_firmware/pull/24794))
+* Patch up issue when compile with APA102 driver ([#24800](https://github.com/qmk/qmk_firmware/pull/24800))
+* Consolidate send_string implementations. ([#24817](https://github.com/qmk/qmk_firmware/pull/24817))
+* Consolidate timer_elapsed implementations ([#24830](https://github.com/qmk/qmk_firmware/pull/24830))
+* `i2c_master`: remove deprecated functions ([#24832](https://github.com/qmk/qmk_firmware/pull/24832))
+* Resolve keyboard_aliases when processing keyboard make targets ([#24834](https://github.com/qmk/qmk_firmware/pull/24834))
+* LED drivers: remove deprecated defines ([#24837](https://github.com/qmk/qmk_firmware/pull/24837))
+* `ferris/0_1`: update I2C API usage ([#24839](https://github.com/qmk/qmk_firmware/pull/24839))
+* Unify i2c_master headers ([#24846](https://github.com/qmk/qmk_firmware/pull/24846))
+* Community modules ([#24848](https://github.com/qmk/qmk_firmware/pull/24848))
+* Relocate base WS2812 code ([#24850](https://github.com/qmk/qmk_firmware/pull/24850))
+* Unify UART headers ([#24855](https://github.com/qmk/qmk_firmware/pull/24855))
+* Unify spi_master headers ([#24857](https://github.com/qmk/qmk_firmware/pull/24857))
+* Invoke `process_record_via` after `_user`/`_kb` have a chance to handle it. ([#24879](https://github.com/qmk/qmk_firmware/pull/24879))
+
+CLI:
+* Extend lint to reject 'blank' files ([#23994](https://github.com/qmk/qmk_firmware/pull/23994))
+* `qmk docs`: restore `--port` and `--browser` arguments ([#24623](https://github.com/qmk/qmk_firmware/pull/24623))
+* Update via2json layout macro searching ([#24640](https://github.com/qmk/qmk_firmware/pull/24640))
+* Change `new-keymap` keymap name prompt ([#24701](https://github.com/qmk/qmk_firmware/pull/24701))
+* default_keyboard.h generation tweaks ([#24715](https://github.com/qmk/qmk_firmware/pull/24715))
+* Ensure `qmk flash` rejects invalid files for uf2 compatible bootloaders ([#24802](https://github.com/qmk/qmk_firmware/pull/24802))
+* Reject readme dummy content ([#24913](https://github.com/qmk/qmk_firmware/pull/24913))
+
+Submodule updates:
+* chibios: usb_main: remove OTG sof workaround ([#24259](https://github.com/qmk/qmk_firmware/pull/24259))
+* Update ChibiOS to latest stable branch. ([#24651](https://github.com/qmk/qmk_firmware/pull/24651))
+* Update ChibiOS `stable_21.11.x`. ([#24714](https://github.com/qmk/qmk_firmware/pull/24714))
+* Update ChibiOS-Contrib. ([#24803](https://github.com/qmk/qmk_firmware/pull/24803))
+
+Keyboards:
+* refactor: move ymdk/id75 to revision ([#24590](https://github.com/qmk/qmk_firmware/pull/24590))
+* skyloong/gk61: Remove overriding of core keycode behaviour ([#24655](https://github.com/qmk/qmk_firmware/pull/24655))
+* moky/moky88: Remove use of deprecated defines ([#24656](https://github.com/qmk/qmk_firmware/pull/24656))
+* Updating Promenade keyboard (Missing keys in matrix, other minor changes to keymap) ([#24705](https://github.com/qmk/qmk_firmware/pull/24705))
+* Moving cxt_studio keyboard to own folder ([#24748](https://github.com/qmk/qmk_firmware/pull/24748))
+* Add CXT Studio 12E3 keyboard ([#24749](https://github.com/qmk/qmk_firmware/pull/24749))
+* Add Silakka54 keyboard ([#24757](https://github.com/qmk/qmk_firmware/pull/24757))
+* Add more layout for skiller_sgk50_s4 ([#24784](https://github.com/qmk/qmk_firmware/pull/24784))
+* Add watchdog service to RGBKB Sol 3 ([#24786](https://github.com/qmk/qmk_firmware/pull/24786))
+* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24835](https://github.com/qmk/qmk_firmware/pull/24835))
+* Remove DEFAULT_FOLDER where keyboard aliases already exists ([#24838](https://github.com/qmk/qmk_firmware/pull/24838))
+* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24845](https://github.com/qmk/qmk_firmware/pull/24845))
+* Update for 'A-JAZZ AKC084' ('A-JAZZ AKP846') ([#24868](https://github.com/qmk/qmk_firmware/pull/24868))
+* handwired/xealous - Remove DEFAULT_FOLDER ([#24877](https://github.com/qmk/qmk_firmware/pull/24877))
+* Updates to Ploopy Classic, Mouse, and Thumb for RP2040 hardware upgrade ([#24880](https://github.com/qmk/qmk_firmware/pull/24880))
+* Move Ergodox STM32 to handwired folder ([#24903](https://github.com/qmk/qmk_firmware/pull/24903))
+* Remove readme dummy content ([#24912](https://github.com/qmk/qmk_firmware/pull/24912))
+* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24915](https://github.com/qmk/qmk_firmware/pull/24915))
+* Migrate some DEFAULT_FOLDER to keyboard_aliases.hjson ([#24938](https://github.com/qmk/qmk_firmware/pull/24938))
+
+Keyboard fixes:
+* Fix up CI with `DEFAULT_FOLDER`. ([#24842](https://github.com/qmk/qmk_firmware/pull/24842))
+* rgbkb/pan - Remove invalid build target ([#24844](https://github.com/qmk/qmk_firmware/pull/24844))
+
+Others:
+* Formally deprecate DEFAULT_FOLDER ([#24836](https://github.com/qmk/qmk_firmware/pull/24836))
+* Correct I2C API reference ([#24840](https://github.com/qmk/qmk_firmware/pull/24840))
+
+Bugs:
+* Retro Tapping Re-Write; Key Roll Fix ([#23641](https://github.com/qmk/qmk_firmware/pull/23641))
+* Fix Quantum Painter compiliation issues with heavy optimization ([#24667](https://github.com/qmk/qmk_firmware/pull/24667))
+* Bugfix and update for AT32F415 ([#24807](https://github.com/qmk/qmk_firmware/pull/24807))
+* Fix for Chordal Hold: stuck mods when mod-taps are pressed in a stuttered sequence. ([#24878](https://github.com/qmk/qmk_firmware/pull/24878))
+* fix EEPROM driver for STM32L0/1 cat.1 devices ([#24928](https://github.com/qmk/qmk_firmware/pull/24928))
diff --git a/docs/_sidebar.json b/docs/_sidebar.json
index 0b5f297018..ae4d8fe4a9 100644
--- a/docs/_sidebar.json
+++ b/docs/_sidebar.json
@@ -207,7 +207,7 @@
{ "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" },
{
"text": "Most Recent ChangeLog",
- "link": "/ChangeLog/20241124"
+ "link": "/ChangeLog/20250223"
},
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
{ "text": "Deprecation Policy", "link": "/support_deprecation_policy" }
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md
index 132c5943cc..a5a57ccd12 100644
--- a/docs/breaking_changes.md
+++ b/docs/breaking_changes.md
@@ -10,25 +10,25 @@ Practically, this means QMK merges the `develop` branch into the `master` branch
## What has been included in past Breaking Changes?
+* [2025 Feb 23](ChangeLog/20250223)
* [2024 Nov 24](ChangeLog/20241124)
* [2024 Aug 25](ChangeLog/20240825)
-* [2024 May 26](ChangeLog/20240526)
* [Older Breaking Changes](breaking_changes_history)
## When is the next Breaking Change?
-The next Breaking Change is scheduled for February 23, 2025.
+The next Breaking Change is scheduled for May 25, 2025.
### Important Dates
-* 2024 Nov 24 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
-* 2025 Jan 26 - `develop` closed to new PRs.
-* 2025 Jan 26 - Call for testers.
-* 2025 Feb 9 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
-* 2025 Feb 16 - `develop` is locked, only critical bugfix PRs merged.
-* 2024 Nov 21 - `master` is locked, no PRs merged.
-* 2025 Feb 23 - Merge `develop` to `master`.
-* 2025 Feb 23 - `master` is unlocked. PRs can be merged again.
+* 2025 Feb 23 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
+* 2025 Apr 27 - `develop` closed to new PRs.
+* 2025 Apr 27 - Call for testers.
+* 2025 May 11 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
+* 2025 May 18 - `develop` is locked, only critical bugfix PRs merged.
+* 2025 May 23 - `master` is locked, no PRs merged.
+* 2025 May 25 - Merge `develop` to `master`.
+* 2025 May 25 - `master` is unlocked. PRs can be merged again.
## What changes will be included?
diff --git a/docs/breaking_changes_history.md b/docs/breaking_changes_history.md
index f877f42639..af8c1c04d5 100644
--- a/docs/breaking_changes_history.md
+++ b/docs/breaking_changes_history.md
@@ -2,6 +2,7 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
+* [2025 Feb 23](ChangeLog/20250223) - version 0.28.0
* [2024 Nov 24](ChangeLog/20241124) - version 0.27.0
* [2024 Aug 25](ChangeLog/20240825) - version 0.26.0
* [2024 May 26](ChangeLog/20240526) - version 0.25.0
diff --git a/modules/qmk/hello_world/qmk_module.json b/modules/qmk/hello_world/qmk_module.json
index 4f269cb4e9..fd855a6e23 100644
--- a/modules/qmk/hello_world/qmk_module.json
+++ b/modules/qmk/hello_world/qmk_module.json
@@ -2,6 +2,7 @@
"module_name": "Hello World",
"maintainer": "QMK Maintainers",
"features": {
+ "console": true,
"deferred_exec": true
},
"keycodes": [