OrchardCMS / OrchardCore

Orchard Core is an open-source modular and multi-tenant application framework built with ASP.NET Core, and a content management system (CMS) built on top of that framework.
https://orchardcore.net
BSD 3-Clause "New" or "Revised" License
7.34k stars 2.37k forks source link

Release v2.0.0 #16428

Open MikeAlhayek opened 1 month ago

MikeAlhayek commented 1 month ago

Prepare the project

Do some housekeeping on GitHub in the main repo.

Prepare the code and documentation

Update the source, so everything looks like on the new version.

Test the release

Make sure everything works all right.

Prepare and publish Orchard Core Translations

Update everything in the Translations project. Only do this once all the code changes are done since localized strings can change until then.

Publish the release

Do the harder parts of making the release public. This should come after everything above is done.

After the release is done

Publicize the release

Let the whole world know about our shiny new release. Savor this part! These steps will make the release public so only do them once everything else is ready.

MikeAlhayek commented 1 month ago

We'll start this process after PR #16402 is merged.

Piedone commented 1 month ago

Don't do this yet, please. We had tons of regressions, the last one you discovered yesterday, so let's wait a bit to see if anything new will be discovered.

@sarahelsaig is also still working on upgrading Orchard Core Commerce (see https://github.com/OrchardCMS/OrchardCore.Commerce/pull/454) and other solutions to the latest preview. Since the goalpost keeps moving with new issues discovered, this is far from straightforward.

MikeAlhayek commented 1 month ago

@Piedone yes no need to release this immediately. But as far as I know that @sarahelsaig has been working on this for a while now and found one bug only "which was fixed". So I assumed there was no additional bugs found. Either way, at some point we have to draw a line and just ship so we can allow wider audience to test the new release.

sarahelsaig commented 1 month ago

Actually I've found 11 bugs while testing with OCC and the Lombiq modules. The latest was fixed only 3 weeks ago. Also earlier this week I have found a new ISession concurrent access bug in OCC. I haven't opened an issue yet because I couldn't isolate the reproduction steps and it would not be a useful bug report without that.

Piedone commented 1 month ago

The point though is, having OCC and a few other large Lombiq solutions upgraded, and their over 300 UI tests passing, is a strong evidence that we're ready for a release. Otherwise, we'll have subsequent patch releases every other day.

This has been a really bumpy road, getting blocked repeatedly. Version 2 will be a very risky release, hence we had a huge amount of regressions reported. So, due to the lack of a comprehensive automated QA suite, this is our second-best bet to make sure it'll go well.

We can prevent further moving the goalposts by not merging anything else than bugfixes though.

MikeAlhayek commented 1 month ago

@Piedone Ideally we want Lombiq projects converted and all tests pass. But, will this happen any time soon? We just don't want to hold the release indefinitely without having some sort of plan to release. Is there a target finish date for Lombiq transition?

Actually I've found 11 bugs while testing with OCC and the Lombiq modules.

@sarahelsaig beside that ISession issue, are there any other issue from the 11 you reported that still need to be addressed?

Piedone commented 1 month ago

I'll defer about the timing to Sári. However, this also depends on what changes go to OC in the meantime.

MikeAlhayek commented 1 month ago

Once we have timeline, we'll be able to determine what will go into 2.0 and what will have to wait. But we should be looking into releasing 2.0 before August 1st as a max date. 1.8.0 was released in January 2, 2024. So we are well over due for a release.

github-actions[bot] commented 1 month ago

We triaged this issue and set the milestone according to the priority we think is appropriate (see the docs on how we triage and prioritize issues).

This indicates when the core team may start working on it. However, if you'd like to contribute, we'd warmly welcome you to do that anytime. See our guide on contributions here.

Piedone commented 1 month ago

image

MikeAlhayek commented 1 month ago

Change the Orchard Core version in the project templates, more specifically in dotnetcli.host.json and template.json files.

@Piedone I think this line item you added to the to do list. Both dotnetcli.host.json and template.json are not tracked on Github. Why do we need these files? Should they be checked in?

Piedone commented 1 month ago

They are part of the templates:

image

image

hyzx86 commented 1 month ago

Are there any drawbacks to gitub's nuget service?

Piedone commented 1 month ago

Do you mean GitHub Packages? It isn't free, unlike Cloudsmith.

hishamco commented 1 month ago

@Piedone I tried a long time ago without any cost

Piedone commented 1 month ago

I see, it's actually free for public packages: https://docs.github.com/en/billing/managing-billing-for-github-packages/about-billing-for-github-packages#about-billing-for-github-packages

hishamco commented 1 month ago

Yes it's, it might be suited for us, especially for nightly builds, the thing I suffered from at that time was referencing them, from another apps

MikeAlhayek commented 1 month ago

@hyzx86 @Piedone @hishamco please convert that into a discussion so we can keep this issue 2.0.0 release related only.

Thank you

MikeAlhayek commented 1 month ago

They are part of the templates:

@Piedone I think the issue is that these files are ignored from .gitignore I am not sure why these are ignored. @agriffard do you recall why this folder was ignore while the files are still on the server? https://github.com/OrchardCMS/OrchardCore/commit/a9122aea1a9bf4e138e63cadb86f258355f03504#diff-bc37d034bad564583790a46f19d807abfe519c5671395fd494d8cce506c42947R204

In this PR, I removed the exclusion rule so that we can track changes to the .template.config folders.

Piedone commented 1 month ago

I don't feel like moving to GitHub Packages BTW, it seems like a pretty equivalent service.

MikeAlhayek commented 1 month ago

@Piedone It looks like @sarahelsaig completed the migration of e-commerce project and everything is passing. Are there any other project that we should wait for before we resume the release of 2.0?

Piedone commented 1 month ago

Yeah, she's working on DotNest as well, which is a different kind of test with all the random people's tenants. Note though that every breaking change like https://github.com/OrchardCMS/OrchardCore/pull/16493 necessitates another round of updates.

I'd also be a lot more confident if we can go a week without a regression being reported.

MikeAlhayek commented 1 month ago

Note though that every breaking change like https://github.com/OrchardCMS/OrchardCore/pull/16493 necessitates another round of updates.

This update should not need any code change. Rebuilding the project should be all one will need.

I am okay with waiting a week to waiting. But the question, how long will the DotNest upgrade takes? @sarahelsaig in there an rough ETA for DotNest?

Piedone commented 1 month ago

This update should not need any code change. Rebuilding the project should be all one will need.

Great, then!

sarahelsaig commented 1 month ago

in there an rough ETA for DotNest?

Unless there are some new surprise breaking change, I will finish it in the next couple days.

Piedone commented 2 weeks ago

@sarahelsaig can you share updates, please?

hyzx86 commented 2 weeks ago

The important point is that all of our current queries SqlQuery, Lucene Query and Graphql Query as well as the scripting extension executeQuery don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?

link :https://github.com/OrchardCMS/OrchardCore/pull/11159

MikeAlhayek commented 2 weeks ago

The important point is that all of our current queries SqlQuery, Lucene Query and Graphql Query as well as the scripting extension executeQuery don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?

@hyzx86 is this comment related to the release process of 2.0? Maybe you meant to post that on a different issue.

This issue is strictly for releasing 2.0 not with issues that could be related to 2.0. If you have an issue with 2.0, please open a new issue and we'll tag it with 2.0 milestone.

hyzx86 commented 2 weeks ago

The important point is that all of our current queries SqlQuery, Lucene Query and Graphql Query as well as the scripting extension executeQuery don't support totals so if we can't get these PRs done on the fly, can we start by defining these api's as returning an object rather than a collection?

@hyzx86 is this comment related to the release process of 2.0? Maybe you meant to post that on a different issue.

This issue is strictly for releasing 2.0 not with issues that could be related to 2.0. If you have an issue with 2.0, please open a new issue and we'll tag it with 2.0 milestone.

I mean these tweaks will need to introduce some disruptive updates, and since we've already done some disruptive upgrades in 2.0

MikeAlhayek commented 2 weeks ago

@hyzx86 Then please open a separate issue with any issue/concerns you may have with the current state of main.

sarahelsaig commented 2 weeks ago

I'm close to the end now. We need this before the 2.0 release: https://github.com/OrchardCMS/OrchardCore/issues/16580 I'm also investigating another strange behavior, but I'm not sure if that's related to OC yet. I will follow up with updates later today or tomorrow. EDIT: described the strange behavior in #16585.

sarahelsaig commented 1 week ago

@MikeAlhayek Good news, we are done testing with DotNest.

MikeAlhayek commented 1 week ago

@sarahelsaig that is great news! Do you want to tackle https://github.com/OrchardCMS/OrchardCore/issues/16585 ?

sarahelsaig commented 1 week ago

@sarahelsaig that is great news! Do you want to tackle #16585 ?

I did it here: #16623.

Piedone commented 5 days ago

Nothing else remaining here before release, right?

MikeAlhayek commented 5 days ago

I like to take https://github.com/OrchardCMS/OrchardCore/pull/16636 and https://github.com/OrchardCMS/OrchardCore/pull/16614 in 2.0 since both has a breaking change.

hishamco commented 4 days ago

Nothing else remaining here before release, right?

I need to update PO Extract tool as well

Can we expect OC 2.0.0 to be released within 1-2 weeks? If Yes I will do the update ASAP

MikeAlhayek commented 4 days ago

The plan is to release OC early next week. So feel free to update the translations.

hishamco commented 4 days ago

IMHO we could do it in the OC Harvest :) meanwhile, we can test the latest fixes and check the translations, and integrations. Also OC Commerce and DotNest could do a final check before releae

MikeAlhayek commented 3 days ago

We want to release it before so we can talk about it and about 3.0 during the harvest.

hishamco commented 2 days ago

we can talk about it and about 3.0 during the harvest.

I'm not sure in which session we can talk about the current and future releases

MikeAlhayek commented 2 days ago

Probably during Q/A or side chats. I also think it's part of the keynote we are mentioning 3.0

MikeAlhayek commented 12 hours ago

@agriffard can you please release translations package for 2.0.0?

hishamco commented 11 hours ago

Can we hold for 1-2 days I need to bump PO Extractor update then @agriffard can release translation packages for 2.0.0