Skip to main content

Breaking changes

Cors configuration

Set CORS credentials: true if you’re using custom CORS configuration.
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
const Liana = require('forest-express-sequelize');
const models = require('../models');

Liana.collection('products', {
  actions: [
    {
      name: 'Import data',
      global: true,
    },
  ],
});
After
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..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: ​