forked from qmk/qmk_firmware
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge point for 2019 Aug 30 Breaking Change
- Loading branch information
1 parent
b624f32
commit ddb69d4
Showing
11 changed files
with
158 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
# QMK Breaking Change - 2019 Aug 30 | ||
|
||
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. | ||
|
||
This document marks the inaugural Breaking Change merge. A list of changes follows. | ||
|
||
## LUFA USB descriptor cleanup | ||
|
||
* Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand | ||
* More information: see https://github.com/qmk/qmk_firmware/pull/4871 | ||
* No behaviour changes anticipated and no keymaps modified | ||
|
||
## Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes | ||
|
||
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
* The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity | ||
* All keymaps affected are recommended to switch away from `fn_actions` in favour of the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features | ||
|
||
## Update Atreus to current code conventions | ||
|
||
* Duplicate include guards have bypassed the expected header processing behavior | ||
* All keymaps affected are recommended to remove duplication of `<keyboard>/config.h` to `<keyboard>/keymaps/<user>/config.h` and only provide overrides at the keymap level | ||
|
||
## Backport changes to keymap language files from ZSA fork | ||
|
||
* Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`) | ||
* Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general. | ||
* Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`. | ||
|
||
## Update repo to use LUFA as a git submodule | ||
|
||
* `/lib/LUFA` removed from the repo | ||
* LUFA set as a submodule, pointing to qmk/lufa | ||
* This should allow more flexibility with LUFA, and allow us to keep the sub-module up to date, a lot more easily. It was ~2 years out of date with no easy path to fix that. This prevents that from being an issue in the future | ||
|
||
## Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes | ||
|
||
* `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
* All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys | ||
* If you currently use `KC_FN*` you will need to replace `fn_actions` with the [custom keycode](https://docs.qmk.fm/#/custom_quantum_functions) and [macro](https://docs.qmk.fm/#/feature_macros) features | ||
|
||
## Remove `KC_DELT` alias in favor of `KC_DEL` | ||
|
||
* `KC_DELT` was a redundant, undocumented alias for `KC_DELETE` | ||
* It has been removed and all its uses replaced with the more common `KC_DEL` alias | ||
* Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result | ||
|
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Breaking Changes | ||
|
||
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. | ||
|
||
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. | ||
|
||
## What has been included in past Breaking Changes? | ||
|
||
* [2019 Aug 30](ChangeLog/20190830.md) | ||
|
||
## When is the next Breaking Change? | ||
|
||
The next Breaking Change is scheduled for Nov 29. | ||
|
||
### Important Dates | ||
|
||
* [ ] 2019 Oct 04 - `future` is created. It will be rebased weekly. | ||
* [ ] 2019 Nov 01 - `future` closed to new PR's. | ||
* [ ] 2019 Nov 01 - Call for testers. | ||
* [ ] 2019 Nov 27 - `master` is locked, no PR's merged. | ||
* [ ] 2019 Nov 29 - Merge `future` to `master`. | ||
* [ ] 2019 Nov 30 - `master` is unlocked. PR's can be merged again. | ||
|
||
## What changes will be included? | ||
|
||
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 `future` is closed, and a PR with that label applied is not guaranteed to be merged. | ||
|
||
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 `future` closes. After `future` closes no new breaking changes will be accepted. | ||
|
||
Criteria for acceptance: | ||
|
||
* PR is complete and ready to merge | ||
* PR has a ChangeLog | ||
|
||
# Checklists | ||
|
||
This section documents various processes we use when running the Breaking Changes process. | ||
|
||
## Rebase `future` from `master` | ||
|
||
This is run every Friday while `future` is open. | ||
|
||
Process: | ||
|
||
``` | ||
cd qmk_firmware | ||
git checkout master | ||
git pull --ff-only | ||
git checkout future | ||
git rebase master | ||
git push --force | ||
``` | ||
|
||
## 8 Weeks Before Merge | ||
|
||
* `qmk_firmware` git commands | ||
* [ ] `git checkout master` | ||
* [ ] `git pull --ff-only` | ||
* [ ] `git checkout -b future` | ||
* [ ] Edit `readme.md` | ||
* [ ] Add a big notice at the top that this is a testing branch. | ||
* [ ] Include a link to this document | ||
* [ ] `git commit -m 'Branch point for <DATE> Breaking Change'` | ||
* [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>` | ||
* [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing | ||
* [ ] `git push origin future` | ||
* [ ] `git push --tags` | ||
* GitHub Actions | ||
* [ ] Switch all [breaking_change PR's](https://github.com/qmk/qmk_firmware/pulls?utf8=%E2%9C%93&q=is%3Apr+is%3Aopen+label%3Abreaking_change) to `future` | ||
* [ ] Any that have a ChangeLog entry may be merged immediately. | ||
|
||
## 4 Weeks Before Merge | ||
|
||
* `future` is now closed to new PR's, only fixes for current PR's may be merged | ||
* Post call for testers | ||
* [ ] Discord | ||
* [ ] GitHub PR | ||
* [ ] https://reddit.com/r/olkb | ||
|
||
## 1 Week Before Merge | ||
|
||
* Announce that master will be closed from <2 Days Before> to <Day of Merge> | ||
* [ ] Discord | ||
* [ ] GitHub PR | ||
* [ ] https://reddit.com/r/olkb | ||
|
||
## 2 Days Before Merge | ||
|
||
* Announce that master is closed for 2 days | ||
* [ ] Discord | ||
* [ ] GitHub PR | ||
* [ ] https://reddit.com/r/olkb | ||
|
||
## Day Of Merge | ||
|
||
* `qmk_firmware` git commands | ||
* [ ] `git checkout future` | ||
* [ ] `git pull --ff-only` | ||
* [ ] `git rebase origin/master` | ||
* [ ] Edit `readme.md` | ||
* [ ] Remove the notes about `future` | ||
* [ ] Roll up the ChangeLog into one file. | ||
* [ ] `git commit -m 'Merge point for <DATE> Breaking Change'` | ||
* [ ] `git push origin future` | ||
* Github Actions | ||
* [ ] Create a PR for `future` | ||
* [ ] Make sure travis comes back clean | ||
* [ ] Merge `future` PR |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters