This document describes QMK's Breaking Change process. A Breaking Change is any change which modifies how QMK behaves in a way that in incompatible or potentially dangerous. We limit these changes so that users can have confidence that updating their QMK tree will not break their keymaps.
The breaking change period is when we will merge PR's that change QMK in dangerous or unexpected ways. There is a built-in period of testing so we are confident that any problems caused are rare or unable to be predicted.
The next Breaking Change is scheduled for November 28, 2020.
To see a list of breaking change candidates you can look at the breaking_change
label. 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 develop
closes. After develop
closes no new breaking changes will be accepted.
Criteria for acceptance:
This section documents various processes we use when running the Breaking Changes process.
develop
from master
This is run every Friday while develop
is open.
Process:
cd qmk_firmware
git checkout master
git pull --ff-only
git checkout develop
git rebase master
git push --force
develop
branchThis happens immediately after the previous develop
branch is merged.
qmk_firmware
git commands
git commit -m 'Branch point for <DATE> Breaking Change'
git tag breakpoint_<YYYY>_<MM>_<DD>
git tag <next_version>
# Prevent the breakpoint tag from confusing version incrementinggit push origin develop
git push --tags
develop
is now closed to new PR's, only fixes for current PR's may be mergedqmk_firmware
git commands
git checkout develop
git pull --ff-only
git rebase origin/master
readme.md
develop
git commit -m 'Merge point for <DATE> Breaking Change'
git push origin develop
develop
develop
PR