-
Notifications
You must be signed in to change notification settings - Fork 273
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0.7.0 Release Plan #1831
Comments
I’ll get to work on #1491 and #1812. I’ve also updated the release checklist to the latest version from the wiki. |
I'm not opposed to that versioning scheme, it's definitely the standard at this point, but unless we can get everyone to change the way we organize and commit to this repository, then this is impossible. There's currently nothing separating feature changes from fix changes. I've suggested changes to this years ago, and here we are still doing it the worst way. Quite frankly I don't know if we even have the people-power to maintain more than one branch right now. I will look over my TODO lists right away, but I have at least two small but important things I think should be in the next release (both unreported). I will try to get pull requests up as soon as I can. There were also a couple recent reports in the forums about nightly build vector issues I have not had time to review yet. Additionally, we will need to discuss what we are doing for the macOS release. I would like to see native arm support (I have not fully decided if a universal binary or two separate downloads would be better). I think getting app notarization set up before the release is a very good idea now that I've got a developer account (maybe even an app store release?). Finally, I'd like to propose that we make a release candidate for this. I can't recall how we've handled this previously, so forgive me if I'm suggested something we're already doing. This will give us time for a larger proportion of our users to all test the same version that will ideally become the next release and stop any major bugs from being released like in one of our previous releases. This also gives more time for creating the manual builds and preparing packages, release notes, announcements, etc. |
Our current workflow can be improved by adopting The way to separate the feature/fix releases is to have a release branch, e.g., Below is a random google image that shows the main idea: Trunk based development is good for small teams and works amazingly well with my current dev team of more than 20 people. I used to be in a team that used complex Git flow and it even required a dedicated release manager to deal with branches otherwise few know the differences between branches.
Please open tickets first and put them in to the milestone so all of us can track the progress.
Those are very good ideas and important. But I don't see the urgency to include them in this release. Apple silicon users will be fine with Rosetta 2. arm64 and universal app will require us to move to Qt6 in the first place. Apple store release needs more investigation due to the GPL license.
I thought what we learned from the past is no one downloading RC. A better way is to release 0.7.1 as soon as possible when a critical bug is found. |
Afaik Qt 5.15 does support universal apps, it's just that you have to compile it yourself to use it? at least their documentation mention it but maybe that's wrong? https://doc.qt.io/qt-5/macos.html
Based on our current release track history, I do not have the confidence to say that we can release anything quickly or more often than what we've done so far. It's been more than 3 years since our last release. For us to be able to release more often we either need to severely cut down on what needs to be done in order to release, so it can be automated, or accept that releases won't happen more often than what we're doing right now. I can't see how changing or improving our git strategy will fix this. How can we make a quick hotfix release, when we still have to do all kinds of manual work like release for legacy systems, write release notes, update packages etc... I think we're being a bit too optimistic on that front or maybe my view is just too cynical from seeing our lack of releases, even though we've discussed it many times. |
Thanks, good to know that it's been ported back to Qt5. My previous understanding was that arm64 binary finally came with the official Qt 6.2 release. But my question remains, what's the major concern of lacking arm64/universal app that holds back this release?
You got the point. We either have to severely cut down the work or automate them. What we don't want is keeping adding more work to this 0.7.0 release until it's fully ready. I didn't have the same confidence as you in the past 3 years because I barely had any time to do my own things after work, house chores and parenting. (15 mins each day probably) However now that my daughter has turned two years old (!) and she can sleep overnight with her brother without disturbing her parents.
Surely it does. A minimal new version leads to less QA time and a shorter release note. WinXP is old enough, I won't object to dropping support for it. If we want it, building Windows legacy version can be automated and it's nearly done in my branch. How about dropping the Mac legacy version as well? macOS 10.11 is really old. From my company's telemetry data, the percentage of 10.15 users is around 0.9%, 10.14 is 0.4%, 10.13 is 0.34%, and I didn't see any 10.11 users.
Let me ask the question in the other way. Isn't the current master branch build way better than 0.6.6 after all these improvements and fixes over the years? |
I’ve had untested universal builds of Qt 5.15.11 with KDE patch collection lying around since last year, and besides some packaging work and polishing of the build process (and the fact that they’re untested), I would consider that work to be mostly finished. If anyone wants to try them out, the link is on Discord.
We had RC releases exactly three times, nearly 6-7 years ago. Perhaps it’s time to give them another chance.
IIRC when we discussed this a while back we ended up with a proposal to make 0.7 sort of a “farewell release” to XP and Vista and drop them after that release. |
It's not urgency so much as convenience. We're already going to need to manually handle several of the release builds, and doing a little bit of extra work will result in benefits for a lot of people who use the stable release.
Yes, a good point about the App Store. I could not find a lot of information about the current state of App Store Terms/GPL compatibility, but it's probably not going to work out.
Concerning the legacy build, here is the full proposal from @J5lx on Discord last year (with the already-completed points removed):
|
I personally have none, except that it should run on x86_64 which is currently not the case until #1835 has been solved. This can either be done by introducing the addition of arm runners, or setting our existing runner explicitly macOS 12 again.
Of course that's true but then we still have 30 some boxes to tick, or do you mean that most of that can be done automatically? I have no objection in adding release branches. Let's do it if you think it'll improve our lack of release train situation. |
If I get it correctly in this discussion, we either have to officially move to Qt6 or use an untested Qt 5.15 SDK to make the arm64 app. As I see it, we could let our users know the arm64 nightly builds are available. (it is available, right?) and decide when we want to release the Qt6 arm64 app publicly. How does that sound?
GPL license requires that users can access the source and freely redistribute copies of the software. Source code is easy, we could always ship the software with a copy of the source code (maybe in a zip). The redistribution problem is hard, I am not very sure what we can do.
That sounds great. so I have another question, what about Linux 32bit build? Can we drop it or automate it? How many users are using it? |
Thanks for looking into the issue. Let's make the arm64 nightly builds available first and arrange the public release later. No need to rush from my perspective.
That's true. However, the first and foremost priority is to publish the app and make it available for downloads. The website post, social media announcements or package updates can take their time.
I share the same frustration with you in lacking of releases. I learnt that running an open-source volunteer project does not have to follow the standards of a commercial project. We always have the flexibility to make changes as needed. I can't wait to see the undo/redo implementation included in the next release. |
It's okay to do RC again. So where should we start? Anyone have any good ideas to convince our users to test it? |
I will be actively using Pencil2D in the next week and then prepare for the release if no further issue is found. For issues remaining in the milestone:
|
I was ready to say we should go ahead with the RC as soon as #1843 was merged, however now a user is reporting issues with the macOS builds (#1846), which needs to be addressed before we can make a functional release. Personally I can't reproduce the issue in my macOS Ventura VM, so I'm not going to be able to help much with that issue. I looks like it might have been caused by the removal of macdeployqt but that's just a guess. Once that is dealt with I am fully on board with proceeding to the RC. |
I will check and see if there is an issue on Monday. My Intel mac is not with me at the moment. |
And once the mac issue is addressed, we will go ahead and release 0.7.0....without a RC. The 0.7.0 release process has been taking too long. |
While I agree this has been taking longer than it should, I strongly disagree with skipping the RC. Believe me, I'm eager for users to start using the new version. But I don't think the fact that it takes so long is a good justification for skipping steps we've already agreed upon, if anything it's all the more reason to make sure we do it right the first time so we don't have to go through making another release right away! Just imagine if you had rushed to release it a week ago without an RC: apparently the macOS release wouldn't even be working for some (most?, all?) Apple users. I find that concerning. What harm is there in waiting an extra couple of weeks for users to try the release before it goes live? I'm confident we can get at least some of the more active users on Discord to try out the RC with an announcement, and perhaps an informal contest of some sort. |
Alright, considering this is a release after years, let’s make the 0.7.0 RC. I’ll build the RC version and upload it to our webpage. The release will be official after a week if no new issues are found. I’ve verified that the x86_64 Mac app is working as expected. The macdeployqtfix isn’t relevant. Also, the arm64 app isn’t part of the scope for the v0.7.0 release. |
Branch |
Hi, The Debian package of the new 0.7.0 release was uploaded to unstable repository today. |
thank you very much. |
v0.7.0 is out. https://www.pencil2d.org/download/ |
As maintainer of the |
I managed to get to this today. Pencil2D 0.7.0 will appear in the next successful Fedora Rawhide compose, and eventually in the Fedora 41 release this fall. I did a quick interactive test with the new package, but any testing and feedback is welcome. I’m not actually a Pencil2D user, so I’m not intimately familiar with its UI, but given that the release notes suggest this is a major update with some UI changes (and given that I switched from Qt5 to Qt6 at the same time) I have no current plans to update existing stable branches (F40, F39, EPEL9) to 0.7.0. I think this is consistent with Fedora’s Updates Policy. However, updating these branches is technically feasible if it turns out there is a good justification that outweighs the possible UI/UX disruption. |
Thank you for informing us. |
Hello everyone, apologies for the delay. I can confirm social media posts are all live now. Twitter/X https://x.com/pencil2d/status/1847685899523420466 Let me know if there's anything else that requires my attention related to this section and huge thanks to everyone for helping out with the release! |
Thank you, and well done, mate! This release wouldn’t have been possible without your efforts. I am now closing this ticket. |
Hey guys, it's time to release a new version.
For our next release, I like to call it v0.7.0 as we've been adding a substantial number of features and fixes.
It's also good to follow the semantic versioning, where
MAJOR.MINOR.PATCH
stands forBREAKING.FEATURE.FIX
. The second version number gets bumped whenever we add a new feature. And third version number is for bug fixing.For this v0.7.0 release, please carefully review the milestone:
→→→ 0.7.0 milestone
While there are still a couple of unresolved issues in there, I personally prefer not to fix them in this release unless they're urgent, e.g., Wix5? Let me know what you think.
Source code
Add entry for new release
→ Update TODOs in Add 0.7.0 AppStream release entry #1845 then merge
If the new release makes visible changes to the user interface, update the screenshot following the Flathub quality guidelines @J5lx
→ Merge Update AppStream screenshot pencil2d.github.io#32 (simultaneously with the actual release)
Deployment
Social media
Announce with release notes (or a link to the release notes) on the following platforms:
The text was updated successfully, but these errors were encountered: