diff --git a/NEWS.md b/NEWS.md index c1405f11..6f61c502 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,22 @@ # Changelog +## 2.42.0 + +Released 2016-mm-dd + +Announcements: + - Upgrades turbo-carto to [0.8.0](https://github.com/CartoDB/turbo-carto/releases/tag/0.8.0) + + ## 2.41.1 -Released 2016-mm-dd +Released 2016-05-11 + +Announcements: + - Upgrades camshaft to [0.8.0](https://github.com/CartoDB/camshaft/releases/tag/0.8.0) + +Bug fixes: + - Nicer error message when missing sql from layer options #446 ## 2.41.0 diff --git a/lib/cartodb/api/overviews_metadata_api.js b/lib/cartodb/api/overviews_metadata_api.js index af3a1294..2cec6bbb 100644 --- a/lib/cartodb/api/overviews_metadata_api.js +++ b/lib/cartodb/api/overviews_metadata_api.js @@ -13,7 +13,7 @@ var affectedTableRegexCache = { }; function prepareSql(sql) { - return sql + return sql && sql .replace(affectedTableRegexCache.bbox, 'ST_MakeEnvelope(0,0,0,0)') .replace(affectedTableRegexCache.scale_denominator, '0') .replace(affectedTableRegexCache.pixel_width, '1') diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 3199cd06..d0882518 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "windshaft-cartodb", - "version": "2.41.1", + "version": "2.42.0", "dependencies": { "body-parser": { "version": "1.14.2", @@ -105,13 +105,13 @@ } }, "camshaft": { - "version": "0.7.0", - "from": "camshaft@0.7.0", - "resolved": "https://registry.npmjs.org/camshaft/-/camshaft-0.7.0.tgz", + "version": "0.8.0", + "from": "camshaft@0.8.0", + "resolved": "https://registry.npmjs.org/camshaft/-/camshaft-0.8.0.tgz", "dependencies": { "async": { "version": "1.5.2", - "from": "async@>=1.0.0 <2.0.0", + "from": "async@>=1.5.2 <2.0.0", "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz" }, "request": { @@ -584,7 +584,7 @@ "dependencies": { "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.6 <2.2.0", + "from": "mime-types@>=2.1.10 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { @@ -763,7 +763,7 @@ }, "type-is": { "version": "1.6.12", - "from": "type-is@>=1.6.10 <1.7.0", + "from": "type-is@>=1.6.6 <1.7.0", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.12.tgz", "dependencies": { "media-typer": { @@ -773,7 +773,7 @@ }, "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.6 <2.2.0", + "from": "mime-types@>=2.1.10 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { @@ -988,7 +988,7 @@ }, "mime-types": { "version": "2.1.11", - "from": "mime-types@>=2.1.2 <2.2.0", + "from": "mime-types@>=2.1.10 <2.2.0", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz", "dependencies": { "mime-db": { @@ -1215,9 +1215,9 @@ "from": "step-profiler@>=0.3.0 <0.4.0" }, "turbo-carto": { - "version": "0.7.1", - "from": "turbo-carto@0.7.1", - "resolved": "https://registry.npmjs.org/turbo-carto/-/turbo-carto-0.7.1.tgz", + "version": "0.8.0", + "from": "turbo-carto@0.8.0", + "resolved": "https://registry.npmjs.org/turbo-carto/-/turbo-carto-0.8.0.tgz", "dependencies": { "colorbrewer": { "version": "1.0.0", diff --git a/package.json b/package.json index b67aae84..0829613f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "2.41.1", + "version": "2.42.0", "description": "A map tile server for CartoDB", "keywords": [ "cartodb" @@ -20,7 +20,7 @@ ], "dependencies": { "body-parser": "~1.14.0", - "camshaft": "0.7.0", + "camshaft": "0.8.0", "cartodb-psql": "~0.6.1", "cartodb-query-tables": "~0.1.0", "cartodb-redis": "~0.13.0", @@ -37,7 +37,7 @@ "request": "~2.62.0", "step": "~0.0.6", "step-profiler": "~0.3.0", - "turbo-carto": "0.7.1", + "turbo-carto": "0.8.0", "underscore": "~1.6.0", "windshaft": "1.19.0" }, diff --git a/test/acceptance/regressions.js b/test/acceptance/regressions.js new file mode 100644 index 00000000..43dad070 --- /dev/null +++ b/test/acceptance/regressions.js @@ -0,0 +1,40 @@ +require('../support/test_helper'); + +var assert = require('../support/assert'); +var TestClient = require('../support/test-client'); + +describe('regressions', function() { + + var ERROR_RESPONSE = { + status: 400, + headers: { + 'Content-Type': 'application/json; charset=utf-8' + } + }; + + it('should expose a nice error when missing sql option', function(done) { + var mapConfig = { + version: '1.5.0', + layers: [ + { + "type": "cartodb", + "options": { + "cartocss": '#polygons { polygon-fill: red; }', + "cartocss_version": "2.3.0" + } + } + ] + }; + + var testClient = new TestClient(mapConfig, 1234); + + testClient.getLayergroup(ERROR_RESPONSE, function(err, layergroupResult) { + assert.ok(!err, err); + + assert.equal(layergroupResult.errors.length, 1); + assert.equal(layergroupResult.errors[0], 'Missing sql for layer 0 options'); + + testClient.drain(done); + }); + }); +});