You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

150 lines
9.7 KiB

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