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.

106 lines
4.1 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. # Breaking Changes
  2. This document describes QMK's Breaking Change process. A Breaking Change is any change which modifies how QMK behaves in a way that in incompatible or potentially dangerous. We limit these changes so that users can have confidence that updating their QMK tree will not break their keymaps.
  3. The breaking change period is when we will merge PR's that change QMK in dangerous or unexpected ways. There is a built-in period of testing so we are confident that any problems caused are rare or unable to be predicted.
  4. ## What has been included in past Breaking Changes?
  5. * [2021 Aug 28](ChangeLog/20210828.md)
  6. * [2021 May 29](ChangeLog/20210529.md)
  7. * [2021 Feb 27](ChangeLog/20210227.md)
  8. * [2020 Nov 28](ChangeLog/20201128.md)
  9. * [2020 Aug 29](ChangeLog/20200829.md)
  10. * [2020 May 30](ChangeLog/20200530.md)
  11. * [2020 Feb 29](ChangeLog/20200229.md)
  12. * [2019 Aug 30](ChangeLog/20190830.md)
  13. ## When is the next Breaking Change?
  14. The next Breaking Change is scheduled for August 28, 2021.
  15. ### Important Dates
  16. * [x] 2021 Aug 29 - `develop` is created. Each push to `master` is subsequently merged to `develop`
  17. * [ ] 2021 Oct 31 - `develop` closed to new PR's.
  18. * [ ] 2021 Oct 31 - Call for testers.
  19. * [ ] 2021 Nov 26 - `master` is locked, no PR's merged.
  20. * [ ] 2021 Nov 28 - Merge `develop` to `master`.
  21. * [ ] 2021 Nov 28 - `master` is unlocked. PR's can be merged again.
  22. ## What changes will be included?
  23. To see a list of breaking change candidates you can look at the [`breaking_change` label](https://github.com/qmk/qmk_firmware/pulls?q=is%3Aopen+label%3Abreaking_change+is%3Apr). New changes might be added between now and when `develop` is closed, and a PR with that label applied is not guaranteed to be merged.
  24. If you want your breaking change to be included in this round you need to create a PR with the `breaking_change` label and have it accepted before `develop` closes. After `develop` closes no new breaking changes will be accepted.
  25. Criteria for acceptance:
  26. * PR is complete and ready to merge
  27. * PR has a ChangeLog
  28. # Checklists
  29. This section documents various processes we use when running the Breaking Changes process.
  30. ## Creating the `develop` branch
  31. This happens immediately after the previous `develop` branch is merged.
  32. * `qmk_firmware` git commands
  33. * [ ] `git checkout master`
  34. * [ ] `git pull --ff-only`
  35. * [ ] `git checkout -b develop`
  36. * [ ] Edit `readme.md`
  37. * [ ] Add a big notice at the top that this is a testing branch.
  38. * [ ] Include a link to this document
  39. * [ ] `git commit -m 'Branch point for <DATE> Breaking Change'`
  40. * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
  41. * [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
  42. * [ ] `git push upstream develop`
  43. * [ ] `git push --tags`
  44. ## 4 Weeks Before Merge
  45. * `develop` is now closed to new PR's, only fixes for current PR's may be merged
  46. * Post call for testers
  47. * [ ] Discord
  48. * [ ] GitHub PR
  49. * [ ] https://reddit.com/r/olkb
  50. ## 1 Week Before Merge
  51. * Announce that master will be closed from <2 Days Before> to <Day of Merge>
  52. * [ ] Discord
  53. * [ ] GitHub PR
  54. * [ ] https://reddit.com/r/olkb
  55. ## 2 Days Before Merge
  56. * Announce that master is closed for 2 days
  57. * [ ] Discord
  58. * [ ] GitHub PR
  59. * [ ] https://reddit.com/r/olkb
  60. ## Day Of Merge
  61. * `qmk_firmware` git commands
  62. * [ ] `git checkout develop`
  63. * [ ] `git pull --ff-only`
  64. * [ ] Edit `readme.md`
  65. * [ ] Remove the notes about `develop`
  66. * [ ] Roll up the ChangeLog into one file.
  67. * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
  68. * [ ] `git push upstream develop`
  69. * GitHub Actions
  70. * [ ] Create a PR for `develop`
  71. * [ ] **Turn off 'Automatically delete head branches' for the repository** -- confirm with @qmk/directors that it is done before continuing
  72. * `qmk_firmware` git commands
  73. * [ ] `git checkout master`
  74. * [ ] `git pull --ff-only`
  75. * [ ] `git merge --no-ff develop`
  76. * [ ] `git push upstream master`
  77. ## Post-merge operations
  78. * (Optional) [update ChibiOS + ChibiOS-Contrib on `develop`](chibios_upgrade_instructions.md)