[squeak-dev] Re: Deprecation policy

Keith Hodges keith_hodges at yahoo.co.uk
Sat Jul 4 03:30:39 UTC 2009


Ralph wrote:
> How about the following.  In Squeak 3.11 we add a method deprecated3.11
> in Object which does nothing and is called by each deprecated method.
> When Squeak 3.12 (say) is released it has a method deprecated3.12 for
> newly deprecated methods.  Meanwhile method deprecated3.11 now
> generates an error if invoked.  When  Squeak  3.13 is released all methods
> that invoke deprecated3.11 are removed and deprecated3.12 now generates
> an error.  Of course all newly deprecated methods in Squeak 3.13 invoke a
> new method in object called deprecated3.13 which does nothing.  etc.
>
> For deprecated classes in Squeak 3.11 we implement a method
> deprecatedClass3.11 which is invoked by each deprecated class's new
> method and implemented in Object class.  It does nothing for Squeak
> 3.11 and generates an
> error in Squeak  3.12.  In Squeak 3.13  it disappears along with the
> classes that
> invoke it.
>
>   

This is very interesting. Ralph is doing exactly what I have done in
Bob, planning ahead what should happen in future releases.
That is what Bob does in code, those steps are already coded. For
example the task #removeDeprecatedApi is already included in the task
that generates every new release.

You have just demonstated the reason for having a new release process,
that was called 3.11, the ability to encode the release process in such
a way as it can be repeated every 2 months or so, for test and "release
often" development.

Keith



More information about the Squeak-dev mailing list