---
area: "Changes"
parent: "Changes"
url: "https://unpoly.com/changes/0.28.0"
released: "2016-08-09"
---
<nav aria-label="Unpoly docs">[All docs](https://unpoly.com/index.md) · [Changes](https://unpoly.com/changes.md)</nav>

# Version 0.28.0

Released on August 09, 2016 with [16 commits](https://github.com/unpoly/unpoly/commits/v0.28.0)

## Compatible changes {#compatible-changes}

- The error notification is now easier to read and can be closed.
- When a target selector was not found in the response, the error notification now offers a link to re-request the response for inspection.
- [Compilers](https://unpoly.com/api/up.compiler.md) can now return an array of functions that will _all_ be called when the element is destroyed.
- [`up.observe()`](https://unpoly.com/api/up.observe.md) now works on checkboxes and radio buttons.
- [`up.observe()`](https://unpoly.com/api/up.observe.md) can now be called with multiple form fields, or any container that contains form fields.
- When opening a [modal](https://unpoly.com/up.modal) you can now pass an option `{ closable: false }` or set an `up-closable='false'` attribute This lets you disable the default methods to close a modal (close button, clicking on the backdrop, pressing ESC). You can also configure this globally by setting [`up.modal.config.closable`](https://unpoly.com/api/up.modal.config.md).
- Fix a bug where [`up.observe(form, options)`](https://unpoly.com/api/up.observe.md) would not respect options.
- Fix a bug where [`up.autosubmit(form)`](https://unpoly.com/api/up.autosubmit.md) was not published.
- Fix a bug where falling back to non-AJAX page loads on old browsers would not work

## Breaking changes {#breaking-changes}

- 🧩 `up.error()` has been renamed to [`up.fail()`](https://unpoly.com/up.fail) in order to prevent confusion with [`up.log.error()`](https://unpoly.com/up.log.error).

