diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-11-22 17:36:17 +0100 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2018-11-28 20:04:01 +0100 |
commit | 25176917235c1988ef46dd2ec70c1b82a2d59e4e (patch) | |
tree | d0fe45b142fed3366ede8bec1f681c2668ff6b76 /CONTRIBUTING.md | |
parent | 255ea4ae37c7b08fbe1cfb76a95f95882f5cd1fd (diff) | |
download | gnutls-25176917235c1988ef46dd2ec70c1b82a2d59e4e.tar.gz |
CONTRIBUTING.md: proposal for new features/modifications approach [ci skip]
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
Diffstat (limited to 'CONTRIBUTING.md')
-rw-r--r-- | CONTRIBUTING.md | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d9bc4659e1..aa1a6b9644 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -135,6 +135,24 @@ The above do not apply to the C++ library; this library's ABI should not be considered stable. +# Introducing new features / modifying behavior + + When a new feature is introduced which may affect already deployed code, +it must be disabled by default. For example a new TLS extension should be +enabled when explicitly requested by the application. That can happen for +example with a gnutls_init() flag. + +The same should be followed when an existing function behavior is modified +in a way that may break existing applications which use the API in a +reasonable way. If the existing function allows flags, then a new flag +should be introduced to enable the new behavior. + +When it is necessary, or desireable to enable the new features by default +(e.g., TLS1.3 introduction), the "next" releases should be used (and +introduced if necessary), to allow the modification to be tested for an +extended amount of time. + + # API documentation When introducing a new API, we provide the function documentation as |