9.7 KiB
QMK Breaking Change - 2020 Nov 28 Changelog
Four times a year QMK runs a process for merging Breaking Changes. A Breaking Change is any change which modifies how QMK behaves in a way that is incompatible or potentially dangerous. We limit these changes to 4 times per year so that users can have confidence that updating their QMK tree will not break their keymaps.
Changes Requiring User Action
Relocated Keyboards
Reduce Helix keyboard build variation (#8669)
The build commands for the Helix keyboard are:
make <helix_build_name>:<keymap_name>
For <helix_build_name>, specify the one in the rightmost column of the table below, such as helix, helix/pico.
| before Oct 17 2019 | Oct 17 2019 | Mar 10 2020 | Nov 28 2020 |
|---|---|---|---|
| helix/rev1 | helix/rev1 | helix/rev1 | helix/rev1 |
| helix/pico | helix/pico | helix/pico | helix/pico |
| helix/pico/back | helix/pico/back | helix/pico/back | |
| helix/pico/under | helix/pico/under | helix/pico/under | |
| helix/pico/sc | -- | ||
| helix/pico/sc/back | helix/pico/sc | ||
| helix/pico/sc/under | -- | ||
| helix/rev2 (=helix) | helix/rev2 (=helix) | helix/rev2 (=helix) | -- |
| helix/rev2/back | helix/rev2/back | -- | |
| helix/rev2/back/oled | helix/rev2/back/oled | ( --> helix/rev2/back) | |
| helix/rev2/oled | helix/rev2/oled | helix/rev2 (=helix) | |
| helix/rev2/oled/back | helix/rev2/oled/back | helix/rev2/back | |
| helix/rev2/oled/under | helix/rev2/oled/under | helix/rev2/under | |
| helix/rev2/sc | -- | ||
| helix/rev2/sc/back | -- | ||
| helix/rev2/sc/oled | -- | ||
| helix/rev2/sc/oledback | helix/rev2/sc | ||
| helix/rev2/sc/oledunder | -- | ||
| helix/rev2/sc/under | -- | ||
| helix/rev2/under | helix/rev2/under | -- | |
| helix/rev2/under/oled | helix/rev2/under/oled | ( --> helix/rev2/under) |
Update the Speedo firmware for v3.0 (#10657)
The Speedo keyboard has moved to cozykeys/speedo/v2 as the designer prepares to release the Speedo v3.0.
| Previous Name | New Name |
|---|---|
| speedo | cozykeys/speedo/v2 |
| -- | cozykeys/speedo/v3 new |
Maartenwut/Maarten name change to evyd13/Evy (#10274)
Maartenwut has rebranded as @evyd13, and all released Maartenwut boards have moved.
| Previous Name | New Name |
|---|---|
| maartenwut/atom47/rev2 | evyd13/atom47/rev2 |
| maartenwut/atom47/rev3 | evyd13/atom47/rev3 |
| maartenwut/eon40 | evyd13/eon40 |
| maartenwut/eon65 | evyd13/eon65 |
| maartenwut/eon75 | evyd13/eon75 |
| maartenwut/eon87 | evyd13/eon87 |
| maartenwut/eon95 | evyd13/eon95 |
| maartenwut/gh80_1800 | evyd13/gh80_1800 |
| maartenwut/gh80_3700 | evyd13/gh80_3700 |
| maartenwut/minitomic | evyd13/minitomic |
| maartenwut/mx5160 | evyd13/mx5160 |
| maartenwut/nt660 | evyd13/nt660 |
| maartenwut/omrontkl | evyd13/omrontkl |
| maartenwut/plain60 | evyd13/plain60 |
| maartenwut/pockettype | evyd13/pockettype |
| maartenwut/quackfire | evyd13/quackfire |
| maartenwut/solheim68 | evyd13/solheim68 |
| maartenwut/ta65 | evyd13/ta65 |
| maartenwut/wasdat | evyd13/wasdat |
| maartenwut/wasdat_code | evyd13/wasdat_code |
| maartenwut/wonderland | evyd13/wonderland |
Xelus Valor and Dawn60 Refactors (#10512, #10584)
The Valor and Dawn60 keyboards by Xelus22 both now require their revisions to be specified when compiling.
| Previous Name | New Name |
|---|---|
| xelus/dawn60 | xelus/dawn60/rev1 |
| xelus/valor | xelus/valor/rev1 |
Updated Keyboard Codebases
AEboards EXT65 Refactor (#10820)
The EXT65 codebase has been reworked so keymaps can be used with either revision.
Core Changes
Fixes
- Reconnect the USB if users wake up a computer from the keyboard to restore the USB state (#10088)
- Fix cursor position bug in oled_write_raw functions (#10800)
Additions and Enhancements
- Allow MATRIX_ROWS to be greater than 32 (#10183)
- Add support for soft serial to ATmega32U2 (#10204)
- Allow direct control of MIDI velocity value (#9940)
- Joystick 16-bit support (#10439)
- Allow encoder resolutions to be set per encoder (#10259)
- Share button state from mousekey to pointing_device (#10179)
- Add advanced/efficient RGB Matrix Indicators (#8564)
- OLED display update interval support (#10388)
- Per-Key Retro Tapping (#10622)
- Allow backlight duty cycle limit (#10260)
- Add step sequencer feature (#9703)
- Added
add_oneshot_mods&del_oneshot_mods(#10549) - Add AT90USB support for serial.c (#10706)
- Auto shift: support repeats and early registration (#9826)
Clean-ups and Optimizations
- Haptic and solenoid cleanup (#9700)
- XD75 cleanup (#10524)
- Minor change to behavior allowing display updates to continue between task ticks (#10750)
- Change some GPIO manipulations in matrix.c to be atomic (#10491)
- combine repeated lines of code for ATmega32U2, ATmega16U2, ATmega328 and ATmega328P (#10837)
- Remove references to HD44780 (#10735)
QMK Infrastructure and Internals
- Add ability to build a subset of all keyboards based on platform. (#10420)
- Initialise EEPROM drivers at startup, instead of upon first execution (#10438)
- Make bootloader_jump weak for ChibiOS (#10417)
- Support for STM32 GPIOF,G,H,I,J,K (#10206)
- Add milc as a dependency and remove the installed milc (#10563)
- ChibiOS upgrade: early init conversions (#10214)
- ChibiOS upgrade: configuration file migrator (#9952)
- Add definition based on currently-selected serial driver. (#10716)
- Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)
- Allow keyboards/keymaps to execute code at each main loop iteration (#10530)
- qmk cformat (#10767)
- Add a Make variable to easily enable DEBUG_MATRIX_SCAN_RATE on the command line (#10824)
- update Chibios OS USB for the OTG driver (#8893)
- Fixup version.h writing when using
SKIP_VERSION=yes(#10972, #10974) - Rename ledmatrix.h to match .c file (#7949)
- Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)
- Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)