Compare commits

...

13 Commits

Author SHA1 Message Date
Nils Knappmeier 64254b604b v3.0.5 2018-12-15 14:16:13 +01:00
Nils Knappmeier 878e980c0f Update release notes 2018-12-15 14:15:54 +01:00
Nils Knappmeier f6b5a288b4 docs: bump node version used in release 2018-12-15 14:13:57 +01:00
Nils Knappmeier 4ed0a625e3 chore: use node 10.x in travis-build 2018-12-15 14:08:55 +01:00
Nils Knappmeier e97741f9ab docs: add notes about required tools and versions for a release 2018-12-15 14:02:14 +01:00
Nils Knappmeier 698c8a93a4 v3.0.4 2018-12-15 13:55:00 +01:00
Nils Knappmeier 12cd4ef010 Update release notes 2018-12-15 13:54:17 +01:00
Nils Knappmeier ed9e301eb8 chore: add wepback@1.x to devDependencies
This is required by some other dependencies as
peerDependencies, which are not automatically installed
anymore since npm@3
2018-12-15 13:39:45 +01:00
Nils Knappmeier bbe684b7c7 chore: remove TODO comment line
This comment is not relevant for 3.x anymore, since this
release will only get bugfixes and not major refactorings.
It breaks the build though.
2018-12-15 13:35:26 +01:00
Nils Knappmeier f8d7b381dc docs: update CONTRIBUTING.md from master and add text about 3.x 2018-12-15 13:20:20 +01:00
kpdecker 4cd5305c7f Further relax uglify dependency 2016-04-11 13:22:17 +01:00
Paul Lynch d97c2e6dc0 Update uglify-js to avoid vulnerability 2016-04-11 13:22:04 +01:00
kpdecker 1c863e34ab Escape = in HTML content
There was a potential XSS exploit when using unquoted attributes that this should help reduce.

