<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qmk_firmware/docs/ChangeLog, branch master</title>
<subtitle>QMK firmware for my keyboards (Corne, Sweep Ferris) and trackball (Ploopy Adept)</subtitle>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/'/>
<entry>
<title>2025q4 develop changelog (#25845)</title>
<updated>2025-12-01T21:47:16+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2025-12-01T21:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=0e6b73c9ff44c8404a74e165a8aa0b258db41f8a'/>
<id>0e6b73c9ff44c8404a74e165a8aa0b258db41f8a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Reduce tap dance memory usage, move state out of data (#25415)</title>
<updated>2025-11-23T11:32:36+00:00</updated>
<author>
<name>Stephen Ostermiller</name>
<email>stephenostermiller@users.noreply.github.com</email>
</author>
<published>2025-11-23T11:32:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=1a954e8da5dcbd81eeccb9d6ac41b6eda64d7b85'/>
<id>1a954e8da5dcbd81eeccb9d6ac41b6eda64d7b85</id>
<content type='text'>
* Use less tap dance memory.

Use dynamically allocated sparse array for tap dance state, dynamically allocate tap dance state when needed and free it when the tap dance is done.

* new approach

* Use null, check for null

* Reformat with docker

* Use uint8 with idx rather than uint16 with keycode in state

* fix accidental change

* reformat

* Add null check

* add documentation tip suggested by tzarc

* Only allow tap dance state allocation on key down, not on key up

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;

* Only allow tap dance allocation on key down, not on key up

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;

* add user action required section

---------

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Use less tap dance memory.

Use dynamically allocated sparse array for tap dance state, dynamically allocate tap dance state when needed and free it when the tap dance is done.

* new approach

* Use null, check for null

* Reformat with docker

* Use uint8 with idx rather than uint16 with keycode in state

* fix accidental change

* reformat

* Add null check

* add documentation tip suggested by tzarc

* Only allow tap dance state allocation on key down, not on key up

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;

* Only allow tap dance allocation on key down, not on key up

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;

* add user action required section

---------

Co-authored-by: Sergey Vlasov &lt;sigprof@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Debounce: Deprecate num_rows parameter (#25632)</title>
<updated>2025-10-19T02:14:37+00:00</updated>
<author>
<name>フィルターペーパー</name>
<email>76888457+filterpaper@users.noreply.github.com</email>
</author>
<published>2025-10-19T02:14:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=81df54308687713371ed5fbf4947e38963c7867b'/>
<id>81df54308687713371ed5fbf4947e38963c7867b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/master' into develop</title>
<updated>2025-09-09T21:51:51+00:00</updated>
<author>
<name>QMK Bot</name>
<email>hello@qmk.fm</email>
</author>
<published>2025-09-09T21:51:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=ff8db0449edd488ae4440e8c102a0752f76f46c3'/>
<id>ff8db0449edd488ae4440e8c102a0752f76f46c3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>docs: fix misspellings (#25555)</title>
<updated>2025-09-09T21:51:13+00:00</updated>
<author>
<name>François Magimel</name>
<email>magimel.francois@gmail.com</email>
</author>
<published>2025-09-09T21:51:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=09ab67c0440d8e5e3faf832d23eb1b754845a573'/>
<id>09ab67c0440d8e5e3faf832d23eb1b754845a573</id>
<content type='text'>
* docs: fix misspellings

* docs: do line breaks with HTML instead of spaces

To remove trailing spaces and to avoid breaking things, line breaks can
be done with the HTML br tag.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* docs: fix misspellings

* docs: do line breaks with HTML instead of spaces

To remove trailing spaces and to avoid breaking things, line breaks can
be done with the HTML br tag.</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor debounce algorithm with static allocation (#25515)</title>
<updated>2025-09-07T12:34:05+00:00</updated>
<author>
<name>フィルターペーパー</name>
<email>76888457+filterpaper@users.noreply.github.com</email>
</author>
<published>2025-09-07T12:34:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=4bd5c033c3135576010baded53c44720d8030d32'/>
<id>4bd5c033c3135576010baded53c44720d8030d32</id>
<content type='text'>
* Refactor debounce counters with direct indexing

* Refactor code to use array indexing for debounce_counters
* Use global MATRIX_ROW_SHIFTER macro

* Refactor debounce algorithm with static allocation

* Converted arrays to static allocation
* Standardised use of MATRIX_ROWS_PER_HAND for array sizing
* Added Doxygen comments for primary debounce functions
* Removed debounce_free()

* Rewrite sym_defer_pr

* Modernise code using sym_defer_pk as template
* Format consistency with other current algorithms

* Use shorter SPDX-License-Identifier

* Remove ChibiOS core memory manager guard
* Keep type definition within DEBOUNCE guard

* Add change log

* Minor optimisation refactor

* Pre-calculate row_offset in per-key matrix loops
* Add inline compiler hints
* Improve readability with blank lines

* Limit elapsed time to the maximum debounce value

* Apply suggestions from code review

Declare counters with "DEBOUNCE_ELAPSED"

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;

* Update change log to new breaking change date

---------

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Refactor debounce counters with direct indexing

* Refactor code to use array indexing for debounce_counters
* Use global MATRIX_ROW_SHIFTER macro

* Refactor debounce algorithm with static allocation

* Converted arrays to static allocation
* Standardised use of MATRIX_ROWS_PER_HAND for array sizing
* Added Doxygen comments for primary debounce functions
* Removed debounce_free()

* Rewrite sym_defer_pr

* Modernise code using sym_defer_pk as template
* Format consistency with other current algorithms

* Use shorter SPDX-License-Identifier

* Remove ChibiOS core memory manager guard
* Keep type definition within DEBOUNCE guard

* Add change log

* Minor optimisation refactor

* Pre-calculate row_offset in per-key matrix loops
* Add inline compiler hints
* Improve readability with blank lines

* Limit elapsed time to the maximum debounce value

* Apply suggestions from code review

Declare counters with "DEBOUNCE_ELAPSED"

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;

* Update change log to new breaking change date

---------

Co-authored-by: Joel Challis &lt;git@zvecr.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>2025q3 develop changelog (#25597)</title>
<updated>2025-09-05T21:07:20+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2025-09-05T21:07:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=b43ec9d65a2c379512800253470ae6485081f3ac'/>
<id>b43ec9d65a2c379512800253470ae6485081f3ac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Migrate `helix` common configuration (#25433)</title>
<updated>2025-08-09T22:27:13+00:00</updated>
<author>
<name>Jack Sangdahl</name>
<email>jack@pngu.org</email>
</author>
<published>2025-08-09T22:27:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=00ca3628267ae85d3eb2ec19a364913c1fca434d'/>
<id>00ca3628267ae85d3eb2ec19a364913c1fca434d</id>
<content type='text'>
* Initial tidying up of top level helix/ directory

Align readme.md with template &amp; provide more detailed PCB information
Remove unused rules.mk
Add common config.h file
Update glcdfont.c with formatting and license header

* Further migrations after PRs merged

Move shared configuration to top level info.json and config.h
More descriptive hardware compatibility

* Add changelog

* Align configuration between PCBs

- Migrate beta &amp; pico to use RGB Matrix
- Move previously RGB Matrix-dependent OLED code in rev3/rev3.c to top level
- Remove reundant OLED code in beta/beta.c
- Remove RGBLight references

* Update changelog with RGB Matrix configuration</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Initial tidying up of top level helix/ directory

Align readme.md with template &amp; provide more detailed PCB information
Remove unused rules.mk
Add common config.h file
Update glcdfont.c with formatting and license header

* Further migrations after PRs merged

Move shared configuration to top level info.json and config.h
More descriptive hardware compatibility

* Add changelog

* Align configuration between PCBs

- Migrate beta &amp; pico to use RGB Matrix
- Move previously RGB Matrix-dependent OLED code in rev3/rev3.c to top level
- Remove reundant OLED code in beta/beta.c
- Remove RGBLight references

* Update changelog with RGB Matrix configuration</pre>
</div>
</content>
</entry>
<entry>
<title>Mitigate VIA keylogger security issues (#25414)</title>
<updated>2025-06-29T01:29:33+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2025-06-29T01:29:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=711b109246dc7d7e3881ccf70dce4adceefb4b02'/>
<id>711b109246dc7d7e3881ccf70dce4adceefb4b02</id>
<content type='text'>
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>2025 Q2 changelog (#25297)</title>
<updated>2025-05-26T11:04:52+00:00</updated>
<author>
<name>Joel Challis</name>
<email>git@zvecr.com</email>
</author>
<published>2025-05-26T11:04:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.vineetk.net/qmk_firmware/commit/?id=3703699757b6ce938ff412aca0a8b064927c0cdb'/>
<id>3703699757b6ce938ff412aca0a8b064927c0cdb</id>
<content type='text'>
Co-authored-by: Drashna Jaelre &lt;drashna@live.com&gt;
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Drashna Jaelre &lt;drashna@live.com&gt;
Co-authored-by: Nick Brassel &lt;nick@tzarc.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
