v3.0.0 Changelog #3137

Merged
merged 2 commits into from Aug 23, 2016

Projects

None yet

6 participants

@ahumphreys87
Member

No description provided.

@coveralls

Coverage Status

Coverage remained the same at 100.0% when pulling 756b29d on ahumphreys87:v3-changelog into be69b37 on marionettejs:next.

@ahumphreys87 ahumphreys87 v3.0.0 Changelog
c10d8c0
@coveralls

Coverage Status

Coverage remained the same at 100.0% when pulling c10d8c0 on ahumphreys87:v3-changelog into be69b37 on marionettejs:next.

@coveralls

Coverage Status

Coverage remained the same at 100.0% when pulling f59403e on ahumphreys87:v3-changelog into be69b37 on marionettejs:next.

@scott-w scott-w commented on an outdated diff Aug 21, 2016
ISSUE_TEMPLATE.md
@@ -0,0 +1,21 @@
+### Description
+
+ 1. The problem you are facing (in as much detail as is necessary to describe the problem to someone who doesn't know anything about the system you're building)
+ 2. A summary of the proposed solution
+ 3. A description of how this solution solves the problem, in more detail than item #2
+ 4. Any additional discussion on possible problems this might introduce, questions that you have related to the changes, etc.
+
+### Expected behavior
+
+Tell us what you think should happend.
@scott-w scott-w commented on an outdated diff Aug 21, 2016
ISSUE_TEMPLATE.md
@@ -0,0 +1,21 @@
+### Description
+
+ 1. The problem you are facing (in as much detail as is necessary to describe the problem to someone who doesn't know anything about the system you're building)
+ 2. A summary of the proposed solution
+ 3. A description of how this solution solves the problem, in more detail than item #2
+ 4. Any additional discussion on possible problems this might introduce, questions that you have related to the changes, etc.
+
+### Expected behavior
+
+Tell us what you think should happend.
+
+### Actual behavior
+
+If it is possible, please create a small demo that demonstrates the issue.
@scott-w
scott-w Aug 21, 2016 Member

If possible, please create...

@scott-w scott-w commented on an outdated diff Aug 21, 2016
+* Call `Backbone.View` with result of options (163188eeb8)
+* Make `CompositeView`'s `renderChildren` public.
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
+* Enable passing `preventDestroy` to `region.empty`.
+* `LayoutView` should remove its element before destroying child regions. There's now 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
+* Accept `ChildView` as a function
@scott-w
scott-w Aug 21, 2016 Member

The childView attribute now accepts a function

@scott-w scott-w commented on an outdated diff Aug 21, 2016
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
+* Enable passing `preventDestroy` to `region.empty`.
+* `LayoutView` should remove its element before destroying child regions. There's now 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
+* Accept `ChildView` as a function
+* Check if filter is set
+* `CollectionView.destroyChildren` now triggers `destroy:children`
+* ChildView now accepts a function instead of using `getChildView` which was removed
@scott-w
scott-w Aug 21, 2016 Member

getChildView has been removed.

Also, move this to just under the point about childView above

@scott-w scott-w commented on an outdated diff Aug 21, 2016
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
+* Enable passing `preventDestroy` to `region.empty`.
+* `LayoutView` should remove its element before destroying child regions. There's now 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
+* Accept `ChildView` as a function
+* Check if filter is set
+* `CollectionView.destroyChildren` now triggers `destroy:children`
+* ChildView now accepts a function instead of using `getChildView` which was removed
+* Proxied events do not append “this” as an argument
+* `emptyView` now accepts a function as an arg.
@scott-w
scott-w Aug 21, 2016 Member

This should go just under the points about childView

@scott-w scott-w commented on an outdated diff Aug 21, 2016
+#### CollectionView
+* Accept `ChildView` as a function
+* Check if filter is set
+* `CollectionView.destroyChildren` now triggers `destroy:children`
+* ChildView now accepts a function instead of using `getChildView` which was removed
+* Proxied events do not append “this” as an argument
+* `emptyView` now accepts a function as an arg.
+* Removed the `apply:filter` event from `CollectionView`.
+* `removeChildView` now returns the removed view.
+
+#### Regions
+* Fix inconsistency in `addRegion`, it now behaves like `addRegions` and adds the region to internal this.regions.
+* `View` can replace regions's el.
+* Replace region manager with `region-mixin`.
+* Removed static `buildRegion`
+* Removed `swap` events.
@scott-w
scott-w Aug 21, 2016 Member

