Skip to content

Commit

Permalink
Merge pull request #2740 from ianmstew/bump-build-2.4.3
Browse files Browse the repository at this point in the history
Bump and build 2.4.3
  • Loading branch information
paulfalgout committed Sep 10, 2015
2 parents 562ac5e + 4683926 commit a823655
Show file tree
Hide file tree
Showing 27 changed files with 1,409 additions and 957 deletions.
10 changes: 4 additions & 6 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,18 @@ matrix:
include:
- node_js: "0.10"
env: UNDERSCORE=1.4.4 BACKBONE=1.0
- node_js: "io.js"
env: UNDERSCORE=1.5 BACKBONE=1.0
- env: UNDERSCORE=1.5 BACKBONE=1.0
- env: UNDERSCORE=1.7 BACKBONE=1.1
- env: UNDERSCORE=1.7 BACKBONE=1.0
- env: UNDERSCORE=1.6 BACKBONE=1.0
- env: UNDERSCORE=1.4.4 BACKBONE=1.1.0
- env: UNDERSCORE=1.5 BACKBONE=1.1
- env: UNDERSCORE=1.7 BACKBONE=1.2
- env: UNDERSCORE=1.7 BACKBONE=1.2.3
- node_js: "0.10"
env: UNDERSCORE=1.8 BACKBONE=1.2
env: UNDERSCORE=1.8 BACKBONE=1.2.3
- env: LODASH=2.4 BACKBONE=1.1
- env: LODASH=3.0 BACKBONE=1.1
- node_js: "io.js"
env: LODASH=3.1 BACKBONE=1.0
- env: LODASH=3.1 BACKBONE=1.0
env: MAINRUN=true
before_install:
- npm config set ca ""
Expand Down
195 changes: 86 additions & 109 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,151 +1,128 @@
Marionette has a few guidelines to facilitate your contribution and streamline
the process of getting the changes merged in and released.
the process of getting changes merged in and released.