Fixes #1083
2016-02-08 18:56:04 +00:00
9 changed files with 68 additions and 13 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ env:
- secure: Nm4AgSfsgNB21kgKrF9Tl7qVZU8YYREhouQunFracTcZZh2NZ2XH5aHuSiXCj88B13Cr/jGbJKsZ4T3QS3wWYtz6lkyVOx3H3iI+TMtqhD9RM3a7A4O+4vVN8IioB2YjhEu0OKjwgX5gp+0uF+pLEi7Hpj6fupD3AbbL5uYcKg8=
matrix:
include:
- node_js: '0.10'
- node_js: '10'
env:
- PUBLISH=true
- secure: pLTzghtVll9yGKJI0AaB0uI8GypfWxLTaIB0ZL8//yN3nAEIKMhf/RRilYTsn/rKj2NUa7vt2edYILi3lttOUlCBOwTc9amiRms1W8Lwr/3IdWPeBLvLuH1zNJRm2lBAwU4LBSqaOwhGaxOQr6KHTnWudhNhgOucxpZfvfI/dFw=
+36 -1
View File
@@ -6,10 +6,18 @@ Please see our [FAQ](https://github.com/wycats/handlebars.js/blob/master/FAQ.md)
Should you run into other issues with the project, please don't hesitate to let us know by filing an [issue][issue]! In general we are going to ask for an example of the problem failing, which can be as simple as a jsfiddle/jsbin/etc. We've put together a jsfiddle [template][jsfiddle] to ease this. (We will keep this link up to date as new releases occur, so feel free to check back here)
Pull requests containing only failing thats demonstrating the issue are welcomed and this also helps ensure that your issue won't regress in the future once it's fixed.
Pull requests containing only failing tests demonstrating the issue are welcomed and this also helps ensure that your issue won't regress in the future once it's fixed.
Documentation issues on the handlebarsjs.com site should be reported on [handlebars-site](https://github.com/wycats/handlebars-site).
## Branches
* The branch `4.x` contains the currently released version. Bugfixes should be made in this branch.
* The branch `master` contains the next version. A release date is not yet specified. Maintainers
should merge the branch `4.x` into the master branch regularly.
* The branch `3.x` contains the previous release. Relevant bugfixes may be cherry-picked into this
branch from the `4.x` branch. There should be no merges anymore between this branch and `4.x` or `master`.
## Pull Requests
We also accept [pull requests][pull-request]!
@@ -42,6 +50,25 @@ The `grunt dev` implements watching for tests and allows for in browser testing
If you notice any problems, please report them to the GitHub issue tracker at
[http://github.com/wycats/handlebars.js/issues](http://github.com/wycats/handlebars.js/issues).
## Running Tests
To run tests locally, first install all dependencies.
```sh
npm install
```
Clone the mustache specs into the spec/mustache folder.
```sh
cd spec
rm -r mustache
git clone https://github.com/mustache/spec.git mustache
```
From the root directory, run the tests.
```sh
npm test
```
## Ember testing
The current ember distribution should be tested as part of the handlebars release process. This requires building the `handlebars-source` gem locally and then executing the ember test script.
@@ -60,6 +87,14 @@ npm test
Handlebars utilizes the [release yeoman generator][generator-release] to perform most release tasks.
Before starting the release, make sure that the `yo`, `generator-release` and `grunt` are installed globally.
The last release was successfully performed with `yo@2.0.5`, `generator-release@2.6.1` and `grunt@1.0.3` and `node@10.11.0`.
If the latest versions of the tools don't work you may want to revert to those versions.
```bash
npm install -g yo generator-release grunt
```
A full release may be completed with the following:
```
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "handlebars",
"version": "3.0.3",
"version": "3.0.5",
"main": "handlebars.js",
"dependencies": {}
}
+1 -1
View File
@@ -2,7 +2,7 @@
<package>
<metadata>
<id>handlebars.js</id>
<version>3.0.3</version>
<version>3.0.5</version>
<authors>handlebars.js Authors</authors>
<licenseUrl>https://github.com/wycats/handlebars.js/blob/master/LICENSE</licenseUrl>
<projectUrl>https://github.com/wycats/handlebars.js/</projectUrl>
-2
View File
@@ -20,8 +20,6 @@ export function checkRevision(compilerInfo) {
}
}
// TODO: Remove this line and break up compilePartial
export function template(templateSpec, env) {
/* istanbul ignore next */
if (!env) {
+4 -3
View File
@@ -4,11 +4,12 @@ const escape = {
'>': '&gt;',
'"': '&quot;',
"'": '&#x27;',
'`': '&#x60;'
'`': '&#x60;',
'=': '&#x3D;'
};
const badChars = /[&<>"'`]/g,
possible = /[&<>"'`]/;
const badChars = /[&<>"'`=]/g,
possible = /[&<>"'`=]/;
function escapeChar(chr) {
return escape[chr];
+5 -3
View File
@@ -1,7 +1,7 @@
{
"name": "handlebars",
"barename": "handlebars",
"version": "3.0.3",
"version": "3.0.5",
"description": "Handlebars provides the power necessary to let you build semantic templates effectively with no frustration",
"homepage": "http://www.handlebarsjs.com/",
"keywords": [
@@ -25,7 +25,7 @@
"source-map": "^0.1.40"
},
"optionalDependencies": {
"uglify-js": "~2.3"
"uglify-js": "^2.6"
},
"devDependencies": {
"async": "^0.9.0",
@@ -54,7 +54,9 @@
"mocha": "~1.20.0",
"mustache": "0.x",
"semver": "^4.0.0",
"underscore": "^1.5.1"
"underscore": "^1.5.1",
"webpack": "^1.15.0",
"webpack-dev-server": "^1.16.5"
},
"main": "lib/index.js",
"bin": {
+19 -1
View File
@@ -2,7 +2,25 @@
## Development
[Commits](https://github.com/wycats/handlebars.js/compare/v3.0.3...master)
[Commits](https://github.com/wycats/handlebars.js/compare/v3.0.5...master)
## v3.0.5 - December 15th, 2018
- chore: use node 10.x in travis-build - 4ed0a62
Compatibility notes:
- no breaking changes
[Commits](https://github.com/wycats/handlebars.js/compare/v3.0.4...v3.0.5)
## v3.0.4 - December 15th, 2018
- Further relax uglify dependency - 4cd5305
- Update uglify-js to avoid vulnerability - d97c2e6
- Escape = in HTML content - 1c863e3
Compatibility notes:
- No breaking changes
[Commits](https://github.com/wycats/handlebars.js/compare/v3.0.3...v3.0.4)
## v3.0.3 - April 28th, 2015
- [#1004](https://github.com/wycats/handlebars.js/issues/1004) - Latest version breaks with RequireJS (global is undefined) ([@boskee](https://api.github.com/users/boskee))
+1
View File
@@ -18,6 +18,7 @@ describe('utils', function() {
describe('#escapeExpression', function() {
it('shouhld escape html', function() {
equals(Handlebars.Utils.escapeExpression('foo<&"\'>'), 'foo&lt;&amp;&quot;&#x27;&gt;');
equals(Handlebars.Utils.escapeExpression('foo='), 'foo&#x3D;');
});
it('should not escape SafeString', function() {
var string = new Handlebars.SafeString('foo<&"\'>');