Is it worth re-iterating that view.regionName is deprecated and should be replaced with view.getRegion('regionName')?

@scott-w scott-w commented on an outdated diff Aug 21, 2016
+* Remove regions
+* Remove Initializers and Finalizers Callbacks
+* Remove Application `vent`, `commands`, `requests`
+
+#### Object
+* Added support for `Object.isDestroyed`
+
+#### ES6
+* Add Rest & Spread ES6 syntax
+* Use ES6 Modules
+* Replaced `var` and `let` with `const`.
+
+#### General Enhancements
+* Add `DEV_MODE`
+* Add Marionette feature flags
+* Change _.rest multiple arg usage to drop for lodash 3 support.
@scott-w
scott-w Aug 21, 2016 edited Member

Use _.rest or _.rest to help the md syntax highlighting

@rafde rafde and 1 other commented on an outdated diff Aug 21, 2016
+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] (https://github.com/marionettejs/marionette-v3-compat)
+
+#### View
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
+* `isDestroyed` and `isRendered` need to be made private with a public accessor method.
+* Add `before:show` event to `ChildView` when added after show
+* Call `Backbone.View` with result of options (163188eeb8)
+* Make `CompositeView`'s `renderChildren` public.
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
@rafde
rafde Aug 21, 2016 Member

I don't know what is meant by default breaking or function breaking. Is it just me?

@paulfalgout
paulfalgout Aug 22, 2016 Member

I think some of this is relics of the path to v3.. Yes at some point we set isDestroyed to false.. but then later we made it _isDestroyed and isDestroyed is now a function returning _isDestroyed which is a bigger deal.

@rafde rafde commented on an outdated diff Aug 21, 2016
+* Upgraded 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
+* Deprecate `CompositeView`
+* Deprecated `Behavior` Lookups.
+
+#### Removed
+* Remove `Marionette.Module` - there’s a shim that you can pull in to get Module and Deferred
+* Remove `Marionette.Deferred`
+* Remove `component.json`
+* Remove `Controller`
+* Remove `Callbacks`
+* Remove `Wreqr` (replaced with `Radio`)
+* `actAsCollection`
@rafde
rafde Aug 21, 2016 Member

Remove actAsCollection

for consistency.

@rafde rafde commented on an outdated diff Aug 21, 2016
+### v2.4.6 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.5...v2.4.6)
+
+#### Misc
+
+* Updated Backbone dependency to 1.3.x.
+
+### v2.4.5 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.4...v2.4.5)
+
+#### Fixes
+
+* `Marionette.View#ui` will now bind events when names are hyphenated.
+* Nonexistent event handlers now fail silently.
+
+#### Misc
+
+* Updated Backbone dependency to 1.3.2.
@rafde
rafde Aug 21, 2016 Member

Since 1.3.2 is canonical, should be 1.3.3

@rafde rafde and 1 other commented on an outdated diff Aug 21, 2016
* Sensible defaults: Underscore templates are used for view rendering
-* Easily modifiable: make it work with your application's specific needs
-* Reduce boilerplate for views, with specialized view types
-* Build on a modular architecture with an `Application` and modules that attach to it
-* Compose your application's visuals at runtime with `View` and `regions`
-* Nested views and layouts within visual regions
-* Built-in memory management and zombie-killing in views and regions
-* Event-driven architecture with `Backbone.Radio`
-* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* Easily modifiable: works with the specific needs of your application
+* Reduce boilerplate: for all views, including specialized types
+* Create: application visuals at runtime with `Region` and `LayoutView` objects
+* Nested: views and layouts within visual regions
+* Built-in: memory management and zombie-killing for views, layoutViews and regions
+* Event-driven architecture: utilizing the `Backbone.Wreqr.EventAggregator`
@rafde
rafde Aug 21, 2016 Member

Backbone.Wreqr.EventAggregator still being used?

@paulfalgout
paulfalgout Aug 22, 2016 Member

Nope. this is coming over from master. Someone wanted to reformat the key benefits.. I actually think there'd be benefit in redoing it entirely.. but for now just fixing the issue like you've noted is probably good enough.

@rafde rafde commented on an outdated diff Aug 22, 2016
* Sensible defaults: Underscore templates are used for view rendering
-* Easily modifiable: make it work with your application's specific needs
-* Reduce boilerplate for views, with specialized view types
-* Build on a modular architecture with an `Application` and modules that attach to it
-* Compose your application's visuals at runtime with `View` and `regions`
-* Nested views and layouts within visual regions
-* Built-in memory management and zombie-killing in views and regions
-* Event-driven architecture with `Backbone.Radio`
-* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* Easily modifiable: works with the specific needs of your application
+* Reduce boilerplate: for all views, including specialized types
+* Create: application visuals at runtime with `Region` and `LayoutView` objects
@rafde
rafde Aug 22, 2016 Member

Create: application visuals at runtime with Region and View.

Although I am not sure what this means or if it's a needed statement.

@rafde rafde commented on an outdated diff Aug 22, 2016
* Sensible defaults: Underscore templates are used for view rendering
-* Easily modifiable: make it work with your application's specific needs
-* Reduce boilerplate for views, with specialized view types
-* Build on a modular architecture with an `Application` and modules that attach to it
-* Compose your application's visuals at runtime with `View` and `regions`
-* Nested views and layouts within visual regions
-* Built-in memory management and zombie-killing in views and regions
-* Event-driven architecture with `Backbone.Radio`
-* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* Easily modifiable: works with the specific needs of your application
+* Reduce boilerplate: for all views, including specialized types
+* Create: application visuals at runtime with `Region` and `LayoutView` objects
+* Nested: views and layouts within visual regions
@rafde
rafde Aug 22, 2016 Member
  • Nested: Views and CollectionView within visual Regions.
@rafde rafde commented on an outdated diff Aug 22, 2016
* Sensible defaults: Underscore templates are used for view rendering
-* Easily modifiable: make it work with your application's specific needs
-* Reduce boilerplate for views, with specialized view types
-* Build on a modular architecture with an `Application` and modules that attach to it
-* Compose your application's visuals at runtime with `View` and `regions`
-* Nested views and layouts within visual regions
-* Built-in memory management and zombie-killing in views and regions
-* Event-driven architecture with `Backbone.Radio`
-* Flexible, "as-needed" architecture allowing you to pick and choose what you need
+* Easily modifiable: works with the specific needs of your application
+* Reduce boilerplate: for all views, including specialized types
+* Create: application visuals at runtime with `Region` and `LayoutView` objects
+* Nested: views and layouts within visual regions
+* Built-in: memory management and zombie-killing for views, layoutViews and regions
@rafde
rafde Aug 22, 2016 Member
  • Built-in: memory management and zombie-killing for Views, CollectionViews and Regions
@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
@@ -1,3 +1,95 @@
+### 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] (https://github.com/marionettejs/marionette-v3-compat)
+
+#### View
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
+* `isDestroyed` and `isRendered` need to be made private with a public accessor method.
@paulfalgout
paulfalgout Aug 22, 2016 Member
+
- need to be
@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
@@ -1,3 +1,95 @@
+### 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] (https://github.com/marionettejs/marionette-v3-compat)
+
+#### View
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
@paulfalgout
paulfalgout Aug 22, 2016 Member

I'm not sure what this means? showChildView is my guess

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
@@ -1,3 +1,95 @@
+### 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] (https://github.com/marionettejs/marionette-v3-compat)
+
+#### View
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
+* `isDestroyed` and `isRendered` need to be made private with a public accessor method.
+* Add `before:show` event to `ChildView` when added after show
@paulfalgout
paulfalgout Aug 22, 2016 Member

This was true.. but then later we removed the before:show event from the ChildView entirely.. so this can go

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
+the upgrade. [Marionette Patch Tool] (https://github.com/marionettejs/marionette-v3-compat)
+
+#### View
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
+* `isDestroyed` and `isRendered` need to be made private with a public accessor method.
+* Add `before:show` event to `ChildView` when added after show
+* Call `Backbone.View` with result of options (163188eeb8)
+* Make `CompositeView`'s `renderChildren` public.
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
@paulfalgout
paulfalgout Aug 22, 2016 Member

I think we should recommend showChildView or getRegion

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
+* `LayoutView` + `ItemView` merge and rename to `View`.
+* `Marionette.View` -> `ViewMixin`
+* Add `LayoutView` shortcut methods
+* `isDestroyed` and `isRendered` need to be made private with a public accessor method.
+* Add `before:show` event to `ChildView` when added after show
+* Call `Backbone.View` with result of options (163188eeb8)
+* Make `CompositeView`'s `renderChildren` public.
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
@paulfalgout
paulfalgout Aug 22, 2016 Member

This is truish Really this function was made useless by the fact that childView itself can now take a function returning a View. There now is a related function called _getChildView but it isn't what getChildView was.

@paulfalgout
paulfalgout Aug 22, 2016 Member

Oh also.. this is for CollectionView.. On a regular view getChildView is the same as in v2.x nothing was changed or privatized.

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
+* Enable passing `preventDestroy` to `region.empty`.
+* `LayoutView` should remove its element before destroying child regions. There's now 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
+* Accept `ChildView` as a function
+* Check if filter is set
+* `CollectionView.destroyChildren` now triggers `destroy:children`
@paulfalgout
paulfalgout Aug 22, 2016 Member

destroyChildren is private in v3. so this may not matter now.

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
+* Make `CompositeView`'s `renderChildren` public.
+* Rename `childEvents` to `childViewEvents`.
+* View: set `isDestroyed` to false by default breaking
+* Remove passing view options as a function breaking
+* Rename `templateHelpers` to `templateContext`
+* Make sure `before:render` is triggered before emptying regions.
+* Regions are not attached directly to the layout. Use `getRegion` instead.
+* Allow `CompositeView` to attach to existing HTML with `template:false`
+* Add `hasRegion` for layouts
+* Make `getChildView` private
+* Enable passing `preventDestroy` to `region.empty`.
+* `LayoutView` should remove its element before destroying child regions. There's now 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
+* Accept `ChildView` as a function
+* Check if filter is set
@paulfalgout
paulfalgout Aug 22, 2016 Member

not sure what this is

@paulfalgout paulfalgout commented on an outdated diff Aug 22, 2016
+* Introduce region to `Application` (`rootRegion`)
+* Remove regions
+* Remove Initializers and Finalizers Callbacks
+* Remove Application `vent`, `commands`, `requests`
+
+#### Object
+* Added support for `Object.isDestroyed`
+
+#### ES6
+* Add Rest & Spread ES6 syntax
+* Use ES6 Modules
+* Replaced `var` and `let` with `const`.
+
+#### General Enhancements
+* Add `DEV_MODE`
+* Add Marionette feature flags
@paulfalgout
paulfalgout Aug 22, 2016 Member

v2 has feature flags too

@paulfalgout paulfalgout and 1 other commented on an outdated diff Aug 22, 2016
+* `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
+* Deprecate `CompositeView`
+* Deprecated `Behavior` Lookups.
+
+#### Removed
+* Remove `Marionette.Module` - there’s a shim that you can pull in to get Module and Deferred
+* Remove `Marionette.Deferred`
+* Remove `component.json`
+* Remove `Controller`
+* Remove `Callbacks`
+* Remove `Wreqr` (replaced with `Radio`)
+* `actAsCollection`
+* Removed `getValue` and internal `getOption`.
@paulfalgout
paulfalgout Aug 22, 2016 Member

In v2 _getValue is private.. it was first made public and then removed.. then getOption is no longer used inside the Mn code.

@scott-w
scott-w Aug 22, 2016 Member

My understanding is that getOption is still available as an external API?

@paulfalgout
paulfalgout Aug 22, 2016 Member

Correct. It just isn't used inside the library.

@scott-w scott-w added this to the v3.0.0 milestone Aug 22, 2016
@scott-w scott-w added the docs label Aug 22, 2016
@ahumphreys87 ahumphreys87 Manually merge changes from master
20ac041
@coveralls

Coverage Status

Coverage remained the same at 100.0% when pulling 20ac041 on ahumphreys87:v3-changelog into a0935d5 on marionettejs:next.

@scott-w
Member
scott-w commented Aug 23, 2016

👍

@denar90
Member
denar90 commented Aug 23, 2016

👍

@ahumphreys87 ahumphreys87 merged commit 3aec53d into marionettejs:next Aug 23, 2016

2 checks passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details
coverage/coveralls Coverage remained the same at 100.0%
Details
@ahumphreys87 ahumphreys87 deleted the ahumphreys87:v3-changelog branch Aug 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment