Extensions upgrade planning for v9 release

Thank you John for leading this, and for everyone else who are trying to make this stuff behave. I really appreciate the time you’re putting in, and I know it’s not fun. There’s a lot of hard work going on for everyone. I’m sure we do need to produce more documentation, and I’m sure some of the new features or sunsetting of old ones are challenging. I also know that V9 has been in the works since 2019 at this point. We’ve had RC’s out since August 4th. It’s challenging to get a boat this big leaving the dock without making some bumps and waves. I’m sure all our marketplace developers are absolutely as strapped for time as we are. We’re looking hard for ways to make it as painless as possible, while still moving forward.

From reading some of these posts, it’s clear there are two different challenges:

  1. Is version 9 ready for new production sites?
  2. Is version 9 ready for upgrading 8.x sites, particularly ones with lots of marketplace extensions.

The answer to A is a clear Yes. We have production sites running on alpha versions now. The sites stay up, the content editors love the UX improvements.

The answer to B is “probably not quite yet.” John’s survey is great, and I think everyone agrees that if there’s no path to upgrade an add-on that might break your site, we certainly don’t want to be upgrading the core on that site.

Recognizing that there are two separate challenges here is going to make everyone’s lives a lot easier. Our team is super eager to get v9 infront of new clients coming to ConcreteCMS.com because it looks better than v8 in every way. We’ve already committed to providing security updates for high ranked issues in v8 for at least 6 months after v9 release. Even if every add-on and theme worked perfectly on v9 today, it’s still a process to upgrade and site owners should be allowed to do that on a schedule that makes sense for them.

What we’re going to do is have a very clear strategy through the end of 2021 that there are two versions of Concrete and migrations are a process, not just a switch flip.

When we release 9.0 next week we’re going to be encouraging new site owners who are expecting to build a complex site to start with v9. It’s production ready and the version you’re going to want to be in. Many of the extensions in our marketplace are still being updated however, so if you’re running an existing v8.x site and considering upgrading, we’ll encourage you to do a complete review of your installed extensions first.

That buys us another two months to collaborate with you on documentation of new features and refinement of ones that need to support both the new and the old. My expectation is that by the time we’re releasing 9.1 we’ll be in a better spot to encourage existing v8 sites to upgrade unless they’re using the oldest of abandoned extensions.

Some specific points that will happen or should be addressed from discussions in the forums:

  1. Yes, it’s perfectly fine if you don’t want to support v7 and v8 with your extensions and just focus on v9. The marketplace actually lets you serve different codebases for different versions, so instead of messing up your app with a bunch of switch statements you might consider just branching it to be v9 specific and having a different package for v9 while leaving the old v7 and v8 packages.

  2. Yup, we’re deprecating some stuff that used to exist. I know that’s a pain. Turns out, it’s not safe or wise to include libraries that are no longer being maintained, so we’re 100% in the same boat as you at being frustrated that things that once worked no longer do.

  3. We will add some universal messaging to the marketplace asking potential customers to be very careful about checking for version compatibility during their shopping experience.

  4. When we add the new version 9.0 to the official list of versions to map to compatible versions, we will default to none for now for all extensions. You’ll have to opt-in as a marketplace dev that your add-on/theme is v9 ready. This will help ensure a site owner who is using marketplace integration to manage updates will see their add-ons aren’t ready for v9.0 until we know they are.

  5. We won’t be putting v9.0 into our auto-updater queue. It will be 9.1 before we’ve got enough marketplace penetration to expect that these distributed upgrade processes will go smoothly.

  6. If anyone is interested in testing our new Kubernetes containers hosting environment for your add-on testing, by all means we’d love to hear from you. Just hit us up at the form linked to in the next point.

  7. Yes, blackmail reviews from dubious customers can be deleted. We’re not going to get in the middle of fair opinions, but blackmail for stars isn’t fair. The best way to get action on that is to get it in front of Evan’s team by using the form here:
    Everything Else :: Concrete CMS

  8. No, we can’t get any more protective about refunds than we already are. We don’t have a lot of fraud here. We do occasionally have people who are frustrated that DIY open source can be hard. In that case, we’re going to do what we can to be fair to everyone as quickly as we can.

What we can do, as JTF pointed out, is lock out anyone who is clearly abusing the system over time to get free add-ons by forcing refunds. To be clear, that has happened once, in 11 years.

I hope this helps and sets a more realistic pace.

Yes, please do upgrade your extension to work with v9. In a perfect world we’d want every Concrete site to be running it. It’s not a perfect world however, so let’s carefully move forward together so our site owners have a smooth experience.

6 Likes

Thank you, @frz . That’s exactly what I’ve been wondering and worried about for the past months :slight_smile: :+1: :+1: :+1:

What about the following situation (hypothetically speaking, of course I’ll try to be as supportive as I can):

  1. my package v1 is for done core v8
  2. I decide to stop supporting core v8 and rev up my package to v2 and say it’s now for core v9
  3. someone purchases my addon v1 and finds a bug there - in the version I no longer support

So the questions are:

  • how long is support supposed to be valid for a package: indefinitely or some period after 1st release or some period after 1st purchase?
  • do I have to fix the bug in no longer supported version (from MP license/rules point of view)?
  • how do I upgrade the version for v8 if the MP has already got one for v9? Does the MP allow uploading for example v1.1 after v2?

Thank you.

1 Like

As you will be updating that area of the marketplace code, can you get some thought put into making it more usable. At present, an addon that has been in existence since v7 and uses the mechanism needs to check or set about 50 select dropdowns each time an update is uploaded. That is just about OK for an addon that is updated once every other year. For an addon that is regularly being improved, that mechanism becomes a sprawling and unusable mess.

Some ideas:

  • a growing list with a select for <= core-version against addon version.
  • a growing list with wildcards for <= core version against addon version.
  • a “latest” option for addon version.
  • automatically filling the compatibility list by parsing uploaded package controllers for minimum version.
  • automatically filling the compatibility list by parsing uploaded package controllers for maximum version (if we can have that implemented)
1 Like

How about a v9 ready badge?

1 Like