diff mbox series

docs/system: clarify deprecation scheduled

Message ID 20200811104736.17140-1-stefanha@redhat.com (mailing list archive)
State New, archived
Headers show
Series docs/system: clarify deprecation scheduled | expand

Commit Message

Stefan Hajnoczi Aug. 11, 2020, 10:47 a.m. UTC
The sentence explaining the deprecation schedule is ambiguous. Make it
clear that a feature deprecated in the Nth release is guaranteed to
remain available in the N+1th release. Removal can occur in the N+2nd
release or later.

As an example of this in action, see commit
25956af3fe5dd0385ad8017bc768a6afe41e2a74 ("block: Finish deprecation of
'qemu-img convert -n -o'"). The feature was deprecated in QEMU 4.2.0. It
was present in the 5.0.0 release and removed in the 5.1.0 release.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/system/deprecated.rst | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Stefan Hajnoczi Sept. 14, 2020, 1:46 p.m. UTC | #1
On Tue, Aug 11, 2020 at 11:47:36AM +0100, Stefan Hajnoczi wrote:
> The sentence explaining the deprecation schedule is ambiguous. Make it
> clear that a feature deprecated in the Nth release is guaranteed to
> remain available in the N+1th release. Removal can occur in the N+2nd
> release or later.
> 
> As an example of this in action, see commit
> 25956af3fe5dd0385ad8017bc768a6afe41e2a74 ("block: Finish deprecation of
> 'qemu-img convert -n -o'"). The feature was deprecated in QEMU 4.2.0. It
> was present in the 5.0.0 release and removed in the 5.1.0 release.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  docs/system/deprecated.rst | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Ping?

> 
> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> index 851dbdeb8a..fecfb2f1c1 100644
> --- a/docs/system/deprecated.rst
> +++ b/docs/system/deprecated.rst
> @@ -4,9 +4,9 @@ Deprecated features
>  In general features are intended to be supported indefinitely once
>  introduced into QEMU. In the event that a feature needs to be removed,
>  it will be listed in this section. The feature will remain functional
> -for 2 releases prior to actual removal. Deprecated features may also
> -generate warnings on the console when QEMU starts up, or if activated
> -via a monitor command, however, this is not a mandatory requirement.
> +for 1 more release after deprecation. Deprecated features may also generate
> +warnings on the console when QEMU starts up, or if activated via a monitor
> +command, however, this is not a mandatory requirement.
>  
>  Prior to the 2.10.0 release there was no official policy on how
>  long features would be deprecated prior to their removal, nor
> -- 
> 2.26.2
>
Daniel P. Berrangé Sept. 14, 2020, 2:21 p.m. UTC | #2
On Tue, Aug 11, 2020 at 11:47:36AM +0100, Stefan Hajnoczi wrote:
> The sentence explaining the deprecation schedule is ambiguous. Make it
> clear that a feature deprecated in the Nth release is guaranteed to
> remain available in the N+1th release. Removal can occur in the N+2nd
> release or later.
> 
> As an example of this in action, see commit
> 25956af3fe5dd0385ad8017bc768a6afe41e2a74 ("block: Finish deprecation of
> 'qemu-img convert -n -o'"). The feature was deprecated in QEMU 4.2.0. It
> was present in the 5.0.0 release and removed in the 5.1.0 release.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  docs/system/deprecated.rst | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> index 851dbdeb8a..fecfb2f1c1 100644
> --- a/docs/system/deprecated.rst
> +++ b/docs/system/deprecated.rst
> @@ -4,9 +4,9 @@ Deprecated features
>  In general features are intended to be supported indefinitely once
>  introduced into QEMU. In the event that a feature needs to be removed,
>  it will be listed in this section. The feature will remain functional
> -for 2 releases prior to actual removal. Deprecated features may also
> -generate warnings on the console when QEMU starts up, or if activated
> -via a monitor command, however, this is not a mandatory requirement.
> +for 1 more release after deprecation. Deprecated features may also generate
> +warnings on the console when QEMU starts up, or if activated via a monitor
> +command, however, this is not a mandatory requirement.

So we're changing

  The feature will remain functional for 2 releases prior to actual removal.

to

  The feature will remain functional for 1 more release after deprecation.

How about

  The feature will remain functional for the release in which it was
  deprecated and one further release. After these two releases, the
  feature is liable to be removed.


Regards,
Daniel
Eric Blake Sept. 14, 2020, 2:32 p.m. UTC | #3
On 9/14/20 9:21 AM, Daniel P. Berrangé wrote:
> On Tue, Aug 11, 2020 at 11:47:36AM +0100, Stefan Hajnoczi wrote:
>> The sentence explaining the deprecation schedule is ambiguous. Make it
>> clear that a feature deprecated in the Nth release is guaranteed to
>> remain available in the N+1th release. Removal can occur in the N+2nd
>> release or later.
>>

> So we're changing
> 
>    The feature will remain functional for 2 releases prior to actual removal.
> 
> to
> 
>    The feature will remain functional for 1 more release after deprecation.
> 
> How about
> 
>    The feature will remain functional for the release in which it was
>    deprecated and one further release. After these two releases, the
>    feature is liable to be removed.

Longer, but definitely conveys more information in an 
easier-to-understand format.
Peter Maydell Sept. 14, 2020, 2:35 p.m. UTC | #4
On Mon, 14 Sep 2020 at 15:22, Daniel P. Berrangé <berrange@redhat.com> wrote:
> So we're changing
>
>   The feature will remain functional for 2 releases prior to actual removal.
>
> to
>
>   The feature will remain functional for 1 more release after deprecation.
>
> How about
>
>   The feature will remain functional for the release in which it was
>   deprecated and one further release. After these two releases, the
>   feature is liable to be removed.

I think the thing which tends to confuse me about the wording
is that it's phrased in terms of "releases", ie point events,
(which is OK for users) but the developers who are adding
deprecation notices and then removing features probably think
more in terms of "release cycles" (ie the periods of time between
the point events), or at least I do, so I have to mentally convert
"functional for two releases" into "so if I deprecate it in this
cycle, then I have to leave the code present in the next cycle
and then am OK to delete the code the cycle after that".
But I don't have any good suggestions for wording, and your proposed
text is definitely clearer I think.

-- PMM
Stefan Hajnoczi Sept. 15, 2020, 3:10 p.m. UTC | #5
On Mon, Sep 14, 2020 at 03:21:46PM +0100, Daniel P. Berrangé wrote:
> On Tue, Aug 11, 2020 at 11:47:36AM +0100, Stefan Hajnoczi wrote:
> > The sentence explaining the deprecation schedule is ambiguous. Make it
> > clear that a feature deprecated in the Nth release is guaranteed to
> > remain available in the N+1th release. Removal can occur in the N+2nd
> > release or later.
> > 
> > As an example of this in action, see commit
> > 25956af3fe5dd0385ad8017bc768a6afe41e2a74 ("block: Finish deprecation of
> > 'qemu-img convert -n -o'"). The feature was deprecated in QEMU 4.2.0. It
> > was present in the 5.0.0 release and removed in the 5.1.0 release.
> > 
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> >  docs/system/deprecated.rst | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
> > index 851dbdeb8a..fecfb2f1c1 100644
> > --- a/docs/system/deprecated.rst
> > +++ b/docs/system/deprecated.rst
> > @@ -4,9 +4,9 @@ Deprecated features
> >  In general features are intended to be supported indefinitely once
> >  introduced into QEMU. In the event that a feature needs to be removed,
> >  it will be listed in this section. The feature will remain functional
> > -for 2 releases prior to actual removal. Deprecated features may also
> > -generate warnings on the console when QEMU starts up, or if activated
> > -via a monitor command, however, this is not a mandatory requirement.
> > +for 1 more release after deprecation. Deprecated features may also generate
> > +warnings on the console when QEMU starts up, or if activated via a monitor
> > +command, however, this is not a mandatory requirement.
> 
> So we're changing
> 
>   The feature will remain functional for 2 releases prior to actual removal.
> 
> to
> 
>   The feature will remain functional for 1 more release after deprecation.
> 
> How about
> 
>   The feature will remain functional for the release in which it was
>   deprecated and one further release. After these two releases, the
>   feature is liable to be removed.

Nice, that is clearer. I have send a v2.

Stefan
diff mbox series

Patch

diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index 851dbdeb8a..fecfb2f1c1 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -4,9 +4,9 @@  Deprecated features
 In general features are intended to be supported indefinitely once
 introduced into QEMU. In the event that a feature needs to be removed,
 it will be listed in this section. The feature will remain functional
-for 2 releases prior to actual removal. Deprecated features may also
-generate warnings on the console when QEMU starts up, or if activated
-via a monitor command, however, this is not a mandatory requirement.
+for 1 more release after deprecation. Deprecated features may also generate
+warnings on the console when QEMU starts up, or if activated via a monitor
+command, however, this is not a mandatory requirement.
 
 Prior to the 2.10.0 release there was no official policy on how
 long features would be deprecated prior to their removal, nor