Release 1.25.0

This commit is contained in:
Raul Ochoa 2015-01-26 17:30:51 +01:00
parent 6ab6fd91e4
commit 57dd36a476
3 changed files with 113 additions and 63 deletions

35
NEWS.md
View File

@ -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 1.24.0 -- 2015-01-15
-------------------- --------------------

139
npm-shrinkwrap.json generated
View File

@ -1,6 +1,6 @@
{ {
"name": "windshaft-cartodb", "name": "windshaft-cartodb",
"version": "1.24.1", "version": "1.25.0",
"dependencies": { "dependencies": {
"cartodb-psql": { "cartodb-psql": {
"version": "0.4.0", "version": "0.4.0",
@ -18,7 +18,8 @@
}, },
"buffer-writer": { "buffer-writer": {
"version": "1.0.0", "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": { "inherits": {
"version": "2.0.1", "version": "2.0.1",
"from": "inherits@~2.0.1" "from": "inherits@2"
} }
} }
} }
@ -104,7 +105,8 @@
}, },
"lzma": { "lzma": {
"version": "1.3.7", "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": { "node-varnish": {
"version": "0.3.0", "version": "0.3.0",
@ -320,7 +322,8 @@
}, },
"asn1": { "asn1": {
"version": "0.1.11", "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": { "ctype": {
"version": "0.5.3", "version": "0.5.3",
@ -345,7 +348,8 @@
}, },
"boom": { "boom": {
"version": "0.4.2", "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": { "cryptiles": {
"version": "0.2.2", "version": "0.2.2",
@ -783,19 +787,19 @@
} }
}, },
"zipfile": { "zipfile": {
"version": "0.5.5", "version": "0.5.7",
"from": "zipfile@~0.5.2", "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": { "dependencies": {
"nan": { "nan": {
"version": "1.4.3", "version": "1.5.3",
"from": "nan@~1.4.1", "from": "nan@~1.5.1",
"resolved": "https://registry.npmjs.org/nan/-/nan-1.4.3.tgz" "resolved": "https://registry.npmjs.org/nan/-/nan-1.5.3.tgz"
}, },
"node-pre-gyp": { "node-pre-gyp": {
"version": "0.6.1", "version": "0.6.2",
"from": "node-pre-gyp@~0.6.1", "from": "node-pre-gyp@>=0.6.2 <0.7.0",
"resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.1.tgz", "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.2.tgz",
"dependencies": { "dependencies": {
"nopt": { "nopt": {
"version": "3.0.1", "version": "3.0.1",
@ -822,9 +826,9 @@
} }
}, },
"request": { "request": {
"version": "2.48.0", "version": "2.51.0",
"from": "request@2.x", "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": { "dependencies": {
"bl": { "bl": {
"version": "0.9.3", "version": "0.9.3",
@ -861,9 +865,9 @@
} }
}, },
"caseless": { "caseless": {
"version": "0.7.0", "version": "0.8.0",
"from": "caseless@~0.7.0", "from": "caseless@~0.8.0",
"resolved": "https://registry.npmjs.org/caseless/-/caseless-0.7.0.tgz" "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz"
}, },
"forever-agent": { "forever-agent": {
"version": "0.5.2", "version": "0.5.2",
@ -871,19 +875,26 @@
"resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz" "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz"
}, },
"form-data": { "form-data": {
"version": "0.1.4", "version": "0.2.0",
"from": "form-data@~0.1.0", "from": "form-data@~0.2.0",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz",
"dependencies": { "dependencies": {
"mime": {
"version": "1.2.11",
"from": "mime@~1.2.11",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz"
},
"async": { "async": {
"version": "0.9.0", "version": "0.9.0",
"from": "async@~0.9.0", "from": "async@~0.9.0",
"resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz" "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" "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz"
}, },
"node-uuid": { "node-uuid": {
"version": "1.4.1", "version": "1.4.2",
"from": "node-uuid@~1.4.0", "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": { "qs": {
"version": "2.3.3", "version": "2.3.3",
@ -925,14 +936,14 @@
} }
}, },
"http-signature": { "http-signature": {
"version": "0.10.0", "version": "0.10.1",
"from": "http-signature@~0.10.0", "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": { "dependencies": {
"assert-plus": { "assert-plus": {
"version": "0.1.2", "version": "0.1.5",
"from": "assert-plus@0.1.2", "from": "assert-plus@^0.1.5",
"resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz" "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
}, },
"asn1": { "asn1": {
"version": "0.1.11", "version": "0.1.11",
@ -940,9 +951,9 @@
"resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz" "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
}, },
"ctype": { "ctype": {
"version": "0.5.2", "version": "0.5.3",
"from": "ctype@0.5.2", "from": "ctype@0.5.3",
"resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz" "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
} }
} }
}, },
@ -1003,14 +1014,14 @@
} }
}, },
"semver": { "semver": {
"version": "4.1.0", "version": "4.2.0",
"from": "semver@~4.1.0", "from": "semver@~4.2.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-4.1.0.tgz" "resolved": "https://registry.npmjs.org/semver/-/semver-4.2.0.tgz"
}, },
"tar": { "tar": {
"version": "1.0.2", "version": "1.0.3",
"from": "tar@~1.0.2", "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": { "dependencies": {
"block-stream": { "block-stream": {
"version": "0.0.7", "version": "0.0.7",
@ -1018,14 +1029,14 @@
"resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz" "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.7.tgz"
}, },
"fstream": { "fstream": {
"version": "1.0.2", "version": "1.0.3",
"from": "fstream@^1.0.2", "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": { "dependencies": {
"graceful-fs": { "graceful-fs": {
"version": "3.0.4", "version": "3.0.5",
"from": "graceful-fs@3", "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", "resolved": "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz",
"dependencies": { "dependencies": {
"graceful-fs": { "graceful-fs": {
"version": "3.0.4", "version": "3.0.5",
"from": "graceful-fs@~3.0.2", "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"
}, },
"inherits": { "inherits": {
"version": "2.0.1", "version": "2.0.1",
@ -1141,7 +1152,7 @@
}, },
"inherits": { "inherits": {
"version": "2.0.1", "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" "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
} }
} }
@ -1166,9 +1177,9 @@
} }
}, },
"rc": { "rc": {
"version": "0.5.4", "version": "0.5.5",
"from": "rc@~0.5.1", "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": { "dependencies": {
"minimist": { "minimist": {
"version": "0.0.10", "version": "0.0.10",
@ -1186,9 +1197,9 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz" "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz"
}, },
"ini": { "ini": {
"version": "1.1.0", "version": "1.3.2",
"from": "ini@~1.1.0", "from": "ini@~1.3.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz" "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.2.tgz"
} }
} }
}, },
@ -1581,7 +1592,8 @@
}, },
"set-immediate": { "set-immediate": {
"version": "0.1.1", "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": { "canvas": {
"version": "1.1.6", "version": "1.1.6",
"from": "canvas@1.1.6", "from": "canvas@1.1.6",
"resolved": "https://registry.npmjs.org/canvas/-/canvas-1.1.6.tgz",
"dependencies": { "dependencies": {
"nan": { "nan": {
"version": "1.2.0", "version": "1.2.0",
@ -2185,9 +2198,9 @@
"resolved": "https://registry.npmjs.org/request/-/request-2.48.0.tgz", "resolved": "https://registry.npmjs.org/request/-/request-2.48.0.tgz",
"dependencies": { "dependencies": {
"bl": { "bl": {
"version": "0.9.3", "version": "0.9.4",
"from": "bl@~0.9.0", "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": { "dependencies": {
"readable-stream": { "readable-stream": {
"version": "1.0.33", "version": "1.0.33",
@ -2286,7 +2299,8 @@
}, },
"asn1": { "asn1": {
"version": "0.1.11", "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": { "ctype": {
"version": "0.5.3", "version": "0.5.3",
@ -2303,6 +2317,7 @@
"hawk": { "hawk": {
"version": "1.1.1", "version": "1.1.1",
"from": "hawk@1.1.1", "from": "hawk@1.1.1",
"resolved": "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz",
"dependencies": { "dependencies": {
"hoek": { "hoek": {
"version": "0.9.1", "version": "0.9.1",
@ -2311,7 +2326,8 @@
}, },
"boom": { "boom": {
"version": "0.4.2", "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": { "cryptiles": {
"version": "0.2.2", "version": "0.2.2",
@ -2352,7 +2368,8 @@
}, },
"sphericalmercator": { "sphericalmercator": {
"version": "1.0.2", "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": { "node-statsd": {
"version": "0.0.7", "version": "0.0.7",

View File

@ -1,7 +1,7 @@
{ {
"private": true, "private": true,
"name": "windshaft-cartodb", "name": "windshaft-cartodb",
"version": "1.24.1", "version": "1.25.0",
"description": "A map tile server for CartoDB", "description": "A map tile server for CartoDB",
"keywords": [ "keywords": [
"cartodb" "cartodb"