@sstephenson sstephenson released this Aug 23, 2018 · 22 commits to master since this release

Assets 2
  • 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)
Pre-release

@sstephenson sstephenson released this Aug 1, 2018 · 34 commits to master since this release

Assets 2
  • 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)

@javan javan released this Feb 2, 2018 · 106 commits to master since this release

Assets 2
  • Fix inconsistent this.has*Target property names in different locales (#93)

@javan javan released this Jan 30, 2018 · 116 commits to master since this release

Assets 2
  • 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 old autoload 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 the event 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.

@javan javan released this Jan 30, 2018 · 234 commits to master since this release

Assets 2

Initial public release

Dec 29, 2017