mirror of
				https://github.com/mfulz/qmk_firmware.git
				synced 2025-10-31 05:12:33 +01:00 
			
		
		
		
	 fced377ac0
			
		
	
	
		fced377ac0
		
			
		
	
	
	
	
		
			
			* Branch point for 2020 May 30 Breaking Change * Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954) * Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957) * Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958) * Migrate `ACTION_LAYER_MODS` to `LM()` (#8959) * Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968) * Convert V-USB usbdrv to a submodule (#8321) * Unify Tap Hold functions and documentation (#8348) * Changing board names to prevent confusion (#8412) * Move the Keyboardio Model01 to a keyboardio/ subdir (#8499) * Move spaceman keyboards (#8830) * Migrate miscellaneous `fn_actions` entries (#8977) * Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979) * Organizing my keyboards (plaid, tartan, ergoinu) (#8537) * Refactor Lily58 to use split_common (#6260) * Refactor zinc to use split_common (#7114) * Add a message if bin/qmk doesn't work (#9000) * Fix conflicting types for 'tfp_printf' (#8269) * Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480) * Refactor and updates to TKC1800 code (#8472) * Switch to qmk forks for everything (#9019) * audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484) * Audio enable corrections (2/3) (#8903) * Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582) * Audio enable corrections (Part 4) (#8974) * Fix typo from PR7114 (#9171) * Augment future branch Changelogs (#8978) * Revert "Branch point for 2020 May 30 Breaking Change"
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Breaking Changes
 | |
| 
 | |
| 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.
 | |
| 
 | |
| ## 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 Aug 29, 2020.
 | |
| 
 | |
| ### Important Dates
 | |
| 
 | |
| * [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 `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:
 | |
| 
 | |
| * PR is complete and ready to merge
 | |
| * PR has a ChangeLog
 | |
| 
 | |
| # Checklists
 | |
| 
 | |
| This section documents various processes we use when running the Breaking Changes process.
 | |
| 
 | |
| ## Rebase `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
 | |
| ```
 | |
| 
 | |
| ## Creating the `develop` branch
 | |
| 
 | |
| This happens immediately after the previous `develop` branch is merged.
 | |
| 
 | |
| * `qmk_firmware` git commands
 | |
|     * [ ] `git checkout master`
 | |
|     * [ ] `git pull --ff-only`
 | |
|     * [ ] `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 <DATE> Breaking Change'`
 | |
|     * [ ] `git tag breakpoint_<YYYY>_<MM>_<DD>`
 | |
|     * [ ] `git tag <next_version>` # Prevent the breakpoint tag from confusing version incrementing
 | |
|     * [ ] `git push origin develop`
 | |
|     * [ ] `git push --tags`
 | |
| 
 | |
| ## 4 Weeks Before Merge
 | |
| 
 | |
| * `develop` is now closed to new PR's, only fixes for current PR's may be merged
 | |
| * Post call for testers
 | |
|     * [ ] Discord
 | |
|     * [ ] GitHub PR
 | |
|     * [ ] https://reddit.com/r/olkb
 | |
| 
 | |
| ## 1 Week Before Merge
 | |
| 
 | |
| * Announce that master will be closed from <2 Days Before> to <Day of Merge>
 | |
|     * [ ] Discord
 | |
|     * [ ] GitHub PR
 | |
|     * [ ] https://reddit.com/r/olkb
 | |
| 
 | |
| ## 2 Days Before Merge
 | |
| 
 | |
| * Announce that master is closed for 2 days
 | |
|     * [ ] Discord
 | |
|     * [ ] GitHub PR
 | |
|     * [ ] https://reddit.com/r/olkb
 | |
| 
 | |
| ## Day Of Merge
 | |
| 
 | |
| * `qmk_firmware` git commands
 | |
|     * [ ] `git checkout develop`
 | |
|     * [ ] `git pull --ff-only`
 | |
|     * [ ] `git rebase origin/master`
 | |
|     * [ ] Edit `readme.md`
 | |
|         * [ ] Remove the notes about `develop`
 | |
|     * [ ] Roll up the ChangeLog into one file.
 | |
|     * [ ] `git commit -m 'Merge point for <DATE> Breaking Change'`
 | |
|     * [ ] `git push origin develop`
 | |
| * GitHub Actions
 | |
|     * [ ] Create a PR for `develop`
 | |
|     * [ ] Make sure travis comes back clean
 | |
|     * [ ] Merge `develop` PR
 |