Released 2021-mm-dd
Breaking changes:
- Log system revamp:
- Logs to stdout, disabled while testing
- Upgrade
camshaft
to version0.67.3
- Use header
X-Request-Id
, or create a newuuid
when no present, to identyfy log entries - Be able to set log level from env variable
LOG_LEVEL
, useful while testing:LOG_LEVEL=info npm test
; even more human-readable:LOG_LEVEL=info npm t | ./node_modules/.bin/pino-pretty
- Stop responding with
X-Tiler-Errors
header. Now errors are properly logged and will end up in ELK as usual. - Stop responding with
X-Tiler-Profiler
header. Now profiling stats are properly logged and will end up in ELK as usual. - Be able to reduce the footprint in the final log file depending on the environment
- Be able to pass the logger to the analysis creation (camshaft) while instantiating a named map with analysis.
- Be able to tag requests with labels as an easier way to provide business metrics
- Metro: Add log-collector utility (
metro
), it will be moved to its own repository. Attaching it here fro development purposes. Try it with the following commandLOG_LEVEL=info npm t | node metro
- Metro: Creates
metrics-collector.js
a stream to update Prometheus' counters and histograms and exposes them via Express' app (:9145/metrics
). Use the ones defined ingrok_exporter
Bug Fixes:
- While instantiating a map, set the
cache buster
equal to0
when there are no affected tables in the MapConfig. Thuslayergroupid
has the same structure always:${map_id}:${cache_buster}
for anonymous map${user}@${template_hash}@${map_id}:${cache_buster}
for named map
Released 2020-06-05
Breaking changes:
- Remove
/version
endpoint - Drop support for Node.js < 12
Announcements:
- Support Node.js 12
- Upgrade
windshaft
to version7.0.1
- Upgrade
camshaft
to version0.65.3
:- Fix noisy message logs while checking analyses' limits
- Fix CI setup, explicit use of PGPORT while creating the PostgreSQL cluster
- Upgrade
cartodb-redis
to version3.0.0
- Fix test where
http-fallback-image
renderer was failing quietly - Fix stat
named map providers
cache count - Use new signature for
onTileErrorStrategy
. Required bywindshaft@6.0.0
- Extract
onTileErrorStrategy
to a module - In tests, stop using mapnik module exposed by windshaft and require it from development dependencies
- Stop using
MapStore
fromwindshaft
while testing and create a custom one instead - Rename NamedMapProviderReporter by NamedMapProviderCacheReporter
- Remove
bootstrapFonts
at process startup (now done inwindshaft@6.0.0
) - Stop checking the installed version of some dependencies while testing
- Send metrics about
map views
(#1162) - Add custom headers in responses to allow to other components to be able to get insights about user activity
- Update dependencies to avoid security vulnerabilities
Bug Fixes:
- Parsing date column in numeric histograms (#1160)
- Use
Array.prototype.sort()
's callback properly while testing. It should return a number not a boolean.
Released 2020-02-17
Announcements:
- Upgrade camshaft to
0.65.2
: Fixes uncatched errors problem (#1117)
Released 2020-01-27
Announcements:
- Removed
jshint
as linter in favour ofeslint
to check syntax, find problems, and enforce code style. - Upgrade
camshaft
to0.65.1
: Use quoted identifiers for column names and enforce the usage of the cartodb schema when using cartodb extension functions and tables. - Stop using two different tools for package management, testing, and any other developer workflow.
- Removes Makefile and related bash scripts
- Use npm scripts as the only tool for testing, CI and linting.
- Simplified CI configuration.
- Improved documentation:
- Centralized several documents into README.md
- Remove outdated sections
- Update old sections
- Added missing sections.
- Remove deprecated coverage tool istanbul, using nyc instead.
- Removed unused dockerfiles
- Use cartodb schema when using cartodb extension functions and tables.
- Implemented circle and polygon dataview filters.
Released 2019-11-13
Breaking changes:
- Schema change for "routes" in configuration file, each "router" is now an array instead of an object. See
dd06de2
for more details.
Announcements:
- Added validation to only allow "count" and "sum" aggregations in dataview overview.
- Added mechanism to inject custom middlewares through configuration.
- Stop requiring unused config properties: "base_url", "base_url_mapconfig", and "base_url_templated".
- Upgraded cartodb-query-tables to version 0.7.0.
- Be able to set a coherent TTL in Cache-Control header to expire all resources belonging to a map simultaneously.
- When
cache buster
in request path is0
set headerLast-Modified
to now, it avoids stalled content in 3rd party cache providers when they addIf-Modified-Since
header into the request. - Adding a logger to MapStore (#1134)
- Qualify calls to cartodb extension so having it in the search_path isn't necessary.
- Fix multiple DB login issues.
Released 2019-09-30
Announcements:
- Stop caching map template errors in Named Map Provider Cache
- Gather metrics from Named Maps Providers Cache
- Improved efficiency of query samples while instatiating a map (#1120).
- Cache control header fine tuning. Set a shorter value for "max-age" directive if there is no way to know when to trigger the invalidation.
- Update deps:
Released 2019-05-06
Announcements:
- Fix uncaught exception: TypeError: Cannot read property 'id' of undefined
- Implements graceful shutdown for:
- system signals
SIGINT
andSIGTERM
- events
uncaughtException
,unhandledRejection
and,ENOMEM
- system signals
- Experimental support for listing features in a grid when the map uses the dynamic agregation.
- Numeric histogram performance improvement (#1080)
- Fix boolean aggregation layer option not working when numbers of rows are above the threshold (#1082)
- Update deps:
- camshat@0.64.0
- windshaft@5.2.0:
- Use
@carto/cartonik
instead of@mapbox/tilelive
to fetch raster/vertor tiles. - Upgrade
grainstore
to version2.0.0
- Upgrade
torque.js
to version3.1.0
- Upgrade
canvas
to version2.4.1
- Update @carto/mapnik to
3.6.2-carto.13
.
- Use
Released 2019-02-22
Breaking changes:
- Drop support for Node.js 6
- Drop support for npm 3
- Stop supporting
yarn.lock
- Drop support for Postgres 9.5
- Drop support for PosGIS 2.2
- Drop support for Redis 3
Announcements:
- In configuration, set
clipByBox2d
to true by default - Update docs: compatible Node.js and npm versions
- Report fine-grained Garbage Collector stats
- Adding Authorization to Access-Control-Allow-Headers (CartoDB/CartoDB-SQL-API#534)
- Update deps:
- windshaft@4.13.1: Upgrade tilelive-mapnik to version 0.6.18-cdb18
- camshaft@0.63.4: Improve error message for exceeded batch SQL API payload size: add suggestions about what the user can do about it.
- Update dev deps:
- jshint@2.9.7
- mocha@5.2.0
- Be able to customize max waiting workers parameter
- Handle 'max waitingClients count exceeded' error as "429, You are over platform's limits"
Released 2018-12-26
Bug Fixes:
- Update carto-package.json
Released 2018-12-26
New features
- Suport Node.js 10
- Configure travis to run docker tests against Node.js 6 & 10 versions
- Aggregation time dimensions
- Update sample configurations to use PostGIS to generate MVT's by default (as in production)
- Upgrades Windshaft to 4.12.1
pg-mvt
: Usequery-rewriter
to compose the query to render a MVT tile. If not defined, it will use a Default Query Rewriter.pg-mvt
: Fix bug while building query and there is no columns defined for the layer.pg-mvt
: Accept trailing semicolon in input queries.Renderer Cache Entry
: Do not throw errors for integrity checks.- Fix bug when releasing the renderer cache entry in some scenarios.
- Upgrade grainstore to 1.10.0
- Upgrade cartodb-redis to 2.1.0
- Upgrade cartodb-query-tables to 0.4.0
- Upgrade cartodb-psql to 0.13.1
- Upgrade turbo-carto to 0.21.0
- Upgrade camshaft to 0.63.1
- Upgrade redis-mpool to 0.7.0
Bug Fixes:
- Prevent from uncaught exception: Range filter Error from camshaft when getting analysis query.
- Make all modules to use strict mode semantics.
Released 2018-09-24
- Upgrades Camshaft to 0.62.3:
- Build query from node's cache to compute output columns when building analysis
- Adds metadata columns for street level geocoding
- Remove use of
step
module to handle asynchronous code, now it's defined as development dependency. - Bug Fixes: (#1020)
- Fix bug in date-wrapper regarding columns with spaces
- Fix bug in aggregation-query regarding columns with spaces
- Upgrades Windshaft to 4.10.0
pg-mvt
:- Now matches the behaviour of the
mapnik
renderer for MVTs. - Removed undocummented filtering by
layer.options.columns
. - Implement timeout in getTile.
- Several bugfixes.
- Now matches the behaviour of the
- Dependency updates: Fixed a bug in Mapnik MVT renderer and cleanup in
tilelive-mapnik
. - MapConfig 1.8.0 released with new options for MVTs:
- Add
vector_extent
option in MapConfig to setup the layer extent. - Add
vector_simplify_extent
option in MapConfig to configure the simplification process.
- Add
- Remove use of
step
module to handle asynchronous code, now it's defined as development dependency.
Released 2018-07-26
Released 2018-07-20
Notice:
- This release changes the way that authentication works internally. You'll need to run
bundle exec rake carto:api_key:create_default
in your development environment to keep working.
New features:
- CI tests with Ubuntu Xenial + PostgreSQL 10.1 and Ubuntu Precise + PostgreSQL 9.5
- Upgrades Windshaft to 4.8.3 which includes:
- Update internal deps.
- A fix in mapnik-vector-tile to avoid grouping together properties with the same value but a different type.
- Performance improvements in the marker symbolizer (local cache, avoid building the collision matrix when possible).
- MVT: Disable simplify_distance to avoid multiple simplifications.
- Fix a bug with zero length lines not being rendered when using the marker symbolizer.
- Reduce size of npm package
- Omit attributes validation in layers with aggregation to avoid potentially long instantiation times
- Upgrades Camshaft to 0.61.11:
- Update other deps:
- body-parser: 1.18.3
- cartodb-psql: 0.11.0
- cartodb-redis: 2.0.1
- dot: 1.1.2
- express: 4.16.3
- lru-cache: 4.1.3
- node-statsd: 0.1.1,
- queue-async: 1.1.0
- request: 2.87.0
- semver: 5.5.0
- step: 1.0.0
- turbo-carto: 0.20.4
- yargs: 11.1.0
- Update devel deps:
- istanbul: 0.4.5
- jshint: 2.9.5
- mocha: 3.5.3
- moment: 2.22.1
- nock: 9.2.6
- strftime: 0.10.0
- Optional instantiation metadata stats (#952)
- Experimental dates_as_numbers support
- Tiles base urls with api key
Bug Fixes:
- Validates tile coordinates (z/x/y) from request params to be a valid integer value.
- Static maps fails for unsupported formats
- Handling errors extracting the column type on dataviews
- Fix
meta.stats.estimatedFeatureCount
for aggregations and queries with tokens - Fix numeric histogram bounds when
start
andend
are specified (#991) - Static maps filters correctly if
layer
option is passed in the url. - Aggregation doesn't return out-of-tile, partially aggregated clusters
- Aggregation was not accurate for high zoom, far away from the origin tiles
Announcements:
- Improve error message when the DB query is over the user's limits
Released 2018-04-16
New features:
- Aggreation filters
- Upgrades Windshaft to 4.7.0, which includes @carto/mapnik v3.6.2-carto.7 with improvements to metrics and markers caching. It also adds an option to disable the markers symbolizer caches in mapnik.
Bug Fixes:
- Non-default aggregation selected the wrong columns (e.g. for vector tiles)
- Aggregation dimensions with alias where broken
- cartodb_id was not unique accross aggregated vector tiles
Released 2018-03-19 Backward incompatible changes:
- Needs Redis v4
New features:
- Upgrades camshaft to 0.61.8
- Upgrades cartodb-redis to 1.0.0
- Rate limit feature (disabled by default)
- Fixes for tests with PG11
Released 2018-03-15
- Upgrades Windshaft to 4.5.7 (Mapnik top metrics, AttributesBackend allows multiple features if all the attributes are the same)
- Implemented middleware to authorize users via new Api Key system
- Keep the old authorization system as fallback
- Aggregation widget: Remove NULL categories in 'count' aggregations too
- Update request to 2.85.0
- Update camshaft to 0.61.4 (Fixes for AOI and Merge analyses)
- Update windshaft to 4.6.0, which in turn updates @carto/mapnik to 3.6.2-carto.4 and related dependencies. It brings in a cache for rasterized symbols. See https://github.com/CartoDB/node-mapnik/blob/v3.6.2-carto/CHANGELOG.carto.md#362-carto4
- PostGIS: Variables in postgis SQL queries must now additionally be wrapped in
!
(refs #29, mapnik/#3618):
-- Before
SELECT ... WHERE trait = @variable
-- Now
SELECT ... WHERE trait = !@variable!
Released 2018-02-13
- Improve the speed of the aggregation dataview #865
Released 2018-02-12
- Upgrades redis-mpool to 0.5.0
- Upgrades windshaft to 4.5.2
- Upgrades cartodb-redis to 0.15.0
- Adds metrics option to the Mapnik renderer
- Upgrades camshadft to 0.61.2
Released 2018-02-01
Bug Fixes:
- Allow use of aggregation with attributes #861
Released 2018-02-01
Announcements:
- Upgrade windshaft to 4.3.3 adding support for cache-features' in Mapnik/CartoDB layers.
Released 2018-01-30 New features:
- Now mapnik has support for fine-grained metrics.
- Variables can be passed for later substitution in postgis datasource.
Announcements:
- Upgrade windshaft to 4.3.1. Underneath it upgrades mapnik and all the related dependencies.
Released 2018-01-29
Bug Fixes:
- Allow aggregation for queries with no the_geom (only the_geom_webmercator) #856
Released 2018-01-29
Backward incompatible changes:
- Aggregation dataview returns categories with the same type as the database type. For example, if we are aggretating by a numeric field, the resulting JSON will contain a number instead of a stringified number.
Released 2018-01-04
New features:
- Return url template in metadata #838.
Bux fixes:
- Tests: Order torque objects before comparison
Released 2018-01-03
New features:
- Return tilejson in metadata #837.
Bug fixes:
- Allow to create vector map-config for layers that doesn't have points. Layers with lines or polygons won't be aggregated by default.
Released 2018-01-02
Announcements:
- Upgrades windshaft to 4.2.0.
- Validate aggregation input params.
- Fix column names collisions in histograms #828.
- Add full-sample aggregation support for vector map-config.
Released 2017-12-19
Announcements:
- Date histograms: Add second, decade, century and millenium aggregations
- Date histograms: Switch the auto threshold from 366 buckets to 100.
- Logging all errors.
- Add support for aggregated visualizations.
- Allow vector-only map-config creation.
- Histograms: Now they accept a
no_filters
parameter.
Released 2017-12-12
Announcements:
- Upgrades camshaft to 0.60.0.
Released 2017-12-12
Bug fix:
- Fixed bug introduced in version 4.0.1 that brokes the static map generation using JPG as format #808
Released 2017-12-11
Announcements:
- Optimize Formula queries.
- Optimize Formula queries in overviews.
- Optimize Numeric Histogram queries.
- Optimize Date Histogram queries.
- Date Histograms: Now returns the same value for max/min/avg/timestamp per bin.
- Date Histograms: Now it should return the same no matter the DB/Client time zone.
Released 2017-12-04
Announcements:
- Allow to request MVT tiles without CartoCSS
- Upgrades windshaft to 4.1.0.
Released 2017-11-29
Announcements:
- Upgrades turbo-carto to 0.20.2.
Released 2017-mm-dd
Announcements:
- Upgrades windshaft to 4.0.1.
- Add
categories
query param to define the number of categories to be ranked for aggregation dataviews.
Released 2017-10-18
Announcements:
- Upgrades camshaft to 0.59.4.
- Upgrades windshaft to 4.0.0.
- Split and move
req2params
method to multiple middlewares. - Use express error handler middleware to respond in case of something went wrong.
- Use
res.locals
object to share info between middlewares and leavereq.params
as an object containing properties mapped to the named route params. - Move
LZMA
decompression to its own middleware. - Implement stats middleware removing some duplicated code while sending response.
Released 2017-10-04
Backward incompatible changes:
- Removes
list
dataview type.
Announcements:
- Upgrades body-parser to 1.18.2.
- Upgrades express to 4.16.0.
- Upgrades debug to 3.1.0.
- Upgrades request to 2.83.0.
- Upgrades turbo-carto to 0.20.1
- Upgrades cartodb-psql to 0.10.2.
- Upgrades camshaft to 0.59.2.
- Upgrades windshaft to 3.3.3.
- Upgrades yarn minimum version requirement to v0.27.5
Released 2017-10-02
- Upgrades camshaft, cartodb-query-tables, and turbo-carto: better support for query variables.
Bugfixes:
- Bounding box parameter ignored in static named maps #735.
- camhaft 0.59.1 fixes duplicate columns in aggregate-intersection analysis
Released 2017-09-18
- Upgrades windshaft to 3.3.2.
Released 2017-09-07
Bug fixes:
- Do not use distinct when calculating quantiles. #743
Released 2017-09-07
Bug fixes:
- Integer out of range in date histograms. (https://github.com/CartoDB/support/issues/962)
Released 2017-09-01
- Upgrades camshaft to 0.58.1.
Released 2017-08-31
- Upgrades camshaft to 0.58.0.
Released 2017-08-24
- Upgrades camshaft to 0.57.0.
Released 2017-08-23
Announcements:
- Upgrades camshaft to 0.56.0.
Released 2017-08-22
Announcements:
- Upgrades camshaft to 0.55.8.
Released 2017-08-16
Bug fixes:
- Polygon count problems #725.
Released 2017-08-13
Released 2017-08-10
Announcements:
- Apply max tile response time for requests to layergoup, tiles, static maps, attributes and dataviews services #717.
- Upgrades windshaft to 3.3.0.
- Upgrades cartodb-redis to 0.14.0.
Released 2017-08-08
Announcements:
- Allow to override with any aggregation for histograms instantiated w/o aggregation.
Bug fixes:
- Apply timezone after truncating the minimun date for each bin to calculate timestamps in time-series.
- Support timestamp with timezones to calculate the number of bins in time-series.
- Fixed issue related to name collision while building time-series query.
Released 2017-08-04
Bug fixes:
- Exclude Infinities & NaNs from ramps #719.
- Fixed issue in time-series when aggregation starts at 1970-01-01 (epoch) #720.
Released 2017-08-03
Announcements:
- Improve time-series dataview, now supports date aggregations (e.g: daily, weekly, monthly, etc.) and timezones (UTC by default) #698.
- Support special numeric values (±Infinity, NaN) for json responses #706
Released 2017-07-21
- Upgrades windshaft to 3.2.2.
Released 2017-07-20
Bug fixes:
- Respond with 204 (No content) when vector tile has no data #712
Announcements:
- Upgrades turbo-carto to 0.19.2
Released 2017-07-11
- Dataviews: support for aggregation in search results #708
Released 2017-06-27
- Dataviews: support special numeric values (±Infinity, NaN) #700
Released 2017-06-22
Announcements:
- Upgrades camshaft to 0.55.6.
Released 2017-06-16
Announcements:
- Upgrades camshaft to 0.55.5.
Released 2017-06-16
Announcements:
- Upgrades camshaft to 0.55.4.
Released 2017-06-06
Announcements:
- Upgrades camshaft to 0.55.3.
Released 2017-05-31
Announcements:
- Upgrades windshaft to 3.2.1.
- Add support to retrieve info about layer stats in map instantiation.
- Upgrades camshaft to 0.55.2.
- Remove promise polyfill from turbo-carto adapter
Released 2017-05-22
Announcements:
Released 2017-05-18
Bug fixes:
- Fix buffersize assignment when is not defined in requested mapconfig.
Released 2017-05-18
Announcements:
- Manage multiple values of buffer-size for different formats
- Upgrades windshaft to 3.2.0.
Released 2017-05-11
Announcements:
- Upgrades camshaft to 0.54.4.
Released 2017-05-09
Announcements:
- Upgrades camshaft to 0.54.3.
Released 2017-05-05
Announcements:
Released 2017-04-25
Announcements:
- Upgrades windshaft to 3.1.1.
Released 2017-04-24
Announcements:
- Upgrades grainstore to 1.6.3.
Released 2017-04-24
Announcements:
- Upgrades camshaft to 0.54.1.
Released 2017-04-20
Announcements:
- Upgrades camshaft to 0.54.0.
Released 2017-04-11
Announcements:
- Upgrades camshaft to 0.53.1.
Released 2017-04-10
Bug fixes:
- Fix invalidation of cache for maps with analyses #638.
Announcements:
- Upgrades camshaft to 0.53.0.
Released 2017-04-03
Announcements:
- Upgrades camshaft to 0.51.0.
Released 2017-04-03
New features:
- Static map endpoints allow specifying the layers to render #653.
Released 2017-03-30
Announcements:
- Upgrades windshaft to 3.1.0.
- Active GC interval.
Released 2017-03-23
Bug fixes:
- Use crc32 instead of md5 for computing subdomain candidate #642
Released 2017-03-22
Features:
- Generate URLs for resources based on CDN and template rules
Released 2017-03-22
Bug fixes:
- Upgrade dependencies
- Improve docs: remove mentions to NPM and use yarn instead
- Remove script to generate npm-shrinkwrap file
Released 2017-03-21
Announcements:
- Upgrades windshaft to 3.0.1.
Released 2017-03-21
Announcements:
- Supports Node v6.9.x
- Drops support for Node v0.10.x
- Upgrades windshaft to 3.0.0
- Upgrades cartodb-query-tables to 0.2.0
- Upgrades cartodb-redis to 0.13.2
- Upgrades redis-mpool to 0.4.1
Note: Due to this issue, Windshaft-cartodb must be installed with yarn
instead of npm
providing just a yarn.lock
to get consistent installs across machines.
Released 2017-03-17
Deprecation warning: v2.89.0 is the last release that supports Node v0.10.x. Next mayor release will support Node v6.9.x and further versions.
Announcements:
- Upgrades windshaft to 2.8.0.
Bug fixes:
- Histogram column type discovery query uses non-filtered query #637
Released 2017-03-10
Announcements:
- Upgrades camshaft to 0.50.3.
Released 2017-03-02
Bug fixes:
- Category dataviews now uses the proper aggregation function for the 'Other' category. See #628
Released 2017-02-23
Announcements:
- Upgrades camshaft to 0.50.2.
Released 2017-02-21
Announcements:
- Upgrades camshaft to 0.50.1
Released 2017-02-21
Announcements:
Released 2017-02-02
Bug fixes:
- Cast dataview override values to Number or throw error.
Released 2017-01-20
Bug fixes:
- Be able to not compute NULL categories and null values in aggregation dataviews #617.
Released 2016-12-19
Bug fixes:
- Fix overviews-related dataviews problems. See #604
Released 2016-12-19
- Use exception safe Dataservices API functions. See CartoDB/dataservices-api#314 and CartoDB/camshaft#242
Released 2016-12-13
Announcements:
- Upgrades windshaft to 2.6.4.
- Upgrades request dependency.
- Regenerate npm-shrinkwrap.json: missing dependency updates.
Released 2016-12-12
Enhancements:
- Upgrade turbo-carto dependency to version 0.19.0.
Released 2016-12-02
Bug fixes:
- Maps with analyses and
sql_wrap
were broken #599.
Released 2016-12-02
Announcements:
- Upgrades windshaft to 2.6.3.
Released 2016-11-30
Announcements:
- Upgrades camshaft to 0.48.4.
Released 2016-11-24
New features:
- Allow to set resource URL templates with substitution tokens #594.
Released 2016-11-23
Announcements:
- Upgrades camshaft to 0.48.3.
Released 2016-11-23
Announcements:
- Upgrades camshaft to 0.48.2.
Released 2016-11-11
New features:
- Analyses limit configuration allows to set other limits than timeout.
Released 2016-11-10
Announcements:
- Upgrades camshaft to 0.48.1.
Released 2016-11-10
Announcements:
- Upgrades camshaft to 0.48.0.
Released 2016-11-08
Announcements:
- Upgrades camshaft to 0.47.0.
Released 2016-11-05
Announcements:
Released 2016-11-02
Enhancements:
- Returns errors with context when query layer does not retrieve geometry column
Announcements:
Released 2016-10-26
Bug fixes:
- Fix order in categories query to get ramps
Released 2016-10-25
Announcements:
- Upgrades camshaft to 0.46.1.
Released 2016-10-20
Announcements:
- Upgrades camshaft to 0.46.0.
New features:
- Default analyses limits can be defined in configuration.
Released 2016-10-11
New features:
- Retrieve analysis limits and pass them into camshaft.
Announcements:
Released 2016-09-30
Announcements:
- Upgrades camshaft to 0.44.2.
Released 2016-09-29
New features:
- Add metadata about processed turbo-carto rules.
Announcements:
- Upgrades turbo-carto to 0.17.1.
Released 2016-09-28
Announcements:
- Upgrades camshaft to 0.44.1.
Released 2016-09-26
Announcements:
- Upgrades camshaft to 0.44.0.
- Adds a new configuration for camshaft: logger stream.
Released 2016-09-15
New features:
- Allow to use
--config /path/to/config.js
to specify configuration file.- Environment will be loaded from config file if
environment
key is present, otherwise it keeps current behaviour.
- Environment will be loaded from config file if
Bug fixes:
- Allow to use absolute paths for log files #570.
Released 2016-09-14
Announcements:
- Upgrades camshaft to 0.43.0.
Released 2016-09-07
Announcements:
- Upgrades camshaft to 0.42.1.
Released 2016-09-06
Enhancements:
- Layers in previews can be shown or hidden using
preview_layers
property in template map
Released 2016-09-06
Bug fixes:
- Fixes missing column in fixture table
cdb_analysis_catalog
.
Released 2016-09-06
Announcements:
- Upgrades camshaft to 0.42.0.
Released 2016-08-23
Announcements:
- Upgrades camshaft to 0.41.0.
Released 2016-08-17
Announcements:
- Upgrades windshaft to 2.5.0.
Released 2016-08-16
Announcements:
- Upgrades camshaft to 0.40.0.
Released 2016-08-12
Announcements:
- Upgrades windshaft to 2.4.2.
Released 2016-08-11
Announcements:
- Upgrades camshaft to 0.39.0.
Released 2016-07-21
Announcements:
- Upgrades turbo-carto to 0.16.0.
Released 2016-07-21
Announcements:
- Upgrades camshaft to 0.38.1.
Released 2016-07-21
Announcements:
- Upgrades camshaft to 0.38.0.
Released 2016-07-20
Announcements:
- Upgrades turbo-carto to 0.15.1.
Released 2016-07-20
Announcements:
- Upgrades turbo-carto to 0.15.0.
Released 2016-07-18
Announcements:
- Available new endpoint to check user analyses.
- Upgrades camshaft to 0.37.1.
Released 2016-07-15
Announcements:
- Upgrades cartodb-redis to 0.13.1.
- Upgrades camshaft to 0.37.0.
Released 2016-07-12
Announcements:
- Upgrades camshaft to 0.36.0.
Released 2016-07-11
Enhancements:
- Return last error message for failed nodes on map creation.
Announcements:
- Upgrades camshaft to 0.35.0.
- Upgrades lzma to 2.3.2.
Released 2016-07-07
Announcements:
- Upgrades camshaft to 0.34.0.
Released 2016-07-07
Announcements:
- Limit analysis creation concurrency.
- Upgrades camshaft to 0.33.3.
Released 2016-07-06
Enhancements:
- Dataviews use mapconfig to store/retrieve their queries instead of instantiating analyses again.
Released 2016-07-06
Enhancements:
- More clear turbo-carto error messages: no context in message.
- Return multiple turbo-carto errors #541.
Announcements:
Released 2016-07-05
Announcements:
- Upgrades camshaft to 0.32.0.
Released 2016-07-05
Announcements:
- Upgrades camshaft to 0.31.0.
Released 2016-07-05
Announcements:
- Upgrades camshaft to 0.30.0.
Released 2016-07-05
Announcements:
- Upgrades camshaft to 0.29.2.
Bug fixes:
- Return full list of nodes in response metadata.
Released 2016-07-04
Announcements:
- Upgrades camshaft to 0.28.1.
Released 2016-07-04
Announcements:
- Upgrades camshaft to 0.27.0.
Released 2016-07-04
Enhancements:
- Skip null values for quantification methods generating null values.
Announcements:
- Uses new configuration for camshaft: analysis node has an associated user/owner.
- Upgrades camshaft to 0.26.0.
Released 2016-06-30
Improvements:
- Errors with context: replaced
turbo-carto
error type bylayer
type.
Announcements:
- Upgrades camshaft to 0.23.0
Released 2016-06-29
Bug fixes:
- Uses node list so identical nodes are not de-duplicated and can be used with different ids #528.
Released 2016-06-28
Announcements:
- Upgrades camshaft to 0.22.4
Released 2016-06-28
Announcements:
- Upgrades camshaft to 0.22.3
Released 2016-06-28
Announcements:
- Upgrades camshaft to 0.22.2
Released 2016-06-28
Announcements:
- Upgrades camshaft to 0.22.1
Released 2016-06-24
Announcements:
- Upgrades camshaft to 0.22.0
Released 2016-06-23
Announcements:
- Upgrades camshaft to 0.21.0
Released 2016-06-21
Enhancements:
- Split turbo-carto adapter substitutions tokens query.
- Now errors with context have the same schema. #519
- Responses with error now return the layer-id to give more info to the user.
Announcements:
- Upgrades camshaft to 0.20.0
Released 2016-06-21
Bug fixes:
- Pixel size query for turbo-carto adapter using radians and degrees instead of meters.
New features:
- Add support for min, max, and avg operations in aggregation dataview #513.
Announcements:
- Upgrades camshaft to 0.19.0
Released 2016-06-20
Announcements:
- Upgrades turbo-carto to 0.12.1.
Bug fixes:
- Use an empty array as default value for falsy ramps #512.
- Use the_geom for intermediate dataviews #511.
- Pick last update time for layergroupid from analyses results #510.
Released 2016-06-15
Announcements:
- Upgrades camshaft to 0.17.1
Released 2016-06-14
Announcements:
- Upgrades camshaft to 0.15.1
- Responses with more context info if analysis or turbo-carto fails during map creation.
Released 2016-06-13
Announcements:
- Upgrades camshaft to 0.14.1
Released 2016-06-10
Announcements:
- Upgrades camshaft to 0.14.0
Released 2016-06-09
Improvements:
- Support for substitution tokens in geojson tiles
- Warn on application start about non-matching dependencies
Announcements:
Bug fixes:
- Column provided for geojson renderer should not be null #476
- Dataviews/widgets adapter working with non sql, non source, and non widgets layers
Released 2016-06-02
Improvements:
- Removes Windshaft's widgets dependency.
- Makes widgets/dataviews endpoint compatible, but all using dataviews backend instead of widgets from Windshaft.
- Keeps adding widgets metadata in map instantiations for old clients.
Announcements:
Released 2016-06-01
Improvements:
- Extend overviews support to histogram and aggregation dataviews
- Test improvements
Released 2016-05-31
Announcements:
New features:
- Adds support for sql wrap in all layers
Bug fixes:
- Fail on turbo-carto invalid quantification methods
Released 2016-05-19
Bug fixes:
- Dataview error when bbox present without query rewrite data #458
Released 2016-05-18
New features:
- Overviews now support dataviews and filtering #449
Released 2016-05-17
New features:
- turbo-carto: mapnik substitution tokens support #455
Released 2016-05-17
- Upgraded turbo-carto to fix reversed color scales
Released 2016-05-16
Bug fixes:
- Fix named maps with analysis #453
Enhancements:
- Use split strategy for head/tails turbo-carto quantification
Announcements:
- Upgrades turbo-carto to 0.9.0
Released 2016-05-11
Announcements:
- Upgrades camshaft to 0.8.0
Bug fixes:
- Nicer error message when missing sql from layer options #446
Released 2016-05-11
Announcements:
- Upgrades camshaft to 0.7.0
Released 2016-05-10
Enhancements:
- Use original query from source nodes #444
New features:
- Allow override zoom+center or bbox for static named maps previews #443
- Analysis layers can have a sql_wrap option to wrap node queries #441
Released 2016-05-05
Announcements:
- Upgrades step-profiler to 0.3.0 to avoid dots in json keys #438
- Use a more aggressive cache control header for node status endpoint
Released 2016-05-05
Announcements:
- Fixes problem in turbo-carto dependency
- Removes console usages
Released 2016-05-05
Announcements:
- Upgrades turbo-carto to 0.7.0
Released 2016-05-03
Announcements:
- Upgrades camshaft to 0.6.0
Released 2016-04-29
Announcements:
- Upgrades camshaft to 0.5.1
Released 2016-04-28
Announcements:
- Upgrades windshaft to 1.19.0
Released 2016-04-27
Announcements:
- Upgrades windshaft to 1.18.0
- Appends columns to layers from associated dataviews
Released 2016-04-27
Announcements:
- Upgrades windshaft to 1.17.3
Released 2016-04-27
Enhancements:
- Adds support to return multiple errors in BaseController.sendError #423
- Starts using turbo-carto dependency
Announcements:
- Upgrades windshaft to 1.17.2
Released 2016-04-20
Bug fixes:
- Support unneeded schema names in overviews queries #421
Released 2016-04-20
New features:
- Adds experimental support for analysis and dataviews
Announcements:
- Upgrades cartodb-psql to 0.6.1 version.
- Upgrades windshaft to 1.17.1
Released 2016-04-06
New features:
- Added support for dynamic styling for widgets in named maps
Announcements:
- Upgrades windshaft to 1.17.0
Released 2016-04-04
Bug fixes:
- Overviews integration for named layers #400
- Support wrapped queries in named layers #405
Released 2016-03-23
Announcements:
- Upgrades windshaft to 1.16.1
Released 2016-03-16
Announcements:
- Upgrades windshaft to 1.16.0
Released 2016-03-15
Announcements:
- Upgrades windshaft to 1.15.0
Released 2016-03-14
Announcements:
- Upgrades windshaft to 1.14.0
Released 2016-03-14
New features:
- Added turbo-cartocss to preprocess CartoCSS.
Released 2016-03-09
New features:
- Add Surrogate-Key headers to responses
Enhancements:
- Use new
node-cartodb-query-tables
library to obtain affected tables in queries
Announcements:
- Remove deprecated tools directory
Released 2016-03-03
Improvements:
- Optimize overviews queries for efficient spatial filtering in PostgreSQL
Released 2016-02-25
Announcements:
- Upgrades windshaft to 1.13.2
Released 2016-02-24
Announcements:
- Upgrades windshaft to 1.13.1
Released 2016-02-24
Announcements:
- Upgrades windshaft to 1.13.0
Released 2016-02-22
Bug fixes:
- Correct URLs for widgets in named maps #381
Released 2016-02-22
Announcements:
- Upgrades windshaft to 1.11.1
Released 2016-02-18
Announcements:
- Upgrades windshaft to 1.11.0
Released 2016-02-15
Announcements:
- Upgrades windshaft to 1.10.1
Released 2016-02-10
Improvements:
- Support for overviews
Released 2016-02-08
Announcements:
- Upgrades windshaft to 1.8.3
Released 2016-02-05
Bug fixes:
- Added default config for geojson renderer
Released 2016-02-04
Announcements:
- Upgrades windshaft to 1.8.2
Released 2016-01-20
Bug fixes:
- Change redis pool name to report with a valid statsd key #363
Improvements:
- Query runner improvements #359
Unsupported:
- Widgets endpoints
- Layer filters
Note: API for unsupported list might change in the future, use at your own peril.
Released 2015-11-23
Announcements:
- Upgrades windshaft to 1.6.1
Released 2015-11-12
Announcements:
- Upgrades windshaft to 1.6.0
Released 2015-11-02
Announcements:
- Upgrades windshaft to 1.5.0
Released 2015-10-28
Announcements:
- Upgrades windshaft to 1.4.0
Released 2015-10-22
Announcements:
- Upgrades windshaft to 1.2.0
Released 2015-10-21
Announcements:
- Upgrades windshaft to 1.1.1
Released 2015-10-13
Announcements:
- Fastly purging no longer uses soft-purge option
- Upgrades windshaft to 1.1.0
- Upgrades fastly-purge to 1.0.1
Released 2015-09-30
Enhancements:
- Remove app dependency from controllers
Announcements:
- Upgrades windshaft to 1.0.1
Improvements:
- Safer user extraction from request Host header
Released 2015-09-30
Summary: this starts using Windshaft as library (aka version 1.0.0), it no longer extends old Windshaft server.
Announcements:
- Upgrades windshaft to 1.0.0
New features:
- Named tiles: /api/v1/map/named/:name/:layer/:z/:x/:y.:format
Ported from Windshaft pre-library:
- Almost all acceptance tests, some unit and some integration tests
- Stats + profiler
New features:
- Named maps MapConfig provider
- Base controller with: req2params, send response/error mechanisms
- Authentication/Authorization moves to its own API so it can be reused
- Surrogate-Key headers for named maps and affected tables
Improvements:
- No more fake requests to emulate map config instantiations
- As named maps previews are using named map MapConfigProvider it doesn't need to load the MapConfig
- Controllers using Windshaft's backends to request resources through MapConfig providers
- Express 4.x, as Windshaft no longer provides an HTTP server, here we start using latest major version of Express.
- assert.response implemented using request
- All tests validate there are no unexpected keys in Redis and keys requested to be deleted after a test are present
- Test suite in Makefile generated with
find
- Image comparison with
mapnik.Image.compare
- Doesn't emit Named map update event on unmodified templates
TODO:
- Named map provider checks on every request if named map has changed to reload it (actually reset it so MapConfig has to be regenerated). See https://github.com/CartoDB/Windshaft-cartodb/commit/f553efa69e83fdf296154ab1b7b49aa08957c04e. This is done this way because when running the Service in a cluster there is no communication between different instances so when a named map gets updated in one of the them the rest is not aware/notified of the change. In the future there should be a mechanism to synch this changes between instance:
- endpoint
- redis pub/sub
- backdoor
Released 2015-09-21
New features:
- Keep x-cache-channel in named map static maps
Released 2015-08-27
Announcements:
- Upgrades windshaft to 0.51.0
New features:
- Make http and https globalAgent options configurable
- If config is not provided it configures them with default values
Released 2015-08-26
Announcements:
- Upgrades windshaft to 0.50.0
Released 2015-08-18
New features:
- Exposes metatile cache configuration for tilelive-mapnik, see configuration sample files for more information.
Announcements:
- Upgrades windshaft to 0.49.0
Released 2015-08-06
New features:
- Send memory usage stats
Released 2015-07-15
Announcements:
- Upgrades windshaft to 0.48.0
Released 2015-07-14
Enhancements:
- Replaces
CDB_QueryTables
withCDB_QueryTablesText
to avoid issues with long schema+table names
Released 2015-07-06
Bug fixes:
- redis-mpool
noReadyCheck
andunwatchOnRelease
options from config and defaulted
Released 2015-07-06
Announcements:
New features:
- Exposes redis
noReadyCheck
config
Bug fixes:
- Fixes
unwatchOnRelease
redis config
Released 2015-07-02
Announcements:
- Upgrades windshaft to 0.46.1
Released 2015-07-02
Announcements:
- Upgrades windshaft to 0.46.0
- New config to set metatile by format
Released 2015-06-18
New features:
- Named maps names can start with numbers and can contain dashes (-).
- Adds layergroupid header in map instantiations
Bug fixes:
- Named maps error responses with
{ "errors": ["message"] }
format (#305)
Announcements:
- Upgrades windshaft to 0.45.0
Enhancements:
- Fix documentation style and error examples
Released 2015-06-01
Announcements:
- Upgrades windshaft to 0.44.1
Released 2015-05-26
Announcements:
- Upgrades windshaft to 0.44.0
Released 2015-05-18
Announcements:
- Upgrades cartodb-redis for
global
map stats
Released 2015-04-29
Enhancements:
- jshint is run against tests
- tests moved to mocha's
describe
New features:
- Fastly surrogate keys invalidation for named maps
- New configuration entry:
fastly
. Check example configurations for more information.
- New configuration entry:
PgQueryRunner
extracted fromQueryTablesApi
so it can be reused in newTablesExtentApi
- New top level element,
view
, in templates that holds attributes to identify the map scene. - Named maps static preview in /api/v1/map/static/named/:name/:width/:height.:format endpoint
- It will be invalidated if the named map changes
- But have a Cache-Control header with a 2 hours max-age, won't be invalidated on data changes
Released 2015-04-16
Announcements:
- Upgrades windshaft to 0.42.2
Released 2015-04-15
Bug fixes:
- Do not check statsd_client in profiler
Announcements:
- Upgrades windshaft to 0.42.1
Released 2015-04-10
Bug fixes:
- Do not add x-cache-channel header for GET template routes
Released 2015-04-09
Announcements:
- Upgrades windshaft to 0.42.0
Released 2015-04-08
Announcements:
- Major release with BREAKING CHANGES:
- Removes
/:table/infowindow
,/:table/map_metadata
and/:table/flush_cache
endpoints - Sample configuration removes
/tiles/template
and/tiles/layergroup
- URLs to use from now on are:
/api/v1/map/named
and/api/v1/map
- No more state changes for styles
- No more dump stats for renderers: SIGUSR1 and SIGUSR2 signals
- Removes query params:
- sql
- geom_type
- cache_buster
- cache_policy
- interactivity
- style
- style_version
- style_convert
- scale_factor
- Affected tables for x-cache-channel will use direct connection to postgresql
- Removes some metrics: authorized times ones
- Mapnik renderer configuration not part of the
renderer
root configuration- All configuration must be moved into
renderer.mapnik
, seeconfig/environments/*.js.example
for reference
- All configuration must be moved into
- Removes rollbar as optional logger
Released 2015-03-11
Announcements:
- Upgrades windshaft to 0.40.0
Released 2015-03-09
Announcements:
- Upgrades windshaft to 0.39.0
Released 2015-02-20
Announcements:
- Upgrades windshaft to 0.37.5
Released 2015-02-18
Announcements:
- Upgrades windshaft to 0.37.4
Released 2015-02-17
Announcements:
- Upgrades windshaft to 0.37.3
Released 2015-02-17
Announcements:
- Upgrades windshaft to 0.37.2
Released 2015-02-17
Announcements:
- Upgrades windshaft to 0.37.1
Released 2015-02-17
Announcements:
- Upgrades windshaft to 0.37.0
New features:
- QueryTablesApi will always use an authenticated query to retrieve last update, this allows to query affected private tables last update (#253)
Released 2015-02-16
Announcements:
- Adds default image placeholder for http renderer to use as fallback
New features:
named
layers type, see MapConfig-NamedMaps-extension- Starts using datasource per layer feature from Windshaft (2c7bc6a)
Bugfixes:
- Fixes tests with beforeEach and afterEach triggers
Released 2015-01-28
Bugfixes:
- Accept 'open' string in templates'
auth
as authorized.
Released 2015-01-28
Announcements:
- Upgrades windshaft to 0.35.1, see CartoDB/Windshaft#254
Released 2015-01-27
Announcements:
- Upgrades windshaft to 0.35.0, supports mapconfig version
1.3.0
Released 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 responsibility 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 responsible 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
- Extends TemplateMaps backend with EventEmitter
Released 2015-01-15
Announcements:
- Upgrades windshaft to 0.34.0 for retina support
Released 2015-01-14
Announcements:
- Regenerate npm-shrinkwrap.json
Released 2015-01-14
Announcements:
- Upgrades windshaft to 0.33.0
New features:
- Sets HTTP renderer configuration in server_options
Released 2015-01-13
New features:
- Health check endpoint
Released 2014-12-15
Announcements:
- Upgrades windshaft to 0.32.4
Released 2014-12-11
Announcements:
- Upgrades windshaft to 0.32.2
Bugfixes:
- Closes fd for log files on
kill -HUP
(#230)
Released 2014-10-24
New features:
- Allow a different cache-control max-age for layergroup responses
Released 2014-10-20
Announcements:
- Upgrades windshaft to 0.31.0
Released 2014-10-17
Announcements:
- Upgrades redis-mpool to 0.3.0
Released 2014-10-15
New features:
- Report to statsd the status of redis pools
- Upgrades Windshaft to start reporting redis/renderers/mapnik pool metrics
Enhancements:
- Share one redis-mpool across the application
Released 2014-10-14
Announcements:
- Dropping support for npm <1.2.1 npm-shrinkwrap.json is incompatible when generated with npm >=1.2.1 and consumed by npm <1.2.1
- Upgrades windshaft to 0.28.2
- Generates npm-shrinkwrap.json with npm >1.2.0
Released 2014-10-13
Bug fixes:
- Defaults resultSet to object if undefined in QueryTablesApi
Announcements:
- Upgrades windshaft to 0.28.1
Released 2014-10-13
New features:
- Allow to add more node.js' threadpool workers via process.env.UV_THREADPOOL_SIZE
Released 2014-10-03
Announcements:
- Comes back to use mapnik 2.3.x based on cartodb/node-mapnik@1.4.15-cdb from windshaft@0.28.0
Released 2014-10-01
Announcements:
- Upgrades windshaft to 0.27.2 which downgrades node-mapnik to 0.7.26-cdb1
Released 2014-09-30
Announcements:
- Upgrades windshaft to 0.27.1 which downgrades node-mapnik to 1.4.10
Enhancements:
- TTL for template locks so they are not kept forever
- Upgrades mocha
Released 2014-09-25
New features:
- Starts using mapnik 2.3.x
Enhancements:
- Upgrades windshaft and cartodb-redis
- Supports
!scale_denominator!
dynamic param in SQL queries - Metrics revamp: removes and adds some metrics
- Adds poolSize configuration for mapnik
Released 2014-08-19
Enhancements:
- Upgrades cartodb-redis
Released 2014-08-18
New features:
- Configurable QueryTablesAPI to call directly postgresql using cartodb-psql or to keep using a request to the SQL API
Enhancements:
- Removes mapnik dependency as it now relies on Windshaft to check mapnik version
- Upgrades dependencies:
- underscore
- lzma
- log4js
- rollbar
- windshaft
- request
Released 2014-08-13 Enhancements:
- Upgrades dependencies:
- redis-mpool
- cartodb-redis
- windshaft
- Specifies name in the redis pool
- Slow pool configuration in example configurations
Released 2014-08-07
Enhancements:
- SQL API requests moved to its own entity
New features:
- Affected tables and last updated time for a query are performed in a single request to the SQL API
- Allow specifying the tile format, upgrades windshaft and grainstore dependencies for this matter
Released 2014-08-04
Enhancements:
- Profiler header sent as JSON string
Released 2014-07-30
New features:
- Support for postgresql schemas
- Use public user from redis
- Support for several auth tokens
Released 2014-06-24
Enhancements:
- Caches layergroup and sets X-Cache-Channel in GET requests also in named maps
Released 2014-06-24
New features:
- Caches layergroup and sets X-Cache-Channel in GET requests
Released 2014-05-07
Enhancements:
- Upgrade Windshaft to 0.21.0, see http://github.com/CartoDB/Windshaft/blob/0.21.0/NEWS
Released 2014-04-28
New features:
- Add support for log_filename directive
- Reopen log file on SIGHUP, for better logrotate integration
Enhancements:
- Set default PostgreSQL application name to "cartodb_tiler"
Released 2014-04-08
Bug fixes:
- Fix show_style tool broken since 1.8.1
- Fix X-Cache-Channel of tiles accessed via signed token (#188)
Released 2014-03-21
Bug fixes:
- Do not cache non-success jsonp responses (#186)
Released 2014-03-20
New features:
- Add optional support for rollbar (#150)
Enhancements:
- Do not send connection details to client (#183)
- Upgrade node-varnish to 0.3.0
- Upgrade Windshaft to 0.20.0, see http://github.com/CartoDB/Windshaft/blob/0.20.0/NEWS
- Include tiler version in startup log
- Install an uncaught exception handler
- Require own fork of node-mapnik, with temptative fix for libxml usage (glibc detected corruptions)
Other changes:
- Switch to 3-clause BSD license (#184)
Released 2014-03-10
New features:
- Allow to set server related configuration in serverMetadata (#182)
Released 2014-03-10
Enhancements:
- Set statsd prefix for all endpoints
- Respond with a permission denied on attempt to access map tiles waiving signature of someone who had not left any (#170)
- Do not log an error on GET / (#177)
- Do not UNWATCH on every redis client release (#161)
- Include API docs (#164)
- Add "cacheDns" statsd setting in the example configs
- Do not send duplicated stats on template instanciation
- Do not die on dns resolution errors (#178, #180)
Bug fixes:
- Do not cache map creation responses (#176)
Released 2014-03-03
Enhancements:
- Really skip CDB_TableMetadata lookup for sql affected by no tables (#169)
- Upgrade windshaft to 0.19.2, see node_modules/windshaft/NEWS
- Clarify obscure "ECONNREFUSED" error message (#171)
- Change some http status responses to be more appropriate to the case
- Forbid using map signatures of foreign users (#172)
- Forbid instanciating templates of foreign users (#173)
- Allow passing environment configuration name via NODE_ENV to app.js
- Print environment configuration name on app start
Bug fixes:
- Fix database connection settings on template instanciation (#174)
Released 2014-02-27
Enhancements:
- Upgrades windshaft to 0.19.1 with many performance improvements, See node_modules/windshaft/NEWS
- Improve speed of instanciating a map (#147, #159, #165)
- Give meaningful error on attempts to use map tokens with attribute service (#156)
- Reduce sql-api communication timeout, and allow overriding (#167) [ new sqlapi.timeout directive, defaults to 100 ms ]
- Do not query CDB_TableMetadata for queries affected by no tables (#168)
Released 2014-02-25
Enhancements:
- Allow using ":host" as part of statsd.prefix (#153)
- Expand "addCacheChannel" stats
- Allow using GET with sql-api for queries shorter than configured len (#155) [ new sqlapi.max_get_sql_length directive, defaults to 2048 ]
- Do not log an error for a legit request requiring no X-Cache-Channel
Bug fixes:
- Fix munin plugin after log format changes (#154)
Released 2014-02-19
Enhancements:
- Use log4js logger (#138)
Bug fixes:
- Always generate X-Cache-Channel for token-based tile responses (#152)
Released 2014-02-18
Enhancements:
- Add script to flush caches (#140)
- Add script to list templates
- Add statsd support (#139)
- Add support for specifying a varnish password
- Avoid sending multiple varnish invalidation at once (#135)
- Tested with node-0.10 (#141)
- Use single redis pooler for torque and grainstore
- Reduce cost of garbage collection for localized resources
- Allow limiting number of templates for each user (#136)
- Allow configuring TTL of mapConfigs via "mapConfigTTL"
Released 2014-02-11
Enhancements:
- Disable debug logging unless "debug" config param evaluates to true (#137)
- Require windshaft 0.17.2 for further reducing log noise (#137)
Released 2014-02-11
New features:
- Add support for torque tiles (#112)
- Add attributes service (#118)
- Implement Unified Map API (#126)
- Make endpoints configurable (#127)
Enhancements:
- Allow specifying fixed sqlapi host address (#117)
- Include template hash in template instance response, to keep caches of different instances separated (#105)
Bug fixes:
- Allow space padding in template variables usage (#129)
- Allow passing numbers as values for numeric template variables (#130)
Released 2014-01-30
Bug fixes:
- layergroup accept both map_key and api_key (#91)
- Fix public instanciation of signed template accessing private data (#114)
- Fix show_style in presence of complex styles
- Fix use of maxzoom in layergroup config (via windshaft-0.15.1)
Enhancements:
- Add support for instanciating a template map with JSONP (#116)
- Stop processing XML on renderer creation, not needed anymore since 1.6.1 introduced on-demand XML generation.
Released 2014-01-23
Bug fixes:
- Fix support for long (>64k chars) queries in layergroup creation (#111)
Enhancements:
- Enhance tools/show_style to accept an environment parameter and print XML style now it is not in redis anymore (#110)
- Support CORS in template instanciation endpoint (#113)
Released 2014-01-15
Bug fixes:
- Drop cache headers from error responses (#107)
- Localize external CartoCSS resources at renderer creation time (#108)
Released 2014-01-10
New features:
- Add 'user_from_host' directive to generalize username extraction (#100)
- Implement signed template maps (#98)
Other changes:
- Update cartodb-redis dependency to "~0.3.0"
- Update redis-server dependency to "2.4.0+"
Released 2013-12-05
Bug fixes:
- Fix configuration-level compatibility with versions prior to 1.5 (#96)
- Fix use of old layergroups on mapnik upgrade (#97)
Released 2013-11-28
Bug fixes:
- Survive presence of malformed CartoCSS in redis (#94)
- Accept useless point-transform:scale directives (#93)
Released 2013-11-19
NOTE: new configuration directives postgres_auth_pass
and
postgres.password
added; see config/environments/*.example
for documentation.
Improvements:
- Add support for configuring database connection passwords
- Optionally read user-specific database_host and database_password from redis as per CartoDB-2.5.0 model (#88, #89)
- Do not force ending dot in SQL-API hostname, for easier testing
Bug fixes:
- Return CORS headers when creating layergroups via GET (windshaft/#92)
- Fix http status on database authentication error (windshaft/#94)
- Fix text-face-name error at layergroup creation (windshaft/#93)
Other changes:
- CartoDB redis interaction delegated to "cartodb-redis" module
Released 2013-11-08
- Fix support for exponential notation in CartoCSS filter values (#87)
Released 2013-10-31
- Add Support for Mapnik-2.2.0 (#78)
Released 2013-10-11
- Restore support for node-0.8.9 accidentally dropped by 1.3.5 NOTE: needs removing node_modules/windshaft and re-running npm install
Released 2013-10-03
- Fixing apostrophes in CartoCSS
- Fix "sql/table must contain zoom variable" error when using "[ zoom > 3]" CartoCSS snippets (note the space)
- Fix backward compatibility handling of sqlapi.host configuration (#82)
- Fix error for invalid text-name in CartoCSS (#81)
- Do not let anonymous requests use authorized renderer caches
NOTE: configuration sqlapi.host renamed to sqlapi.domain (support for "sqlapi.host" is retained for backward compatibility)
- Improve empty CartoCSS error message
- Improve invalid mapnik-geometry-type CSS error message
- Fix race condition in localization of network resources
- Set Last-Modified header to allow for 304 responses
- Add profiling support (needs useProfiler in env config file)
- Fix double-checking for layergroups with no interactivity
- Log full layergroup config at creation time (#76)
- Set default layergroup TTL to 2 hours
- Serve multilayer tiles and grid with persistent cache control
- Fix deadlock on new style creation
- Fix database authentication with multi-table layergroups
- Add tile and grid fetching checks at layergroup creation time
- Fix SQL error reporting to NOT split on newline
- Fix support for CartoCSS attachments
- Change stats format for multilayer map token request, see http://github.com/Vizzuality/Windshaft-cartodb/wiki/Redis-stats-format
- Fix multilayer post from firefox
- Fix multilayer cartocss layer name handling
- Multilayer API changes
- Layers passed by index in grid fetching url
- Interactivity only specified in layergroup config
- Embed cache_buster within token
- Use ISO format for last_modified timestamp
- Expected LZMA encoding changed to base64
- Fix regression with default interactivity parameter (#74)
- More verbose logging for SQL api connection errors
- Write stats for multilayer map token request
- Handle SQL API errors by requesting no Varnish cache
- Fix X-Cache-Channel for multilayer (by token) responses
- Add last_modified field to layergroup creation response (#72)
- Deprecate signal handler for USR1, add handler for USR2 (#71)
- Fix support for ampersend characters in CartoCSS
- Add support for LZMA compressed GET parameters
- Add support for creating layergroups via GET
- Require Windshaft-0.9.1, to reduce harmfulness of cache_buster param
Released DD//MM//YY
- Do not let /etc/services confuse FD checker (munin plugin)
- Multilayer support (#72)
- Expose renderer settings in the environment config files
Released 19//02//13
- Require windshaft 0.8.5, fixing some stability issues and providing cache info on request
- Require grainstore 0.10.9, fixing an issue with multi-geom markers
- Enhance run_tests.sh to allow running single tests and skipping preparation
- Fix async throws in getGeometryType, getInfoWindow and getMapMetadata
- Survive connection refusals from redis
- Add maxConnection environment configuration, default to 128
Released DD//MM//YY
- Fix bogus cached return of utf grid for fully contained tiles (#67)
Released DD//MM//YY
- Reduce default extent to allow for consistent proj4 round-tripping
- Enhance reset_styles script to use full configuration (#62)
- Have reset_styles script also drop extended keys (#58)
- Fix example postgis parameter for simplifying input geoms (#63)
- Add row_limit to example config (#64)
Released 30//11//12
- Fix reset_styles script to really skip extended keys
- CartoCSS versioning
- Mapnik-version dependent default styles
- Enhance 2.0 -> 2.1 transforms:
- styles with conditional markers
- scale arrow markers by 50%
Released DD//MM//YY
- CartoCSS versioning
- Fix use of "style_version" with GET (inline styles)
- Enhance 2.0 -> 2.1 transforms:
- styles with no semicolon
- markers shift due to geometry clipping
Released DD//MM//YY
- Add support for persistent client cache headers
- Fix crash on unknown user (#55)
- Add /version entry point
- CartoCSS versioning
- Include style_version in GET /style response
- Support style_version and style_convert parameters in POST /style request
- Support style_version in GET /:z/:x/:y request
Released (30/10/12)
- Add /version entry point
- CartoCSS versioning
- Include version in GET /style response
- Support version and convert parameters in POST /style request
- Autodetect target mapnik version and let config override it
- Add tools/reset_styles script to batch-reset (and optionally convert) styles
- Configurable logging format (#4)
- Detailed error on missing user metadata
- Properly handle unauthenticated requests for metadata
- Accept "api_key" in addition to "map_key", both in query_string and POST body (#38)
- Add ./configure script
- Allow listening on host IP
- Replaced environment configs by .example ones
- Fixed some issues with cluster2
Released 03/10/12
- Migrated to node 0.8.x.
Released 25/09/12
- External resources in CartoCSS
- Added X-Cache-Channel header in all the tiler GET requests
- Small fixes