... | ... | @@ -4,35 +4,37 @@ However, we also want to clean up the code at some point. Keeping these options |
|
|
|
|
|
This policy describes the procedure for removing named.conf options.
|
|
|
|
|
|
## Candidate options to be deprecated/removed
|
|
|
## Planning
|
|
|
|
|
|
We certainly don't want to remove any options that are still in widespread use. Before making the decision to go ahead with removing an option, we plan to post a notice on the bind-users mailing list to solicit feedback. Depending on the level of concern from the list, we may move ahead or decide to defer deprecating the option.
|
|
|
|
|
|
Below is a table of candidate options we may deprecate and remove. Feel free to add suggestions, or add comments.
|
|
|
|
|
|
| option | will be deprecated in | comments |
|
|
|
| ------ | ------------- | --------
|
|
|
| cleaning-interval | 9.15/9.16 | |
|
|
|
| dnssec-update-mode | | |
|
|
|
| dialup | | |
|
|
|
| dnssec-lookaside | | |
|
|
|
| managed-keys | 9.15/9.16 | |
|
|
|
| trusted-keys | 9.15/9.16 | |
|
|
|
|
|
|
In addition, there are already quite some options that are ancient, obsoleted, or never implemented before 9.15. They are listed in this issue: https://gitlab.isc.org/isc-projects/bind9/issues/1086 and may be removed in the next stable release after 9.16.
|
|
|
|
|
|
## Deprecating
|
|
|
|
|
|
A configuration option that is candidate for removal will be deprecated first. During this phase the option will still work, but we will be communicating to users that the option is going to be removed soon. A user that has deprecated options configured will see warnings in their logs and needs to take action to get rid of those log messages. Named-checkconf will also report that there are options included that are deprecated. (Request- for a 'configuration file beautifier' mode that would strip out the options that are deprecated and deliver a usable named-conf. This would be useful only if it could also preserve the comments in the file.) Configuration options that are deprecated will be identified in the Release Note for the release they are deprecated in. A list of deprecated options will also be included as an appendix in the ARM.
|
|
|
A configuration option that is candidate for removal will be deprecated first. During this phase the option will still work, but we will be communicating to users that the option is going to be removed soon. A user that has deprecated options configured will see **warnings in their logs** and needs to take action to get rid of those log messages. **Named-checkconf** will also report that there are options included that are deprecated. (Request- for a 'configuration file beautifier' mode that would strip out the options that are deprecated and deliver a usable named-conf. This would be useful only if it could also preserve the comments in the file, which currently are stripped by -checkconf.) Configuration options that are deprecated will be identified in the **Release Note** for the release they are deprecated in. A list of deprecated options will also be included as an appendix in the **ARM** and in the **Knowledgebase article** describing [Significant features by Release](https://kb.isc.org/docs/aa-01310).
|
|
|
|
|
|
Deprecating an option can be done at any time, but preferably before the next ESV release. For example, an option that you want to deprecate before the ESV 9.16 will need to go in the 9.15 development or the 9.14 stable release.
|
|
|
|
|
|
## Removing
|
|
|
|
|
|
A user that has a removed option configured will be unable to start `named` because the configuration option is no longer known. (If there are multiple statements in the configuration that are removed, please run the whole configuration through the parser and spit out the whole list.) We plan to remove options first in an annual stable release, so that we will learn what the impact is of removing a certain option before the change hits the more popular ESV release. Configuration options that are removed from BIND 9 will be noted in the Release Note for the first version they are removed from.
|
|
|
A user that has a removed option configured will be unable to start `named` because the configuration option is no longer known. (Request - If there are multiple statements in the configuration that are removed, please run the whole configuration through the parser and spit out the whole list of issues, rather than requiring multiple fixes and retries.) Configuration options that are removed from BIND 9 will be noted in the Release Note for the first version they are removed from.
|
|
|
|
|
|
An option that is deprecated in an ESV release should be removed from the code base in a successor stable release. For example, an option that has been marked as deprecated before 9.16 should be removed in the 9.17 development release (that will become the stable ESV release, 9.18). If it is not removed in the stable release it should also not be removed in the following ESV release. Following the example, it thus should stay in 9.19/9.20.
|
|
|
We plan to remove options first in an annual stable release, so that we will learn what the impact is of removing a certain option before the change hits the more popular ESV release. An option that is deprecated in an ESV release should be removed from the code base in a successor stable release. For example, an option that has been marked as deprecated before 9.16 should be removed in the 9.17 development release (that will become the stable ESV release, 9.18). If it is not removed in the stable release it should also not be removed in the following ESV release. Following the example, it thus should stay in 9.19/9.20.
|
|
|
|
|
|
## Removing related code
|
|
|
|
|
|
The code that relates to a configuration option that is to be removed will in general be deleted at the same time as the configuration option is removed. The BIND 9 team may decide to remove the related code at an earlier stage if it is considered harmful to keep. In that case the option will become obsolete rather than deprecated. |
|
|
\ No newline at end of file |
|
|
The code that relates to a configuration option that is to be removed will in general be deleted at the same time as the configuration option is removed. The BIND 9 team may decide to remove the related code at an earlier stage if it is considered harmful to keep. In that case the option will become obsolete rather than deprecated.
|
|
|
|
|
|
## Candidate options to be deprecated/removed
|
|
|
|
|
|
Below is a table of candidate options we may deprecate and remove. Feel free to add suggestions, or add comments.
|
|
|
|
|
|
| option | will be deprecated in | comments |
|
|
|
| ------ | ------------- | --------
|
|
|
| cleaning-interval | 9.15/9.16 | |
|
|
|
| dnssec-update-mode | | |
|
|
|
| dialup | | |
|
|
|
| dnssec-lookaside | | |
|
|
|
| managed-keys | 9.15/9.16 | |
|
|
|
| trusted-keys | 9.15/9.16 | |
|
|
|
|
|
|
In addition, there are already quite some options that are ancient, obsoleted, or never implemented before 9.15. They are listed in this issue: https://gitlab.isc.org/isc-projects/bind9/issues/1086 and may be removed in the next stable release after 9.16. |
|
|
\ No newline at end of file |