diff options
-rw-r--r-- | docs/ChangeLog/20190830.md | 47 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR4871.md | 4 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR5176.md | 4 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR5849.md | 3 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR6198.md | 4 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR6245.md | 5 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR6299.md | 4 | ||||
-rw-r--r-- | docs/ChangeLog/20190830/PR6327.md | 4 | ||||
-rw-r--r-- | docs/_summary.md | 3 | ||||
-rw-r--r-- | docs/breaking_changes.md | 108 | ||||
-rw-r--r-- | readme.md | 8 |
11 files changed, 158 insertions, 36 deletions
diff --git a/docs/ChangeLog/20190830.md b/docs/ChangeLog/20190830.md new file mode 100644 index 000000000..88d7192cb --- /dev/null +++ b/docs/ChangeLog/20190830.md | |||
@@ -0,0 +1,47 @@ | |||
1 | # QMK Breaking Change - 2019 Aug 30 | ||
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 | This document marks the inaugural Breaking Change merge. A list of changes follows. | ||
6 | |||
7 | ## LUFA USB descriptor cleanup | ||
8 | |||
9 | * Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand | ||
10 | * More information: see https://github.com/qmk/qmk_firmware/pull/4871 | ||
11 | * No behaviour changes anticipated and no keymaps modified | ||
12 | |||
13 | ## Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes | ||
14 | |||
15 | * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
16 | * The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity | ||
17 | * 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 | ||
18 | |||
19 | ## Update Atreus to current code conventions | ||
20 | |||
21 | * Duplicate include guards have bypassed the expected header processing behavior | ||
22 | * 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 | ||
23 | |||
24 | ## Backport changes to keymap language files from ZSA fork | ||
25 | |||
26 | * Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`) | ||
27 | * Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general. | ||
28 | * Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`. | ||
29 | |||
30 | ## Update repo to use LUFA as a git submodule | ||
31 | |||
32 | * `/lib/LUFA` removed from the repo | ||
33 | * LUFA set as a submodule, pointing to qmk/lufa | ||
34 | * 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 | ||
35 | |||
36 | ## Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes | ||
37 | |||
38 | * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
39 | * All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys | ||
40 | * 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 | ||
41 | |||
42 | ## Remove `KC_DELT` alias in favor of `KC_DEL` | ||
43 | |||
44 | * `KC_DELT` was a redundant, undocumented alias for `KC_DELETE` | ||
45 | * It has been removed and all its uses replaced with the more common `KC_DEL` alias | ||
46 | * Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result | ||
47 | |||
diff --git a/docs/ChangeLog/20190830/PR4871.md b/docs/ChangeLog/20190830/PR4871.md deleted file mode 100644 index e4ea171d7..000000000 --- a/docs/ChangeLog/20190830/PR4871.md +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | * LUFA USB descriptor cleanup | ||
2 | * Some code cleanups related to the USB HID descriptors on AVR keyboards, to make them easier to read and understand | ||
3 | * More information: see https://github.com/qmk/qmk_firmware/pull/4871 | ||
4 | * No behaviour changes anticipated and no keymaps modified | ||
diff --git a/docs/ChangeLog/20190830/PR5176.md b/docs/ChangeLog/20190830/PR5176.md deleted file mode 100644 index c01b2cb1e..000000000 --- a/docs/ChangeLog/20190830/PR5176.md +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | * Migrating `ACTION_LAYER_MOMENTARY()` entries in `fn_actions` to `MO()` keycodes | ||
2 | * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
3 | * The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity | ||
4 | * 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 | ||
diff --git a/docs/ChangeLog/20190830/PR5849.md b/docs/ChangeLog/20190830/PR5849.md deleted file mode 100644 index 24dadc1f2..000000000 --- a/docs/ChangeLog/20190830/PR5849.md +++ /dev/null | |||
@@ -1,3 +0,0 @@ | |||
1 | * Update Atreus to current code conventions | ||
2 | * Duplicate include guards have bypassed the expected header processing behavior | ||
3 | * 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 \ No newline at end of file | ||
diff --git a/docs/ChangeLog/20190830/PR6198.md b/docs/ChangeLog/20190830/PR6198.md deleted file mode 100644 index 9141ac250..000000000 --- a/docs/ChangeLog/20190830/PR6198.md +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | * Backport changes to keymap language files from ZSA fork | ||
2 | * Fixes an issue in the `keymap_br_abnt2.h` file that includes the wrong source (`keymap_common.h` instead of `keymap.h`) | ||
3 | * Updates the `keymap_swedish.h` file to be specific to swedish, and not just "nordic" in general. | ||
4 | * Any keymaps using this will need to remove `NO_*` and replace it with `SE_*`. | ||
diff --git a/docs/ChangeLog/20190830/PR6245.md b/docs/ChangeLog/20190830/PR6245.md deleted file mode 100644 index 62e71eee9..000000000 --- a/docs/ChangeLog/20190830/PR6245.md +++ /dev/null | |||
@@ -1,5 +0,0 @@ | |||
1 | * Update repo to use LUFA as a git submodule | ||
2 | * `/lib/LUFA` removed from the repo | ||
3 | * LUFA set as a submodule, pointing to qmk/lufa | ||
4 | * 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 | ||
5 | |||
diff --git a/docs/ChangeLog/20190830/PR6299.md b/docs/ChangeLog/20190830/PR6299.md deleted file mode 100644 index 43fb9e031..000000000 --- a/docs/ChangeLog/20190830/PR6299.md +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | * Migrating `ACTION_BACKLIGHT_*()` entries in `fn_actions` to `BL_` keycodes | ||
2 | * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
3 | * All keymaps using these actions have had the relevant `KC_FN*` keys replaced with the equivalent `BL_*` keys | ||
4 | * 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 | ||
diff --git a/docs/ChangeLog/20190830/PR6327.md b/docs/ChangeLog/20190830/PR6327.md deleted file mode 100644 index 233e10e09..000000000 --- a/docs/ChangeLog/20190830/PR6327.md +++ /dev/null | |||
@@ -1,4 +0,0 @@ | |||
1 | * Remove `KC_DELT` alias in favor of `KC_DEL` | ||
2 | * `KC_DELT` was a redundant, undocumented alias for `KC_DELETE` | ||
3 | * It has been removed and all its uses replaced with the more common `KC_DEL` alias | ||
4 | * Around 90 keymaps (mostly for ErgoDox boards) have been modified as a result | ||
diff --git a/docs/_summary.md b/docs/_summary.md index 95286ff46..d7a49a968 100644 --- a/docs/_summary.md +++ b/docs/_summary.md | |||
@@ -13,6 +13,9 @@ | |||
13 | * [How to Use Github](getting_started_github.md) | 13 | * [How to Use Github](getting_started_github.md) |
14 | * [Getting Help](getting_started_getting_help.md) | 14 | * [Getting Help](getting_started_getting_help.md) |
15 | 15 | ||
16 | * [Breaking Changes](breaking_changes.md) | ||
17 | * [2019 Aug 30](ChangeLog/20190830.md) | ||
18 | |||
16 | * [FAQ](faq.md) | 19 | * [FAQ](faq.md) |
17 | * [General FAQ](faq_general.md) | 20 | * [General FAQ](faq_general.md) |
18 | * [Build/Compile QMK](faq_build.md) | 21 | * [Build/Compile QMK](faq_build.md) |
diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md new file mode 100644 index 000000000..b193b12da --- /dev/null +++ b/docs/breaking_changes.md | |||
@@ -0,0 +1,108 @@ | |||
1 | # Breaking Changes | ||
2 | |||
3 | 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. | ||
4 | |||
5 | 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. | ||
6 | |||
7 | ## What has been included in past Breaking Changes? | ||
8 | |||
9 | * [2019 Aug 30](ChangeLog/20190830.md) | ||
10 | |||
11 | ## When is the next Breaking Change? | ||
12 | |||
13 | The next Breaking Change is scheduled for Nov 29. | ||
14 | |||
15 | ### Important Dates | ||
16 | |||
17 | * [ ] 2019 Oct 04 - `future` is created. It will be rebased weekly. | ||
18 | * [ ] 2019 Nov 01 - `future` closed to new PR's. | ||
19 | * [ ] 2019 Nov 01 - Call for testers. | ||
20 | * [ ] 2019 Nov 27 - `master` is locked, no PR's merged. | ||
21 | * [ ] 2019 Nov 29 - Merge `future` to `master`. | ||
22 | * [ ] 2019 Nov 30 - `master` is unlocked. PR's can be merged again. | ||
23 | |||
24 | ## What changes will be included? | ||
25 | |||
26 | 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. | ||
27 | |||
28 | 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. | ||
29 | |||
30 | Criteria for acceptance: | ||
31 | |||
32 | * PR is complete and ready to merge | ||
33 | * PR has a ChangeLog | ||
34 | |||
35 | # Checklists | ||
36 | |||
37 | This section documents various processes we use when running the Breaking Changes process. | ||
38 | |||
39 | ## Rebase `future` from `master` | ||
40 | |||
41 | This is run every Friday while `future` is open. | ||
42 | |||
43 | Process: | ||
44 | |||
45 | ``` | ||
46 | cd qmk_firmware | ||
47 | git checkout master | ||
48 | git pull --ff-only | ||
49 | git checkout future | ||
50 | git rebase master | ||
51 | git push --force | ||
52 | ``` | ||
53 | |||
54 | ## 8 Weeks Before Merge | ||
55 | |||
56 | * `qmk_firmware` git commands | ||
57 | * [ ] `git checkout master` | ||
58 | * [ ] `git pull --ff-only` | ||
59 | * [ ] `git checkout -b future` | ||
60 | * [ ] Edit `readme.md` | ||
61 | * [ ] Add a big notice at the top that this is a testing branch. | ||
62 | * [ ] Include a link to this document | ||
63 | * [ ] `git commit -m 'Branch point for <DATE> Breaking Change'` | ||
64 | * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>` | ||
65 | * [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing | ||
66 | * [ ] `git push origin future` | ||
67 | * [ ] `git push --tags` | ||
68 | * GitHub Actions | ||
69 | * [ ] 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` | ||
70 | * [ ] Any that have a ChangeLog entry may be merged immediately. | ||
71 | |||
72 | ## 4 Weeks Before Merge | ||
73 | |||
74 | * `future` is now closed to new PR's, only fixes for current PR's may be merged | ||
75 | * Post call for testers | ||
76 | * [ ] Discord | ||
77 | * [ ] GitHub PR | ||
78 | * [ ] https://reddit.com/r/olkb | ||
79 | |||
80 | ## 1 Week Before Merge | ||
81 | |||
82 | * Announce that master will be closed from <2 Days Before> to <Day of Merge> | ||
83 | * [ ] Discord | ||
84 | * [ ] GitHub PR | ||
85 | * [ ] https://reddit.com/r/olkb | ||
86 | |||
87 | ## 2 Days Before Merge | ||
88 | |||
89 | * Announce that master is closed for 2 days | ||
90 | * [ ] Discord | ||
91 | * [ ] GitHub PR | ||
92 | * [ ] https://reddit.com/r/olkb | ||
93 | |||
94 | ## Day Of Merge | ||
95 | |||
96 | * `qmk_firmware` git commands | ||
97 | * [ ] `git checkout future` | ||
98 | * [ ] `git pull --ff-only` | ||
99 | * [ ] `git rebase origin/master` | ||
100 | * [ ] Edit `readme.md` | ||
101 | * [ ] Remove the notes about `future` | ||
102 | * [ ] Roll up the ChangeLog into one file. | ||
103 | * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'` | ||
104 | * [ ] `git push origin future` | ||
105 | * Github Actions | ||
106 | * [ ] Create a PR for `future` | ||
107 | * [ ] Make sure travis comes back clean | ||
108 | * [ ] Merge `future` PR | ||
@@ -7,14 +7,6 @@ | |||
7 | [](https://github.com/qmk/qmk_firmware/pulse/monthly) | 7 | [](https://github.com/qmk/qmk_firmware/pulse/monthly) |
8 | [](https://github.com/qmk/qmk_firmware/) | 8 | [](https://github.com/qmk/qmk_firmware/) |
9 | 9 | ||
10 | # NOTICE: THIS IS A TESTING BRANCH | ||
11 | |||
12 | This is the `breaking_changes` branch for Aug 2019. You can [read more in the tracking issue](https://github.com/qmk/qmk_firmware/issues/6146). | ||
13 | |||
14 | We encourage you to try this branch out and see if there are any bugs. Our goal is to merge this branch to `master` on Aug 30. Please [report any bugs](https://github.com/qmk/qmk_firmware/issues/new?template=bug_report.md) you find. | ||
15 | |||
16 | Original readme.md continues: | ||
17 | |||
18 | This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co). | 10 | This is a keyboard firmware based on the [tmk\_keyboard firmware](https://github.com/tmk/tmk_keyboard) with some useful features for Atmel AVR and ARM controllers, and more specifically, the [OLKB product line](https://olkb.com), the [ErgoDox EZ](https://ergodox-ez.com) keyboard, and the [Clueboard product line](https://clueboard.co). |
19 | 11 | ||
20 | ## Documentation | 12 | ## Documentation |