XD 18 was released today with a number of changes and improvements for plugins:
-
develop
folder location change (Mac only) – The “Adobe XD CC” folder was renamed to just “Adobe XD.” The contents of thedevelop
folder will automatically be moved to the new location the first time you launch XD 18. -
More text field controls –
<input>
typespassword
,number
, andsearch
-
Inline CSS in HTML – Inline
style
attributes work when usinginnerHTML
-
More CSS pseudo-classes –
:focus
and:lang()
-
Send
FormData
with XHR – This provides an easy way to post data to an endpoint expectingmultipart/form-data
. (But uploading binary files with Blob is not supported yet – use ArrayBuffer if your backend supports it). -
requestAnimationFrame() for UI – Complimenting the earlier addition of
setTimeout()
APIs, this new global API makes it easier to use certain UI libraries such as “react-virtualized” with fewer polyfills. -
Bug fixes for UI, network, and file IO APIs (see changelog below for full list).
- If you are using checkboxes with React one of these fixes may change the behavior of your code.
For further details on these API changes, see the updated changelog page or this complete diff of all docs changes.
Note: If you build a plugin that uses these new API capabilities, consider whether it’s possible to gracefully degrade to support older versions of XD (and please test in an older XD version to confirm it works!). But if your plugin absolutely requires XD 18, don’t forget to set your
manifest.json
file to specify"minVersion": "18.0"
.
There’s also one enhancement added in XD 18 for plugin users:
- Plugin listing displays new fields – The
summary
,languages
, andwebsite
fields that were recently added to the manifest are now displayed in the Discover/Manage Plugins UI.
XD 18 is a relatively minor release from the standpoint of user features (lots coming in XD 19!) so there is no general release blog post to link to this month.