diff options
| author | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-26 18:44:42 +0400 |
|---|---|---|
| committer | Ivan Molodetskikh <yalterz@gmail.com> | 2024-03-26 18:44:42 +0400 |
| commit | 9bd812c37af3bfe5e104c9818e317add9cd44250 (patch) | |
| tree | 5efe49f441c8754507f1479da594de50ffabf197 /wiki/Configuration:-Overview.md | |
| parent | 0845eef326142231acae84c4a068fa5c0a6e7e5f (diff) | |
| download | niri-9bd812c37af3bfe5e104c9818e317add9cd44250.tar.gz niri-9bd812c37af3bfe5e104c9818e317add9cd44250.tar.bz2 niri-9bd812c37af3bfe5e104c9818e317add9cd44250.zip | |
wiki: Add config breaking change policy
Diffstat (limited to 'wiki/Configuration:-Overview.md')
| -rw-r--r-- | wiki/Configuration:-Overview.md | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/wiki/Configuration:-Overview.md b/wiki/Configuration:-Overview.md index 638d3b2a..49456841 100644 --- a/wiki/Configuration:-Overview.md +++ b/wiki/Configuration:-Overview.md @@ -109,4 +109,17 @@ output "eDP-1" { Omitting most of the sections of the config file will leave you with the default values for that section. A notable exception is `binds {}`: they do not get filled with defaults, so make sure you do not erase this section. +### Breaking Change Policy + +Configuration backwards compatibility follows the Rust / Cargo semantic versioning standards. +A patch release (i.e. niri 0.1.3 to 0.1.4) will never cause a parse error on a config that worked on the previous version. +A minor release (i.e. niri 0.1.3 to 0.2.0) *can* cause previously valid config files to stop parsing. + +When niri reaches 1.0, a major release (i.e. niri 1.0 to 2.0) will be required to break config backwards compatibility. + +Exceptions can be made for parsing bugs. +For example, niri used to accept multiple binds to the same key, but this was not intended and did not do anything (the first bind was always used). +A patch release changed niri from silently accepting this to causing a parsing failure. +This is not a blanket rule, I will consider the potential impact of every breaking change like this before deciding to carry on with it. + [KDL]: https://kdl.dev/ |
