2025q3 develop changelog (#25597)

This commit is contained in:
Joel Challis 2025-09-05 22:07:20 +01:00 committed by GitHub
parent df8bb7ce24
commit b43ec9d65a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 193 additions and 53 deletions

181
docs/ChangeLog/20250831.md Normal file
View File

@ -0,0 +1,181 @@
# QMK Breaking Changes - 2025 Aug 31 Changelog
## Changes Requiring User Action
### Updated Keyboard Codebases
| Old Keyboard Name | New Keyboard Name |
|--------------------------------------|----------------------------------|
| bastardkb/charybdis/3x5/v2/elitec | bastardkb/charybdis/3x5/elitec |
| bastardkb/charybdis/3x5/v2/splinky_2 | bastardkb/charybdis/3x5/elitec |
| bastardkb/charybdis/3x5/v2/splinky_3 | bastardkb/charybdis/3x5/elitec |
| bastardkb/charybdis/3x5/v2/stemcell | bastardkb/charybdis/3x5/elitec |
| bastardkb/charybdis/3x6/v2/elitec | bastardkb/charybdis/3x6/elitec |
| bastardkb/charybdis/3x6/v2/splinky_2 | bastardkb/charybdis/3x6/elitec |
| bastardkb/charybdis/3x6/v2/splinky_3 | bastardkb/charybdis/3x6/elitec |
| bastardkb/charybdis/3x6/v2/stemcell | bastardkb/charybdis/3x6/elitec |
| bastardkb/charybdis/4x6/v2/elitec | bastardkb/charybdis/4x6/elitec |
| bastardkb/charybdis/4x6/v2/splinky_2 | bastardkb/charybdis/4x6/elitec |
| bastardkb/charybdis/4x6/v2/splinky_3 | bastardkb/charybdis/4x6/elitec |
| bastardkb/charybdis/4x6/v2/stemcell | bastardkb/charybdis/4x6/elitec |
| bastardkb/dilemma/3x5_2/splinky | bastardkb/dilemma/3x5_2/promicro |
| bastardkb/scylla/v2/elitec | bastardkb/scylla/promicro |
| bastardkb/scylla/v2/splinky_2 | bastardkb/scylla/promicro |
| bastardkb/scylla/v2/splinky_3 | bastardkb/scylla/promicro |
| bastardkb/scylla/v2/stemcell | bastardkb/scylla/promicro |
| bastardkb/skeletyl/v2/elitec | bastardkb/skeletyl/promicro |
| bastardkb/skeletyl/v2/splinky_2 | bastardkb/skeletyl/promicro |
| bastardkb/skeletyl/v2/splinky_3 | bastardkb/skeletyl/promicro |
| bastardkb/skeletyl/v2/stemcell | bastardkb/skeletyl/promicro |
| bastardkb/tbkmini/v2/elitec | bastardkb/tbkmini/promicro |
| bastardkb/tbkmini/v2/splinky_2 | bastardkb/tbkmini/promicro |
| bastardkb/tbkmini/v2/splinky_3 | bastardkb/tbkmini/promicro |
| bastardkb/tbkmini/v2/stemcell | bastardkb/tbkmini/promicro |
| helix/rev2 | helix/beta |
| helix/rev3_4rows | helix/rev3 |
| helix/rev3_5rows | helix/rev3 |
| kprepublic/cstc40/daughterboard | kprepublic/cstc40/rev1 |
| kprepublic/cstc40/single_pcb | kprepublic/cstc40/rev2 |
| ll3macorn/bongopad | ll3ma/bongopad |
| novelkeys/nk65/base | novelkeys/nk65/v1 |
| tweetydabird/lotus58/elite_c | tweetydabird/lotus58 |
| tweetydabird/lotus58/nanoboot | tweetydabird/lotus58 |
| tweetydabird/lotus58/promicro | tweetydabird/lotus58 |
| tweetydabird/lotus58/rp2040_ce | tweetydabird/lotus58 |
### Mitigate VIA keylogger security issues [#25414](https://github.com/qmk/qmk_firmware/pull/25414)
VIA's keyboard matrix testing functionality, which allows users to identify active key presses, has been identified as a potential security concern by community members and security researchers. This feature has been demonstrated to enable unauthorized keystroke capture, with documented examples showing how malicious scripts could exploit this capability to create keyloggers. A recent security assessment revealed that user credentials could be compromised by exploiting the matrix testing function combined with VIA's keycode assignment queries. In this attack scenario, a script could remain active during a locked session and capture password input when users authenticate upon return.
The QMK team notified the VIA team of this security vulnerability on May 17, 2022, and made multiple subsequent attempts to coordinate a mitigation strategy. Despite repeated outreach, the VIA team has provided no acknowledgment or response to these security concerns. Given the severity of the potential security implications and the lack of engagement from the VIA team, the QMK team has unilaterally implemented a security enhancement that modifies the keyboard matrix testing functionality to prevent the reporting of key press events. This change prioritizes user security and data protection over potential feature compatibility concerns within VIA.
## 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 ([#23281](https://github.com/qmk/qmk_firmware/pull/23281))
`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 removed with the intent that `rules.mk` is now pure configuration.
Backwards compatibility of build targets has been maintained where possible.
### Converter `Pin Compatible` updates ([#20330](https://github.com/qmk/qmk_firmware/pull/20330))
Converter support has been further limited to only function if a keyboard declares that it is compatible.
This can be configured in the following ways:
:::::tabs
==== keyboard.json
```json [keyboard.json]
{
"development_board": "promicro", // [!code focus]
}
```
==== rules.mk
```make [rules.mk]
PIN_COMPATIBLE = promicro
```
:::::
see the [Converters Feature](../feature_converters) documentation for more information.
### Removal of deprecated RGB and Mouse keycodes ([#25444](https://github.com/qmk/qmk_firmware/pull/25444))
Backwards compatibility of deprecated RGB and Mouse keycodes has been removed.
See the following documentation for the list of currently supported keycodes:
* [RGB Lighting](../features/rgblight#keycodes)
* [RGB Matrix](../features/rgb_matrix#keycodes)
* [Mouse keys](../features/mouse_keys#mapping-mouse-actions)
## Full changelist
Core:
* Remove converter assumption that everything is a promicro ([#20330](https://github.com/qmk/qmk_firmware/pull/20330))
* Remove `DEFAULT_FOLDER` handling ([#23281](https://github.com/qmk/qmk_firmware/pull/23281))
* Add core handling for pointing device failures. ([#25315](https://github.com/qmk/qmk_firmware/pull/25315))
* Relocate remaining `process_record_quantum` keycodes ([#25328](https://github.com/qmk/qmk_firmware/pull/25328))
* Remove `process_action_kb` callback ([#25331](https://github.com/qmk/qmk_firmware/pull/25331))
* Add `{rgb|led}_matrix_get_mode_name()`. ([#25344](https://github.com/qmk/qmk_firmware/pull/25344))
* Align sleep_led logic ([#25395](https://github.com/qmk/qmk_firmware/pull/25395))
* Mitigate VIA keylogger security issues ([#25414](https://github.com/qmk/qmk_firmware/pull/25414))
* Deprecate some nonstandard mod & mod-tap keycode aliases ([#25437](https://github.com/qmk/qmk_firmware/pull/25437))
* Refactor Starlight Smooth matrix effect ([#25442](https://github.com/qmk/qmk_firmware/pull/25442))
* Remove deprecated `RGB_` and Mouse keycodes ([#25444](https://github.com/qmk/qmk_firmware/pull/25444))
* Configure SPI for `QMK_PM2040` board ([#25481](https://github.com/qmk/qmk_firmware/pull/25481))
* Configure SPI for `STEMCELL` board ([#25486](https://github.com/qmk/qmk_firmware/pull/25486))
* Configure SPI for `QMK_BLOK` board ([#25487](https://github.com/qmk/qmk_firmware/pull/25487))
* Clamp reactive offset value ([#25489](https://github.com/qmk/qmk_firmware/pull/25489))
* Relocate `AUDIO_INIT_DELAY` implementation ([#25491](https://github.com/qmk/qmk_firmware/pull/25491))
* Add MATRIX_ROWS_PER_HAND definition ([#25513](https://github.com/qmk/qmk_firmware/pull/25513))
* Refactor battery driver ([#25550](https://github.com/qmk/qmk_firmware/pull/25550))
* Add cachyos as pattern when installing dependencies ([#25580](https://github.com/qmk/qmk_firmware/pull/25580))
CLI:
* Add MATRIX_MASKED DD config ([#25383](https://github.com/qmk/qmk_firmware/pull/25383))
* Ensure keyboard aliases do not point to themselves ([#25500](https://github.com/qmk/qmk_firmware/pull/25500))
Keyboards:
* [Update] E8ghtyNeo caps indicator ([#25009](https://github.com/qmk/qmk_firmware/pull/25009))
* Keychron C3 Pro `c3_pro.c` corrections ([#25049](https://github.com/qmk/qmk_firmware/pull/25049))
* Update franky36 pid and vid ([#25160](https://github.com/qmk/qmk_firmware/pull/25160))
* Added Encoder support for Soyuz ([#25279](https://github.com/qmk/qmk_firmware/pull/25279))
* CSTC40 rev3 (FXTWINK) ([#25285](https://github.com/qmk/qmk_firmware/pull/25285))
* Migrate remaining `DEFAULT_FOLDER` to keyboard aliases ([#25291](https://github.com/qmk/qmk_firmware/pull/25291))
* Configure boards to use development_board - R ([#25316](https://github.com/qmk/qmk_firmware/pull/25316))
* Configure boards to use development_board - P ([#25317](https://github.com/qmk/qmk_firmware/pull/25317))
* Configure boards to use development_board - NO ([#25338](https://github.com/qmk/qmk_firmware/pull/25338))
* Configure boards to use development_board - LM ([#25341](https://github.com/qmk/qmk_firmware/pull/25341))
* maple_computing/launchpad - Remove broken `default_rgb` keymap ([#25342](https://github.com/qmk/qmk_firmware/pull/25342))
* update winry25 VID and PID ([#25351](https://github.com/qmk/qmk_firmware/pull/25351))
* Configure boards to use development_board - DE ([#25369](https://github.com/qmk/qmk_firmware/pull/25369))
* Configure boards to use development_board - FGHIJ ([#25370](https://github.com/qmk/qmk_firmware/pull/25370))
* refactor(mercutio): layouts & reformatting ([#25408](https://github.com/qmk/qmk_firmware/pull/25408))
* Configure boards to use development_board - ABC ([#25417](https://github.com/qmk/qmk_firmware/pull/25417))
* Configure boards to use development_board - K ([#25421](https://github.com/qmk/qmk_firmware/pull/25421))
* Refactor `helix/pico` ([#25428](https://github.com/qmk/qmk_firmware/pull/25428))
* Refactor `helix/rev2` ([#25429](https://github.com/qmk/qmk_firmware/pull/25429))
* Refactor `helix/rev3_{4,5}rows` ([#25430](https://github.com/qmk/qmk_firmware/pull/25430))
* Migrate `helix` common configuration ([#25433](https://github.com/qmk/qmk_firmware/pull/25433))
* Refactor `bastardkb/tbkmini` ([#25438](https://github.com/qmk/qmk_firmware/pull/25438))
* Convert `novelkeys/nk65` to use RGB Matrix ([#25450](https://github.com/qmk/qmk_firmware/pull/25450))
* Convert moon to lite custom matrix ([#25452](https://github.com/qmk/qmk_firmware/pull/25452))
* Refactor `bastardkb/skeletyl` ([#25456](https://github.com/qmk/qmk_firmware/pull/25456))
* Refactor `bastardkb/scylla` ([#25459](https://github.com/qmk/qmk_firmware/pull/25459))
* Refactor `bastardkb/dilemma/3x5_2` ([#25462](https://github.com/qmk/qmk_firmware/pull/25462))
* Migrate `usb.force_nkro` to `host.default.nkro` ([#25468](https://github.com/qmk/qmk_firmware/pull/25468))
* Give mouse report to pointing_device_task_user first in ploopyco devices ([#25475](https://github.com/qmk/qmk_firmware/pull/25475))
* Refactor `bastardkb/charybdis/3x5` ([#25488](https://github.com/qmk/qmk_firmware/pull/25488))
* Refactor `bastardkb/charybdis/3x6` ([#25493](https://github.com/qmk/qmk_firmware/pull/25493))
* Refactor `bastardkb/charybdis/4x6` ([#25494](https://github.com/qmk/qmk_firmware/pull/25494))
* Rebrand For Ll3ma Keyboards ([#25498](https://github.com/qmk/qmk_firmware/pull/25498))
* Remove some encoder resolution that duplicate defaults ([#25517](https://github.com/qmk/qmk_firmware/pull/25517))
* Remove overriding of `DF()` within keyboards ([#25541](https://github.com/qmk/qmk_firmware/pull/25541))
* Refactor inland/kb83 ([#25542](https://github.com/qmk/qmk_firmware/pull/25542))
* Refactor `tweetydabird/lotus58` ([#25547](https://github.com/qmk/qmk_firmware/pull/25547))
* Swap spleeb to default GENERIC_PROMICRO_RP2040 board files ([#25564](https://github.com/qmk/qmk_firmware/pull/25564))
Keyboard fixes:
* Fix `keebio/quefrency/rev1:default60` ([#25423](https://github.com/qmk/qmk_firmware/pull/25423))
* Fixup `bastardkb/tbkmini` keymap's build target ([#25458](https://github.com/qmk/qmk_firmware/pull/25458))
* Miscellaneous fixes for lint warnings ([#25469](https://github.com/qmk/qmk_firmware/pull/25469))
* Fix pytest/has_community default keymap location ([#25471](https://github.com/qmk/qmk_firmware/pull/25471))
* Fix serial speed DD configuration & migrate keyboards ([#25546](https://github.com/qmk/qmk_firmware/pull/25546))
* Update rgb x coordinate of rightmost column ([#25556](https://github.com/qmk/qmk_firmware/pull/25556))
Bugs:
* Fix buggy switch statement in quantum.c ([#25322](https://github.com/qmk/qmk_firmware/pull/25322))
* Compilation fixes for `-fno-common` ([#25436](https://github.com/qmk/qmk_firmware/pull/25436))
* Only userspace should be searched for keyboard aliases when locating keymaps ([#25477](https://github.com/qmk/qmk_firmware/pull/25477))
* Allow `qmk flash <filename>` to flash AT32 boards ([#25497](https://github.com/qmk/qmk_firmware/pull/25497))

View File

@ -1,37 +0,0 @@
# Refactor of `keyboards/helix`
This series of PRs aims to align this keyboard's configuration with current standards, and also remove unnecessary contents.
### Refactor `helix/pico` [#25428](https://github.com/qmk/qmk_firmware/pull/25428)
- Removes redundant `back`, `base`, `sc`, `under`, & `qmk_conf` revisions
- Migrates legacy defines and configuration to JSON
- Migrates `default` keymap to JSON
- Fixes RGB configuration to illuminate 25 LEDs per half
- Enables standard features like Bootmagic, extrakey, etc.
- Updates keyboard aliases accordingly
### Refactor `helix/rev2` [#25429](https://github.com/qmk/qmk_firmware/pull/25429)
- Removes redundant `back`, `base`, `sc`, `under`, & `qmk_conf` revisions
- Renames `rev2` to `beta`, as the only PCB sources in the official Helix GitHub repository are named "[beta](https://github.com/MakotoKurauchi/helix/tree/master/PCB/beta)", this keyboard's name in QMK Firmware was already "beta", and this PCB is sold under the name "[beta](https://shop.yushakobo.jp/products/oss_pcb?variant=39452554231969)" on the Yushakobo store
- Migrates legacy defines and configuration to JSON
- Migrates `default` keymap to JSON
- Fixes RGB configuration to illuminate 32 LEDs per half
- Enables standard features like Bootmagic, extrakey, etc.
- Updates keyboard aliases accordingly
- Tidy's up OLED code
- Adds alternate 4 row layout, as this PCB allows users to snap off the bottom row
### Refactor `helix/rev3_{4,5}rows` [#25430](https://github.com/qmk/qmk_firmware/pull/25430)
- The `rev3_4rows` and `rev3_5rows` firmwares are identical, except for the extra row users can snap off. The 4 row PCB is not sold anywhere as an individual product, only the [5 row PCB](https://shop.yushakobo.jp/products/2143). Thus, this PR removes the aforementioned two build targets and adds a single `rev3` revision
- Migrates legacy defines and configuration to JSON
- Migrates `default` keymap to JSON
- Removes RGB Light configuration
- Updates keyboard aliases accordingly
- Tidy's up OLED code
- Adds alternate 4 row layout, as this PCB allows users to snap off the bottom row
### Migrate helix common configuration [#25433](https://github.com/qmk/qmk_firmware/pull/25433)
- Migrates common configuration shared between revisions to the top-level keyboard directory
- Improves `readme.md` to provide more detail regarding PCB revisions
- Removes unnecessary top-level `rules.mk` file and other general tidying
- Migrates `beta` and `pico` revisions to use RGB Matrix, which is more appropriate as these PCBs are fit with per-key RGB LEDs

View File

@ -1,5 +0,0 @@
# Mitigate VIA keylogger security issues [#25414](https://github.com/qmk/qmk_firmware/pull/25414)
VIA's keyboard matrix testing functionality, which allows users to identify active key presses, has been identified as a potential security concern by community members and security researchers. This feature has been demonstrated to enable unauthorized keystroke capture, with documented examples showing how malicious scripts could exploit this capability to create keyloggers. A recent security assessment revealed that user credentials could be compromised by exploiting the matrix testing function combined with VIA's keycode assignment queries. In this attack scenario, a script could remain active during a locked session and capture password input when users authenticate upon return.
The QMK team notified the VIA team of this security vulnerability on May 17, 2022, and made multiple subsequent attempts to coordinate a mitigation strategy. Despite repeated outreach, the VIA team has provided no acknowledgment or response to these security concerns. Given the severity of the potential security implications and the lack of engagement from the VIA team, the QMK team has unilaterally implemented a security enhancement that modifies the keyboard matrix testing functionality to prevent the reporting of key press events. This change prioritizes user security and data protection over potential feature compatibility concerns within VIA.

View File

@ -214,7 +214,7 @@
{ "text": "My Pull Request Was Flagged", "link": "/breaking_changes_instructions" },
{
"text": "Most Recent ChangeLog",
"link": "/ChangeLog/20250525"
"link": "/ChangeLog/20250831"
},
{ "text": "Past Breaking Changes", "link": "/breaking_changes_history" },
{ "text": "Deprecation Policy", "link": "/support_deprecation_policy" }

View File

@ -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 Aug 31](ChangeLog/20250831)
* [2025 May 25](ChangeLog/20250525)
* [2025 Feb 23](ChangeLog/20250223)
* [2024 Nov 24](ChangeLog/20241124)
* [Older Breaking Changes](breaking_changes_history)
## When is the next Breaking Change?
The next Breaking Change is scheduled for Aug 31, 2025.
The next Breaking Change is scheduled for November 30, 2025.
### Important Dates
* 2025 May 25 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2025 Aug 3 - `develop` closed to new PRs.
* 2025 Aug 3 - Call for testers.
* 2025 Aug 17 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2025 Aug 24 - `develop` is locked, only critical bugfix PRs merged.
* 2025 Aug 29 - `master` is locked, no PRs merged.
* 2025 Aug 31 - Merge `develop` to `master`.
* 2025 Aug 31 - `master` is unlocked. PRs can be merged again.
* 2025 Aug 31 - `develop` is tagged with a new release version. Each push to `master` is subsequently merged to `develop` by GitHub actions.
* 2025 Nov 2 - `develop` closed to new PRs.
* 2025 Nov 2 - Call for testers.
* 2025 Nov 16 - Last day for merges -- after this point `develop` is locked for testing and accepts only bugfixes
* 2025 Nov 23 - `develop` is locked, only critical bugfix PRs merged.
* 2025 Nov 28 - `master` is locked, no PRs merged.
* 2025 Nov 30 - Merge `develop` to `master`.
* 2025 Nov 30 - `master` is unlocked. PRs can be merged again.
## What changes will be included?

View File

@ -2,6 +2,7 @@
This page links to all previous changelogs from the QMK Breaking Changes process.
* [2025 Aug 31](ChangeLog/20250831) - version 0.30.0
* [2025 May 25](ChangeLog/20250525) - version 0.29.0
* [2025 Feb 23](ChangeLog/20250223) - version 0.28.0
* [2024 Nov 24](ChangeLog/20241124) - version 0.27.0