20201128.md (9953B)
1 # QMK Breaking Change - 2020 Nov 28 Changelog 2 3 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. 4 5 6 ## Changes Requiring User Action {#changes-requiring-user-action} 7 8 ### Relocated Keyboards {#relocated-keyboards} 9 10 #### Reduce Helix keyboard build variation ([#8669](https://github.com/qmk/qmk_firmware/pull/8669)) 11 12 The build commands for the Helix keyboard are: 13 14 ``` 15 make <helix_build_name>:<keymap_name> 16 ``` 17 18 For `<helix_build_name>`, specify the one in the rightmost column of the table below, such as `helix`,` helix/pico`. 19 20 | before Oct 17 2019 | Oct 17 2019 | Mar 10 2020 | Nov 28 2020 | 21 | ---------------------|-------------------------|-------------------------| ------------------------| 22 | helix/rev1 | helix/rev1 | helix/rev1 | helix/rev1 | 23 | helix/pico | helix/pico | helix/pico | helix/pico | 24 | | helix/pico/back | helix/pico/back | helix/pico/back | 25 | | helix/pico/under | helix/pico/under | helix/pico/under | 26 | | | helix/pico/sc | -- | 27 | | | helix/pico/sc/back | helix/pico/sc | 28 | | | helix/pico/sc/under | -- | 29 | helix/rev2 (=helix) | helix/rev2 (=helix) | helix/rev2 (=helix) | -- | 30 | | helix/rev2/back | helix/rev2/back | -- | 31 | | helix/rev2/back/oled | helix/rev2/back/oled | ( --> helix/rev2/back) | 32 | | helix/rev2/oled | helix/rev2/oled | helix/rev2 (=helix) | 33 | | helix/rev2/oled/back | helix/rev2/oled/back | helix/rev2/back | 34 | | helix/rev2/oled/under | helix/rev2/oled/under | helix/rev2/under | 35 | | | helix/rev2/sc | -- | 36 | | | helix/rev2/sc/back | -- | 37 | | | helix/rev2/sc/oled | -- | 38 | | | helix/rev2/sc/oledback | helix/rev2/sc | 39 | | | helix/rev2/sc/oledunder | -- | 40 | | | helix/rev2/sc/under | -- | 41 | | helix/rev2/under | helix/rev2/under | -- | 42 | | helix/rev2/under/oled | helix/rev2/under/oled | ( --> helix/rev2/under) | 43 44 #### Update the Speedo firmware for v3.0 ([#10657](https://github.com/qmk/qmk_firmware/pull/10657)) 45 46 The Speedo keyboard has moved to `cozykeys/speedo/v2` as the designer prepares to release the Speedo v3.0. 47 48 | Previous Name | New Name | 49 | :------------ | :------------------------- | 50 | speedo | cozykeys/speedo/v2 | 51 | -- | cozykeys/speedo/v3 **new** | 52 53 #### Maartenwut/Maarten name change to evyd13/Evy ([#10274](https://github.com/qmk/qmk_firmware/pull/10274)) 54 55 Maartenwut has rebranded as @evyd13, and all released Maartenwut boards have moved. 56 57 | Previous Name | New Name | 58 | :--------------------- | :----------------- | 59 | maartenwut/atom47/rev2 | evyd13/atom47/rev2 | 60 | maartenwut/atom47/rev3 | evyd13/atom47/rev3 | 61 | maartenwut/eon40 | evyd13/eon40 | 62 | maartenwut/eon65 | evyd13/eon65 | 63 | maartenwut/eon75 | evyd13/eon75 | 64 | maartenwut/eon87 | evyd13/eon87 | 65 | maartenwut/eon95 | evyd13/eon95 | 66 | maartenwut/gh80_1800 | evyd13/gh80_1800 | 67 | maartenwut/gh80_3700 | evyd13/gh80_3700 | 68 | maartenwut/minitomic | evyd13/minitomic | 69 | maartenwut/mx5160 | evyd13/mx5160 | 70 | maartenwut/nt660 | evyd13/nt660 | 71 | maartenwut/omrontkl | evyd13/omrontkl | 72 | maartenwut/plain60 | evyd13/plain60 | 73 | maartenwut/pockettype | evyd13/pockettype | 74 | maartenwut/quackfire | evyd13/quackfire | 75 | maartenwut/solheim68 | evyd13/solheim68 | 76 | maartenwut/ta65 | evyd13/ta65 | 77 | maartenwut/wasdat | evyd13/wasdat | 78 | maartenwut/wasdat_code | evyd13/wasdat_code | 79 | maartenwut/wonderland | evyd13/wonderland | 80 81 #### Xelus Valor and Dawn60 Refactors ([#10512](https://github.com/qmk/qmk_firmware/pull/10512), [#10584](https://github.com/qmk/qmk_firmware/pull/10584)) 82 83 The Valor and Dawn60 keyboards by Xelus22 both now require their revisions to be specified when compiling. 84 85 | Previous Name | New Name | 86 | :------------ | :---------------- | 87 | xelus/dawn60 | xelus/dawn60/rev1 | 88 | xelus/valor | xelus/valor/rev1 | 89 90 91 ### Updated Keyboard Codebases {#keyboard-updates} 92 93 #### AEboards EXT65 Refactor ([#10820](https://github.com/qmk/qmk_firmware/pull/10820)) 94 95 The EXT65 codebase has been reworked so keymaps can be used with either revision. 96 97 98 ## Core Changes {#core-changes} 99 100 ### Fixes {#core-fixes} 101 102 * Reconnect the USB if users wake up a computer from the keyboard to restore the USB state ([#10088](https://github.com/qmk/qmk_firmware/pull/10088)) 103 * Fix cursor position bug in oled_write_raw functions ([#10800](https://github.com/qmk/qmk_firmware/pull/10800)) 104 105 ### Additions and Enhancements {#core-additions} 106 107 * Allow MATRIX_ROWS to be greater than 32 ([#10183](https://github.com/qmk/qmk_firmware/pull/10183)) 108 * Add support for soft serial to ATmega32U2 ([#10204](https://github.com/qmk/qmk_firmware/pull/10204)) 109 * Allow direct control of MIDI velocity value ([#9940](https://github.com/qmk/qmk_firmware/pull/9940)) 110 * Joystick 16-bit support ([#10439](https://github.com/qmk/qmk_firmware/pull/10439)) 111 * Allow encoder resolutions to be set per encoder ([#10259](https://github.com/qmk/qmk_firmware/pull/10259)) 112 * Share button state from mousekey to pointing_device ([#10179](https://github.com/qmk/qmk_firmware/pull/10179)) 113 * Add advanced/efficient RGB Matrix Indicators ([#8564](https://github.com/qmk/qmk_firmware/pull/8564)) 114 * OLED display update interval support ([#10388](https://github.com/qmk/qmk_firmware/pull/10388)) 115 * Per-Key Retro Tapping ([#10622](https://github.com/qmk/qmk_firmware/pull/10622)) 116 * Allow backlight duty cycle limit ([#10260](https://github.com/qmk/qmk_firmware/pull/10260)) 117 * Add step sequencer feature ([#9703](https://github.com/qmk/qmk_firmware/pull/9703)) 118 * Added `add_oneshot_mods` & `del_oneshot_mods` ([#10549](https://github.com/qmk/qmk_firmware/pull/10549)) 119 * Add AT90USB support for serial.c ([#10706](https://github.com/qmk/qmk_firmware/pull/10706)) 120 * Auto shift: support repeats and early registration (#9826) 121 122 ### Clean-ups and Optimizations {#core-optimizations} 123 124 * Haptic and solenoid cleanup ([#9700](https://github.com/qmk/qmk_firmware/pull/9700)) 125 * XD75 cleanup ([#10524](https://github.com/qmk/qmk_firmware/pull/10524)) 126 * Minor change to behavior allowing display updates to continue between task ticks ([#10750](https://github.com/qmk/qmk_firmware/pull/10750)) 127 * Change some GPIO manipulations in matrix.c to be atomic ([#10491](https://github.com/qmk/qmk_firmware/pull/10491)) 128 * combine repeated lines of code for ATmega32U2, ATmega16U2, ATmega328 and ATmega328P ([#10837](https://github.com/qmk/qmk_firmware/pull/10837)) 129 * Remove references to HD44780 ([#10735](https://github.com/qmk/qmk_firmware/pull/10735)) 130 131 132 ## QMK Infrastructure and Internals {#qmk-internals} 133 134 * Add ability to build a subset of all keyboards based on platform. ([#10420](https://github.com/qmk/qmk_firmware/pull/10420)) 135 * Initialise EEPROM drivers at startup, instead of upon first execution ([#10438](https://github.com/qmk/qmk_firmware/pull/10438)) 136 * Make bootloader_jump weak for ChibiOS ([#10417](https://github.com/qmk/qmk_firmware/pull/10417)) 137 * Support for STM32 GPIOF,G,H,I,J,K ([#10206](https://github.com/qmk/qmk_firmware/pull/10206)) 138 * Add milc as a dependency and remove the installed milc ([#10563](https://github.com/qmk/qmk_firmware/pull/10563)) 139 * ChibiOS upgrade: early init conversions ([#10214](https://github.com/qmk/qmk_firmware/pull/10214)) 140 * ChibiOS upgrade: configuration file migrator ([#9952](https://github.com/qmk/qmk_firmware/pull/9952)) 141 * Add definition based on currently-selected serial driver. ([#10716](https://github.com/qmk/qmk_firmware/pull/10716)) 142 * Allow for modification of output RGB values when using rgblight/rgb_matrix. ([#10638](https://github.com/qmk/qmk_firmware/pull/10638)) 143 * Allow keyboards/keymaps to execute code at each main loop iteration ([#10530](https://github.com/qmk/qmk_firmware/pull/10530)) 144 * qmk cformat ([#10767](https://github.com/qmk/qmk_firmware/pull/10767)) 145 * Add a Make variable to easily enable DEBUG_MATRIX_SCAN_RATE on the command line ([#10824](https://github.com/qmk/qmk_firmware/pull/10824)) 146 * update Chibios OS USB for the OTG driver ([#8893](https://github.com/qmk/qmk_firmware/pull/8893)) 147 * Fixup version.h writing when using `SKIP_VERSION=yes` ([#10972](https://github.com/qmk/qmk_firmware/pull/10972), [#10974](https://github.com/qmk/qmk_firmware/pull/10974)) 148 * Rename ledmatrix.h to match .c file ([#7949](https://github.com/qmk/qmk_firmware/pull/7949)) 149 * Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER ([#10231](https://github.com/qmk/qmk_firmware/pull/10231)) 150 * Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER ([#10840](https://github.com/qmk/qmk_firmware/pull/10840))