qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

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))