Concrete 9.0 Release Candidate 1 Now Available!

Is there documentation how to customize the new theme in v9? In v8 it was a matter of copying the Elemental from core to application and changing the php template and less styling. How is it done in v9? Is it still the same process or do I need to compile the scss?

I recently made Enlil Stack Link compatible with 9.0.0a3. Out of curiosity, does it install in RC1 for you? I haven’t gotten an RC1 install up yet. Will probably be next week some time, as much as I’d love to do it right now!

@enlil I’ve just tried it. It installed fine but then after clicking detail I got an exception:

“Target [Illuminate\Contracts\Container\Container] is not instantiable while building [Concrete\Core\Package\ItemCategory\Manager].”

@andrew Had a quick look at v9 looking good so far. In what form is there going to be assistance for devs looking to update their themes/add-on? will there be a new cat in the forum, or something more direct?

I couldn’t resist and got up and running. I can confirm Stack Link works great in 90rc1 as it does in 90a3! Although, we’re left with this error on the package details button, leaving uninstall “impossible”

@enlil you might want to create a package with nothing in it and see if you get the same error. That might be a c5 (sorry Concrete CMS) bug and nothing to do with your package.

@mnakalay confirming @linuxoid bug. its happening for my Page Tease package also. Certain core issue…

That is a Concrete CMS (used to be a nice c5 before, how do we shorted it now? :slight_smile: ) bug, it happened on all my packages I tried to install and then to uninstall

Sounds like you should head to GitHub

@mnakalay I have already

As well as confirming the above single page from package and uninstall issues, I am also getting missing asset issues when requiring assets. Have noted them on GitHub.

Thanks for all the help so far! Looks like we’ve fixed at least 10 issues and more coming in. Looks like my idea of releasing RC2 in six weeks might be a little optimistic…at this rate I should probably do another release tomorrow! lol :sweat_smile:

In general a lot of these issues boil down to the following:

  1. If your packages register assets or refer to core assets, and those core assets don’t exist any more (and many don’t, we’ve consolidated a lot), you’ll get an error. I’m updating that to use a log entry instead of an error.
  2. There are some multilingual errors with loading languages in the interface that I’m fixing.
  3. Many issues are related to the upgrade of Laravel’s Application/Container libraries. I’m fixing these in the core, but package developers will undoubtedly come across them. In general, if you ever had a class like this

class MyClass {

public function __construct($myVar, $somethingElse)

}

and you make call this using

$myVar = 'something';
$somethingElse = 'something Else';
$app->make(MyClass::class, [$myVar, $somethingElse]);

then you’ll need to update your code throughout to look like this

$myVar = 'something';
$somethingElse = 'something Else';
$app->make(MyClass::class, ['myVar' => $myVar, 'somethingElse' => $somethingElse]);

Laravel no longer infers which variable you want to pass in just based in the array you send in. You have to key it explicitly. You’ll see this all over the place in core code I’m updating. If you ever see complaints in your package’s Application code when using app->make, this is the likely culprit.

There are other issues we’re hard at work fixing, and I’m anticipating doing an RC2 quite soon. Thanks for all the good questions!

Another issue: Exception causing line hidden from view in Debug screen, the line causing an exception is hidden in the Debug screen (it’s the very first line in the black screen of code hidden beyond the top edge

As I can’t attach screenshot on github, I’ll post it here.

What’s the criteria for the key naming? Does it have to match the variable name exactly? Will this work in v8 as well?

Yes, I believe it does. And yes, I believe it will work in v8.

Ok, I’ll change those and see how it goes.

Hasn’t the $app->make been replaced by $app() yet in v8 or v9?

@andrew - is there a list of assets that have been deprecated and what their replacements are? Is there a list of v9 assets?

Thinking about this more, a lot of developers could save a lot of time and generally be more productive testing the rc if a developer’s guide for v9 were published.
This would need to summarise what code changes need to be made to application and package code to adapt to the changing interfaces, deprecated code and other differences between v8 and v9.

About to try this out now, I’ll feedback my thoughts.

Thanks for all the helpful feedback in this thread. I’ve released RC2.

You can see the issues that RC2 covers (here in the Done column): 9.0.0RC To Do · GitHub

I’m sure there will be much more to fix in the coming days, but hopefully this is helpful as you continue to work with the release candidate. Updating RC1 to RC2 should be a very painless process.

Additionally, I’ve started a tutorial detailing all the common pain points when updating add-ons/themes for version 9. I’m sure there is much more to add to this but hopefully this is a helpful start: Add-On Developers: Get Your Add-Ons Ready for Concrete CMS 9.0 :: Concrete CMS