qmk_firmware

QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)
Log | Files | Refs | Submodules | LICENSE

20200229.md (4155B)


      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 direction 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](../custom_quantum_functions) and [macro](../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>`.