jamulussoftware / jamulus

Jamulus enables musicians to perform real-time jam sessions over the internet.
https://jamulus.io
Other
986 stars 221 forks source link

Prepare release 3.11.0 #3255

Open ann0see opened 5 months ago

ann0see commented 5 months ago
Target timeline Phase Date
Scheduled feature freeze / Start of translation process In the past
Targeted translation completion date: 2024-08-26
Approximate release date: 2024-09-15
Current state: Beta <!-- Planning Translations (beta) Code freeze (rc) Released -->

(Due to a couple of late changes post freeze, the planned date is moved back two weeks.)

Checklist

ann0see commented 1 month ago

https://github.com/jamulussoftware/jamulus/pull/3309 is the last PR for 3.11.0 before a feature freeze. Is this correct or do we want to bump Qt also?

pljones commented 1 month ago
  • [ ] Start App translations
    • [ ] Generate .ts files in main via lupdate

Is this still needed (the .ts files) or is that what's now being done automatically?

Is this still the correct process?

pljones commented 1 month ago

Oh yes -- Code and Documentation freeze has been in place for a while, all remaining changes should be completed ASAP, please.

pljones commented 1 month ago

3309 is the last PR for 3.11.0 before a feature freeze. Is this correct or do we want to bump Qt also?

(Somewhat later...) Code is complete, the only outstanding PRs are website:

pljones commented 1 month ago
  • [ ] Check the needs documentation label for any outstanding PRs flagged for this release and remove that label if done.

