diff --git a/NEWS.md b/NEWS.md index 083f20df..28eaf74f 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,6 +1,39 @@ -1.24.1 -- 2015-mm-dd +1.25.0 -- 2015-01-26 -------------------- +Announcements: + - No more signed maps (#227 and #238) + - Splits template maps endpoint into its own controller + - Removes TemplateMaps dependency on SignedMaps + - Token validation is done against the template + - Template is always extended with default values for auth and placeholders + - MapConfig is extended, in order to validate auth_tokens, with template info: + - template name + - template auth + - No more locks to create, update or delete templates + - Trusting in redis' hash semantics + - Some tradeoffs: + * A client having more templates than allowed by a race condition between limit (HLEN) check and creation (HSET) + * Updating a template could happen while deleting it, resulting in a new template + * Templates already instantiated will be accessible through their layergroup so it is possible to continue requesting tiles/grids/etc. + - Authorisation is now handled by template maps + - Template instantiation returns new instances with default values if they are missing + + +New features: + - Basic layergroup validation on named map creation/update (#196) + - Add named maps surrogate keys and call invalidation on template modification/deletion (#247) + - Extends TemplateMaps backend with EventEmitter + - Emits for create, update and delete templates + - VarnishHttpCacheBackend will invalidate a varnish instance via HTTP PURGE method + - In the future there could be more backends, for instance to invalidate a CDN. + - NamedMapsEntry has the responibility to generate a cache key for a named map + - It probably should receive a template/named map instead of owner and template name + - SurrogateKeysCache is resposible to tag responses with a header + - It also is responsible for invalidations given an Invalidation Backend + - In the future it could have several backends so it can invalidates different caches + - SurrogateKeysCache is subscribed to TemplateMaps events to do the invalidations + 1.24.0 -- 2015-01-15 -------------------- diff --git a/npm-shrinkwrap.json b/npm-shrinkwrap.json index 6f7f4e46..9e7ba10d 100644 --- a/npm-shrinkwrap.json +++ b/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "windshaft-cartodb", - "version": "1.24.1", + "version": "1.25.0", "dependencies": { "cartodb-psql": { "version": "0.4.0", @@ -18,7 +18,8 @@ }, "buffer-writer": { "version": "1.0.0", - "from": "buffer-writer@1.0.0" + "from": "buffer-writer@1.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-1.0.0.tgz" } } } @@ -96,7 +97,7 @@ }, "inherits": { "version": "2.0.1", - "from": "inherits@~2.0.1" + "from": "inherits@2" } } } @@ -104,7 +105,8 @@ }, "lzma": { "version": "1.3.7", - "from": "lzma@~1.3.7" + "from": "lzma@~1.3.7", + "resolved": "https://registry.npmjs.org/lzma/-/lzma-1.3.7.tgz" }, "node-varnish": { "version": "0.3.0", @@ -320,7 +322,8 @@ }, "asn1": { "version": "0.1.11", - "from": "asn1@0.1.11" + "from": "asn1@0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" }, "ctype": { "version": "0.5.3", @@ -345,7 +348,8 @@ }, "boom": { "version": "0.4.2", - "from": "boom@0.4.x" + "from": "boom@0.4.x", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" }, "cryptiles": { "version": "0.2.2", @@ -783,19 +787,19 @@ } }, "zipfile": { - "version": "0.5.5", + "version": "0.5.7", "from": "zipfile@~0.5.2", - "resolved": "https://registry.npmjs.org/zipfile/-/zipfile-0.5.5.tgz", + "resolved": "https://registry.npmjs.org/zipfile/-/zipfile-0.5.7.tgz", "dependencies": { "nan": { - "version": "1.4.3", - "from": "nan@~1.4.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-1.4.3.tgz" + "version": "1.5.3", + "from": "nan@~1.5.1", + "resolved": "https://registry.npmjs.org/nan/-/nan-1.5.3.tgz" }, "node-pre-gyp": { - "version": "0.6.1", - "from": "node-pre-gyp@~0.6.1", - "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.1.tgz", + "version": "0.6.2", + "from": "node-pre-gyp@>=0.6.2 <0.7.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.2.tgz", "dependencies": { "nopt": { "version": "3.0.1", @@ -822,9 +826,9 @@ } }, "request": { - "version": "2.48.0", + "version": "2.51.0", "from": "request@2.x", - "resolved": "https://registry.npmjs.org/request/-/request-2.48.0.tgz", + "resolved": "https://registry.npmjs.org/request/-/request-2.51.0.tgz", "dependencies": { "bl": { "version": "0.9.3", @@ -861,9 +865,9 @@ } }, "caseless": { - "version": "0.7.0", - "from": "caseless@~0.7.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.7.0.tgz" + "version": "0.8.0", + "from": "caseless@~0.8.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz" }, "forever-agent": { "version": "0.5.2", @@ -871,19 +875,26 @@ "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" }, "form-data": { - "version": "0.1.4", - "from": "form-data@~0.1.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", + "version": "0.2.0", + "from": "form-data@~0.2.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz", "dependencies": { - "mime": { - "version": "1.2.11", - "from": "mime@~1.2.11", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" - }, "async": { "version": "0.9.0", "from": "async@~0.9.0", "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz" + }, + "mime-types": { + "version": "2.0.7", + "from": "mime-types@~2.0.3", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.0.7.tgz", + "dependencies": { + "mime-db": { + "version": "1.5.0", + "from": "mime-db@~1.5.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.5.0.tgz" + } + } } } }, @@ -898,9 +909,9 @@ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz" }, "node-uuid": { - "version": "1.4.1", + "version": "1.4.2", "from": "node-uuid@~1.4.0", - "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz" + "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.2.tgz" }, "qs": { "version": "2.3.3", @@ -925,14 +936,14 @@ } }, "http-signature": { - "version": "0.10.0", + "version": "0.10.1", "from": "http-signature@~0.10.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", "dependencies": { "assert-plus": { - "version": "0.1.2", - "from": "assert-plus@0.1.2", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" + "version": "0.1.5", + "from": "assert-plus@^0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz" }, "asn1": { "version": "0.1.11", @@ -940,9 +951,9 @@ "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" }, "ctype": { - "version": "0.5.2", - "from": "ctype@0.5.2", - "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" + "version": "0.5.3", + "from": "ctype@0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz" } } }, @@ -1003,14 +1014,14 @@ } }, "semver": { - "version": "4.1.0", - "from": "semver@~4.1.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.1.0.tgz" + "version": "4.2.0", + "from": "semver@~4.2.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-4.2.0.tgz" }, "tar": { - "version": "1.0.2", + "version": "1.0.3", "from": "tar@~1.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz", "dependencies": { "block-stream": { "version": "0.0.7", @@ -1018,14 +1029,14 @@ "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz" }, "fstream": { - "version": "1.0.2", + "version": "1.0.3", "from": "fstream@^1.0.2", - "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.2.tgz", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.3.tgz", "dependencies": { "graceful-fs": { - "version": "3.0.4", + "version": "3.0.5", "from": "graceful-fs@3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz" } } }, @@ -1062,9 +1073,9 @@ "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz", "dependencies": { "graceful-fs": { - "version": "3.0.4", - "from": "graceful-fs@~3.0.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz" + "version": "3.0.5", + "from": "graceful-fs@3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.5.tgz" }, "inherits": { "version": "2.0.1", @@ -1141,7 +1152,7 @@ }, "inherits": { "version": "2.0.1", - "from": "inherits@~2.0.1", + "from": "inherits@~2.0.0", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz" } } @@ -1166,9 +1177,9 @@ } }, "rc": { - "version": "0.5.4", + "version": "0.5.5", "from": "rc@~0.5.1", - "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.4.tgz", + "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.5.tgz", "dependencies": { "minimist": { "version": "0.0.10", @@ -1186,9 +1197,9 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz" }, "ini": { - "version": "1.1.0", - "from": "ini@~1.1.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz" + "version": "1.3.2", + "from": "ini@~1.3.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.2.tgz" } } }, @@ -1581,7 +1592,8 @@ }, "set-immediate": { "version": "0.1.1", - "from": "set-immediate@0.1.1" + "from": "set-immediate@0.1.1", + "resolved": "https://registry.npmjs.org/set-immediate/-/set-immediate-0.1.1.tgz" } } }, @@ -2074,6 +2086,7 @@ "canvas": { "version": "1.1.6", "from": "canvas@1.1.6", + "resolved": "https://registry.npmjs.org/canvas/-/canvas-1.1.6.tgz", "dependencies": { "nan": { "version": "1.2.0", @@ -2185,9 +2198,9 @@ "resolved": "https://registry.npmjs.org/request/-/request-2.48.0.tgz", "dependencies": { "bl": { - "version": "0.9.3", + "version": "0.9.4", "from": "bl@~0.9.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.3.tgz", + "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.4.tgz", "dependencies": { "readable-stream": { "version": "1.0.33", @@ -2286,7 +2299,8 @@ }, "asn1": { "version": "0.1.11", - "from": "asn1@0.1.11" + "from": "asn1@0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" }, "ctype": { "version": "0.5.3", @@ -2303,6 +2317,7 @@ "hawk": { "version": "1.1.1", "from": "hawk@1.1.1", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz", "dependencies": { "hoek": { "version": "0.9.1", @@ -2311,7 +2326,8 @@ }, "boom": { "version": "0.4.2", - "from": "boom@0.4.x" + "from": "boom@0.4.x", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz" }, "cryptiles": { "version": "0.2.2", @@ -2352,7 +2368,8 @@ }, "sphericalmercator": { "version": "1.0.2", - "from": "sphericalmercator@1.0.2" + "from": "sphericalmercator@1.0.2", + "resolved": "https://registry.npmjs.org/sphericalmercator/-/sphericalmercator-1.0.2.tgz" }, "node-statsd": { "version": "0.0.7", diff --git a/package.json b/package.json index cc8b3a9b..ac2a4e7d 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "windshaft-cartodb", - "version": "1.24.1", + "version": "1.25.0", "description": "A map tile server for CartoDB", "keywords": [ "cartodb"