emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How to do a beta release on ELPA?


From: Tassilo Horn
Subject: Re: How to do a beta release on ELPA?
Date: Fri, 30 Oct 2020 21:32:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> writes:

Hi Stefan,

>> I don't think there are too many people running straight from our
>> master branch, so I guess we should do a new ELPA release pretty soon
>> to get more testing.  But is there a way to release a new ELPA
>> version just for the adventurous?
>
> Not really, no.

Ok, I guessed so.

> I'd like to create an alternative ELPA archive built from elpa.git but
> using the latest code (kind of like the non-stable Melpa), but that's
> been a TODO item for a while already and I've not even tried to get
> started on it.

You gotta have plans.

>> 2) Just do a normal ELPA release and if things break for some users tell
>>    them how to pin auctex to version 12.3.1 for the time needed to fix
>>    their issues.
>
> That's what I'd recommend, yes.
> I'd definitely give it a release version that sounds like "major
> release".  We're way past "2.0", so I'll let you find the next best
> choice.

Yes, we'll release it as GNU AUCTeX 13.0.0 on ELPA and when things have
stabilized, we'll do a 13.1 tarball release.  So the current version 12
is the last one of the pre-lexical-binding era.

>> With option 2), I guess it could harm users who don't know how to
>> reach out for help.
>
> Maybe emit a warning during compilation or upon "first use", with an
> appropriate description of the kind of problems that can happen.  Many
> users still won't read it, but it increases the chances that they'll
> find someone who has.

Yes, I guess such a first use message pointing to the docs where we
describe exactly what has changed and how to migrate would be a good
solution.

>> Are there any other (preferably better!) options?
>
> Option 1: change the code so as not to introduce such backward
> incompatibilities (e.g. Calendar ended keeping nasty dynamically
> scoped vars like `date` and `month` in order to maximize compatibility
> with existing code).  That can't be a 100% solution tho since there
> can always be people who used non-documented vars via dynamic scoping.

Nah, I'm happy those are all gone.  :-)

> Option 2: rely on the quick&easy release process: as soon as you hear
> of one incompatibility, you immediately adjust the code (typically to
> mark some var as dynscoped) and make a new minor release.

Yes, that's definitely what we are planning to do and the reason it'll
be on ELPA first.

> Option 3: (getting really creative here) make sure you new code makes
> no other changes than switching to lexical-binding and then do
> temporary release: release 12.3.2 with lexical-binding, then a week
> later release 12.3.3 without lexical-binding (i.e. reverting to the
> previous code) and work on fixing the incompatibilities found along
> the way, then try again with the new&improved lexical-binding code,
> maybe leaving it for a month instead of a week, ...

That's creative indeed!

> If you insist, I'm sure I can come up with an even more fun option 4.

Please stop it! ;-)

Thanks,
  Tassilo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]