import { _ as _export_sfc, c as createElementBlock, o as openBlock, a8 as createStaticVNode } from "./chunks/framework.B9AX-CPi.js"; const __pageData = JSON.parse('{"title":"QMK Breaking Changes - 2021 May 29 Changelog","description":"","frontmatter":{},"headers":[],"relativePath":"ChangeLog/20210529.md","filePath":"ChangeLog/20210529.md","lastUpdated":null}'); const _sfc_main = { name: "ChangeLog/20210529.md" }; const _hoisted_1 = /* @__PURE__ */ createStaticVNode('

QMK Breaking Changes - 2021 May 29 Changelog

Notable Changes

RGB Matrix support for split common (#11055)

Split boards can now use RGB Matrix without defining a custom matrix.

Teensy 3.6 support (#12258)

Added support for MK66F18 (Teensy 3.6) microcontroller.

New command: qmk console (#12828)

A new qmk console command has been added for attaching to your keyboard's console. It operates similiarly to QMK Toolbox by allowing you to connect to one or more keyboard consoles to display debugging messages.

Improved command: qmk config

We've updated the qmk config command to show only the configuration items you have actually set. You can now display (almost) all of the available configuration options, along with their default values, using qmk config -a.

LED Matrix Improvements (#12509, #12580, #12588, #12633, #12651, #12685)

LED Matrix has been improved with effects, CIE1931 curves, and a task system.

Changes Requiring User Action

Updated Keyboard Codebases

The following keyboards have had their source moved within QMK:

Old Keyboard NameNew Keyboard Name
crkbd/rev1/commoncrkbd/rev1
function96function96/v1
nckiibs/flatbread60delikeeb/flatbread60
nckiibs/vaguettelitedelikeeb/vaguettelite
nckiibs/vanana/rev1delikeeb/vanana/rev1
nckiibs/vanana/rev2delikeeb/vanana/rev2
nckiibs/vaneeladelikeeb/vaneela
nckiibs/vaneelaexdelikeeb/vaneelaex
nckiibs/waaffle/rev3/elite_cdelikeeb/waaffle/rev3/elite_c
nckiibs/waaffle/rev3/pro_microdelikeeb/waaffle/rev3/pro_micro

The Function96 V2 has also been added as part of these changes.

The codebase for the Durgod K320 has been reworked in anticipation of additional Durgod keyboards gaining QMK support.

Additionally, the crkbd/rev1/legacy keyboard has been removed.

Bootmagic Deprecation and Refactor (#12172)

QMK has decided to deprecate the full Bootmagic feature and leave Bootmagic Lite as the only remaining option.

This pull request changes the behavior of BOOTMAGIC_ENABLE such that specifying BOOTMAGIC_ENABLE = yes enables Bootmagic Lite instead of full Bootmagic.

If attempts to use Bootmagic functionality result in unexpected behavior, check your rules.mk file and change the BOOTMAGIC_ENABLE setting to specify either lite or full.

Tentative Deprecation Schedule

This is the current planned roadmap for the behavior of BOOTMAGIC_ENABLE:

Removal of LAYOUT_kc (#12160)

We've removed support for LAYOUT_kc macros, if your keymap uses one you will need to update it use a regular LAYOUT macro.

Encoder callbacks are now boolean (#12805, #12985)

To allow for keyboards to override (or not) keymap level code the encoder_update_kb function has been changed from void to bool. You will need to update your function definition to reflect this and ensure that you return a true or false value.

Example code before change:

c
void encoder_update_kb(uint8_t index, bool clockwise) {\n    encoder_update_user(index, clockwise);\n}\n\nvoid encoder_update_user(uint8_t index, bool clockwise) {\n    if (index == 0) { /* First encoder */\n        if (clockwise) {\n            tap_code(KC_PGDN);\n        } else {\n            tap_code(KC_PGUP);\n        }\n    } else if (index == 1) { /* Second encoder */\n        if (clockwise) {\n            tap_code(KC_DOWN);\n        } else {\n            tap_code(KC_UP);\n        }\n    }\n}

Example code after change:

c
bool encoder_update_kb(uint8_t index, bool clockwise) {\n    return encoder_update_user(index, clockwise);\n}\n\nbool encoder_update_user(uint8_t index, bool clockwise) {\n    if (index == 0) { /* First encoder */\n        if (clockwise) {\n            tap_code(KC_PGDN);\n        } else {\n            tap_code(KC_PGUP);\n        }\n    } else if (index == 1) { /* Second encoder */\n        if (clockwise) {\n            tap_code(KC_DOWN);\n        } else {\n            tap_code(KC_UP);\n        }\n    }\n    return true; \n    // If you return true, this will allow the keyboard level code to run, as well. \n    //Returning false will override the keyboard level code. Depending on how the keyboard level function is set up.\n}

Core Changes

Fixes

Additions and Enhancements

Clean-ups and Optimizations

QMK Infrastructure and Internals

', 44); const _hoisted_45 = [ _hoisted_1 ]; function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return openBlock(), createElementBlock("div", null, _hoisted_45); } const _20210529 = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render]]); export { __pageData, _20210529 as default };