[squeak-dev] The Trunk: Chronology-Core-dtl.80.mcz

Chris Muller asqueaker at gmail.com
Mon Nov 28 23:49:39 UTC 2022


Release Note reminders are already initialized as a side-effect of our
normal development process.

The way I wrote them for one or two 4.x releases was by literally reading
the notes of all MCVersions since the previous production release.  It's
not hard to get all this pasted together in our IDE, and then it was just a
matter of sitting down and reading and digesting them into which bits were
important enough to include, and also re-written in a less-technical way
for the Release Notes audience.

I have since remembered to keep this use-case in mind when writing my
MCVersion notes, e.g., I ask myself, "what verbiage will be helpful to
future consumers of this note..?" while being as clear and terse as
possible, because...

... going through all of them is a laborious one-time chore per release,
but the best way to not miss anything.

 - Chris

On Mon, Nov 28, 2022 at 9:21 AM Jakob Reschke <jakres+squeak at gmail.com>
wrote:

> Hi Christoph,
>
> Question to present you: do you have any means to definitively retrieve
> this note when you or anyone else actually writes the release notes? ;-)
>
> If there is a practical means to do so, maybe initialize these
> release notes right now and already write it down.
>
> Kind regards,
> Jakob
>
>
> Am Mo., 28. Nov. 2022 um 16:10 Uhr schrieb <
> christoph.thiede at student.hpi.uni-potsdam.de>:
>
>> Note for future self: This is a breaking change that should be documented
>> in the next release notes. :-)
>>
>> Best,
>> Christoph
>>
>> On 2022-09-06T16:03:35+00:00, commits at source.squeak.org wrote:
>>
>> > David T. Lewis uploaded a new version of Chronology-Core to project The
>> Trunk:
>> > http://source.squeak.org/trunk/Chronology-Core-dtl.80.mcz
>> >
>> > ==================== Summary ====================
>> >
>> > Name: Chronology-Core-dtl.80
>> > Author: dtl
>> > Time: 19 May 2022, 12:03:05.720962 pm
>> > UUID: 1b1b97c4-bc35-408d-b548-f0d0376a0808
>> > Ancestors: Chronology-Core-dtl.79
>> >
>> > Change DateAndTime>>offset: to be compliant with the ANSI draft spec.
>> The offset: method should answer an instance equivalent to the receiver,
>> where equivalent means having the same UTC time.
>> >
>> > Let #offset: adopt the prior behavior of #utcOffset: and let
>> #utcOffset: be a compatibility synonym for #offset:. Add #asLocalAt: to the
>> squeak protocol and let it implement the prior behavior of #offset: Change
>> existing code and tests to use #asLocalAt: but otherwise retain existing
>> behavior.
>> >
>> > Issue reported at
>> https://github.com/squeak-smalltalk/squeak-object-memory/issues/23
>> >
>> > =============== Diff against Chronology-Core-dtl.79 ===============
>> >
>> > Item was added:
>> > + ----- Method: DateAndTime>>asLocalAt: (in category 'squeak protocol')
>> -----
>> > + asLocalAt: anOffset
>> > +     "Answer a DateAndTime for a different time zone offset that has
>> the same
>> > +     year, month, day, hour, minute, and second as this instance, and
>> with
>> > +     printString that matches except for time zone offset."
>> > +
>> > +     | newOffset newMicros |
>> > +     newOffset := anOffset asDuration asSeconds.
>> > +     newMicros := localOffsetSeconds - newOffset * 1000000 +
>> utcMicroseconds.
>> > +     ^ self class utcMicroseconds: newMicros offset: newOffset
>> > + !
>> >
>> > Item was changed:
>> >   ----- Method: DateAndTime>>offset: (in category 'ansi protocol') -----
>> >   offset: anOffset
>> > +     "Answer a <DateAndTime> equivalent to the receiver but with its
>> local time
>> > +     being offset from UTC by offset.
>> > -     "Answer a DateAndTime for a different time zone offset that has
>> the same
>> > -     year, month, day, hour, minute, and second as this instance, and
>> with
>> > -     printString that matches except for time zone offset."
>> >
>> > +     See asLocalAt: for the earlier behavior of this method."
>> > +
>> > +     ^ self class
>> > +             utcMicroseconds: utcMicroseconds
>> > +             offset: anOffset asDuration asSeconds!
>> > -     | newOffset newMicros |
>> > -     newOffset := anOffset asDuration asSeconds.
>> > -     newMicros := localOffsetSeconds - newOffset * 1000000 +
>> utcMicroseconds.
>> > -     ^ self class utcMicroseconds: newMicros offset: newOffset
>> > - !
>> >
>> > Item was changed:
>> >   ----- Method: DateAndTime>>utcOffset: (in category 'squeak protocol')
>> -----
>> >   utcOffset: anOffset
>> > +     "Compatiblity. Answer a DateAndTime equivalent to the receiver
>> but offset from UTC by anOffset."
>> > +
>> > +     ^ self offset: anOffset!
>> > -     "Answer a DateAndTime equivalent to the receiver but offset from
>> UTC by anOffset"
>> > -     ^ self class
>> > -             utcMicroseconds: utcMicroseconds
>> > -             offset: anOffset asDuration asSeconds!
>> >
>> > Item was changed:
>> >   ----- Method: Timespan class>>current (in category 'squeak protocol')
>> -----
>> >   current
>> > +     ^ self starting: (DateAndTime now asLocalAt: self defaultOffset)!
>> > -     ^ self starting: (DateAndTime now offset: self defaultOffset)!
>> >
>> >
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20221128/db319aec/attachment.html>


More information about the Squeak-dev mailing list