|
1 | 1 | # Change Log
|
2 | 2 |
|
| 3 | +## XD Release 21.0.12 (July 2019) |
| 4 | + |
| 5 | +XD 21 adds major updates: the ability to **show panel UI**, and the much-improved **UXP 3 CSS & layout engine**. |
| 6 | + |
| 7 | +_The new layout engine likely constitutes a **breaking change** for any plugin with UI_ -- read below for details. |
| 8 | + |
| 9 | +### Plugin Panel UI |
| 10 | + |
| 11 | +* Plugins can now display UI persistently in a side panel. More information: |
| 12 | + * [How to define a panel](./reference/structure/handlers.md#panel) |
| 13 | + * [Panel overview / reference](./reference/ui/panels/index.md) |
| 14 | + * [Panel Quick Start tutorial](./tutorials/quick-start-panel/index.md) |
| 15 | + * [Migrating from dialogs to panels](./migrations/how-to-migrate-from-modal-to-panel.md) |
| 16 | +* A new default stylesheet is provided for plugin UI that renders inside a plugin. This means that UI that renders in one manner in a modal dialog may not render in the same exact manner in a panel. |
| 17 | + |
| 18 | +### UXP 3 HTML/CSS changes |
| 19 | + |
| 20 | +In order to gain access to most of these features, your plugin must _opt-in_ to the UXP 3.1 layout engine by changing the `minVersion` in your `manifest.json`: |
| 21 | + |
| 22 | +```json |
| 23 | + "host": { |
| 24 | + "minVersion": "21.0" |
| 25 | + } |
| 26 | +``` |
| 27 | + |
| 28 | +> **NOTE:** Without this change, your plugin will run in [backwards-compatibility mode](./migrations/uxp-2-to-3.md). |
| 29 | +
|
| 30 | +* **Layout engine** |
| 31 | + * **Inline layout** -- You now have the ability to write code like `<p>This is <a href="...">a link</a></p>` and have the link render _inline_ with the rest of the text |
| 32 | + * **Layout now defaults to inline** (no longer flexbox) -- _This may break existing plugin UI code:_ now `span` elements will render with `inline`, `button`s will render as `inline-block`, etc. |
| 33 | + * **`overflow` defaults to `visible`** (no longer `hidden`), per the web specification -- _This may break existing plugin UI code._ |
| 34 | + * `object-fit` -- to control the size of images |
| 35 | + * `z-index` |
| 36 | +* **SVG UI elements** |
| 37 | +* **New UI controls** |
| 38 | + * Radio buttons -- `<input type="radio" />` |
| 39 | + * Progress bars & spinners -- `<progress>` |
| 40 | +* **CSS improvements** |
| 41 | + * `linear-gradient()` |
| 42 | + * `outline` |
| 43 | + * More units! -- UXP now understands `rem`, `em`, `px`, `pt`, `vh`, `vw`, `cm`, `in`, etc. **NOTE:** UXP will now start ignoring values (other than `0`) that don't specify any units, which can break older plugin UI code. |
| 44 | + * CSS Variables -- easily apply themes and other layout to your plugin. |
| 45 | + * More pseudo-selectors -- `:lang` and `:focus` |
| 46 | + * `calc()` -- For example, `width: calc(100% - 9px)`. Note that you can mix units, just like you can on the web. |
| 47 | + * Inheritance -- The CSS parser now understands `initial`, `unset`, and `inherit`. You can also use `!important` to override styles (although you should use this as a last resort). |
| 48 | + * Default styles are now easier to override as the specificity in the default stylesheet has been reduced. |
| 49 | +* **Keyboard focus** -- Setting `tab-index` to `0` will now cause any element to be focusable. You can **not** yet control the tab order. |
| 50 | + |
| 51 | +### Known Issues |
| 52 | + |
| 53 | +See the [Known Issues page](./known-issues.md) for a comprehensive list of existing known issues. |
| 54 | + |
| 55 | + |
| 56 | +---- |
| 57 | + |
3 | 58 | ## XD Release 20.0.12 (June 2019)
|
4 | 59 |
|
5 | 60 | ### UI Changes
|
|
0 commit comments