2020-06-30 06:58:35 +02:00
## Release Schedule
2022-10-26 00:18:25 +02:00
Kanidm is released on a 3 month (quarterly) basis.
2020-06-30 06:58:35 +02:00
2022-05-01 05:55:21 +02:00
* February 1st
* May 1st
* August 1st
* November 1st
2020-06-30 06:58:35 +02:00
2022-05-01 05:55:21 +02:00
Releases will be tagged and branched in git.
2020-06-30 06:58:35 +02:00
1.2.0 will be released as the first supported version once the project believes the project is
in a maintainable longterm state, without requiring backward breaking changes. There is no current
estimated date for 1.2.0.
## Support
2022-10-26 00:18:25 +02:00
Releases during alpha will recieve limited fixes once released. Specifically we will resolve:
2020-06-30 06:58:35 +02:00
2022-10-26 00:18:25 +02:00
* Moderate security issues and above
2022-05-01 05:55:21 +02:00
* Flaws leading to dataloss or corruption
2022-10-26 00:18:25 +02:00
* Other quality fixes at the discrestion of the project team
2020-06-30 06:58:35 +02:00
2022-10-26 00:18:25 +02:00
These will be backported to the latest stable branch only.
2021-03-25 01:34:29 +01:00
## API stability
There are a number of "surfaces" that can be considered as "API" in Kanidm.
* JSON HTTP end points of kanidmd
2022-05-01 05:55:21 +02:00
* unix domain socket API of `kanidm_unixd` resolver
* LDAP interface of kanidm
2021-03-25 01:34:29 +01:00
* CLI interface of kanidm admin command
2022-05-01 05:55:21 +02:00
* Many other interaction surfaces
2021-03-25 01:34:29 +01:00
2022-05-01 05:55:21 +02:00
During the Alpha, there is no guarantee that *any* of these APIs named here or not named will remain stable.
Only elements from "the same release" are guaranteed to work with each other.
2021-03-25 01:34:29 +01:00
2022-05-01 05:55:21 +02:00
Once an official release is made, only the JSON API and LDAP interface will be declared stable.
The unix domain socket API is internal and will never be "stable".
The CLI is *not* an API and can change with the interest of human interaction during any release.
2021-03-25 01:34:29 +01:00
2022-06-20 12:16:55 +02:00
## Python module
The python module will typically trail changes in functionality of the core Rust code, and will be developed as we it for our own needs - please feel free to add functionality or improvements, or [ask for them in a Github issue ](http://github.com/kanidm/kanidm/issues/new/choose )!
All code changes will include full type-casting wherever possible.