diff options
author | James Young <xxiinophobia@yahoo.com> | 2020-02-29 12:00:00 -0800 |
---|---|---|
committer | James Young <xxiinophobia@yahoo.com> | 2020-02-29 11:59:30 -0800 |
commit | 26eef35f07698d23aafae90e1c230b52e100a334 (patch) | |
tree | eb8e43fc58ca55788e6e89430af0db55ea79e324 /docs/ChangeLog | |
parent | 85041ff05bf0e5f4ff4535caf6e638491a5614c8 (diff) | |
download | qmk_firmware-26eef35f07698d23aafae90e1c230b52e100a334.tar.gz qmk_firmware-26eef35f07698d23aafae90e1c230b52e100a334.zip |
2020 February 29 Breaking Changes Update (#8064)
Diffstat (limited to 'docs/ChangeLog')
-rw-r--r-- | docs/ChangeLog/20200229.md | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/docs/ChangeLog/20200229.md b/docs/ChangeLog/20200229.md new file mode 100644 index 000000000..398fe01c0 --- /dev/null +++ b/docs/ChangeLog/20200229.md | |||
@@ -0,0 +1,75 @@ | |||
1 | # QMK Breaking Change - 2020 Feb 29 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 | ## Update ChibiOS/ChibiOS-Contrib/uGFX submodules | ||
7 | |||
8 | * General Notes | ||
9 | * A `make git-submodule` may be required after pulling the latest QMK firmware code to update affected submodules to the upgraded revisions | ||
10 | * Enabling link-time-optimization (`LINK_TIME_OPTIMIZATION_ENABLE = yes`) should work on a lot more boards | ||
11 | * Upgrade to ChibiOS ver19.1.3 | ||
12 | * This will allow QMK to update to upstream ChibiOS a lot easier -- the old version was ~2 years out of date. Automated update scripts have been made available to simplify future upgrades. | ||
13 | * Includes improved MCU support and bugfixes | ||
14 | * ChibiOS revision is now included in Command output | ||
15 | * Timers should now be more accurate | ||
16 | * Upgrade to newer ChibiOS-Contrib | ||
17 | * Also includes improved MCU support and bugfixes | ||
18 | * ChibiOS-Contrib revision is now included in Command output | ||
19 | * Upgrade to newer uGFX | ||
20 | * Required in order to support updated ChibiOS | ||
21 | |||
22 | |||
23 | ## Fix ChibiOS timer overflow for 16-bit SysTick devices | ||
24 | |||
25 | * On 16-bit SysTick devices, the timer subsystem in QMK was incorrectly dealing with overflow. | ||
26 | * When running at a 100000 SysTick frequency (possible on 16-bit devices, but uncommon), this overflow would occur after 0.65 seconds. | ||
27 | * Timers are now correctly handling this overflow case and timing should now be correct on ChibiOS/ARM. | ||
28 | |||
29 | |||
30 | ## Update LUFA submodule | ||
31 | |||
32 | * Updates the LUFA submodule to include updates from upstream (abcminiuser/lufa) | ||
33 | * Includes some cleanup for QMK DFU generation | ||
34 | |||
35 | |||
36 | ## Encoder flip | ||
37 | |||
38 | * Flips the encoder direction so that `clockwise == true` is for actually turning the knob clockwise | ||
39 | * Adds `ENCODER_DIRECTION_FLIP` define, so that reversing the expected dirction is simple for users. | ||
40 | * Cleans up documentation page for encoders | ||
41 | |||
42 | |||
43 | ## Adding support for `BACKLIGHT_ON_STATE` for hardware PWM backlight | ||
44 | |||
45 | * Previously, the define only affected software PWM, and hardware PWM always assumed an N-channel MOSFET. | ||
46 | * The hardware PWM backlight setup has been updated to respect this option. | ||
47 | * The default "on" state has been changed to `1` - **this impacts all keyboards using software PWM backlight that do not define it explicitly**. If your keyboard's backlight is acting strange, it may have a P-channel MOSFET, and will need to have `#define BACKLIGHT_ON_STATE 0` added to the keyboard-level `config.h`. Please see the PR for more detailed information. | ||
48 | |||
49 | |||
50 | ## Migrating `ACTION_LAYER_TAP_KEY()` entries in `fn_actions` to `LT()` keycodes | ||
51 | |||
52 | * `fn_actions` is deprecated, and its functionality has been superseded by direct keycodes and `process_record_user()` | ||
53 | * The end result of removing this obsolete feature should result in a decent reduction in firmware size and code complexity | ||
54 | * 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 | ||
55 | |||
56 | |||
57 | ## Moving backlight keycode handling to `process_keycode/` | ||
58 | |||
59 | * This refactors the backlight keycode logic to be clearer and more modular. | ||
60 | * All backlight-related keycodes are now actioned in a single file. | ||
61 | * The `ACTION_BACKLIGHT_*` macros have also been deleted. If you are still using these in a `fn_actions[]` block, please switch to using the backlight keycodes or functions directly. | ||
62 | |||
63 | |||
64 | ## Refactor Planck keymaps to use Layout Macros | ||
65 | |||
66 | * Refactor Planck keymaps to use layout macros instead of raw matrix assignments | ||
67 | * Makes keymaps revision-agnostic | ||
68 | * Should reduce noise and errors in Travis CI logs | ||
69 | |||
70 | |||
71 | ## GON NerD codebase refactor | ||
72 | |||
73 | * Splits the codebase for GON NerD 60 and NerdD TKL PCBs into two separate directories. | ||
74 | * If your keymap is for a NerD 60 PCB, your `make` command is now `make gon/nerd60:<keymap>`. | ||
75 | * If your keymap is for a NerD TKL PCB, your `make` command is now `make gon/nerdtkl:<keymap>`. | ||