## Running the tests
1. [Setting up Marionette locally](#setting-up-marionette-locally)
2. [Reporting a bug](#reporting-a-bug)
1. [When you have a patch](#when-you-have-a-patch)
2. [When you don't have a bug fix](#when-you-dont-have-a-bug-fix)
3. [Running Tests](#running-tests)
4. [Updating docs](#updating-docs)

There are two methods to running the unit test suite, suited for your desired workflow and overall developer happiness:
you can open SpecRunner.html in the browser or run `npm test`
To begin ensure that you have installed the project dev dependencies via:

$ npm install
## Setting up Marionette locally

### In a browser
* Fork the Marionette repo.

Open [SpecRunner.html](SpecRunner.html) in your browser.
* `git clone` your fork onto your computer.

### Via Grunt
* Run `npm install` to make sure you have all Marionette dependencies locally.

Running `grunt` alone will default to running the tests once.
Running `grunt watch` will rerun the tests after any file change.
## Reporting a bug

## Documentation Fixes
In order to best help out with bugs, we need to know the following information
in your bug submission:

If you notice any problems with any documentation, please
fix it and we'll get it merged as soon as we can. For
small things like typos and grammar (which we know I'm
terrible with), just click the "Edit this file" button
and send in the pull request for the fix. For larger
changes and big swaths of documentation changes, a regular
pull request as outlined below is more appropriate.
* Marionette version no.
* Backbone version no.

## Pull Requests
Including this information in a submission will help us test the problem and
ensure that the bug is both reproduced and corrected on the platforms /
versions that you are having issues with.

See [Github's documentation for pull requests](https://help.github.com/articles/using-pull-requests).
<a name="format-desc"></a>**Provide A Meaningful Description**

Pull requests are by far the best way to contribute to
Marionette. Any time you can send us a pull request with
the changes that you want, we will have an easier time
seeing what you are trying to do. But a pull request in
itself is not usually sufficient. There needs to be some
context and purpose with it, and it should be done
against a specific branch.
It is very important to provide a meaningful description with your bug reports
and pull requests. A good format for these descriptions will include the
following things:

Try and stick to Marionette's existing coding conventions
(just use the file you're editing as a guideline).
Installing the appropriate [EditorConfig plugin](http://editorconfig.org/#download)
for your code editor will help with this.
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)

## General Submission Guidelines
2. A summary of the proposed solution

These guidelines are generally applicable whether or not
you are submitting a bug or a pull request. Please try to
include as much of this information as possible with any
submission.
3. A description of how this solution solves the problem, in more detail than
item #2

### Version Numbers
4. Any additional discussion on possible problems this might introduce,
questions that you have related to the changes, etc.

In order to best help out with bugs, we need to know the
following information in your bug submission:
For a PR, we need at least the first 2 items to understand why you are changing
the code. If not, we will ask that you add the necessary information.

* Backbone version #
* Underscore version #
* jQuery version #
* Marionette version #
* Operating System / version #
* Browser and version #
Please refrain from giving code examples in altJS languages like CoffeeScript,
etc. Marionette is written in plain-old JavaScript and is generally easier all
members in the community to read.

Including this information in a submission will help
us to test the problem and ensure that the bug is
both reproduced and corrected on the platforms / versions
that you are having issues with.
### When you have a patch

### Provide A Meaningful Description
See [Github's documentation for pull
requests](https://help.github.com/articles/using-pull-requests).

It doesn't matter how beautiful and "obvious" your fix is.
We have 10,000,000,000 things floating around the project
at any given moment and we will not immediately understand
why you are making changes.
Pull requests are by far the best way to contribute to Marionette. Any time you
can send us a pull request with the changes that you want, we will have an
easier time seeing what you are trying to do. But a pull request in itself is
not usually sufficient. There needs to be some context and purpose with it, and
it should be done against a specific branch.

Given that, it is very important to provide a meaningful
description with your pull requests that alter any code.
A good format for these descriptions will include three things:
Try and stick to Marionette's existing coding conventions (just use the file
you're editing as a guideline). Installing the appropriate [EditorConfig
plugin](http://editorconfig.org/#download) for your code editor will help with
this.

1. Why: 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)
* Decide whether you are need to base off of `next` or `patch` branch. Do not
base off `master`.

2. What: A summary of the proposed solution
* PRs for all bug fixes, doc updates, and unit tests of existing features
should be opened against `patch`.

3. How: A description of how this solution solves the problem,
in more detail than item #2
* PRs for all new features, breaking or not, should be opened against
`next`.

4. Any additional discussion on possible problems this might
introduce, questions that you have related to the changes, etc.
* Checkout `next` or `patch` and run `git pull` to make sure it is updated.

Without at least the first 2 items in this list, we won't
have any clue why you're changing the code. The first thing
we'll ask, then, is that you add that information.
* Create a new branch for your PR by running `git checkout -b new-branch-name`

Please refrain from giving code examples in altJS languages like
CoffeeScript, etc. Marionette is written in plain-old JavaScript
and is generally easier all members in the community to read.
* Whenever possible, submit the specs (unit tests) that correspond to your pull
request.

### Create A Topic Branch For Your Work
* Make changes to files in `src`, not the builds in `lib`. This is built before
every release.

The work you are doing for your pull request should not be
done in the master branch of your forked repository. Create
a topic branch for your work. This allows you to isolate
the work you are doing from other changes that may be happening.
* Push to your remote fork then compare.

Github is a smart system, too. If you submit a pull request
from a topic branch and we ask you to fix something, pushing
a change to your topic branch will automatically update the
pull request.
* Submit pull request.
When doing so, make sure you follow the format for description outlined
[above](#format-desc).
If you are resolving an existing issue, make sure to link to the issue in the
description.

### Isolate Your Changes For The Pull Request
### When you don't have a bug fix

See the previous item on creating a topic branch.
If you are stuck in a scenario that fails in your app, but you don't know how to
fix it, submit a failing spec to show the failing scenario. Follow the
guidelines for a pull request submission, but don't worry about fixing the
problem. A failing spec to show that a problem exists is a very very very
helpful pull request for us.

If you don't use a topic branch, we may ask you to re-do your
pull request on a topic branch. If your pull request contains
commits or other changes that are not related to the pull
request, we will ask you to re-do your pull request.
We'll even accept a failing test pasted into the ticket description instead of a
PR. That would at least get us started on creating the failing test in the code.

### Branch from "patch" or "next", not "master"
## Running Tests

* PRs for all bug fixes, doc updates, and unit tests of existing features should be opened against `patch`.
* PRs for all new features, breaking or not, should be opened against `next`.
There are 3 ways you can run the tests.

### Submit Specs With Your Pull Request
* via command-line by running `npm test`

Whenever possible, submit the specs (unit tests) that
correspond to your pull request.
* in the browser by opening `SpecRunner.html`

I would rather see a pull request that is nothing but a
failing spec, than see a large change made to the real
code with no test to support the change.
* via Grunt by running `grunt` to run tests once or `grunt watch` to rerun on
each change

In fact...
## Updating docs

## Submit A Failing Spec If You Don't Know How To Fix The Problem

If you are stuck in a scenario that fails in your app,
but you don't know how to fix it, submit a failing spec
to show the failing scenario. Follow the guidelines for a
pull request submission, but don't worry about fixing the
problem. A failing spec to show that a problem exists is
a very very very helpful pull request for us.

We'll even accept a failing test pasted in to the ticket
description instead of a pull request. That would at
least get us started on creating the failing test in the code.
If you notice any problems with any documentation, please fix it and we'll get
it merged as soon as we can. For small things like typos and grammar, just click
the "Edit this file" button and send in the pull request for the fix. For larger
documentation changes, a regular pull request as outlined above is more
appropriate.
4 changes: 2 additions & 2 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"description": "Make your Backbone.js apps dance with a composite application architecture!",
"homepage": "http://marionettejs.org",
"main": "./lib/core/backbone.marionette.js",
"version": "2.4.2",
"version": "2.4.3",
"keywords": [
"backbone",
"framework",
Expand Down Expand Up @@ -36,7 +36,7 @@
"upgradeGuide.md"
],
"dependencies": {
"backbone": "1.0.0 - 1.2.1",
"backbone": "1.0.0 - 1.2.3",
"underscore": "1.4.4 - 1.8.3",
"backbone.babysitter": "^0.1.0",
"backbone.wreqr": "^1.0.0",
Expand Down
25 changes: 25 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
### v2.4.3 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.2...v2.4.3)

#### Fixes

* `TemplateCache#loadTemplate` accepts empty script-tag templates.
* Parent LayoutView's `childEvents` continue working with views attached manually using `Region#attachView`.
* When an array of items (length > 1) are added to a collection backing a CollectionView using the `at` option, the child views are appended to the DOM in the proper order.
* When models are added to a collection backing a CollectionView with the `at` option, the child views are rendered in the proper order even when the CollectionView has a filter.
* `CollectionView#isEmpty` respects a `false` return value even when there are no child views.
* `Region#empty` reliably destroys views when called with options.
* CollectionView child views can, in turn, render children within `onBeforeShow` as documented.
* CollectionView `childView` and `emptyView` can be pure `Backbone.View` classes.

#### Docs

* Better documentation around view `childEvents` that reinforces the distinction between child view `triggers` and `events`.
* Guidance on achieving full event lifecycle while using `Backbone.View` as the child view within CollectionViews or LayoutViews/Regions.

#### Misc

* `LayoutView#showChildView` new `options` argument passed to underlying `Region#show` to enable full `show` functionality.
* Allow `Application` to be initialized with multiple arguments for consistency with earlier releases.
* More comprehensive support for Backbone child views, including a more rigorous test suite and support for `render`, `destroy`, and `dom:refresh` lifecycle events when shown by CollectionViews or LayoutViews/Regions.
* Bumped Backbone dependency to 1.2.3

### v2.4.2 [view commit logs](https://github.com/marionettejs/backbone.marionette/compare/v2.4.1...v2.4.2)

#### Fixes
Expand Down
4 changes: 2 additions & 2 deletions component.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "backbone.marionette",
"description": "Make your Backbone.js apps dance!",
"version": "2.4.2",
"version": "2.4.3",
"repo": "marionettejs/backbone.marionette",
"main": "lib/core/backbone.marionette.js",
"keywords": [
Expand Down Expand Up @@ -31,7 +31,7 @@
"dependencies": {
"marionettejs/backbone.babysitter": "*",
"marionettejs/backbone.wreqr": "*",
"jashkenas/backbone": "1.0.0 - 1.2.1",
"jashkenas/backbone": "1.0.0 - 1.2.3",
"jashkenas/underscore": "1.4.4 - 1.8.3"
},
"scripts": [
Expand Down
Loading

0 comments on commit a823655

Please sign in to comment.