# Upgrade guide for Grid v5.6.0

## New location for `Core.util.helper.Point` class

The `Core.util.helper.Point` class has been moved to solve circular module dependencies. It is now a named (`Point`)
export of the `Core.util.helper.Rectangle` module.

Changes are required if you are directly importing the class from sources:

**Old code:**

```javascript
import Point from 'path-to-lib/Core/helper/util/Point.js';
```

**New code:**

```javascript
import { Point } from 'path-to-lib/Core/helper/util/Rectangle.js';
```

Note: No changes required for importing from module or umd bundles.

## Export dialog `values` API has changed

Earlier implementation of `values` API applied transformation to the field names: `orientationField` -> `orientation`.
We rolled it back to default implementation used by `Container` and solved this task by providing a `name` field on every default widget.
If you added more widgets to the default dialog, check the `values` object of the dialog, you might need to configure
`name`.

## Filter feature changed to multi-filter by default

The Filter feature has changed to use the new [FieldFilterPicker](#Core/widget/FieldFilterPicker)-based
UI in its popup by default. (This mode was previously accessible using the `isMulti` flag, which is now
deprecated.)

The feature's context menus have also changed. Now, when right-clicking a grid cell or column header, the
filtering options are under a new Filter sub-menu. The available filter operators have also changed to
match the ones available in the FieldFilterPicker for the column's data type.

To provide custom configuration for the [GridFieldFilterPickerGroup](#Grid/widget/GridFieldFilterPickerGroup)
used in the popup UI, pass the new `pickerConfig` config to the Filter feature.

If you are using the `isMulti` flag in your Filter feature config, you can remove it as this mode is now
the default.

- Old `isMulti` feature configuration:

```javascript
{
  features : {
    filter : { isMulti : true }
  }
}
```

- New feature configuration (`isMulti` flag no longer required):

```javascript
{
  features : {
    filter : true
  }
}
```

To use the old UI instead, configure `legacyMode : true` on the Filter feature.

- Old feature configuration:

```javascript
{
  features : {
    filter : true
  }
}
```

- New feature configuration (to opt out of new UI and keep the old):

```javascript
{
  features : {
    filter : {
      legacyMode : true
    }
  }
}
```


<p class="last-modified">Last modified on 2023-10-26 8:19:11</p>