# Concrete 9.0 Release Candidate 2 Now Available!

**URL:** https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655
**Category:** Announcements
**Created:** [August 6, 2021, 6:29pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655 "2021-08-06T18:29:39Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![andrew](https://forums.concretecms.org/user_avatar/forums.concretecms.org/andrew/32/4631_2.png) [@andrew](https://forums.concretecms.org/u/andrew)
#### Post date: [August 6, 2021, 6:29pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/1 "2021-08-06T18:29:39Z")

</div>

That was fast! After all the very helpful feedback and reports from our first announcement just two days ago, it became clear that we needed to fast-track our second release candidate. It is now ready for download on our downloads page: [Download :: Concrete CMS - Org](https://www.concretecms.org/download)

Additionally, for all add-on developers who are working on getting your add-ons and themes ready for version 9, I’ve put together an in-progress tutorial. [Add-On Developers: Get Your Add-Ons Ready for Concrete CMS 9.0 :: Concrete CMS](https://documentation.concretecms.org/tutorials/add-developers-get-your-add-ons-ready-concrete-cms-90) . I’m sure there will be more to add to it, but hopefully it’s helpful.

You can read all about all the exciting new features in 9.0 on the original announcement, here: [Concrete 9.0 Release Candidate 1 Now Available!](https://forums.concretecms.org/t/concrete-9-0-release-candidate-1-now-available/614)

---

<div class="post-metadata">

### Author: ![ConcreteOwl](https://forums.concretecms.org/user_avatar/forums.concretecms.org/concreteowl/32/5237_2.png) [@ConcreteOwl](https://forums.concretecms.org/u/ConcreteOwl)
#### Post date: [August 7, 2021, 4:20pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/2 "2021-08-07T16:20:22Z")

</div>

Just Installed Release Candidate 2 on my local dev box, no problem with the installation until I try to sign back into the site at which point the following error is thrown…

GuzzleHttp\Exception\RequestException thrown with message “cURL error 60: SSL certificate problem: unable to get local issuer certificate (see [https://curl.haxx.se/libcurl/c/libcurl-errors.html](https://curl.haxx.se/libcurl/c/libcurl-errors.html))”

I overcame this by altering the url in the browser from ‘root/index.php/dashboard/welcome’ to ‘root/index.php/dashboard’, this showed me as signed in on the dashboard page.

I then navigated to Dashboard \> System & Settings \> Login & Registration \> Login Destination and changed ‘Redirect to user’s Desktop’ to ‘Redirect to Home’ and saved it.

I can now sign in and out without issue as long as my system is not trying to connect to the ‘Welcome’ page.

---

<div class="post-metadata">

### Author: ![enlil](https://forums.concretecms.org/user_avatar/forums.concretecms.org/enlil/32/3526_2.png) [@enlil](https://forums.concretecms.org/u/enlil)
#### Post date: [August 8, 2021, 1:16am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/3 "2021-08-08T01:16:33Z")

</div>

Very nice. All issues I initially encountered in rc1 are resolved!

---

<div class="post-metadata">

### Author: ![mesuva](https://forums.concretecms.org/user_avatar/forums.concretecms.org/mesuva/32/4014_2.png) [@mesuva](https://forums.concretecms.org/u/mesuva)
#### Post date: [August 10, 2021, 2:51pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/4 "2021-08-10T14:51:30Z")

</div>

Even though this is still a RC, overall everything is looking and feeling fantastic with V9.  
The new file manager is great, the addition of features like a gallery block and containers is really exciting, and the dashboard really feels more consistent and refined.

The interface feels free and clean, but still very familiar.

Really looking forward to building sites with V9! Nice work! 🍺 🍻 🍺

---

<div class="post-metadata">

### Author: ![Myq](https://forums.concretecms.org/user_avatar/forums.concretecms.org/myq/32/4281_2.png) [@Myq](https://forums.concretecms.org/u/Myq)
#### Post date: [August 13, 2021, 10:46pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/5 "2021-08-13T22:46:58Z")

</div>

@ConcreteOwl did you make a Github issue about this?

---

<div class="post-metadata">

### Author: ![ConcreteOwl](https://forums.concretecms.org/user_avatar/forums.concretecms.org/concreteowl/32/5237_2.png) [@ConcreteOwl](https://forums.concretecms.org/u/ConcreteOwl)
#### Post date: [August 14, 2021, 8:55am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/6 "2021-08-14T08:55:29Z")

</div>

No @Myq I thought it would be picked up by Andrew by responding to his post.

---

<div class="post-metadata">

### Author: ![ConcreteOwl](https://forums.concretecms.org/user_avatar/forums.concretecms.org/concreteowl/32/5237_2.png) [@ConcreteOwl](https://forums.concretecms.org/u/ConcreteOwl)
#### Post date: [August 14, 2021, 9:44am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/7 "2021-08-14T09:44:32Z")

</div>

A new Github issue has now been created.

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 17, 2021, 5:54am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/8 "2021-08-17T05:54:19Z")

</div>

Ok, I’ve installed RC2, installed my package - seems some Illuminate exceptions are gone.

Following this doc:

[https://documentation.concretecms.org/tutorials/add-developers-get-your-add-ons-ready-concrete-cms-90](https://documentation.concretecms.org/tutorials/add-developers-get-your-add-ons-ready-concrete-cms-90)

seems to have fixed the errors so far. Will keep trying.

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 17, 2021, 6:54am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/9 "2021-08-17T06:54:16Z")

</div>

I have an exception “Unable to get permission key for allowed\_file\_extensions” using the following:

```php
$fs = FileSet::getGlobal();
$fp = $this->app->make(Checker::class, ['fs' => $fs]);
$extensions = $fp->getAllowedFileExtensions();

```

So how do I fix that for v9?

---

<div class="post-metadata">

### Author: ![mlocati](https://forums.concretecms.org/user_avatar/forums.concretecms.org/mlocati/32/6208_2.png) [@mlocati](https://forums.concretecms.org/u/mlocati)
#### Post date: [August 17, 2021, 12:38pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/10 "2021-08-17T12:38:24Z")

</div>

@linuxoid try with this code

```
use Concrete\Core\File\Set\Set;
use Concrete\Core\Permission\Checker;

$fp = new Checker(Set::getGlobal());
$extensions = $fp->getAllowedFileExtensions();
```

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 17, 2021, 12:59pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/11 "2021-08-17T12:59:03Z")

</div>

@mlocati , I know that works. But the PRB told me to avoid the use of ‘new’ instantiations and to move everything to ‘app-\>make’. So I’m wondering how to instantiate all classes with various variable names there.

---

<div class="post-metadata">

### Author: ![mlocati](https://forums.concretecms.org/user_avatar/forums.concretecms.org/mlocati/32/6208_2.png) [@mlocati](https://forums.concretecms.org/u/mlocati)
#### Post date: [August 17, 2021, 1:35pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/12 "2021-08-17T13:35:22Z")

</div>

The `Checker` class can be created by using `new`.

If you still want to use the “make” approach, you have to:

1. check the [constructor of `Checker`](https://github.com/concrete5/concrete5/blob/9.0.0RC1/concrete/src/Permission/Checker.php#L28)
2. there you can see that it accept one parameter, named `$object`
3. So, you have to call `$app->make(Checker::class, ['object' => $fs])`

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 17, 2021, 1:42pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/13 "2021-08-17T13:42:56Z")

</div>

@mlocati , So the key name must be the same as the constructor variable name, not the passed variable name! Got it. Thank you.

---

<div class="post-metadata">

### Author: ![mlocati](https://forums.concretecms.org/user_avatar/forums.concretecms.org/mlocati/32/6208_2.png) [@mlocati](https://forums.concretecms.org/u/mlocati)
#### Post date: [August 17, 2021, 1:54pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/14 "2021-08-17T13:54:10Z")

</div>

Yep: that’s the general rule when you use `make`: check the argument names in the class constructor (`function __construct(...)`), and use them (without the leading `$`).

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 18, 2021, 6:41am UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/15 "2021-08-18T06:41:13Z")

</div>

Well, with the app-\>make out of the way, now I’ve got another exception but with useless log info. It doesn’t say what caused it, which file, which line. I have no clue where to even start looking:

 ![Screenshot_20210817_174725](https://forums.concretecms.org/uploads/default/original/1X/4511d624d35b11812e035350998b7b466849ed18.png)

---

<div class="post-metadata">

### Author: ![mesuva](https://forums.concretecms.org/user_avatar/forums.concretecms.org/mesuva/32/4014_2.png) [@mesuva](https://forums.concretecms.org/u/mesuva)
#### Post date: [August 18, 2021, 1:30pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/16 "2021-08-18T13:30:28Z")

</div>

With these release candidates I’m noticing that there’s something a bit misaligned with the full error/whoops page, the error line highlighted appears too high on the page, and you can’t scroll up to see it.

I thought it might have just been me experiencing this, but linuxoid’s screenshot above is a good example of this happening.

---

<div class="post-metadata">

### Author: ![JohntheFish](https://forums.concretecms.org/user_avatar/forums.concretecms.org/johnthefish/32/3767_2.png) [@JohntheFish](https://forums.concretecms.org/u/JohntheFish)
#### Post date: [August 18, 2021, 3:04pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/17 "2021-08-18T15:04:21Z")

</div>

I am also seeing the whoops page being misaligned, with the important part being off the top rather than in the middle.

Perhaps a BS3-\>BS5 style issue on the way the code block is vertically centered.

---

<div class="post-metadata">

### Author: ![linuxoid](https://forums.concretecms.org/user_avatar/forums.concretecms.org/linuxoid/32/5311_2.png) [@linuxoid](https://forums.concretecms.org/u/linuxoid)
#### Post date: [August 18, 2021, 3:16pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/18 "2021-08-18T15:16:18Z")

</div>

I’ve actually reported that as a bug on github

---

<div class="post-metadata">

### Author: ![andrew](https://forums.concretecms.org/user_avatar/forums.concretecms.org/andrew/32/4631_2.png) [@andrew](https://forums.concretecms.org/u/andrew)
#### Post date: [August 18, 2021, 6:11pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/19 "2021-08-18T18:11:02Z")

</div>

Just going to reply with some hopefully helpful advice:

There’s really nothing too magical about $app-\>make(). You don’t _have_ to use it. In general, it’s useful when you have some dependencies that are globally registered that you don’t want to have to retrieve yourself in order to pass in.

So, for example, let’s say we want to use the `Concrete\Core\Filesystem\FileLocator` class, in order to search the file system for some element or block templates. The class requires `Illuminate\Filesystem\Filesystem` and `Concrete\Core\Application\Application` in order to do its business, and it obtains those classes in the constructor.

Instead of having to somehow instantiate the Filesystem and Application classes in order to pass them into your new FileLocator class, you can just run

```
$app->make(FileLocator::class);

```

Which will then auto-magically pass in the appropriate versions of those classes, either by just automatically instantiating them or by looking into one of the service provider classes and then figuring out how to build the classes.

I mention this because if there’s a class that you need to use that only takes an object that you always have on hand, there’s absolutely no reason to use $app-\>make(). The permissions checker class is a perfect example of this. The checker class only takes a single object – whatever object you want to check permissions on. So it doesn’t make sense to run it through $app-\>make() because it’s just adding overhead. This

```
$permissions = new Checker($block);

```

Is exactly the same as this

```
$permissions = $app->make(Checker::class, ['object' => $block]);

```

But the second one is a lot harder to read.

Just thought I’d mention this. If you want to read up more on why we use this approach, this document still holds up (even though it talks about Core::make() a lot – that’s exactly the same as $app-\>make(), it’s just you don’t have to have a $app object to work on.)

[http://andrewembler.com/2018/03/automated-dependency-injection-using-containers/](http://andrewembler.com/2018/03/automated-dependency-injection-using-containers/)

---

<div class="post-metadata">

### Author: ![andrew](https://forums.concretecms.org/user_avatar/forums.concretecms.org/andrew/32/4631_2.png) [@andrew](https://forums.concretecms.org/u/andrew)
#### Post date: [August 18, 2021, 9:47pm UTC](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655/20 "2021-08-18T21:47:52Z")

</div>

Just wanted to let everyone know that a new release candidate has been posted. Here’s a new thread:

> [@Concrete 9.0 Release Candidate 3 Now Available](https://forums.concretecms.org/t/concrete-9-0-release-candidate-3-now-available/806):
>
> I wanted to let everyone know that a new release candidate for version 9 has now been posted. This should fix a number of bugs and make for a more stable experience. Please continue to use GitHub to report issues, and practice upgrading your existing sites. Your reports are really, really helping make this very large release as stable as possible. You can expect another release candidate in the coming weeks with more bug fixes (along with a few other surprises, as well.) [https://www.concretec…](https://www.concretecms.org/download)

[Next page](https://forums.concretecms.org/t/concrete-9-0-release-candidate-2-now-available/655.md?page=2)
