Upgrade guides

Ask a question

The following lists all of the backward incompatible changes and their alternatives. If no alternative is provided, advice will be given on how to proceed.

Upgrading from 7.0 to 7.1

AUI 7.1 introduces the colours and typography from the latest Atlassian Design Guidelines in to a majority of AUI's components.

The new font family has a different x-height and letter spacing, and can differ between operating systems. While most line-heights and vertical spacing has been preserved, some change in the flow of content on a page is inevitable. As a result, some assumptions about available horizontal space may need to be revised.

A change of page and component colours will mean that any hard-coded hex, hsl, or rgb values in your CSS may clash with the colours that AUI now uses. If you provide a look-and-feel feature, the values provided by that feature will also clash with AUI's and will need revision.
It is recommended you use a CSS pre-processing system to declare your colour usages with variables, such that replacement of the colour values can be done in a single location.

At a technical implementation level, the new colour and typography definitions used in AUI are consumed via a shared Node package called @atlaskit/util-shared-styles. AUI consumes this package in its LESS files, whose values are substituted at build-time. A consequence of this implementation strategy is that direct consumption of AUI's source will fail, as this dependency will not be resolvable via AUI's Node package, nor through standard LESSimport behaviour.
We recognise the desire to re-use the same values that AUI uses in its CSS, and are working on a supported solution — follow AUI-4477 for more details.

Upgrading from 6.x to 7

The AUI license

The primary change between AUI 6.x and 7 is the license under which AUI is distributed.

AUI 7 is licensed under the Atlassian Developer Terms instead of Apache-2.0.

The Atlassian Developer Terms license allows third party developers to use Atlassian's SDKs to develop for the Atlassian marketplace. Applying this license to AUI means:

  • If you're using AUI to build something for use within the Atlassian ecosystem, nothing changes for you. For example, if you are building a P2 plugin for a Server product, or building an Atlassian Connect app, you can continue to use AUI.
  • For other usages, you may be unable to use the new version of AUI.

If you are using AUI 6.x or earlier, its Apache-2.0 license will continue to apply.

In short: if you're using AUI to build something that is *NOT* for use within the Atlassian ecosystem, you cannot use AUI 7.x, but you can continue to use AUI 6.x.

Distribution changes

AUI ships as a Node package on npmjs.com. This package includes and applies all the design assets from the Atlassian Design Guidelines to the AUI components and patterns.

Now that the ADG assets ship via the AUI Node package, and given the sunsetting of Bower, the aui-dist and aui-adg-dist repositories are also deprecated; no further distribution zip files will be published there.
The recommended approach to retrieving the flat-packed distribution files is via the dist/ folder in the Node package. Alternatively, the flat-pack zip file is pushed to Atlassian's Artifactory repository , though this method of delivery may disappear in the future.

From AUI 7 onwards, AUI is not published to its own CDN any more. For production services, it is recommended to bundle the AUI resources with your own. For prototyping and development, the contents of the Node package can be served through unpkg.com.

Upgrading from 5.8.x to 5.9

Inline dialog

Tag name

Inline dialog 1 is still deprecated but usable via the imperative AUI.InlineDialog() API. However, the Inline Dialog 2 custom element has been renamed to Inline Dialog.

persistent property / attribute

The persistent attribute is now a boolean attribute.

Boolean attributes

Now that persistent is a boolean attribute, this means that if you set persistent="false", it will be interpreted as true.

Events

Event listeners now do not contain the component prefix. They are only prefixed with aui-. This will be a convention for everything moving forward.

Methods removed in favour of open property / attribute

The hide(), isVisible() and show() methods have all been removed in lieu of a single open property / attribute.