diff --git a/NEWS.md b/NEWS.md index ccb90b60..ca420d85 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,8 +1,56 @@ # Changelog -## 3.6.0 +## 3.6.7 Released 2017-mm-dd + +## 3.6.6 +Released 2017-05-11 + +Announcements: + - Upgrades camshaft to [0.54.4](https://github.com/CartoDB/camshaft/releases/tag/0.54.4). + + +## 3.6.5 +Released 2017-05-09 + +Announcements: + - Upgrades camshaft to [0.54.3](https://github.com/CartoDB/camshaft/releases/tag/0.54.3). + + +## 3.6.4 +Released 2017-05-05 + +Announcements: + - Upgrade cartodb-psql to [0.8.0](https://github.com/CartoDB/node-cartodb-psql/releases/tag/0.8.0). + - Upgrades camshaft to [0.54.2](https://github.com/CartoDB/camshaft/releases/tag/0.54.2). + - Upgrades windshaft to [3.1.2](https://github.com/CartoDB/windshaft/releases/tag/3.1.2). + + +## 3.6.3 +Released 2017-04-25 + +Announcements: + - Upgrades windshaft to [3.1.1](https://github.com/CartoDB/windshaft/releases/tag/3.1.1). + + +## 3.6.2 +Released 2017-04-24 + +Announcements: + - Upgrades grainstore to [1.6.3](https://github.com/CartoDB/grainstore/releases/tag/1.6.3). + + +## 3.6.1 +Released 2017-04-24 + +Announcements: + - Upgrades camshaft to [0.54.1](https://github.com/CartoDB/camshaft/releases/tag/0.54.1). + + +## 3.6.0 +Released 2017-04-20 + Announcements: - Upgrades camshaft to [0.54.0](https://github.com/CartoDB/camshaft/releases/tag/0.54.0). diff --git a/config/environments/development.js.example b/config/environments/development.js.example index 6800d4c6..9bc4157b 100644 --- a/config/environments/development.js.example +++ b/config/environments/development.js.example @@ -6,6 +6,9 @@ var config = { // Its default size is 4, but it can be changed at startup time (the absolute maximum is 128). // See http://docs.libuv.org/en/latest/threadpool.html ,uv_threadpool_size: undefined + // Time in milliseconds to force GC cycle. + // Disable by using <=0 value. + ,gc_interval: 10000 // Regular expression pattern to extract username // from hostname. Must have a single grabbing block. ,user_from_host: '^(.*)\\.localhost' diff --git a/config/environments/production.js.example b/config/environments/production.js.example index 41e2353d..b305deef 100644 --- a/config/environments/production.js.example +++ b/config/environments/production.js.example @@ -6,6 +6,9 @@ var config = { // Its default size is 4, but it can be changed at startup time (the absolute maximum is 128). // See http://docs.libuv.org/en/latest/threadpool.html ,uv_threadpool_size: undefined + // Time in milliseconds to force GC cycle. + // Disable by using <=0 value. + ,gc_interval: 10000 // Regular expression pattern to extract username // from hostname. Must have a single grabbing block. ,user_from_host: '^(.*)\\.cartodb\\.com$' diff --git a/config/environments/staging.js.example b/config/environments/staging.js.example index 170e5e5f..fa3c7cb6 100644 --- a/config/environments/staging.js.example +++ b/config/environments/staging.js.example @@ -6,6 +6,9 @@ var config = { // Its default size is 4, but it can be changed at startup time (the absolute maximum is 128). // See http://docs.libuv.org/en/latest/threadpool.html ,uv_threadpool_size: undefined + // Time in milliseconds to force GC cycle. + // Disable by using <=0 value. + ,gc_interval: 10000 // Regular expression pattern to extract username // from hostname. Must have a single grabbing block. ,user_from_host: '^(.*)\\.cartodb\\.com$' diff --git a/config/environments/test.js.example b/config/environments/test.js.example index 3c940ac6..465b1774 100644 --- a/config/environments/test.js.example +++ b/config/environments/test.js.example @@ -6,6 +6,9 @@ var config = { // Its default size is 4, but it can be changed at startup time (the absolute maximum is 128). // See http://docs.libuv.org/en/latest/threadpool.html ,uv_threadpool_size: undefined + // Time in milliseconds to force GC cycle. + // Disable by using <=0 value. + ,gc_interval: 10000 // Regular expression pattern to extract username // from hostname. Must have a single grabbing block. ,user_from_host: '(.*)' diff --git a/docs/static_maps_api.md b/docs/static_maps_api.md index 736d90e0..91db2a6d 100644 --- a/docs/static_maps_api.md +++ b/docs/static_maps_api.md @@ -150,6 +150,10 @@ It is important to note that generated images are cached from the live data refe * Image resolution is set to 72 DPI * JPEG quality is 85% * Timeout limits for generating static maps are the same across CARTO Builder and CARTO Engine. It is important to ensure timely processing of queries. +* If you are publishing your map as a static image with the API, you must manually add [attributions](https://carto.com/attribution) for your static map image. For example, add the following attribution code: + +{% highlight javascript %}attribution: '© OpenStreetMap contributors, © CARTO +{% endhighlight %} ## Examples diff --git a/package.json b/package.json index af824cc4..c2a0721f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "3.6.0", + "version": "3.6.7", "description": "A map tile server for CartoDB", "keywords": [ "cartodb" @@ -20,8 +20,8 @@ ], "dependencies": { "body-parser": "~1.14.0", - "camshaft": "0.54.0", - "cartodb-psql": "~0.7.1", + "camshaft": "0.54.4", + "cartodb-psql": "0.8.0", "cartodb-query-tables": "0.2.0", "cartodb-redis": "0.13.2", "debug": "~2.2.0", diff --git a/test/acceptance/analysis/error-cases.js b/test/acceptance/analysis/error-cases.js index 3bde8442..b79e1046 100644 --- a/test/acceptance/analysis/error-cases.js +++ b/test/acceptance/analysis/error-cases.js @@ -373,5 +373,70 @@ describe('analysis-layers error cases', function() { }); }); + it('should return "function does not exist" indicating the node_id and context', function(done) { + var mapConfig = createMapConfig([{ + "type": "cartodb", + "options": { + "source": { + "id": "HEAD" + }, + "cartocss": '#polygons { polygon-fill: red; }', + "cartocss_version": "2.3.0" + } + }], {}, [{ + "id": "HEAD", + "type": "buffer", + "params": { + "source": { + "id": "HEAD2", + "type": "buffer", + "params": { + "source": { + "id": "HEAD3", + "type": 'deprecated-sql-function', + "params": { + "id": "HEAD4", + "function_name": 'DEP_EXT_does_not_exist_fn', + "primary_source": { + "type": 'source', + "params": { + "query": "select * from populated_places_simple_reduced" + } + }, + "function_args": ['wadus'] + } + }, + "radius": 10 + } + }, + "radius": 10 + } + }]); + + 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], + 'function dep_ext_does_not_exist_fn(unknown, unknown, unknown, text[], unknown) does not exist' + ); + + assert.equal(layergroupResult.errors_with_context[0].type, 'analysis'); + assert.equal( + layergroupResult.errors_with_context[0].message, + 'function dep_ext_does_not_exist_fn(unknown, unknown, unknown, text[], unknown) does not exist' + ); + assert.equal(layergroupResult.errors_with_context[0].analysis.id, 'HEAD'); + assert.equal(layergroupResult.errors_with_context[0].analysis.type, 'buffer'); + assert.equal(layergroupResult.errors_with_context[0].analysis.node_id, 'HEAD3'); + + testClient.drain(done); + }); + }); + + }); diff --git a/yarn.lock b/yarn.lock index 79f89643..8a9fd937 100644 --- a/yarn.lock +++ b/yarn.lock @@ -194,13 +194,13 @@ camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -camshaft@0.54.0: - version "0.54.0" - resolved "https://registry.yarnpkg.com/camshaft/-/camshaft-0.54.0.tgz#9cb23b827dee0f54d0a39b8af3213692f11adf62" +camshaft@0.54.4: + version "0.54.4" + resolved "https://registry.yarnpkg.com/camshaft/-/camshaft-0.54.4.tgz#3e1e96cda36661ebc01b64dadcc6387b02d69739" dependencies: async "^1.5.2" bunyan "1.8.1" - cartodb-psql "0.7.1" + cartodb-psql "0.8.0" debug "^2.2.0" dot "^1.0.3" request "^2.69.0" @@ -245,9 +245,9 @@ cartocolor@4.0.0: dependencies: colorbrewer "1.0.0" -cartodb-psql@0.7.1, cartodb-psql@~0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/cartodb-psql/-/cartodb-psql-0.7.1.tgz#578ce04db9262f1296845dec643461105a594e22" +cartodb-psql@0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/cartodb-psql/-/cartodb-psql-0.8.0.tgz#d3811f706dae2c3bc82365c5d25af13c4235ba37" dependencies: debug "~2.2.0" pg cartodb/node-postgres#6.1.2-cdb1 @@ -1403,10 +1403,14 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@4.1.0, object-assign@^4.1.0: +object-assign@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" +object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + object-keys@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" @@ -2282,7 +2286,7 @@ windshaft@cartodb/windshaft#548-vector-buffer-size: abaculus cartodb/abaculus#2.0.3-cdb1 canvas cartodb/node-canvas#1.6.2-cdb2 carto cartodb/carto#0.15.1-cdb3 - cartodb-psql "0.7.1" + cartodb-psql "0.8.0" debug "~2.2.0" dot "~1.0.2" grainstore "~1.6.0"