Updates to work with aws-sdk 2.1562.0:
- Use the default value of HighWaterMark for the WriteStream interface. With updated aws-sdk version, the HighWaterMark setting was causing write timeouts.
- New version of aws-sdk does not reliably call the callback fuction of put_object. tilelive depended on that call back to count the number tiles being written. When the callback was not being called tilelive would hang. The solution is just use the finish event that tilelive to indicate that all of the tiles have been written. If an error occures tilelive will catch the error event.
- Update to minimist version 1.2.6
- Added node v10 support by upgrading to @mapbox/mbtiles0.10.x
- Include trailing newline at the end of serialtiles to make append implementations simpler (#206)
- Updated several dependencies to the @mapbox namespaced version
- Update all CI tests to run on node v0.10, v4, and v6 #194
- Fix flaky round-trip de/serialize tests #152
- support @mapbox namespaced tilelive packages for auto loading #187
- Increase maxzoom to z30, based on updated tilejson-spec
- Move to @mapbox/tilelive namespace
- Allow transform-like streams to be used in the
transform
property - Catch errors in transform stream
- Ignore negative x and y that are generated from wide bounds
- Add an
--exit
flag totilelive-copy
to exit explicitly when copy completes successfully
- Attempt to generate a default list stream from source in
tilelive.copy()
if no explicit list is provided
- Add option for slow tile logging in
tilelive.copy()
- Fixes for uri parsing and protocol handling in
tilelive.auto()
- Added the ability for headers to pass information to tilelive to continue pyramid tiling if the tree below contains data.
- Adds smarter handling of low zoom level tiles to pyramid scheme such that early empty tiles are tolerated without skipping.
- Exposes
tilelive.copy()
timeout option to commandline util.
- Fixes a bug in
tilelive.copy()
that caused every copy operation to timeout after 60s (or the specified timeout interval).
tilelive.copy()
operations that stop doing any processing for 60s will error. This timeout interval is configurable.tilelive.copy()
callers can provide a transform stream which will receive each tile read from the source on its way to the destination.
- Fixes a bug that allowed
NaN
values in metadata to passtilelive.validate
- Adds a
close
option totilelive.copy()
which determines whether sources are closed at the end of a copy operation. The shell-executable scripttilelive-copy
hard-wires this option totrue
.
- Fixes a bug where list streams could miss tile coordinates under certain conditions
- List streams now throw errors when encountering invalid tile coordinates
- Read streams confirm that the tilesource's extent is valid
- No retry on 'Does not exist' getTile errors.
- Loosens
bounds
validation to be more forgiving of datasets that exceed mercator extents. - Adds a
retry
option to read/write copy streams for the number of additional times to attempt a getTile/putTile operation if the first attempt fails.
- Sets an appropriate default highWaterMark on write streams
- Fix liststream by switching to Transform-based stream
- Expose copy function as an API
- Fix handling of paths with spaces
- Bugfix: list stream continues to read if internal buffer starts with a newline
- Bugfix: deserialize streams return the info object as part of every job
- Job numbering starts with
0
- Allows read streams to be split into parallel jobs.
- Adds serialize/deserialize streams for tilelive copy.
- Adds tilelive.validate method for a non-restrictive way to validate tilejson and other common info keys.
- Refactors tilelive.verify to leverage tilelive.validate and optionally take a list of keys to require.
- Refactor CopyTask into read/write streams
- Register tilelive protocols globally
- Add tilelive.auto method from tilelive-copy for detection and autoloading of protocol modules.
- Declare support for node v0.10.x in package.json
- Minor package.json fixes and updated dependencies
- Bug fixes.
- Removes underscore, step dependencies.
- Remove deprecated tilelive.copy method in favor of CopyTask.
- Rewrite tilelive-copy with better interface and detection of protocols.
- Remove uncaughtException handler from CopyTask.
- More lenient validation of north and south bbox values.
- CopyTask treats 'Tile|Grid does not exist' errors as skips.
- CopyTask can now accept loaded tilelive sources.
- Add "all" and "clean" rules to Makefile, by @strk.
- Node v0.8 support.
- Bug fixes for CopyTask.
- Removes use of
putDuplicateTile
from TileSink interface.
- Rewritten copy command with swappable schemes.
- Tilesources are not verify()'ed automatically during info(). Clients must now do this.
- Updated to use Tilestore/Tilesink/Tilesource interface
- Uses the TileJSON format internally
- Switched to Tilestore URIs
- Interfaces updated to XYZ. Order of parameters is now z, x, y
- Added copy command
Split out tilelive-mapnik
, mbtiles
backends.
This release is all distribution fixes:
- Uses devDependencies to support docs and testing
- Fixes test that depended on node-get
- Removes tilelive_server example: replaced by geode.
- Now uses and requires node-mapnik 0.3.0
Minor release: adds Pool
argument to Tile.getMap()
, to let users dispose of used maps.
node-sqlite3
replacesnode-sqlite
for better performance and stability.- deep render grid support -
layer.json
now supports legends and interaction. server.js
removed from examplestilelive_server.js
added tobin/
- Tiles no longer accept
tile
as a scheme. TMS or XYZ are required; TMS is default. - options.mapfile is now options.datasource, and can accept a Carto MML object.