Announcing Strapi v3.5 with the Sentry plugin, SSO authentication, and more
Published: 2021-02-18 14:43:11

This month, we’re excited to announce the release of Strapi 3.5 with the Sentry plugin, the Single-Sign-On Authentication feature, and a bunch of improvements. More details in the post!
## Announcing a new Sentry plugin
Everyone loves plugins: they help you connect your favorite tools, extend your software capabilities while keeping its core light and clean. In short, plugins help us build apps in a better, simpler, and more efficient way! 

We at Strapi are not an exception. This year, we're planning to release more plugins and we are starting to bring the plan to life with a highly requested **Sentry plugin** 🎉

[Sentry](https://sentry.io/) allows developers to ensure the quality of their applications. It logs errors and gives you all the context you need to identify the source of the problem. Here's a sneak peek of what a Strapi error may look like in Sentry. 

![sentry_screen.png](https://assets.strapi.io/uploads/sentry_screen_fb4cf8774d.png)

This plugin lets you benefit from all these Sentry features with your Strapi app. Once you install it, the Sentry plugin will:
- Initialize a Sentry instance when your Strapi app starts
- Send errors encountered in your application's end API to Sentry
- Attach useful metadata to Sentry events, to help you with debugging
- Expose a global Sentry service

Interested? Check out the instructions on how to use the Strapi Sentry plugin in [the article written by Rémi](strapi.io/blog/introducing-sentry-plugin).  

## Join us for the live Sentry plugin demo
In this [online meetup](https://app.livestorm.co/p/b325983d-dc01-4dc7-88da-fece280aa552), Rémi de Juvigny, Software Engineer at Strapi, and Rohit Kataria, Customer Solutions Engineer at Sentry, will walk you through the best practices for an end to end JAMstack Monitoring.

Join us on February 25th, at 18:00 CET!

<iframe width="100%" height="360" frameborder="0" src="https://app.livestorm.co/p/b325983d-dc01-4dc7-88da-fece280aa552/form" title="JAMstack Monitoring with Strapi and Sentry | Strapi"></iframe>

## SSO authentication in v3.5
We’re striving to make Strapi a robust and secure tool for all kinds of projects and users. Version 3.5 introduces an SSO authentication feature for the Strapi admin panel, which lets enterprises connect Strapi to their authentication providers and protocols such as [Active Directory](https://azure.microsoft.com/en-gb/services/active-directory/), [Okta](https://www.okta.com/), [Auth0](https://auth0.com/), [Keycloak](https://www.keycloak.org/), [OAuth](https://oauth.net/) etc. Employees will be able to use the credentials of a third-party app to log in to the admin panel. Please note that version 3.5 includes only SSO authentication and not authorization.

![sso_login2.png](https://assets.strapi.io/uploads/sso_login2_59445867b0.png)

 The SSO Authentication feature for the admin panel is available in a [Gold Enterprise Edition plan](https://strapi.io/pricing). There are several reasons why we made this decision: 
- Like any other company, Strapi has to be profitable and we need to find a sustainable business model to continue investing in the product, the ecosystem, and the community. It's also a very common practice in the ecosystem to charge for an enterprise-oriented feature such as SSO.
- SSO authentication feature does not block anyone from using Strapi for its main purpose - quickly and efficiently building new projects and managing content with ease. We’re including support and some extra features in paid plans to be able to provide Strapi core functionalities for free to millions of users. 
- Based on analysis & user research, SSO authentication is a specific requirement that is relevant to most big enterprises. 

We appreciate every commit and input the community did and continues doing for Strapi, as well as respect all feedback. Our mission is to empower millions of people to share & manage content in tomorrow’s world, and thanks to you we’re getting one step closer to it every day. 

## What else in the latest Strapi releases? 

We’re also releasing many smaller improvements and fixes contributed by awesome community members. Other highlights from v3.5 and previous releases include:

 - [Add custom logic to react to events ](https://strapi.io/documentation/developer-docs/latest/concepts/configurations.html#available-options)

This improvement lets you set up custom logic to react to particular authentication events. For example, if someone connects to the Strapi application using either Strapi login or 3rd-party service login via SSO, you can set up a reaction to this event - like send a notification or a message to a third-party service. You can also trigger these events if there is an error in the connexion process or if somebody logs in using authorization. 

Here are some examples: 
 ``` 
events: {
       // Emitted when an admin user has successfully logged in to the administration panel
       onConnectionSuccess(e) {
         const { user, provider } = e;
​
         console.log(`Connection successful for user n°${user.id} using ${provider}`);
       },
​
       // Emitted when an admin user failed to log in to the administration panel
       onConnectionError(e) {
         const { error, provider } = e;
​
         console.log(`An error has occurred as someone tried to log in using ${provider}`);
         console.log(error);
       },
​
       // Emitted when a user has been registered thanks to the auto-register feature added by SSO.
       onSSOAutoRegistration(e) {
         const { user, provider } = e;
​
         console.log(
           `A new user (${user.id}) has been automatically registered using ${provider}`
         );
       },

 ```
- Add the support for Auth0 [#8362](https://github.com/strapi/strapi/pull/8362) and Reddit [#8537](https://github.com/strapi/strapi/pull/8537) to the Users and Permissions plugin
- Handle duplicate error in the database [#8367](https://github.com/strapi/strapi/pull/8367)
- Configurable default _limit parameter [#8377](https://github.com/strapi/strapi/pull/8377)
- Read responsive breakpoints from config instead of being hardcoded [#9002](https://github.com/strapi/strapi/pull/9002)
 
Have a look at more fixes and enhancements [here](https://github.com/strapi/strapi/releases), perhaps the bug that has been bugging you is fixed now 🤭

## Introducing a new changelog
We have a detailed [changelog on Github](https://github.com/strapi/strapi/releases) which includes all the new features, bug fixes, and improvements. However, while it’s quite detailed and thorough, it doesn’t provide a quick overview of what’s new in Strapi.

That’s why we’re introducing a [new changelog](https://strapi.io/changelog) on the Strapi website, which lets you navigate through the history of major Strapi updates in one scroll. You can also access the materials which explain each new feature and release in more detail. 

Now you know how to quickly find out what’s new in Strapi 🤓

![changelog.png](https://assets.strapi.io/uploads/changelog_8a30381dd8.png)

## New to Strapi? Give it a try
You can check out our [hosted demo](https://strapi.io/demo) with sample data to see what Strapi is like. We also have a [template library](https://strapi.io/starters) where you can find starters for a blog, corporate website, portfolio, or e-commerce website using different frontend technologies. 

You can also create a new Strapi project on your computer by running the quickstart command: 
 ```npx create-strapi-app my-project --quickstart ```

Follow the [migration guides](https://strapi.io/documentation/developer-docs/latest/migration-guide/#instructions) to update your Strapi version and access more features.  

## Get involved
Strapi is an open-source product and everyone can contribute to it. The Strapi community helps us move forward and we are making Strapi better with our users in mind. 

Here’s how you can help us to improve the product:
- Contribute to the project on [Github](https://github.com/strapi/strapi/blob/master/CONTRIBUTING.md)
- Share what features you’d love to have in our [public roadmap](https://portal.productboard.com/strapi/1-roadmap/tabs/2-under-consideration)
- [Create a Strapi template](https://strapi.io/documentation/v3.x/concepts/templates.html#creating-a-template) for a specific use case
- Share the plugins and providers you built for Strapi in this [repository](https://github.com/strapi/awesome-strapi) 
- Showcase the projects you built with Strapi in [Awesome Strapi](https://strapi.io/showcases)


## Thanks to all contributors 
Strapi is a product built together with more than 600 community members. We would love to say thank you to people who contributed to the v3.5 release as well to the previous v3.4 enhancements and bug fixes:

[@rlvk-vk](https://github.com/rlvk-vk), [@gh640](https://github.com/gh640), [@Heziode](https://github.com/Heziode), [@Zeranoe](https://github.com/Zeranoe), [@jozefcipa](https://github.com/jozefcipa), [@pimsomeday](https://github.com/pimsomeday), [@darron1217](https://github.com/darron1217), [@Igloczek](https://github.com/Igloczek), [@croatian91](https://github.com/croatian91), [@pr0gr8mm3r](https://github.com/pr0gr8mm3r), [@NgyAnthony](https://github.com/NgyAnthony), [@leroydev](https://github.com/leroydev), [@shtelzerartem](https://github.com/shtelzerartem), [@iicdii](https://github.com/iicdii), [@shiningnova57](https://github.com/shiningnova57), [@jorrit](https://github.com/jorrit), [@jonmol](https://github.com/jonmol), [@csandven](https://github.com/csandven), [@gh0stsh0t](https://github.com/gh0stsh0t), [@centogram](https://github.com/centogram), [@dappiu](https://github.com/dappiu), [@ertrzyiks](https://github.com/ertrzyiks), [@cwray-tech](https://github.com/cwray-tech), [@meck93](https://github.com/meck93), [@taylor-work](https://github.com/taylor-work), [@bglidwell](https://github.com/bglidwell), [@florianmarkusse](https://github.com/florianmarkusse), [@MattieBelt](https://github.com/MattieBelt), [@blefevre](https://github.com/blefevre), [@PaulWeinsberg](https://github.com/PaulWeinsberg), [@chris-makaio](https://github.com/chris-makaio), [@tunasakar](https://github.com/tunasakar), [ThewBear](https://github.com/ThewBear), [@yusufisl](https://github.com/yusufisl), [@acalvino4](https://github.com/acalvino4), [@avdeyev](https://github.com/avdeyev) and [@ngjoni](https://github.com/ngjoni).

Join the community! Come chat with us on [Forum](https://forum.strapi.io/) or [Slack](https://slack.strapi.io/), or jump in on [Github](https://github.com/strapi/strapi) directly. We're always happy to meet new members of the Strapi family ❤️