> ## Documentation Index
> Fetch the complete documentation index at: https://forest-docs-mcp-server-agent-url.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Upgrade to v3

> Help developers to move from v2 to v3. Please read carefully and integrate the following breaking changes to ensure a smooth update.

## Breaking changes

### Cors configuration

Set CORS `credentials: true` if you're using custom CORS configuration.

```javascript theme={null}
var express = require('express');
var cors = require('cors');

var app = express();

// ...

app.use(
  cors({
    origin: [/\.forestadmin\.com$/],
    allowedHeaders: ['Authorization', 'X-Requested-With', 'Content-Type'],
    credentials: true,
  })
);

// ...

module.exports = app;
```

### Global smart action

Smart actions defined as follows `global: true` will no longer be considered as global.

Please now use `type: 'global'`.SQLMongodb

**Before**

```javascript theme={null}
const Liana = require('forest-express-sequelize');
const models = require('../models');

Liana.collection('products', {
  actions: [
    {
      name: 'Import data',
      global: true,
    },
  ],
});
```

**After**

```javascript theme={null}
const Liana = require('forest-express-sequelize');
const models = require('../models');

Liana.collection('products', {
  actions: [
    {
      name: 'Import data',
      type: 'global',
    },
  ],
});
```

### Schema versioning

On server start - *only in development environments* - the agent will generate a `.forestadmin-schema.json` file reflecting your **Forest models**.

If you change your models, Forest will automatically load a new schema to keep the layout up to date. However, note that changes in your database will not be reflected in your models nor in your UI, unless you use `lumber update` (for Lumber) or update your models manually otherwise.

**Do not edit this file**. It will be automatically generated on server start **only in development environments**.

This file **must be deployed** for any remote environment (staging, production, etc.), as it will be used to generate your Forest UI.

**Version this file.** It will give you more visibility on the changes detected by Forest.

In the following example, we have added two fields on the `invoices` table:

* `emailSent`
* `quadernoId`

Versioning the`.forestadmin-schema.json` file allows you to easily visualize the changes.![](https://gblobscdn.gitbook.com/assets%2F-LR7SWfEwsNtj_ZiSkSA%2F-LcecOC6sl4pvNT7gLKI%2F-LcecRPYz9T0g_e16FWT%2Fversioning.png?alt=media\&token=ded5a007-ccc7-4dd9-82ee-f939cf667a9f).forestadmin-schema.json versioning example

## Changelogs

This release note covers only the major changes. To learn more, please refer to the changelogs in our different repositories:
​

* ​[Express-sequelize changelog](https://github.com/ForestAdmin/forest-express-sequelize/blob/master/CHANGELOG.md#release-300---2019-04-22)​
* ​[Express-mongoose changelog](https://github.com/ForestAdmin/forest-express-mongoose/blob/master/CHANGELOG.md#release-300---2019-04-22)​
