<spanclass="line"><spanstyle="--shiki-light:#D73A49;--shiki-dark:#F97583;">#define</span><spanstyle="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> JOYSTICK_AXES_COUNT</span><spanstyle="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> 2</span></span></code></pre></div>in your config.h.</li></ul></li><li>Christmas RGB Underglow animation now fades between green and red (<ahref="https://github.com/qmk/qmk_firmware/pull/7648"target="_blank"rel="noreferrer">#7648</a>) <ul><li><code>RGBLIGHT_EFFECT_CHRISTMAS_INTERVAL</code> has been greatly decreased; please check your animation if you have customized this value.</li></ul></li><li>layer state now initializes on startup (<ahref="https://github.com/qmk/qmk_firmware/pull/8318"target="_blank"rel="noreferrer">#8318</a>) <ul><li>This should produce more consistent behavior between the two functions and layer masks.</li></ul></li><li>added support for HSV->RGB conversion without using CIE curve (<ahref="https://github.com/qmk/qmk_firmware/pull/9856"target="_blank"rel="noreferrer">#9856</a>)</li><li>added NOEEPROM functions for RGB Matrix (<ahref="https://github.com/qmk/qmk_firmware/pull/9487"target="_blank"rel="noreferrer">#9487</a>) <ul><li>Added eeprom_helpers for toggle, mode, sethsv, speed, similar to rgblight versions.</li><li>Added set_speed function.</li><li>Added helper functions, similar to those in rgblight, in order to add NOEEPROM versions of toggle, step, hue, sat, val, and speed.</li><li>Minor: spelling correction for EEPROM in a debug message.</li></ul></li><li>flashing firmware using <code>st-flash</code> utility from <ahref="https://github.com/stlink-org/stlink"target="_blank"rel="noreferrer">STLink Tools</a> is now supported (<ahref="https://github.com/qmk/qmk_firmware/pull/9964"target="_blank"rel="noreferrer">#9964</a>)</li><li>add ability to dump all makefile variables for the specified target (<ahref="https://github.com/qmk/qmk_firmware/pull/8256"target="_blank"rel="noreferrer">#8256</a>) <ul><li>Adds a new subtarget to builds, <code>dump_vars</code>, which allows for printing out all the variables that make knows about, after all substitutions occur.</li><li>Example: <code>make handwired/onekey/proton_c:default:dump_vars</code></li></ul></li><li>add ability to change the Auto Shift timeout in real time (<ahref="https://github.com/qmk/qmk_firmware/pull/8441"target="_blank"rel="noreferrer">#8441</a>)</li><li>added a timer implementation for backlight on ChibiOS (<ahref="https://github.com/qmk/qmk_firmware/pull/8291"target="_blank"rel="noreferrer">#8291</a>)</li><li>added a third endpoint to V-USB keyboards (<ahref="https://github.com/qmk/qmk_firmware/pull/9020"target="_blank"rel="noreferrer">#9020</a>)</li><li>added a method to read the OLED display buffer from user space (<ahref="https://github.com/qmk/qmk_firmware/pull/8777"target="_blank"rel="noreferrer">#8777</a>)</li><li>K-Type refactor (<ahref="https://github.com/qmk/qmk_firmware/pull/9864"target="_blank"rel="noreferrer">#9864</a>) <ul><li>The K-Type has been refactored to use QMK's native matrix scanning routine, and now has partial support for the RGB Matrix feature.</li></ul></li><li>Joysticks can now be used without defining analog pins (<ahref="https://github.com/qmk/qmk_firmware/pull/10169"target="_blank"rel="noreferrer">#10169</a>)</li></ul><h3id="core-optimizations"tabindex="-1">Clean-ups and Optimizations <aclass="header-anchor"href="#core-optimizations"aria-label="Permalink to "Clean-ups and Optimizations {#core-optimizations}""></a></h3><ul><li>iWRAP protocol removed (<ahref="https://github.com/qmk/qmk_firmware/pull/9284"target="_blank"rel="noreferrer">#9284</a>)</li><li>work begun for consolidation of ChibiOS platform files (<ahref="https://github.com/qmk/qmk_firmware/pull/8327"target="_blank"rel="noreferrer">#8327</a> and <ahref="https://github.com/qmk/qmk_firmware/pull/9315"target="_blank"rel="noreferrer">#9315</a>) <ul><li>Start of the consolidation work to move the ChibiOS board definitions as well as the default set o