This is great, thanks!

On Thu, Apr 17, 2014 at 9:21 AM, Flaper87 <flape...@gmail.com> wrote:

>
>
>
> 2014-04-17 2:11 GMT+02:00 Alex Crichton <a...@crichton.co>:
>
>  The template which breaking changes will be required to look like is:
>>
>>     First, a brief one-line summary of the change
>>
>>     Second, take as long as is necessary to explain exactly what the
>> change is,
>>     why it's being changed, what it can be replaced with (if applicable)
>> and
>>     general guidelines about dealing with the change.
>>
>>     In addition to a few paragraphs about the change itself, the literal
>> string
>>     "[breaking-change]" must appear at the end of the commit message in
>> order
>>     to indicate that it is a commit that has a breaking change. This will
>> allow
>>     filtering commits on this string to only take a look at breaking
>> changes.
>>
>>     [breaking-change]
>>
>
>
> Sometimes, the breaking change is split in several commits. I'd recommend
> to add to the breaking change tag the number of the GH issue (I wanted to
> propose a "change tag" but I don't think that will end well). I don't
> expect breaking changes to happen without a GH issue baking them - or at
> least, I don't think that should happen.
>
> Tagging the last commit of the series should probably be enough but, for
> completeness, I think they should all be tagged. This will produce a more
> complete output when `grepping` for breaking changes.
>
>
>>
>> To get a log of breaking changes, you can use git-log:
>>
>>     git log --grep breaking-change
>>
>>     # Exclude bors merge commits
>>     git log --grep breaking-change --no-merges
>>
>> # Usage of #[deprecated]
>>
>> In addition to a stricter policy around commit messages, we're going to
>> start
>> encouraging more aggressive use of the #[deprecated] attribute to help
>> transitioning code. A good example of this recently is when the
>> `shuffle_mut`
>> function was renamed to `shuffle`. The original function had an attribute
>> that
>> looked like:
>>
>>     #[deprecated = "function renamed to `shuffle`"]
>>
>> We aren't yet going to require that the old function retain its
>> functionality,
>> it is acceptable to replace it with a fail!()-ing stub for now. The
>> compilation
>> warning should be a good enough indicator about what needs to be changed.
>>
>> The deprecated functions themselves aren't expected to stick around for
>> all
>> eternity. By 1.0 we will clean out all #[deprecated] functionality, and
>> before
>> then we'll likely leave in #[deprecated] functions for about a month or
>> so.
>>
>
> I think we should retain the previous functionality. Since it's already
> there, I don't think it will be of any harm (in most of the cases).
>
> Also, I think it'd be good to keep the deprecated function for at least 1
> release. I believe this is a good practice and gives users of that function
> enough time to migrate. This obviously doesn't make much sense if we
> replace the functionality with a `fail`
>
>
>> # Be on the lookout!
>>
>> With these two guidelines in place, we hope to ease the pain of upgrading
>> through versions of rust while it's still under rapid development.
>> Reviewers, be
>> sure to keep an eye out for breaking changes in the future and make sure
>> that
>> the that these measures are followed!
>>
>
>
> I'm really happy to see this happening!
>
> --
> Flavio (@flaper87) Percoco
> http://www.flaper87.com
> http://github.com/FlaPer87
>
> _______________________________________________
> Rust-dev mailing list
> Rust-dev@mozilla.org
> https://mail.mozilla.org/listinfo/rust-dev
>
>
_______________________________________________
Rust-dev mailing list
Rust-dev@mozilla.org
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to