Re: [sane-devel] Proposed timeline for 1.3.0 release

2024-01-25 Thread Wolfram Sang
Hi,

> 1) Code freeze: 1 week from now (28th January), I will create a release
> branch and MRs targeted for the release should target that branch. Anything

Thanks for the heads up. I'll try to get as much as possible of the
pending epson2 stuff done until Sunday.

Happy hacking,

   Wolfram



signature.asc
Description: PGP signature


Re: [sane-devel] Proposed timeline for 1.3.0 release

2024-01-21 Thread Ralph Little

Hi,

On 2024-01-21 15:46, m. allan noah wrote:
Sounds good to me. I have attached an updated copy of doc/releases.md, 
which contains some notes I made during the last release. There were a 
number of missing or poorly documented steps.


OK, thanks I will look at that.

Cheers,
Ralph


allan

On Sun, Jan 21, 2024 at 2:34 PM Ralph Little  wrote:

Hi,
So it looks like we will do a 1.3.0 release.
I propose a fairly quick timeline since there isn't a lot of
critical stuff waiting to go in it. The only thing that I am aware
of is the longstanding problem for macOS USB support and I think
we have a partial solution for that which should push them on.

Allan did the release last time, and perhaps I can go through the
process this time so that I am familiar. Are you OK with that Allan?

1) Code freeze: 1 week from now (28th January), I will create a
release branch and MRs targeted for the release should target that
branch. Anything else not intended for the release can still
target master. I will send out an email asking for translations
after regenerating po files. During this time, we will not
normally accept functional enhancements but exceptions will be
considered in an emergency or if it is very safe.

2) Release: 2 weeks later (11th February) we will cut the release.
I will also do a PPA release for our Ubuntu users.

Cheers,
Ralph



--
"well, I stand up next to a mountain- and I chop it down with the edge 
of my hand"


Re: [sane-devel] Proposed timeline for 1.3.0 release

2024-01-21 Thread m. allan noah
Sounds good to me. I have attached an updated copy of doc/releases.md,
which contains some notes I made during the last release. There were a
number of missing or poorly documented steps.

allan

On Sun, Jan 21, 2024 at 2:34 PM Ralph Little  wrote:

> Hi,
> So it looks like we will do a 1.3.0 release.
> I propose a fairly quick timeline since there isn't a lot of critical
> stuff waiting to go in it. The only thing that I am aware of is the
> longstanding problem for macOS USB support and I think we have a partial
> solution for that which should push them on.
>
> Allan did the release last time, and perhaps I can go through the process
> this time so that I am familiar. Are you OK with that Allan?
>
> 1) Code freeze: 1 week from now (28th January), I will create a release
> branch and MRs targeted for the release should target that branch. Anything
> else not intended for the release can still target master. I will send out
> an email asking for translations after regenerating po files. During this
> time, we will not normally accept functional enhancements but exceptions
> will be considered in an emergency or if it is very safe.
>
> 2) Release: 2 weeks later (11th February) we will cut the release. I will
> also do a PPA release for our Ubuntu users.
>
> Cheers,
> Ralph
>


-- 
"well, I stand up next to a mountain- and I chop it down with the edge of
my hand"
---
Copyright: © 2023 SANE Project
SPDX-License-Identifier: CC-BY-SA-4.0
---

# Creating A New `sane-backends` Release

This file summarizes most points to pay attention to when planning for
a new `sane-backends` release.  Content has been checked while working
on `$old_version` and getting ready for `$new_version`, where:

``` sh
old_version=1.1.1
new_version=1.2.1
```

## Timetable

It is easiest to pick a release date well in advance so everyone knows
what to expect.  Ignoring security bug fix releases, `sane-backends`
has been released on a roughly half-yearly schedule since `1.0.28`.

Once you pick a date (and time), say `DT`, the planning is simply a
matter of counting back from there:

 - `$DT - 35 days`: **schedule announcement** including the timetable.
 - `$DT - 21 days`: **feature freeze** branch, only bug fixes and translations allowed.
 - `$DT - 14 days`: **code freeze** only translations allowed.
 - `$DT -  0 days`: **release** :confetti_ball:

Feel free to adjust the offsets if that works better.  Also, pinging
on the mailing list well in advance, say two, three months, about a
suitable date for everyone involved is a good idea.

> If you mention time of day, on the mailing list, in issues or merge
> requests, use UTC times and mention that, e.g. 09:00 UTC.  People
> are in time zones all over the place and converting to and from UTC
> should be relatively easy for everyone.  Converting from other
> time zones is generally cumbersome, even without things like DST.

## Schedule Announcement

Part of the announcement of the release schedule is a request from translators
to update translations. You can make this easier on them, by syncing the po
files before the announcement:

make -C po update-po
git add po
git commit -m "Update po files for sane-backends-$new_version release"
git push

Send an announcement to the `sane-devel` mailing list announcing the schedule.
Make sure to request translators to checkout the current master branch, and
produce updates (preferably before feature freeze starts).

## Feature Freeze

A separate branch for the upcoming release is created in the repository. This marks the point when
the code for the release effectively enters a feature freeze and no new features will be added to
the release branch.

At this point, no new text strings are likely to get added to the release branch. That means that
po files should be stable, and it is a good idea to again sync the po files for translators. If
we do this before we make the branch, we will not have to repeat it in both the master and release
branches.

make -C po update-po
git add po
git commit -m "Update po files for sane-backends-$new_version release"
git push

Name the branch in the format of `release-1.2.x` so that it's clear that further bugfix releases
will happen on that branch.

Here, we create the local branch, send it to remote, and then set our local to track the remote:

``` sh
release_branch=release-1.2.x
git branch $release_branch
git checkout $release_branch
git push origin $release_branch
git branch -u origin/$release_branch
```

For backends added since the `$old_version`, make sure that its
`.desc` file includes a `:new :yes` near the top.  You can find such
backends from the list of added files with:

``` sh
git ls-files -- backend | while read f; do
  git log --follow --diff-filter=A --find-renames=40% \
  --format="%ai  $f" $old_version..$release_branch -- "$f"
done | cat
```

Occasionally, you may notice changes that have not been documented,
either in a `.desc` file or a manual page.  Now is a good time to
rectify the omission.


[sane-devel] Proposed timeline for 1.3.0 release

2024-01-21 Thread Ralph Little
Hi,
So it looks like we will do a 1.3.0 release.
I propose a fairly quick timeline since there isn't a lot of critical stuff
waiting to go in it. The only thing that I am aware of is the longstanding
problem for macOS USB support and I think we have a partial solution for
that which should push them on.

Allan did the release last time, and perhaps I can go through the process
this time so that I am familiar. Are you OK with that Allan?

1) Code freeze: 1 week from now (28th January), I will create a release
branch and MRs targeted for the release should target that branch. Anything
else not intended for the release can still target master. I will send out
an email asking for translations after regenerating po files. During this
time, we will not normally accept functional enhancements but exceptions
will be considered in an emergency or if it is very safe.

2) Release: 2 weeks later (11th February) we will cut the release. I will
also do a PPA release for our Ubuntu users.

Cheers,
Ralph