If you are using **extensions** to create custom code or modifying existing code, you will need to update your code and compare your version to the new changes on the repository.
<br>
Not updating your **extensions** can break your app in unexpected ways that we cannot predict.
Then, update your `package.json` with the highest version given by the previous command.
**Example —** `package.json`
```json
{
// ...
"dependencies": {
"strapi": "$version",
"strapi-admin": "$version",
"strapi-connector-bookshelf": "$version",
"strapi-plugin-content-manager": "$version",
"strapi-plugin-content-type-builder": "$version",
"strapi-plugin-email": "$version",
"strapi-plugin-graphql": "$version",
"strapi-plugin-upload": "$version",
"strapi-plugin-users-permissions": "$version",
"strapi-utils": "$version"
}
}
```
:::tip NOTE
Make sure to replace `$version` with the highest version given by the previous command.
:::
Finally, update your `dependencies` with one of the following commands:
```bash
yarn install
# or
npm install
```
## 2. Define the admin JWT Token
This version comes with a new feature: Role & Permissions for the administrators. In the process, the authentication system for administrators has been updated and the `secret` used to encode the jwt token is not automatically generated anymore.
In order to make the login work again you need to define the `secret` you want to use in `server.js`.
In order to display your custom plugin link into the mail `LeftMenu` you need to update the plugin registration by adding `icon`, `name` and `menu` in the following file.