Skip to content

v3.0.0

Compare
Choose a tag to compare
@ahumphreys87 ahumphreys87 released this 23 Aug 10:51
· 437 commits to master since this release

🎉

v3.0.0

Version 3.0.0 of Marionette has arrived and contains many improvements over version
2.x but also some API Changes. Below is a list of the changes made to each component.

To help the community transition over we have released a v2 patch tool to assist
the upgrade. Marionette Patch Tool

View

  • LayoutView + ItemView merge and rename to View.
  • Marionette.View -> ViewMixin
  • Added LayoutView shortcut methods such as showChildView.
  • isDestroyed and isRendered made private with a public accessor method.
  • Now set _isDestroyed to false by default
  • Call Backbone.View with result of options (163188e)
  • CompositeView's renderChildren is now public.
  • Renamed childEvents to childViewEvents.
  • Removed passing view options as a function
  • Renamed templateHelpers to templateContext
  • Made sure before:render is triggered before emptying regions.
  • Regions are not attached directly to the layout. Use getRegion to access the region or showChildView to show a View within it.
  • Allowed CompositeView to attach to existing HTML with template:false
  • Added hasRegion for layouts
  • Enabled passing preventDestroy to region.empty.
  • View now removes its element before destroying child regions. There was an option to turn it on, but now it’s available by default. This helps remove all of the synchronous paints going up the tree.

CollectionView

  • The childView attribute now accepts a function
  • getChildView was removed
  • emptyView now accepts a function as an arg.
  • Proxied events do not append “this” as an argument
  • Removed the apply:filter event from CollectionView.
  • removeChildView now returns the removed view.

Regions

  • Fixed inconsistency in addRegion, it now behaves like addRegions and adds the region to internal this.regions.
  • View can replace regions's el.
  • Replaced region manager with region-mixin.
  • Removed static buildRegion
  • Removed swap events.

Application

  • Introduced region to Application (rootRegion)
  • Removed regions
  • Removed Initializers and Finalizers Callbacks
  • Removed Application vent, commands, requests

Object

  • Added support for Object.isDestroyed

ES6

  • Added Rest & Spread ES6 syntax
  • using ES6 Modules
  • Replaced var and let with const.

General Enhancements

  • Added DEV_MODE
  • Changed _.rest multiple arg usage to drop for lodash 3 support.
  • Behavior, View Mixins.
  • Added cid field to object, application, behavior, and region
  • Added TemplateCache options.
  • Allow a user to define trigger handlers in options.
  • Increased Lodash compatibility, (now supports upto lodash 4)
  • Added first class support for Backbone.Radio in Mn.Object
  • Updated BB and _ deps to modern versions
  • Updated Radio from 0.9 to 2.0
  • delegateEntityEvents. Delegate Events used to set delegate entity events, it was extracted because now backbone calls delegateEvent everytime the element is set.
  • Added Backbone.Babysitter to Mn and removed the Babysitter dependency.

Deprecations

  • Deprecated CompositeView
  • Deprecated Behavior Lookups.

Removed

  • Removed Marionette.Module - there’s a shim that you can pull in to get Module and Deferred
  • Removed Marionette.Deferred
  • Removed component.json
  • Removed Controller
  • Removed Callbacks
  • Removed Wreqr (replaced with Radio)
  • Removed actAsCollection
  • Removed _getValue.

API Renames

  • Renamed render:collection => render:children
  • Renamed bindEntityEvents => bindEvents.

v3.0.0-pre5

Documentation

  • Improved installation docs.
  • Updated CollectionView docs to reflect API changes.
  • Improved Behavior docs.
  • Improved functions docs.
  • Improved update guide.
  • Added "basics" docs.

API Changes

  • emptyView now accepts a function as an arg.
  • Removed the apply:filter event from CollectionView.
  • removeChildView now returns the removed view.
  • bindEntityEvents renamed bindEvents.
  • Deprecated Behavior Lookups.
  • Added Backbone.Babysitter to Mn and removed the Babysitter dependency.

Bug fixes

  • CollectionView now only triggers destroy:children if it has been rendered.
  • Parent views will now successfully listen for destroy in childViewEvents.

Misc

  • Replaced var and let with const.
  • Added consistent function declarations and added rules to eslint.
  • Tweaked peerDependencies to only allow patch versions.
  • Directory structure changes and file naming consistency.
  • Improved test coverage.
  • Removed bundled build.