diff --git a/.travis.yml b/.travis.yml index 3da3644845..e5c2ae0cc6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,3 +14,12 @@ install: - curl -L https://rawgit.com/marionettejs/travis-ci-setup/master/ci.sh | bash after_success: - if [[ $MAINRUN == true ]]; then npm run-script coveralls; fi +before_deploy: + - npm install travis-ci +deploy: + provider: releases + api_key: $GH_TOKEN + on: + tags: true +after_deploy: + - node trigger-deploy-mn-com.js diff --git a/ISSUE_TEMPLATE.md b/ISSUE_TEMPLATE.md new file mode 100644 index 0000000000..d6df439540 --- /dev/null +++ b/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 happen. + +### Actual behavior + +If possible, please create a small demo that demonstrates the issue. +Please refrain from giving code examples in altJS languages like CoffeeScript, etc. Marionette is written in plain-old JavaScript and is generally easier for all members in the community to read. + +### Environment + +1. Marionette version: +2. Backbone version: +3. Additional build tools, etc: diff --git a/PULL_REQUEST_TEMPLATE.md b/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000000..87944e4db8 --- /dev/null +++ b/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,6 @@ +### Proposed changes + - + - + - + +Link to the issue: diff --git a/changelog.md b/changelog.md index b896c21b5d..bc03d914eb 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,90 @@ +### 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` +* 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 (163188eeb8) +* `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 @@ -103,6 +190,32 @@ Extra release to remove public release of v3.0.0-pre.1, this release is availabl This is a "family and friends" release. The documentation is still mostly for 2.4.4. Please let us know if you run into any issues. Also, [please help us finish v3](https://github.com/marionettejs/backbone.marionette/milestones/v3.0.0)! +### v2.4.7 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.6...v2.4.7) + +#### Fixes + +* CollectionView#reorder will no longer remove an already displayed emptyView. +* Fixed build of sourcemap files. + +### 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.3. +* devDependencies updated. +* Updated uglify to fix deprecated sourcemap pragma //@ replaced with //#. + ### v2.4.4 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.3...v2.4.4) #### Fixes diff --git a/readme.md b/readme.md index bae9a6985f..b9bed4a4f8 100644 --- a/readme.md +++ b/readme.md @@ -67,16 +67,15 @@ We're happy to discuss design patterns and learn how you're using Marionette. ### Key Benefits -* Scalable: applications are built in modules, and with event-driven architecture +* Scalable: applications built in modules with event-driven architecture * 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 `View` objects +* Nested: `View`s and `CollectionView`s within visual regions +* Built-in: memory management and zombie-killing for `View`s, `CollectionViews`a and `Region`s +* Event-driven architecture: utilizing `Backbone.Radio` +* Flexible: "as-needed" architecture allowing you to pick and choose what you need * And much, much more ## Source Code and Downloads @@ -112,7 +111,7 @@ for information on upgrading to the latest version of Marionette. ### Annotated Source Code The source code for Marionette is heavily documented. -You can read the annotations for all the details of how Marionette works, and advice on which methods to override. +You can read the annotations for all the details of how Marionette works and advice on which methods to override. ##### [View the annotated source code](http://marionettejs.com/annotated-src/backbone.marionette) diff --git a/trigger-deploy-mn-com.js b/trigger-deploy-mn-com.js new file mode 100644 index 0000000000..a6d44cf2ee --- /dev/null +++ b/trigger-deploy-mn-com.js @@ -0,0 +1,32 @@ +var Travis = require('travis-ci'); +var repo = 'marionettejs/marionettejs.com'; +var travis = new Travis({ + version: '2.0.0', + headers: { + 'User-Agent': 'Travis/1.0' + } +}); + +travis.authenticate({ + github_token: process.env.GH_TOKEN +}, function (err, res) { + if (err) { + return console.error(err); + } + + //get repo builds + travis.repos(repo.split('/')[0], repo.split('/')[1]).builds.get(function (err, res) { + if (err) { + return console.error(err); + } + //rebuild latest build + travis.requests.post({ + build_id: res.builds[0].id + }, function (err, res) { + if (err) { + return console.error(err); + } + console.log(res.flash[0].notice); + }); + }); +});