From 8d0bf27bf93b2ef970810ccee93ac31b961b4ed8 Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 26 May 2020 11:04:05 -0700 Subject: [PATCH] Augment future branch Changelogs (#8978) * Post ChangeLog for Keycode Migration PRs * use a table * link the PRs * Add notes for 8977 and 8979 * Add ChangeLog for PR9019 * Add ChangeLog for PR6480 * Unify ChangeLog formatting Format the first line as a Level 1 heading and follow it with a link to the relevant PR (expect for PR8954.md which covers multiple PRs). * Unify formatting of PR8954.md * Concatenate ChangeLogs for Core PRs * Concatenate ChangeLogs for Keyboard Refactor PRs * Concatenate ChangeLogs for Keyboard Move PRs * Rename PR8954 ChangeLog for Keycode Migration doc * Add ChangeLog for PR8582 * Formatting for Keyboard Refactor ChangeLog section * Formatting for Keycode Migration ChangeLog section * Add notes for 8974 * Add notes on 8269 * Add notes on 8269 - fix redundant heading * Grammar fixes for 8269 notes * Concatenate the ChangeLog sections into one file * minor changelog formatting Add some line breaks so the sections are consistent to each other. * link 7114 bugfix pr * add detail for PR8484 * remove redundancy regarding Spaceman's name in Keyboard Moves section * unify blank lines ahead of section headings * fix the ChangeLog date * remove ChangeLog file for PR8974 Its contents are already integrated into the main ChangeLog. * update Breaking Changes doc for 2020-05-30 merge - update timeline for next cycle (2020-08-29) - change references to `future` branch to `develop` branch * update Breaking Change Instructions doc for 2020-05-30 merge - change reference to `future` branch to `develop` branch * add 2020 May 30 ChangeLog to docs sidebar Co-authored-by: zvecr --- docs/ChangeLog/20200530.md | 239 ++++++++++++++++++++++++++ docs/ChangeLog/20200530/PR6260.md | 38 ---- docs/ChangeLog/20200530/PR7114.md | 8 - docs/ChangeLog/20200530/PR8321.md | 5 - docs/ChangeLog/20200530/PR8348.md | 9 - docs/ChangeLog/20200530/PR8472.md | 42 ----- docs/ChangeLog/20200530/PR8484.md | 1 - docs/ChangeLog/20200530/PR8903.md | 5 - docs/ChangeLog/20200530/PR8974.md | 2 - docs/ChangeLog/20200530/PR9000.md | 5 - docs/_summary.md | 1 + docs/breaking_changes.md | 45 ++--- docs/breaking_changes_instructions.md | 2 +- 13 files changed, 264 insertions(+), 138 deletions(-) create mode 100644 docs/ChangeLog/20200530.md delete mode 100644 docs/ChangeLog/20200530/PR6260.md delete mode 100644 docs/ChangeLog/20200530/PR7114.md delete mode 100644 docs/ChangeLog/20200530/PR8321.md delete mode 100644 docs/ChangeLog/20200530/PR8348.md delete mode 100644 docs/ChangeLog/20200530/PR8472.md delete mode 100644 docs/ChangeLog/20200530/PR8484.md delete mode 100644 docs/ChangeLog/20200530/PR8903.md delete mode 100644 docs/ChangeLog/20200530/PR8974.md delete mode 100644 docs/ChangeLog/20200530/PR9000.md diff --git a/docs/ChangeLog/20200530.md b/docs/ChangeLog/20200530.md new file mode 100644 index 000000000000..9def9ae12350 --- /dev/null +++ b/docs/ChangeLog/20200530.md @@ -0,0 +1,239 @@ +# QMK Breaking Change - 2020 May 30 Changelog + +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. + +The list of changes follows. + + +## Core Changes + +### Converting V-USB usbdrv to a submodule + +[#8321](https://github.com/qmk/qmk_firmware/pull/8321) and [qmk_compiler#62](https://github.com/qmk/qmk_compiler/pull/62). + +These PRs move the V-USB driver code out of the qmk_firmware repository and into a submodule pointed at https://github.com/obdev/v-usb. This will make it easier to update the codebase if needed, while applying any potential QMK-specific modifications by forking it to the QMK GitHub organization. + +### Unify Tap Hold functions and documentation + +[#8348](https://github.com/qmk/qmk_firmware/pull/8348) + +Updates all of the per key tap-hold functions to pass the `keyrecord_t` structure, and include documentation changes. + +Any remaining versions or code outside of the main repo will need to be converted: +| Old function | New Function | +|------------------------------------------------------|---------------------------------------------------------------------------| +|`uint16_t get_tapping_term(uint16_t keycode)` |`uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)` | +|`bool get_ignore_mod_tap_interrupt(uint16_t keycode)` |`bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record)` | + +### Python Required In The Build Process + +[#9000](https://github.com/qmk/qmk_firmware/pull/9000) + +This is the last release of QMK that will work without having Python 3.6 (or later) installed. If your environment is not fully setup you will get a warning instructing you to set it up. + +After the next breaking change you will not be able to build if `bin/qmk hello` does not work. + +### Upgrade from tinyprintf to mpaland/printf + +[#8269](https://github.com/qmk/qmk_firmware/pull/8269) + +- Provides debug functionality on ChibiOS/ARM that is more compliant than previous integrations. +- Less maintenence, fewer QMK customisations, and allows QMK to sidestep previous compile and runtime issues. +- A `make git-submodule` may be required after pulling the latest QMK Firmware code to update to the new dependency. + +### Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup + +[#6480](https://github.com/qmk/qmk_firmware/pull/6480) + +- Changes `RGB_DISABLE_AFTER_TIMEOUT` to be based on milliseconds instead of ticks. +- Includes a code cleanup, resulting in a savings of 100 bytes, depending on features used. +- Fixed issues with timeouts / suspending at the wrong time not turning off all LEDs in some cases. + +The `RGB_DISABLE_AFTER_TIMEOUT` definition is now deprecated, and has been superseded by `RGB_DISABLE_TIMEOUT`. To use the new definition, rename `RGB_DISABLE_AFTER_TIMEOUT` to `RGB_DISABLE_TIMEOUT` in your `config.h` file, and multiply the value set by 1200. + +Before: `#define RGB_DISABLE_AFTER_TIMEOUT 100` +After: `#define RGB_DISABLE_TIMEOUT 120000` + +### Switch to qmk forks for everything + +[#9019](https://github.com/qmk/qmk_firmware/pull/9019) + +Fork all QMK submodules to protect against upstream repositories disappearing. + +### code cleanup regarding deprecated macro PLAY_NOTE_ARRAY by replacing it with PLAY_SONG + +[#8484](https://github.com/qmk/qmk_firmware/pull/8484) + +Removes the deprecated `PLAY_NOTE_ARRAY` macro. References to it are replaced with `PLAY_SONG`, which references the same function. + +### fixing wrong configuration of AUDIO feature + +[#8903](https://github.com/qmk/qmk_firmware/pull/8903) and [#8974](https://github.com/qmk/qmk_firmware/pull/8974) + +`audio_avr.c` does not default to any pin; there has to be a #define XX_AUDIO in config.h at some level for Audio to actually work. Otherwise, the Audio code ends up cluttering the firmware, possibly breaking builds because the maximum allowed firmware size is exceeded. + +These changes fix this by disabling Audio on keyboards that have the feature misconfigured, and therefore non-functional. + +Also, add a compile-time error to alert the user to a missing pin-configuration (on AVR boards) when `AUDIO_ENABLE = yes` is set. + + +## Keyboard Refactors + +### Migrating Lily58 to use split_common + +[#6260](https://github.com/qmk/qmk_firmware/pull/6260) + +Modifies the default firmware for Lily58 to use the `split_common` library, instead of including and depending on its own set of libraries for the following functionality: + +- SSD1306 display +- i2c for OLED +- Serial Communication + +This allows current lily58 firmware to advance with updates to the `split_common` library, which is shared with many other split keyboards. + +#### To migrate existing Lily58 firmware: + +[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-445ac369c8717dcd6fc6fc3630836fc1): +- Remove `#define SSD1306OLED` from config.h + + +[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7): +- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE` +- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190) +- Alternatively, if you did not change the OLED code from that in `default`, you may find it easier to simply copy the [relevant section](https://github.com/qmk/qmk_firmware/blob/4ac310668501ae6786c711ecc8f01f62ddaa1c0b/keyboards/lily58/keymaps/default/keymap.c#L138-L172). Otherwise, the changes you need to make are as follows (sample change [here](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7R138-R173)) +- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L138-L141) the block +```c +#ifdef SSD1306OLED + iota_gfx_init(!has_usb()); // turns on the display +#endif +``` +- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: +```c +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + return rotation; +} +``` +- Remove the functions `matrix_scan_user`, `matrix_update` and `iota_gfx_task_user` +- Find/Replace `matrix_render_user(struct CharacterMatrix *matrix)` with `iota_gfx_task_user(void)` +- Find/Replace `is_master` with `is_keyboard_master()` +- For each instance of `matrix_write_ln(matrix, display_fn())`, rewrite it as `oled_write_ln(read_layer_state(), false);` +- For each instance of `matrix_write(matrix, read_logo());`, replace with `oled_write(read_logo(), false);` + +### Refactor zinc to use split_common + +[#7114](https://github.com/qmk/qmk_firmware/pull/7114) and [#9171](https://github.com/qmk/qmk_firmware/pull/9171) + +* Refactor to use split_common and remove split codes under the zinc/revx/ +* Add - backlight RGB LED and/or underglow RGB LED option +* Add - continuous RGB animations feature (between L and R halves) +* Fix - keymap files to adapt to changes + * all authors of keymaps confirmed this PR +* Update - documents and rules.mk + +### Refactor of TKC1800 to use common OLED code + +[#8472](https://github.com/qmk/qmk_firmware/pull/8472) + +Modifies the default firmware for TKC1800 to use the in-built I2C and OLED drivers, instead of including and depending on its own set of libraries for the following functionality: + +- SSD1306 display +- i2c for OLED + +This allows current TKC1800 firmware to advance with updates to those drivers, which are shared with other keyboards. + +#### To migrate existing TKC1800 firmware: + +[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-d10b26e676b4a55cbb00d71955116526): +- Remove `#define SSD1306OLED` from config.h + +[Changes to `tkc1800.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-3b35bd30abe89c8110717c6972cd2cc5): +- Add the following to avoid debug errors on HID_listen if the screen is not present +```c +void keyboard_pre_init_kb(void) { + setPinInputHigh(D0); + setPinInputHigh(D1); + + keyboard_pre_init_user(); +} +``` + +[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-05a2a344ce27e4d045fe68520ccd4771): +- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE` +- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190) +- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L91-L158) the block +```c +#ifdef SSD1306OLED + iota_gfx_init(!has_usb()); // turns on the display +#endif +``` +- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: +```c +oled_rotation_t oled_init_user(oled_rotation_t rotation) { + if (!is_keyboard_master()) + return OLED_ROTATION_180; // flips the display 180 degrees if offhand + return rotation; +} +``` +- Remove the function `iota_gfx_task_user` + +### Split HHKB to ANSI and JP layouts and Add VIA support for each + +[#8582](https://github.com/qmk/qmk_firmware/pull/8582) + +- Splits the HHKB codebase into two separate folders `keyboards/hhkb/ansi` and `keyboards/hhkb/jp`. +- Adds VIA Configurator support for both versions. + +#### Migrating existing HHKB keymaps + +- Remove any checks for the `HHKB_JP` definition + - All checks for this definition have been removed, and each version uses the source that is appropriate to that version. +- Move the directory for your keymap into the appropriate `keymaps` directory + - `keyboards/hhkb/ansi/keymaps/` for ANSI HHKBs + - `keyboards/hhkb/jp/keymaps/` for HHKB JPs +- Compile with the new keyboard names + - This PR changes the compilation instructions for the HHKB Alternate Controller. To compile firmware for this controller moving forward, use: + - `make hhkb/ansi` for ANSI-layout HHKBs + - `make hhkb/jp` for HHKB JP keyboards + + +## Keyboard Moves + +- [#8412](https://github.com/qmk/qmk_firmware/pull/8412 "Changing board names to prevent confusion") by blindassassin111 +- [#8499](https://github.com/qmk/qmk_firmware/pull/8499 "Move the Keyboardio Model01 to a keyboardio/ subdir") by algernon +- [#8830](https://github.com/qmk/qmk_firmware/pull/8830 "Move spaceman keyboards") by Spaceman (formerly known as Rionlion100) +- [#8537](https://github.com/qmk/qmk_firmware/pull/8537 "Organizing my keyboards (plaid, tartan, ergoinu)") by hsgw + +Keyboards by Keyboardio, Spaceman, and hsgw move to vendor folders, while PCBs designed by blindassassin111 are renamed. + +Old Name | New Name +:----------------- | :----------------- +2_milk | spaceman/2_milk +at101_blackheart | at101_bh +ergoinu | dm9records/ergoinu +model01 | keyboardio/model01 +omnikey_blackheart | omnikey_bh +pancake | spaceman/pancake +plaid | dm9records/plaid +tartan | dm9records/tartan +z150_blackheart | z150_bh + +If you own one of these PCBs, please use the new names to compile your firmware moving forward. + + +## Keycode Migration PRs + +[#8954](https://github.com/qmk/qmk_firmware/pull/8954 "Migrate `ACTION_LAYER_TOGGLE` to `TG()`"), [#8957](https://github.com/qmk/qmk_firmware/pull/8957 "Migrate `ACTION_MODS_ONESHOT` to `OSM()`"), [#8958](https://github.com/qmk/qmk_firmware/pull/8958 "Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()`"), [#8959](https://github.com/qmk/qmk_firmware/pull/8959 "Migrate `ACTION_LAYER_MODS` to `LM()`"), [#8968](https://github.com/qmk/qmk_firmware/pull/8968 "Migrate `ACTION_MODS_TAP_KEY` to `MT()`"), [#8977](https://github.com/qmk/qmk_firmware/pull/8977 "Migrate miscellaneous `fn_actions` entries"), and [#8979](https://github.com/qmk/qmk_firmware/pull/8979 "Migrate `ACTION_MODS_KEY` to chained mod keycodes") + +Authored by fauxpark, these pull requests remove references to deprecated TMK macros that have been superseded by native QMK keycodes. + +Old `fn_actions` action | New QMK keycode +:---------------------- | :-------------- +`ACTION_DEFAULT_LAYER_SET(layer)` | `DF(layer)` +`ACTION_LAYER_MODS(layer, mod)` | `LM(layer, mod)` +`ACTION_LAYER_ONESHOT(mod)` | `OSL(mod)` +`ACTION_LAYER_TOGGLE(layer)` | `TG(layer)` +`ACTION_MODS_ONESHOT(mod)` | `OSM(mod)` +`ACTION_MODS_TAP_KEY(mod, kc)` | `MT(mod, kc)` +`ACTION_MODS_KEY(mod, kc)`
e.g. `ACTION_MODS_KEY(MOD_LCTL, KC_0)` | `MOD(kc)`
e.g. `LCTL(KC_0)` diff --git a/docs/ChangeLog/20200530/PR6260.md b/docs/ChangeLog/20200530/PR6260.md deleted file mode 100644 index a2a9534ce21d..000000000000 --- a/docs/ChangeLog/20200530/PR6260.md +++ /dev/null @@ -1,38 +0,0 @@ -# Migrating Lily58 to use split_common - -[#6260](https://github.com/qmk/qmk_firmware/pull/6260) Modifies the default firmware for Lily58 to use the `split_common` library, instead of including and depending on its own set of libraries for the following functionality: -- SSD1306 display -- i2c for OLED -- Serial Communication - -This allows current lily58 firmware to advance with updates to the `split_common` library, which is shared with many other split keyboards. - -## To migrate existing Lily58 firmware: - -[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-445ac369c8717dcd6fc6fc3630836fc1): -- Remove `#define SSD1306OLED` from config.h - - -[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7): -- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE` -- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190) -- Alternatively, if you did not change the OLED code from that in `default`, you may find it easier to simply copy the [relevant section](https://github.com/qmk/qmk_firmware/blob/4ac310668501ae6786c711ecc8f01f62ddaa1c0b/keyboards/lily58/keymaps/default/keymap.c#L138-L172). Otherwise, the changes you need to make are as follows (sample change [here](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7R138-R173)) -- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L138-L141) the block -```c -#ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display -#endif -``` -- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: -```c -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - return rotation; -} -``` -- Remove the functions `matrix_scan_user`, `matrix_update` and `iota_gfx_task_user` -- Find/Replace `matrix_render_user(struct CharacterMatrix *matrix)` with `iota_gfx_task_user(void)` -- Find/Replace `is_master` with `is_keyboard_master()` -- For each instance of `matrix_write_ln(matrix, display_fn())`, rewrite it as `oled_write_ln(read_layer_state(), false);` -- For each instance of `matrix_write(matrix, read_logo());`, replace with `oled_write(read_logo(), false);` \ No newline at end of file diff --git a/docs/ChangeLog/20200530/PR7114.md b/docs/ChangeLog/20200530/PR7114.md deleted file mode 100644 index f9b35fba33c1..000000000000 --- a/docs/ChangeLog/20200530/PR7114.md +++ /dev/null @@ -1,8 +0,0 @@ -# Refactor zinc to use split_common #7114 - Changelog - -* Refactor to use split_common and remove split codes under the zinc/revx/ -* Add - backlight RGB LED and/or underglow RGB LED option -* Add - continuous RGB animations feature (between L and R halves) -* Fix - keymap files to adapt to changes - * all authors of keymaps confirmed this PR -* Update - documents and rules.mk diff --git a/docs/ChangeLog/20200530/PR8321.md b/docs/ChangeLog/20200530/PR8321.md deleted file mode 100644 index ebaf3b83446a..000000000000 --- a/docs/ChangeLog/20200530/PR8321.md +++ /dev/null @@ -1,5 +0,0 @@ -# Converting V-USB usbdrv to a submodule - -[#8321](https://github.com/qmk/qmk_firmware/pull/8321) and [qmk_compiler#62](https://github.com/qmk/qmk_compiler/pull/62). - -These PRs move the V-USB driver code out of the qmk_firmware repository and into a submodule pointed at https://github.com/obdev/v-usb. This will make it easier to update the codebase if needed, while applying any potential QMK-specific modifications by forking it to the QMK GitHub organization. diff --git a/docs/ChangeLog/20200530/PR8348.md b/docs/ChangeLog/20200530/PR8348.md deleted file mode 100644 index d6a740d302d6..000000000000 --- a/docs/ChangeLog/20200530/PR8348.md +++ /dev/null @@ -1,9 +0,0 @@ -# Unify Tap Hold functions and documentation - -Updates all of the per key tap-hold functions to pass the `keyrecord_t` structure, and include documentation changes. - -Any remaining versions or code outside of the main repo will need to be converted: -| Old function | New Function | -|------------------------------------------------------|---------------------------------------------------------------------------| -|`uint16_t get_tapping_term(uint16_t keycode)` |`uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record)` | -|`bool get_ignore_mod_tap_interrupt(uint16_t keycode)` |`bool get_ignore_mod_tap_interrupt(uint16_t keycode, keyrecord_t *record)` | diff --git a/docs/ChangeLog/20200530/PR8472.md b/docs/ChangeLog/20200530/PR8472.md deleted file mode 100644 index 0ed6fb8a4ad4..000000000000 --- a/docs/ChangeLog/20200530/PR8472.md +++ /dev/null @@ -1,42 +0,0 @@ -# Refactor of TKC1800 to use common OLED code - -[#8472](https://github.com/qmk/qmk_firmware/pull/8472) Modifies the default firmware for TKC1800 to use the in-built I2C and OLED drivers, instead of including and depending on its own set of libraries for the following functionality: -- SSD1306 display -- i2c for OLED - -This allows current TKC1800 firmware to advance with updates to those drivers, which are shared with other keyboards. - -## To migrate existing TKC1800 firmware: - -[Changes to `config.h`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-d10b26e676b4a55cbb00d71955116526): -- Remove `#define SSD1306OLED` from config.h - -[Changes to `tkc1800.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-3b35bd30abe89c8110717c6972cd2cc5): -- Add the following to avoid debug errors on HID_listen if the screen is not present -```c -void keyboard_pre_init_kb(void) { - setPinInputHigh(D0); - setPinInputHigh(D1); - - keyboard_pre_init_user(); -} -``` - -[Changes to `keymap.c`](https://github.com/qmk/qmk_firmware/pull/8472/files#diff-05a2a344ce27e4d045fe68520ccd4771): -- Find/Replace each instance of `#ifdef SSD1306OLED` with `#ifdef OLED_DRIVER_ENABLE` -- The following changes are for compatibility with the OLED driver. If you don't use the OLED driver you may safely delete [this section](https://github.com/qmk/qmk_firmware/blob/e6b9980bd45c186f7360df68c24b6e05a80c10dc/keyboards/lily58/keymaps/default/keymap.c#L144-L190) -- [Remove](https://github.com/qmk/qmk_firmware/pull/6260/files#diff-20943ea59856e9bdf3d99ecb2eee40b7L91-L158) the block -```c -#ifdef SSD1306OLED - iota_gfx_init(!has_usb()); // turns on the display -#endif -``` -- Within the block bounded by `#ifdef OLED_DRIVER_ENABLE` and `#endif // OLED_DRIVER_ENABLE`, add the following block to ensure that your two OLEDs are rotated correctly across the left and right sides: -```c -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - if (!is_keyboard_master()) - return OLED_ROTATION_180; // flips the display 180 degrees if offhand - return rotation; -} -``` -- Remove the function `iota_gfx_task_user` \ No newline at end of file diff --git a/docs/ChangeLog/20200530/PR8484.md b/docs/ChangeLog/20200530/PR8484.md deleted file mode 100644 index e5404c719b84..000000000000 --- a/docs/ChangeLog/20200530/PR8484.md +++ /dev/null @@ -1 +0,0 @@ -code cleanup regarding deprecated macro PLAY_NOTE_ARRAY by replacing it with PLAY_SONG diff --git a/docs/ChangeLog/20200530/PR8903.md b/docs/ChangeLog/20200530/PR8903.md deleted file mode 100644 index 135791e5a7d9..000000000000 --- a/docs/ChangeLog/20200530/PR8903.md +++ /dev/null @@ -1,5 +0,0 @@ -## fixing wrong configuration of AUDIO feature - -`audio_avr.c` does not default to any pin; there has to be a #define XX_AUDIO in config.h at some level for Audio to actually work. Otherwise, the Audio code ends up cluttering the firmware, possibly breaking builds because the maximum allowed firmware size is exceeded. - -These changes fix this by disabling Audio on keyboards that have the feature misconfigured, and therefore non-functional. diff --git a/docs/ChangeLog/20200530/PR8974.md b/docs/ChangeLog/20200530/PR8974.md deleted file mode 100644 index 269636d1b1be..000000000000 --- a/docs/ChangeLog/20200530/PR8974.md +++ /dev/null @@ -1,2 +0,0 @@ -## fixing wrong configuration of AUDIO feature -add a compile-time error to alert the user to a missing pin-configuration (on AVR boards) when AUDIO_ENABLE=yes is set diff --git a/docs/ChangeLog/20200530/PR9000.md b/docs/ChangeLog/20200530/PR9000.md deleted file mode 100644 index 64a199f902d8..000000000000 --- a/docs/ChangeLog/20200530/PR9000.md +++ /dev/null @@ -1,5 +0,0 @@ -# Python Required In The Build Process - -This is the last release of QMK that will work without having Python 3.6 (or later) installed. If your environment is not fully setup you will get a warning instructing you to set it up. - -After the next breaking change you will not be able to build if `bin/qmk hello` does not work. diff --git a/docs/_summary.md b/docs/_summary.md index b3553b428501..1b6ddc67ca87 100644 --- a/docs/_summary.md +++ b/docs/_summary.md @@ -115,6 +115,7 @@ * [Overview](breaking_changes.md) * [My Pull Request Was Flagged](breaking_changes_instructions.md) * History + * [2020 May 30](ChangeLog/20200530.md) * [2020 Feb 29](ChangeLog/20200229.md) * [2019 Aug 30](ChangeLog/20190830.md) diff --git a/docs/breaking_changes.md b/docs/breaking_changes.md index 6c684970d829..154695ddacb6 100644 --- a/docs/breaking_changes.md +++ b/docs/breaking_changes.md @@ -6,27 +6,28 @@ The breaking change period is when we will merge PR's that change QMK in dangero ## What has been included in past Breaking Changes? +* [2020 May 30](ChangeLog/20200530.md) * [2020 Feb 29](ChangeLog/20200229.md) * [2019 Aug 30](ChangeLog/20190830.md) ## When is the next Breaking Change? -The next Breaking Change is scheduled for May 30, 2020. +The next Breaking Change is scheduled for Aug 29, 2020. ### Important Dates -* [x] 2020 Feb 29 - `future` is created. It will be rebased weekly. -* [ ] 2020 May 2 - `future` closed to new PR's. -* [ ] 2020 May 2 - Call for testers. -* [ ] 2020 May 28 - `master` is locked, no PR's merged. -* [ ] 2020 May 30 - Merge `future` to `master`. -* [ ] 2020 May 30 - `master` is unlocked. PR's can be merged again. +* [x] 2020 May 30 - `develop` is created. It will be rebased weekly. +* [ ] 2020 Aug 1 - `develop` closed to new PR's. +* [ ] 2020 Aug 1 - Call for testers. +* [ ] 2020 Aug 27 - `master` is locked, no PR's merged. +* [ ] 2020 Aug 29 - Merge `develop` to `master`. +* [ ] 2020 Aug 29 - `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. +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 `develop` 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. +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 `develop` closes. After `develop` closes no new breaking changes will be accepted. Criteria for acceptance: @@ -37,9 +38,9 @@ Criteria for acceptance: This section documents various processes we use when running the Breaking Changes process. -## Rebase `future` from `master` +## Rebase `develop` from `master` -This is run every Friday while `future` is open. +This is run every Friday while `develop` is open. Process: @@ -47,31 +48,31 @@ Process: cd qmk_firmware git checkout master git pull --ff-only -git checkout future +git checkout develop git rebase master git push --force ``` -## Creating the `future` branch +## Creating the `develop` branch -This happens immediately after the previous `future` branch is merged. +This happens immediately after the previous `develop` branch is merged. * `qmk_firmware` git commands * [ ] `git checkout master` * [ ] `git pull --ff-only` - * [ ] `git checkout -b future` + * [ ] `git checkout -b develop` * [ ] 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 Breaking Change'` * [ ] `git tag breakpoint___
` * [ ] `git tag ` # Prevent the breakpoint tag from confusing version incrementing - * [ ] `git push origin future` + * [ ] `git push origin develop` * [ ] `git push --tags` ## 4 Weeks Before Merge -* `future` is now closed to new PR's, only fixes for current PR's may be merged +* `develop` is now closed to new PR's, only fixes for current PR's may be merged * Post call for testers * [ ] Discord * [ ] GitHub PR @@ -94,15 +95,15 @@ This happens immediately after the previous `future` branch is merged. ## Day Of Merge * `qmk_firmware` git commands - * [ ] `git checkout future` + * [ ] `git checkout develop` * [ ] `git pull --ff-only` * [ ] `git rebase origin/master` * [ ] Edit `readme.md` - * [ ] Remove the notes about `future` + * [ ] Remove the notes about `develop` * [ ] Roll up the ChangeLog into one file. * [ ] `git commit -m 'Merge point for Breaking Change'` - * [ ] `git push origin future` + * [ ] `git push origin develop` * GitHub Actions - * [ ] Create a PR for `future` + * [ ] Create a PR for `develop` * [ ] Make sure travis comes back clean - * [ ] Merge `future` PR + * [ ] Merge `develop` PR diff --git a/docs/breaking_changes_instructions.md b/docs/breaking_changes_instructions.md index 3f2f93834f6c..d835671556d3 100644 --- a/docs/breaking_changes_instructions.md +++ b/docs/breaking_changes_instructions.md @@ -27,7 +27,7 @@ If you are contributing core code, and the only reason it needs to go through br We require submissions that go through the Breaking Change process to include a changelog entry. The entry should be a short summary of the changes your pull request makes – [each section here started as a changelog](ChangeLog/20190830.md "n.b. This should link to the 2019 Aug 30 Breaking Changes doc - @noroadsleft"). -Your changelog should be located at `docs/ChangeLog/YYYYMMDD/PR####.md`, where `YYYYMMDD` is the date on which QMK's breaking change branch – usually named `future` – will be merged into the `master` branch, and `####` is the number of your pull request. +Your changelog should be located at `docs/ChangeLog/YYYYMMDD/PR####.md`, where `YYYYMMDD` is the date on which QMK's breaking change branch – usually named `develop` – will be merged into the `master` branch, and `####` is the number of your pull request. If your submission requires action on the part of users, your changelog should instruct users what action(s) must be taken, or link to a location that does so.