This is a final maintenance release before Unpoly's next major feature drop in a few weeks.
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.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.
If you're upgrading from an older Unpoly version you should load unpoly-migrate.js
to polyfill deprecated APIs.
Changes handled by unpoly-migrate.js
are not considered breaking changes.
See our upgrading guide for details.