v6.0.0
Before you upgrade, please take note of any breaking changes and deprecation notices which may affect your site. View the Upgrade Guide to see examples of how to address breaking changes.
Breaking changes 💥
- IE8 is officially no longer supported. All IE8-related code, including CSS overrides, old ES5 shims and other JS workarounds, has been removed. https://github.com/unimelb/unimelb-design-system/pull/751
- To avoid confusion, alerts are now called notices to match the title of the documentation page. The type of the notice must now be specified with a separate class https://github.com/unimelb/unimelb-design-system/pull/782
<!-- BEFORE -->
<p class="alert-success">Success!</p>
<!-- AFTER -->
<p class="notice notice--success">Success!</p>
- The
tabbed-course
class is now deprecated. It was just an alias fortabbed-nav
, so you can use this class instead to implement full-width tabs. https://github.com/unimelb/unimelb-design-system/pull/792 - The local navigation markup has changed: the root element with
id=sitemap
must no longer have classno-js
. https://github.com/unimelb/unimelb-design-system/pull/752 - Diamond staff listing now requires
staff-listing-detailed--diamond
class<ul class="staff-listing-detailed staff-listing-detailed--diamond">...</ul>
- Sortable tables are no longer automatically sorted on page load. You can opt-in to this behaviour by adding the
data-sort-initial
attribute to the heading cell of the column you wish to sort. https://github.com/unimelb/unimelb-design-system/pull/811 - Deprecation notice: the following listings are deprecated and will be removed in the next version. Use the new
simple-listing
instead (see New features section below):- default listing (
listing
) - feature listing (2 and 3 columns:
feature-listing
,feature-listing-3
), - navigational block listing with text (3 and 4 columns + wide, narrow and stacked:
navigation-block-listing
,stacked
).
- default listing (
- The
top-unit
class in block listing has been deprecated for a while but was still being used in the example markup. Please check that your markup is in line with the updated example. https://github.com/unimelb/unimelb-design-system/pull/831
New features ✨
- Notices no longer have to be paragraphs https://github.com/unimelb/unimelb-design-system/pull/782
- Allow showing captions in gallery with class
image-gallery__caption
https://github.com/unimelb/unimelb-design-system/pull/804. The class can be added to:- the
figcaption
element in order to show the same caption in the gallery as in the viewer, - a separate paragraph element in order to show a different, shorter caption in the gallery.
- the
- Add variant classes for small and medium-width galleries:
image-gallery--small
andimage-gallery--medium
https://github.com/unimelb/unimelb-design-system/pull/804 - Brand new listing for logos, with vertical centring, no resizing or cropping of images, and ability to add link and short caption https://github.com/unimelb/unimelb-design-system/pull/812
- Tile with yellow strip for exhibition events in block listing - use class
exhibition
instead ofevent
https://github.com/unimelb/unimelb-design-system/pull/806 - Soft, back button with left pointing arrow https://github.com/unimelb/unimelb-design-system/pull/815
- Use attribute
data-sort-as="text"
on sortable table column to use simple text sorting algorithm (e.g. "1", "10", "2") instead of the default natural sorting algorithm (e.g. "1", "2", "10"). https://github.com/unimelb/unimelb-design-system/pull/811 - Allow disabling sorting on specific columns in sortable table with attribute
data-sort-skip
https://github.com/unimelb/unimelb-design-system/pull/814 - New simple listing to replace the now-deprecated default, feature and navigational block listings.
simple-listing
brings more consistent and semantic markup, and resolves a number of image sizing issues with the old listings. https://github.com/unimelb/unimelb-design-system/pull/813 - The local navigation markup no longer requires the use of
inner
containers for nesting - you can simply nest unordered lists without any extra markup. Note that for performance reasons, if your system does allow you to addinner
containers, you should - keep doing so. https://github.com/unimelb/unimelb-design-system/pull/820 - Allow adding a definition list below a search result's heading to display meta information (e.g. year and type for handbook results) https://github.com/unimelb/unimelb-design-system/pull/821
- Images in block listing can now be provided as background images with class
block-listing__img
. https://github.com/unimelb/unimelb-design-system/pull/831
Bug fixes 🐛
- Firefox prints only one page and ignores the rest of the document https://github.com/unimelb/unimelb-design-system/pull/756
- Lists inside notices don't inherit text colour https://github.com/unimelb/unimelb-design-system/pull/782
- Heading not left aligned in short course header when using
h1
instead ofh2
https://github.com/unimelb/unimelb-design-system/pull/788 - Jumpy behaviour when using multiple buttons side by side https://github.com/unimelb/unimelb-design-system/pull/789
- Blockquotes mis-aligned inside article https://github.com/unimelb/unimelb-design-system/pull/790
- Emphasised text inside
half
container hasdisplay: block
https://github.com/unimelb/unimelb-design-system/pull/791 - Gmaps overflow viewport on mobile https://github.com/unimelb/unimelb-design-system/pull/803
- Length of content affects size of staff listing detailed items https://github.com/unimelb/unimelb-design-system/pull/802
- Broken zoom icons when hovering thumbnails in gallery https://github.com/unimelb/unimelb-design-system/pull/804
- Janky animation when opening/closing gallery viewer https://github.com/unimelb/unimelb-design-system/pull/804
- Gallery looks really bad while loading https://github.com/unimelb/unimelb-design-system/pull/804
- Broken masonry layout in gallery on IE9 (all images stacked onto one column) https://github.com/unimelb/unimelb-design-system/pull/804
- Navigating back to a gallery page on which the viewer was open does not re-open the viewer https://github.com/unimelb/unimelb-design-system/pull/804
- SVG elements injected by the design system are focusable when navigating with the keyboard in IE - Headings in
course-progression
table are indistinguishable https://github.com/unimelb/unimelb-design-system/pull/799 - Unexpected scrolling in single-block-open accordion https://github.com/unimelb/unimelb-design-system/pull/800
- Default and feature listings don't deal with images very well. Workarounds have been implemented, including the addition of a helper class
listing--crop-height
to crop images to a fixed height, but the listings are now deprecated and will be removed in the next version. The new simple listing must be used instead (see New features section above). https://github.com/unimelb/unimelb-design-system/pull/806 - Similarly, in block listing, you can now wrap images inside containers with class
crop-height
to fix image sizing issues, but a better solution has been implemented in the form of background images. https://github.com/unimelb/unimelb-design-system/pull/806 https://github.com/unimelb/unimelb-design-system/pull/831 - Text in hero listing items is misaligned https://github.com/unimelb/unimelb-design-system/pull/806
- Image in all-day event tile in block listing is misaligned https://github.com/unimelb/unimelb-design-system/pull/806
- Tiles without links in block listing have same hover state as tiles with links - use class
no-anim
to remove hover effects https://github.com/unimelb/unimelb-design-system/pull/806 - Sorting issues in sortable tables, especially with currency and patterned data (e.g. unit codes). Now using the browser's built-in natural sorting algorithm by default. https://github.com/unimelb/unimelb-design-system/pull/811
Advanced breaking changes 💥
If you're an advanced user and have written your own CSS overrides or used the design system's JS APIs, please review the following additional breaking changes:
- Browser styles are now normalised with
normalize.css
, andbutton
,input
,optgroup
,select
, andtextarea
elements inherit theirfont-size
,font-family
andline-height
from their parent. This fixes a few consistency issues across browsers and implementations, especially with buttons (which can be implemented with<button>
,<input>
and<a>
). If you wrote your own CSS overrides, you may be able to clean them up a little by removing declarations already covered bynormalize.css
. https://github.com/unimelb/unimelb-design-system/pull/763 - Elements with class or attribute
hidden
are now forcibly hidden withdisplay: none !important;
. Although this should not break anything, it may uncover bugs where the hidden class or attribute was being set by mistake. Any overrides meant to work around this issue can now be removed (see PR https://github.com/unimelb/unimelb-design-system/pull/797 for examples). window.loadScript()
now returns a promise instead of accepting a callback: https://github.com/unimelb/unimelb-design-system/pull/762
// BEFORE
window.loadScript('https://some.url', function () {
// success callback
});
// AFTER
window.loadScript('https://some.url')
.then(function () {
// success callback
})
.catch(function () {
// failure callback (script failed to load or an exception occurred in the success callback)
});
- The design system now polyfills ES6 Promises with es6-promise, a strict implementation of the specification. If you're using the same polyfill on your site, you can now remove it. If you are using a more powerful Promise library, you should consider updating your code to work without it. https://github.com/unimelb/unimelb-design-system/pull/762
icon-over
elements are no longer injected when binding icons, so you can safely remove any styles targeting them https://github.com/unimelb/unimelb-design-system/pull/795- The injected markup (as opposed to the initial, documented markup) for the local navigation has changed significantly. Some elements have changed and the CSS now refers to a number of new HTML classes that are dynamically added with JS. If you've hacked around the local nav with JS or written CSS overrides, make sure to update your code.
Other changes
- Add shop to global sitemap https://github.com/unimelb/unimelb-design-system/pull/765
- Improve accessibility of injected navigation https://github.com/unimelb/unimelb-design-system/pull/798
- Centre caption in gallery viewer https://github.com/unimelb/unimelb-design-system/pull/804
- Manage focus in accordions to improve accessibility and fix sticky outlines https://github.com/unimelb/unimelb-design-system/pull/799
- Improve design of
course-progression
table https://github.com/unimelb/unimelb-design-system/pull/799 - Improve accessibility of local nav by using more semantic markup (
button
rather thanspan
elements) and underlining links on hover https://github.com/unimelb/unimelb-design-system/pull/820 - Speed up webpack builds and fix hot module replacement https://github.com/unimelb/unimelb-design-system/pull/758
- Remove static builds from codebase https://github.com/unimelb/unimelb-design-system/pull/785
- Simplify development workflow:
- Remove need to set IP in
.env
to be able to test on virtual machine 938de2f - Remove Rack environment variables
PORT
andMODE
. If you have cloned the design system repository on your computer, please update your.env
file based on.env.example
https://github.com/unimelb/unimelb-design-system/pull/758 - Keep only one Procfile; the one needed for local development https://github.com/unimelb/unimelb-design-system/pull/785
- Add three NPM scripts for convenience:
npm start
to callbundle exec foreman start
,npm run dev
to start the development server, andnpm run shrink
to updatenpm-shrinkwrap.json
https://github.com/unimelb/unimelb-design-system/pull/758
- Remove need to set IP in
- Upgrade Node.js from v6.5.0 to v6.9.3 https://github.com/unimelb/unimelb-design-system/pull/757 https://github.com/unimelb/unimelb-design-system/pull/793
- Update Ruby and gems
- Load vendor dependencies asynchronously from third-party CDN instead of including them in the bundle at build time - e.g. Isotope, Photoswipe, etc. https://github.com/unimelb/unimelb-design-system/pull/762
- Improve management of static assets like images. Check out the PR for more information (note the change to the
CDNURL
environment variable). https://github.com/unimelb/unimelb-design-system/pull/766 - Remove
target.js
files, and useindex.js
andindex.es6
files as webpack entries directly https://github.com/unimelb/unimelb-design-system/pull/793 - Track design system version https://github.com/unimelb/unimelb-design-system/pull/829