This is a final maintenance release before Unpoly's next major feature drop in a few weeks.
This is also the last release with support for Internet Explorer 11. Future releases will support Chrome, Firefox, Edge and the last two majors of Safari.
The polling implementation was rewritten to fix many issues and edge cases:
[up-poll]
reloading very fast when the server responds with an X-Up-Target: :none
header (fixes #377).up:fragment:poll
event before every update. Listeners may prevent this event to skip the update.up.radio.startPolling()
no longer requires the server to respond with an [up-poll]
attribute.up.radio.startPolling()
no longer causes duplicate requests when an element is already polling.[up-poll]
attribute.[up-interval]
attribute.[up-source]
attribute.up:layer:dismiss
, up:layer:dismissed
, up:layer:accept
, up:layer:accepted
) have gained new useful properties:
{ value }
property is the overlay result value.{ origin }
property is the element that caused the element to close.label[for]
in an overlay would focus an input in a background layer if that input had a matching [id]
attribute.up.layer.config.overlay.class
. It can be used to configure a default HTML class for an overlay's container element.[up-keep]
fragment now retain their scroll positions during a fragment update.{ behavior: 'instant' }
instead of { behavior: 'auto' }
.up.element.createFromSelector()
and up.element.affix()
now also accept a { style }
option with a string value. It previously only accepted an object of camelCased CSS properties.up.request()
will automatically choose a layer based on a given { origin }
.up.fail()
has been removed from public API.unpoly-migrate.js
to enable deprecated APIs.
See our upgrading guide for details.