aboutsummaryrefslogtreecommitdiff
path: root/docs/ChangeLog
diff options
context:
space:
mode:
authorJames Young <xxiinophobia@yahoo.com>2020-02-29 12:00:00 -0800
committerJames Young <xxiinophobia@yahoo.com>2020-02-29 11:59:30 -0800
commit26eef35f07698d23aafae90e1c230b52e100a334 (patch)
treeeb8e43fc58ca55788e6e89430af0db55ea79e324 /docs/ChangeLog
parent85041ff05bf0e5f4ff4535caf6e638491a5614c8 (diff)
downloadqmk_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.md75
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
3Four 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>`.