The above are tagged for needing documentation update (I just added #3305 as it affects #3159 and #3260).

Do any of the dependency updates need website documentation updates?

ann0see commented 1 month ago

Is this still needed (the .ts files) or is that what's now being done automatically?

I don't think that's done automatically

Is this still the correct process?

In theory yes, but since he's no longer that active, we need to find an alternative. E.g @danryu (?)

softins commented 1 month ago

Is this still needed (the .ts files) or is that what's now being done automatically?

I don't think that's done automatically

Correct. The .ts files need to get updated directly on upstream using lupdate, and then the translations need to be checked via weblate.

The part that is now done automatically is the creation of the .qm files from the .ts files. So there is no longer any need to do a manual lrelease, nor to commit .qm files.

I have a pending action to update the Release Process on the website to reflect the above, but got sidetracked by difficulties installing Jekyll (not yet resolved). I had originally created RELEASE-PROCESS.md in the jamulus repo, but it got moved to the website by someone some time ago, unfortunately.

softins commented 1 month ago

I've just done the lupdate and pushed directly to main, so the .ts files are ready for the final translation pass for each language. For most languages, there are 19 strings that need translating.

softins commented 1 month ago

I've also just removed the lrelease step from the checklist above, as it's no longer needed. Is there a template somewhere it also needs removing from?

softins commented 1 month ago

Is there a template somewhere it also needs removing from?

Just found it in the website, https://github.com/jamulussoftware/jamuluswebsite/blob/release/contribute/en/Release-Process.md

ann0see commented 1 month ago

I have the feeling that we should take our time to read through some parts of the website before freezing it - especially the install guides.

pljones commented 1 month ago

3299 -- @softins I've had a look through COMPILING.md and I can't see anywhere that would require changes or where it would help by adding anything. Can you confirm we can live without mentioning the change anywhere?

(I'm mildly interested in what effect the developer sees from making it... but we don't say much about the build process anyway, anyway...)

pljones commented 1 month ago

For

I'm proposing a single new issue be raised in jamulus/jamuluswebsite to get the documentation change done (as all three go together, really). Before I open it, is anyone already working on this?

pljones commented 1 month ago

Jamulus -h looks unchanged from r3_10_0:

$ git pull upstream main
$ git show -s
de60e5eb 2024-07-23 (HEAD -> main, upstream/main, origin/main) Update .ts files ready for 3.11.0 translations [Tony Mountifield]
$ make distclean; qmake -nocache && make -j3 && make clean
...
$ ./Jamulus -h > de60e5eb
$ git reset --hard 9de9ad70
$ git show -s
9de9ad70 2023-09-03 (HEAD, tag: r3_10_0, tag: latest) Update version to 3.10.0 for release [ann0see]
$ make distclean; qmake -nocache && make -j3 && make clean
...
$ ./Jamulus -h > r3_10_0
$ diff -du r3_10_0 de60e5eb
$ $ echo $?
0
ann0see commented 1 month ago

is anyone already working on this?

No. I don't think so.

pljones commented 1 month ago

I've opened #3316 with a draft change log.

ann0see commented 1 month ago

@danryu @emlynmac any updates on signing for macOS?

pljones commented 1 month ago

https://github.com/jamulussoftware/jamuluswebsite/issues/1002 raised for the "delete server" button changes.

pljones commented 1 month ago

Just updated the ChangeLog to have 3.11.0 as the next release on jamulus/jamulus/main.

pljones commented 1 month ago

3318 add to 3.12.0 to fix handling of the change log tag other than at the start of a line (e.g. inside quoted blocks).

pljones commented 1 month ago

3319 added to 3.12.0 with some feature requests to improve sorting and grouping in the change log helper.

pljones commented 1 month ago

3320 added to 3.12.0 for a process documentation tweak for something I missed: checking the header of the change log to see the version is what we're planning to release.

softins commented 1 month ago

3299 -- @softins I've had a look through COMPILING.md and I can't see anywhere that would require changes or where it would help by adding anything. Can you confirm we can live without mentioning the change anywhere?

I've read through it, and I can't see anything that needs to change as a result of #3299. We might want to mention that because of #3288, the minimum supported version of Qt is now 5.12, so it would be tricky to build on an older Linux distro that only provides an earlier version. Also, I noticed that in the Windows section, it recommends Qt 5.15.2, although our CI Windows builds are now using Qt 6.x.

(I'm mildly interested in what effect the developer sees from making it... but we don't say much about the build process anyway, anyway...)

Not much effect. The built binary still ends up in the same place in the project root. It's just that the project root is a lot less cluttered with build files such as moc_*.cpp and *.o, which are now placed in release/ instead of the root.

danryu commented 1 month ago

@danryu @emlynmac any updates on signing for macOS?

Unfortunately the account for Koord is no longer available, and I don't have a personal developer account yet. If nobody else has an Apple developer account, perhaps a new Jamulus developer account needs setting up?

ann0see commented 1 month ago

perhaps a new Jamulus developer account needs setting up

I believe this would be the way to go. I'm thinking about getting a personal one for myself which we can use to sign Jamulus. An organization wide one needs DUNS numbers and seems to imply a lot of hurdles.

I personally only have access to older intel based devices (2012, 2016) which will work for now but it's certainly not future proof.

ann0see commented 1 month ago

Heads up: @ignotus666 I force pushed to the release branch since updating via github web ui mistakenly merged the next-release branch to release pre release but luckily didn't change the website. I think that everything we need is on next-release.

ignotus666 commented 1 month ago

@ann0see yes, I saw that - the failing workflows stop it from generating the website.

I think that everything we need is on next-release.

Yep, I think so.

ann0see commented 1 month ago

the failing workflows stop it from generating the website.

luckily...

pljones commented 1 month ago

3299 -- @softins I've had a look through COMPILING.md and I can't see anywhere that would require changes or where it would help by adding anything. Can you confirm we can live without mentioning the change anywhere?

I've read through it, and I can't see anything that needs to change as a result of #3299. We might want to mention that because of #3288, the minimum supported version of Qt is now 5.12, so it would be tricky to build on an older Linux distro that only provides an earlier version. Also, I noticed that in the Windows section, it recommends Qt 5.15.2, although our CI Windows builds are now using Qt 6.x.

(I'm mildly interested in what effect the developer sees from making it... but we don't say much about the build process anyway, anyway...)

Not much effect. The built binary still ends up in the same place in the project root. It's just that the project root is a lot less cluttered with build files such as moc_*.cpp and *.o, which are now placed in release/ instead of the root.

Ah, #3288 also wasn't being tracked. #3322 raised.

pljones commented 1 month ago

I'll let someone else do the broken link check. Ubuntu 22.04LTS says

$ _po4a-tools/po4a-create-all-targets.sh
Error: po4a v0.66. is installed
po4a v0.68 or higher is required.

after a fresh install of po4a. We need this to kick off the translations and get into beta/RC cycle.

pljones commented 1 month ago

Can someone also confirm the translation processes under both "Start Website translations" and "Start App translations" are current, please.

ann0see commented 1 month ago

You could check https://github.com/jamulussoftware/assets for a po4a deb.

Otherwise I'll check it later tonight

ann0see commented 1 month ago

https://github.com/jamulussoftware/jamulus/commit/3ac940a97c9e6204d4d1683e7f852482357584b0 shows that the app should be ready. The website not yet. But after the link check probably.

trebmuh commented 1 month ago

Hi all. For information (not sure if it's relevant here), I just made an update for the French translation on Weblate.

ann0see commented 1 month ago

No broken links found.

ann0see commented 1 month ago

@jamulussoftware/translators I declare the next-release branch as frozen now. We may need to add some updates past release, but try to do our best to not needing re translations!

You can start translating the website and app on weblate now.

ann0see commented 1 month ago

Also, we should really check who is still a website/app translator in the upcoming release and then update the create-translation-issues script with the active ones.

pljones commented 1 month ago

For screenshots, the two updates I can see are these:

$ git diff --name-only release next-release assets/img/en-screenshots/
assets/img/en-screenshots/connection-setup-window.inc
assets/img/en-screenshots/settings-advanced.inc

Should the issues for translators just have these two to be replaced?


EDIT: https://github.com/jamulussoftware/jamuluswebsite/issues/1015#issuecomment-2269375998 I see @henkdegroot spotted it already.

pljones commented 1 month ago

Beta release tagged.

cb446699 2024-08-07 (HEAD -> main, origin/main) Revert to dev status [Peter L Jones]
3593ba56 2024-08-07 (tag: r3_11_0beta1) Update version to 3.11.0beta1 [Peter L Jones]

https://github.com/jamulussoftware/jamulus/releases/tag/r3_11_0beta1 (release notes will be updated) https://github.com/orgs/jamulussoftware/discussions/3342

pljones commented 1 month ago

https://github.com/jamulussoftware/jamuluswebsite/issues/1024 raised for 3.12.0 to fix a small website issue -- given we've frozen the translations and it's been wrong for ages, there's no rush to fix it for 3.11.0.

ann0see commented 1 month ago

I'm trying to get a personal Apple Developer account soon. The process seems a hassle but we'll get there.

ann0see commented 1 month ago

I think in the next few weeks it'll be there (I already enrolled and paid but am not sure how much time the setup needs)

ann0see commented 3 weeks ago

Once the build is finished maybe we'll have a signed DMG: https://github.com/ann0see/jamulussign/releases/tag/r3_11_0beta1

ann0see commented 3 weeks ago

Notarization will probably not work yet.

ann0see commented 3 weeks ago

@emlynmac can you transfer the app to me such that I can have the old bundle identifier?

emlynmac commented 3 weeks ago

@emlynmac can you transfer the app to me such that I can have the old bundle identifier? Please send me details and I can transfer.

ann0see commented 3 weeks ago

Done

ann0see commented 3 weeks ago

Maybe it suffices to remove the bundle ID: https://stackoverflow.com/questions/55254333/how-to-move-an-app-with-the-same-bundle-identifier-to-another-apple-developer-ac

emlynmac commented 3 weeks ago

Maybe it suffices to remove the bundle ID: https://stackoverflow.com/questions/55254333/how-to-move-an-app-with-the-same-bundle-identifier-to-another-apple-developer-ac

So,

  1. Can't transfer as a release was not made.
  2. Can't reuse the bundle ID as that is not allowed, I sent you the details by email.

Check your email for details of what to do next.

ann0see commented 3 weeks ago

Which means that users will need to migrate their settings. Not too bad, but anyway.