- Update dependencies
- Update mapnik-reference to support new Mapnik API version (#498)
- Update dependencies
- Update mapnik-reference to support new Mapnik API version (#494)
- Fix a error in the serialization process. (#473)
- Documentation is now available on https://cartocss.readthedocs.io. (#473)
- Warnings are emitted if properties are used that are
deprecated
,unstable
orexperimental
. 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 ofstdout
. - 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 aremapnik
(default) for Mapnik XML andjson
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).
- The deprecated
name
attribute for layers is no longer supported. Useid
instead. - The deprecated color functions
husl
andhusla
are no longer supported. Usehsluv
andhsluva
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.
carto.Renderer.render
andcarto.Renderer.renderMSS
now return an object{ msg: Array, data: String }
instead of just a string.data
contains the output as before andmsg
now contains an array of error or warning objects. In case of errorsdata
isnull
.- 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 aenv
andoptions
parameter. - The option
mapnik_version
andvalidation_data
ofcarto.Renderer
have been renamed toversion
andvalidationData
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.
- Remove
millstone
from optional dependencies again
- Updated
mapnik-reference
to fix an install problem for some Node.js versions - Backported documentation updates
- 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
- 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)
- 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 tohsluv()
. 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. Useid
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 thetransform
property of PolygonPatternSymbolizer (#445) - Bugfixes (#296, #121, #315, #411, #426, #273)
- Documentation updates (#269, #452)
- 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)
- Fixed a regression related to color math (#443)
- Fixed a regression related to the color mix function (#442)
- 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
tolodash
dependency (#431) - Moved from
optimist
toyargs
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.
- Support for Mapnik 3.0.6
- Support for Mapnik 3.0.5
- Support for Mapnik 3.0.4
- Support for Mapnik 3.0.3
- Support latest Mapnik 3.x
- Bump
mapnik-reference
dependency to 7.x.
- Support for Mapnik 3.x
- Bump
mapnik-reference
dependency to ~6.0.1.
- Allows optional args in transforms.
- Bump
mapnik-reference
dependency to 5.1.x.
- Drop mml2json and xml2js dependency.
- Switch API to be synchronous. All errors should be caught using try/catch now.
- 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 (withshield-halo-rasterizer
)
- Fixed support for
text-face-name
values with&
likeEl&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)
- Various speed optimizations to help address #20 (#231)
- Fixed support for fields that contain the word
zoom
in them (previous clashed withzoom
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
forstderr
(#217)
- Fixes nesting of regex calls
- 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!
Tagged Sept 6, 2012
- Bump
mapnik-reference
dependency to ~5.0.0 - Better support for unsigned types in certain Mapnik styling properties
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
- Bump
mapnik-reference
dependency to ~4.0.0 to pull in new properties. - Adapted to
comp-op
rename upstream inmapnik-reference
. - Adapted to
transform
rename upstream inmapnik-reference
and Mapnik.
- Bump
mapnik-reference
dependency to ~3.1.0 to pull in new properties.
- 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.
- 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.
- Updated mapnik-reference to
~2.1.0
- Support an
opacity
property on any style that is a style-level property
- Bump
mapnik-reference
dependency to 1.0.0 to allow for usingbuffer-size
in theMap
element.
- 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 keymapnik_version
that specifies the version of Mapnik this stylesheet should target.
- Updated reference.json
- Render TileJSON, Mapnik options to Mapnik XML parameters.
- Updated reference.json
- Removed deprecation warnings re: sys/util
- Updated reference.json
- Updated underscore dependency
- Node >=v0.6.x compatibility
- Dropped cartox
- Updated reference.json
- Fixes text-name with HTML entities
- Fixes function calls with incorrect number of arguments
- Fixes invalid code segments not having eval
- Fixes serialization bug with invalid selectors.
- Switches text-symbolizer syntax to new-style for Mapnik 2.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.
- Fixes many bugs
- Supports arbitrary properties on layers with the
properties
key in MML - Adds
min-path-length
- Updates
reference.json
- Update
carto
to usemillstone
if available.
- Accept valid Map properties directly from input mml object.
- 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.
- Optional-file datasources - allows string argument to OGR
- Variables in filters.
- Fixed bug caused by jshint testing
- Using npm devDependencies in place of ndistro
- Updated package.json format
- Fixes tests
- Fix bug in which SRS autodetection broke error handling
- Update carto