Skip to content
This repository has been archived by the owner on Jan 12, 2024. It is now read-only.

Latest commit

 

History

History
365 lines (246 loc) · 14.8 KB

CHANGELOG.md

File metadata and controls

365 lines (246 loc) · 14.8 KB

Changelog

1.2.0

  • Update dependencies
  • Update mapnik-reference to support new Mapnik API version (#498)

1.1.0

  • Update dependencies
  • Update mapnik-reference to support new Mapnik API version (#494)

1.0.1

  • Fix a error in the serialization process. (#473)

1.0.0

  • Documentation is now available on https://cartocss.readthedocs.io. (#473)
  • Warnings are emitted if properties are used that are deprecated, unstable or experimental. There is a new command line / API switch (-q / --quiet / quiet) to suppress those warnings. (#474)
  • Warnings are emitted if a layer has no associated styles or styles do not match a corresponding layer selector. (#29)
  • New command line switch -f / --file to specify a file for output instead of stdout.
  • carto now honors variable redefinition and uses the last defined value instead of the first one (#338).
  • All parameters of XML tags are now ouput in alphabetical order. This makes output more predictable.
  • carto is now able to output a JSON variant of Mapnik XML. There is a new command line / API switch (-o / --output / outputFormat) to choose the output format. Possible values are mapnik (default) for Mapnik XML and json for the JSON variant (part of #413). For Mapnik XML all character data as tag content is now prefixed with CDATA.
  • Expressions are allowed in filters e.g. [height] % 50 = 0 or [height] + 10 = 0, fields have to be properly written within brackets (#377)
  • carto now accepts custom references for validating rules (part of #413)
  • The JavaScript API has been documented (#479)
  • New symbolizer rules (work on the whole symbolizer) enable control of symbolizer serialization. Write e.g. line: none to suppress output of the line symbolizer for this definition. Write e.g. marker: auto to output a markers symbolizer with default values. Symbolizer rules are considered an advanced features and are never inherited to other definitions (#477).
  • Remove millstone from optional dependencies again (#482).

Breaking changes

Stylesheets

  • The deprecated name attribute for layers is no longer supported. Use id instead.
  • The deprecated color functions husl and husla are no longer supported. Use hsluv and hsluva instead.
  • If you define a variable with the same name twice the latest defined value is now used in contrast to the first defined one as before.
  • All parameters of XML tags are now ouput in alphabetical order. If you somehow depend on the order of parameters (e.g. for tests) expect them to change.

API

  • carto.Renderer.render and carto.Renderer.renderMSS now return an object { msg: Array, data: String } instead of just a string. data contains the output as before and msg now contains an array of error or warning objects. In case of errors data is null.
  • carto now only throws errors in case of program failures. All other style processing related errors can be found in the msg property (see above).
  • The constructor of carto.Renderer now only takes one options object instead of a env and options parameter.
  • The option mapnik_version and validation_data of carto.Renderer have been renamed to version and validationData respectively.
  • carto.Renderer now checks each option before forwarding them to the rendering chain. Supported options are defined in the documentation. If you use a option that is missing please open a issue.

0.18.2

  • Remove millstone from optional dependencies again

0.18.1

  • Updated mapnik-reference to fix an install problem for some Node.js versions
  • Backported documentation updates

0.18.0

  • Compile time performance improvement by leaving out rules that do not apply to layer minzoom and maxzoom restrictions if specified (#469)
  • Confirmed that #348 does not occur (anymore)
  • Updated dependencies

0.17.3

  • Fix regression with number parsing after fixing of #411 (#471)

0.17.2

  • Remove unintended scoping of package. It is now again carto. The NPM requirement is dropped.
  • Variables in font definitions are now processed correctly (#333)
  • Display a better error for missing fonts on font name validation (#242)
  • Some properties can now be reset to their default value by using none (#214)

0.17.1

  • Revert fix for #315 due to performance problems (#466)

0.17.0

  • Carto is now a scoped package named @mapbox/carto. Scoped packages require NPM >= 1.5. (#457)
  • Carto now runs in the browser too (part of #413)
  • Carto can now load MML itself and supports absolute file paths in MML stylesheet references (#439)
  • The target API default of Mapnik moved from 2.3.0 to being always the latest version (3.0.x). Take that into account if you run a Mapnik 2.x instance (see also the -a/--api command line option). (#454)
  • husl() was renamed to hsluv(). The HuSL variant is deprecated and will be removed in 1.0.0. (#456)
  • The name attribute for layers in the MML is deprecated and will be removed in 1.0.0. Use id instead. (#165)
  • The _properties object in the MML of vector tiles projects is now supported (#450)
  • Updated mapnik-reference to 8.6.1, which enables Browser support and support for the transform property of PolygonPatternSymbolizer (#445)
  • Bugfixes (#296, #121, #315, #411, #426, #273)
  • Documentation updates (#269, #452)

0.16.3

  • Fixed outdated library reference for carto help screen (#444)
  • Fixed a regression related to color math with non-color values being interpreted as HSL instead of RGB (#446)

0.16.2

  • Fixed a regression related to color math (#443)

0.16.1

  • Fixed a regression related to the color mix function (#442)

0.16.0

  • Fixed a bug related to parsing numerical selectors (#393)
  • More meaningful error messages on erroneous Stylesheet references in MML (#438)
  • Added support for YAML MML files (#419)
  • Added support for HuSL perceptual colors (#422)
  • Added support for targeting Mapnik API versions in carto command line tool (#433)
  • Added support for minimum-/maximum-scale-denominator (#394)
  • Updated documentation, fixed its display problems and added doc for image-filter (#432)
  • Moved from underscore to lodash dependency (#431)
  • Moved from optimist to yargs dependency (#435)
  • Bump mapnik-reference dependency to 8.5.3 (support for Mapnik 3.0.10)
  • Modernized development dependencies
  • Further small fixes and improvements for development.

0.15.3

  • Support for Mapnik 3.0.6

0.15.2

  • Support for Mapnik 3.0.5

0.15.1

  • Support for Mapnik 3.0.4

0.15.0

  • Support for Mapnik 3.0.3

0.14.1

  • Support latest Mapnik 3.x
  • Bump mapnik-reference dependency to 7.x.

0.14.0

  • Support for Mapnik 3.x
  • Bump mapnik-reference dependency to ~6.0.1.

0.13.0

  • Allows optional args in transforms.
  • Bump mapnik-reference dependency to 5.1.x.

0.12.0

  • Drop mml2json and xml2js dependency.

0.11.0

  • Switch API to be synchronous. All errors should be caught using try/catch now.

0.10.0

  • Remove automatic inclusion of maximum-extent on Map element to allow geometries that are buffered past extent bounds (e.g. dateline).
  • Bump mapnik-reference dependency to ~5.0.9 (with shield-halo-rasterizer)

0.9.6

  • Fixed support for text-face-name values with & like El&Font Bubble
  • Fixed support for filtering on fields containing single quotes. Now #layer[name="it's"] { ... } is possible.
  • Fixed support for filtering on fields containing &. Now #layer["Hello&Goodbye"="yes"] { ... } is possible.
  • Added support for exponential notation in filters. Now #layer[value = 1.2e3] { ... } is possible.
  • Bump mapnik-reference dependency to ~5.0.8 (with support for Mapnik v2.3.0 and 3.x)

0.9.5

  • Various speed optimizations to help address #20 (#231)
  • Fixed support for fields that contain the word zoom in them (previous clashed with zoom keyword)
  • Fixed support for a space in front of zoom keyword (#288)
  • Improved error messages when color functions encounter invalid color (#309)
  • The carto command line tool now exits cleanly when millstone is used
  • The carto command line tool now only localized with millstone if requested (#243)
  • Added man page for carto (#257)
  • Fix repeated comments in selectors. Fixes #260
  • Fixed image-filter duplication (#270)
  • Quote all needed XML chars. See #263.
  • Added higher tolerance for various characters in field names (#230)
  • Bump mapnik-reference dependency to ~5.0.7 (with support for Mapnik v2.2.0)
  • Adds compatibility with screen units.
  • Fixed ability to use carto as global module (#236)
  • Now using 'console' instead of util for stderr (#217)

0.9.4

  • Fixes nesting of regex calls

0.9.3

  • Allows text-face-name properties to be unquoted
  • Detects inline Format XML tags in text-name and passes such output straight to XML for advanced text names.
  • Fixes bugs around concatenation of strings in expressions
  • Fixes parsing of comments in between selectors
  • Fixes parsing of whitespace in calls
  • Improved error messages for unknown properties - advises user on the property name most closely matching the incorrect input.
  • Improved errors for calls, advises user on number of arguments
  • Fixes instance inheritance - thanks @gravitystorm!

0.9.2

Tagged Sept 6, 2012

  • Bump mapnik-reference dependency to ~5.0.0
  • Better support for unsigned types in certain Mapnik styling properties

0.9.1

Tagged Aug 15, 2012

  • Improved error handling for different target mapnik-reference versions (strk)
  • Bump mapnik-reference dependency to ~4.0.3
  • Fixed handling of image-filter syntax as per Mapnik changes

0.9.0

  • Bump mapnik-reference dependency to ~4.0.0 to pull in new properties.
  • Adapted to comp-op rename upstream in mapnik-reference.
  • Adapted to transform rename upstream in mapnik-reference and Mapnik.

0.8.1

  • Bump mapnik-reference dependency to ~3.1.0 to pull in new properties.

0.8.0

  • Adds the modulus operator % as an option
  • Adds a new field-type like [FIELD] instead of "[FIELD]"
  • Supports function syntax for transforms, optionally with variables and arguments.

0.7.1

  • Updated mapnik-reference to ~2.2.1
  • Added support for status parameter on layers.
  • Command line carto program gained --nosymlink option to pass to millstone to use absolute paths instead of symlinking files.
  • Removed unsupported mixin code.

0.7.0

  • Updated mapnik-reference to ~2.1.0
  • Support an opacity property on any style that is a style-level property

0.6.0

  • Bump mapnik-reference dependency to 1.0.0 to allow for using buffer-size in the Map element.

0.5.0

  • Now uses the mapnik-reference npm module instead of copying reference.json when it's updated
  • Adds a second parameter to carto.Renderer - an object which has a key mapnik_version that specifies the version of Mapnik this stylesheet should target.

0.4.10

  • Updated reference.json

0.4.9

  • Render TileJSON, Mapnik options to Mapnik XML parameters.

0.4.8

  • Updated reference.json

0.4.7

  • Removed deprecation warnings re: sys/util
  • Updated reference.json
  • Updated underscore dependency

0.4.6

  • Node >=v0.6.x compatibility
  • Dropped cartox
  • Updated reference.json

0.4.5

  • Fixes text-name with HTML entities
  • Fixes function calls with incorrect number of arguments
  • Fixes invalid code segments not having eval

0.4.3

  • Fixes serialization bug with invalid selectors.

0.4.0

  • Switches text-symbolizer syntax to new-style for Mapnik 2.0

0.3.0

  • Add "name/" prefix for creating multiple instances of a symbolizer in the same attachment
  • Only output <Layer> tag when there's at least one style
  • Sort styles by location of first rule's index
  • Don't support selectors that are not either Map, . or #-prefixed.

0.2.3

  • Fixes many bugs
  • Supports arbitrary properties on layers with the properties key in MML
  • Adds min-path-length
  • Updates reference.json

0.2.2

  • Update carto to use millstone if available.

0.2.1

  • Accept valid Map properties directly from input mml object.

0.2.0

  • Removed all external handling - see http://github.com/mapbox/millstone for localizing/caching MML objects with external references.
  • All errors are now handled as Error objects.

0.1.14

  • Optional-file datasources - allows string argument to OGR

0.1.9

  • Variables in filters.

0.1.6 & 0.1.8

  • Fixed bug caused by jshint testing

0.1.5

  • Using npm devDependencies in place of ndistro
  • Updated package.json format
  • Fixes tests

0.1.4

  • Fix bug in which SRS autodetection broke error handling
  • Update carto