XD 20 Updates for Plugin Developers: Plugins Panel, New APIs, and More

Steve Kwak
Jun 18, 2019 · 4 min read

As always, we are excited to announce updates for XD plugin developers with this month’s release of Adobe XD. In XD 20, there are several important changes that developers need to know about and a few new APIs:

  • Plugins Panel
  • 24px icon requirement
  • Menu item naming enforcement
  • Superscript and Subscript APIs

These new capabilities will dramatically improve the experience of discovering, accessing, and working with plugins in XD. Let’s get into the details!

The Plugins Panel

The Plugins Panel is a new panel on the left side of XD where a user can access and interact with plugins directly. The panel will display a list of a user’s currently installed plugins and, for any plugins with additional options available, a submenu that a user can expand. Users can also click the “+” icon in the top-right of the panel to launch the Plugin Manager and install new plugins.

If a user has no installed plugins, an image will appear in the panel prompting the user to explore the Plugin Manager to find plugins.

The addition of the Plugins Panel will get us ready for new types of plugins in XD 21: panel-based plugins. We will describe panel plugins in detail in our XD 21 release post. Here is a quick sneak peek:

Note: this is a sample design created by Adobe

Menu item naming enforcement

Here is a list of changes of how XD interprets your manifest:

  • If a plugin has a single top-level menu entry, regardless of whether it’s a command or submenu (i.e. in your manifest, uiEntryPoints array length is 1), the plugin’s name is always used as the menu item label. This means that the label field is ignored in this scenario and XD prints a warning to the developer console to let you know.
  • If a plugin has a single submenu with only one sub-item, the same rule applies as above.
  • If a plugin has multiple top-level menu entries, they are listed under a single top-level menu whose label is the plugin name and XD prints a warning in the developer console.

This menu item naming enforcement was implemented based on user feedback in order to improve the plugin experience. Let us know if you have any further feedback or suggestions.

24px icon requirement

The icon size requirement does not impact plugins that are already shipping in the XD Plugin Manager. However, the next time you go to update your plugin (or the first time you ship a plugin), be sure to provide a 24px icon (the Adobe Developer Console will remind you if you forget) in your manifest.

New superscript and subscript APIs

// Let's assume what user has selected is a text node
const text = selection.items[0];
text.textScript = "superscript";
// Let's assume what user has selected is a text node
const text = selection.items[0];
text.textScript = "subscript";

Refer to the documentation on adobexdplatform.com.

These new APIs are already available in the latest version of XD, so make sure to update XD to the latest version. Here are some useful links for exploring these new APIs:

Hope this gives you a good summary of what plugin API changes you can expect in this new release. Leave comments below if you have any questions, or feel free to chat with us in the XD Developer Forum!

Adobe Tech Blog

News, updates, and thoughts related to Adobe, developers…

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store