Releases: hotwired/stimulus
v2.0.0
- NEW: Values and CSS classes APIs (#202)
- NEW: Support for DOM event listener options (#232)
- CHANGED: Target attributes are now scoped by identifier (2235047)
- CHANGED: Default event for text inputs from
change
toinput
(14ba2ab, #248) - FIXED: Invoking actions for events dispatched during connect (6129975, #222)
- FIXED: Error using SVG elements in IE 11 (aa76e25, #274)
- FIXED: Nested global action binding (2b6facc, #307)
If you're upgrading from a previous version of Stimulus, note that the syntax for target attributes has changed to move the controller identifier into the attribute's name. The new format is data-[identifier]-target="[name]"
instead of data-target="[identifier].[name]"
. You can still use the old syntax, but you will see a warning in the console, and support will be removed in a future version.
The data map API from Stimulus 1.0 will continue to work but is no longer documented and should be considered internal. We suggest migrating to the new values API.
v1.1.1
v1.1.0
- NEW: Stimulus Reference documentation
- NEW: Ordered actions (#149)
- NEW: @stimulus/polyfills package for legacy browser support (#134, #147, #170)
- CHANGED: Applications now start when the DOM is interactive (#131)
- CHANGED: Unminified UMD module for easier debugging (#151)
- FIXED: Stimulus now accounts for missing mutation notifications from nodes removed by
innerHTML
assignment in IE 11 (#133) and, in rare cases, when annotating elements synchronously after removing them from an observed tree (#161) - INTERNAL: Upgraded to TypeScript 2.8.1 and Lerna 3.0.0-rc.0
- INTERNAL: New build system (#155)
v1.1.0-beta.1
- NEW: Ordered actions (#149)
- NEW: @stimulus/polyfills package for legacy browser support (#134, #147, #170)
- CHANGED: Applications now start when the DOM is interactive (#131)
- CHANGED: Unminified UMD module for easier debugging (#151)
- FIXED: Stimulus now accounts for missing mutation notifications from nodes removed by
innerHTML
assignment in IE 11 (#133) and, in rare cases, when annotating elements synchronously after removing them from an observed tree (#161) - INTERNAL: Upgraded to TypeScript 2.8.1 and Lerna 3.0.0-rc.0
- INTERNAL: New build system (#155)
v1.0.1
v1.0.0
-
NEW: Linked target properties (#61, #68)
Define a controller's target names and Stimulus automatically creates properties for accessing them:
export default class extends Controller { static targets = [ "source" ] initialize() { this.sourceTarget // Element this.sourceTargets // Element[] this.hasSourceTarget // boolean } }
-
NEW: Configurable error handler (#53)
const application = Application.start() application.handleError = (error, message, detail) => { console.warn(message, detail) Raven.captureException(error) }
-
NEW: Namespaced identifiers (#65)
If your controller file is named… its identifier will be… list_item_controller.js list-item users/list_item_controller.js users--list-item -
CHANGED: Controller autoloading with webpack (#46)
A new
definitionsFromContext
helper replaces the oldautoload
helper:const application = Application.start() -const context = require.context("./controllers", true, /\.js$/) -autoload(context, application) +const context = require.context("./controllers", true, /\.js$/) +application.load(definitionsFromContext(context))
-
REMOVED: Action method event target argument (#55)
Previously, action methods were invoked with two arguments:
event
,eventTarget
. Now, only theevent
is passed:-greet(event, eventTarget) { - console.log(event, eventTarget) +greet(event) { + console.log(event, event.target) }
-
REMOVED: Controller#{add,remove}Action (#50)
Noted for posterity since these methods were undocumented.