root/trunk/CHANGELOG

Revision 2069, 14.6 kB (checked in by dane, 7 days ago)

fix typo

Line 
1# $Id: CHANGELOG 776 2008-12-7 01:30:27Z dane $
2
3----------------
4Mapnik Changelog
5----------------
6 
7A simple log of core changes affecting Mapnik usage.
8
9Developers: Please commit along with changes.
10
11For a complete change history, see the SVN log.
12
13
14Mapnik Trunk
15------------
16
17- Optimized rendering speeds by avoiding locking in the projection code (r2063)
18
19- Added support for setting global alignment of polygon pattern fills (#203)
20
21- Added support for choosing OGR layer by index number using 'layer_by_index' parameter (r1904)
22
23- Added support for reading jpeg images (in addition to png/tiff) for image symbolizers (#518)
24
25- Made libjpeg dependency optional at compile time and added mapnik2.has_jpeg() method to check for support in python (#545).
26
27- Fixed reading of PostGIS data on Big Endian systems (#515)
28
29- PostGIS: Added better support for alternative schemas (#500)
30
31- AGG Renderer - Enforced default gamma function on all symbolizers to ensure proper antialiasing
32  even when gamma is modified on the PolygonSymbolizer. (#512)
33
34- Added ability to read pre 0.8.0 stylesheets, but prints a warning for deprecated syntax (r1592, #501)
35
36- Rasterlite Plugin: Experimental support for Rasterlite, to practically use sqlite database with wavelet compressed rasters (#469)
37
38- PNG: fixed png256 for large images and some improvements to reduce color corruptions (#522)
39
40- Implement MarkersSymbolizer in Cairo render and improve the markers placementfinder. (#553)
41
42
43Mapnik 0.7.0 Release
44--------------------
45
46(Packaged from r1574)
47
48- Core: Fixed linking to external libagg (r1297,r1299)
49
50- Core: Completed full support for PPC (Big endian) architectures (r1352 -> r1357)
51
52- Gdal Plugin: Added support for Gdal overviews, enabling fast loading of > 1GB rasters (#54)
53
54    * Use the gdaladdo utility to add overviews to existing GDAL datasets
55
56- PostGIS: Added an optional 'geometry_table' parameter. The 'geometry_table' used by Mapnik to look up
57  metadata in the geometry_columns and calculate extents (when the 'geometry_field' and 'srid' parameters
58  are not supplied). If 'geometry_table' is not specified Mapnik will attempt to determine the name of the
59  table to query based on parsing the 'table' parameter, which may fail for complex queries with more than
60  one 'from' keyword. Using this parameter should allow for existing metadata and table indexes to be used
61  while opening the door to much more complicated subqueries being passed to the 'table' parameter without
62  failing (#260, #426).
63
64- PostGIS Plugin: Added optional 'geometry_field' and 'srid' parameters. If specified these will allow
65  Mapnik to skip several queries to try to determine these values dynamically, and can be helpful to avoid
66  possible query failures during metadata lookup with complex subqueries as discussed in #260 and #436, but
67  also solvable by specifying the 'geometry_table' parameter. (r1300,#376)
68
69- PostGIS: Added an optional 'extent_from_subquery' parameter that when true (while the 'extent' parameter is
70  not provided and 'estimate_extent' is false) will direct Mapnik to calculate the extent upon the exact table
71  or sql provided in the 'table' parameter. If a sub-select is used for the table parameter then this will,
72  in cases where the subquery limits results, provide a faster and more accurate layer extent. It will have
73  no effect if the 'table' parameter is simply an existing table. This parameter is false by default. (#456)
74
75- PostGIS Plugin: Added 'bbox' token substitution ability in sql query string. This opens the door for various
76  complex queries that may aggregate geometries to be kept fast by allowing proper placement of the bbox
77  query to be used by indexes. (#415)
78
79    * Pass the bbox token inside a subquery like: !bbox!
80
81    * e.g. (Select ST_Union(geom) as geom from table where ST_Intersects(geometry,!bbox!)) as map
82
83- PostGIS Plugin: Added 'scale_denominator' substitution ability in sql query string (#415/#465)
84
85    * Pass the scale_denominator token inside a subquery like: !scale_denominator!
86
87    * e.g. (Select * from table where field_value > !scale_denominator!) as map
88
89- PostGIS Plugin: Added support for quoted table names (r1454) (#393)
90
91- PostGIS: Add a 'persist_connection' option (default true), that when false will release
92  the idle psql connection after datasource goes out of scope (r1337) (#433,#434)
93
94- PostGIS: Added support for BigInt (int8) postgres type (384)
95
96- PostGIS Plugin: Throw and report errors if SQL execution fails (r1291) (#363, #242)
97
98- PostGIS Plugin: Fixed problem in conversion of long numbers to strings (r1302,1303)
99
100- PostGIS Plugin: Added missing support for BigInt(int8) postgres datatypes (r1250) (#384)
101
102- OGR Plugin: Added support for reading multipoint features (#458)
103
104- Shape Plugin: Fixed bug in file extension stripping (#413)
105
106- Shape Plugin: Fixed missing compiler flags that causes crashing on newer g++ versions (#436)
107
108- PNG: Fixed problem with garbled/striped png256 output along sharpe edges(#416,#445,#447,#202)
109
110- PNG: Added support for semitransparency in png256 output (#477,#202)
111
112- PolygonSymbolizer: Added 'gamma' attribute to allow for dilation of polygon edges - a solution
113  to gap artifacts or "ghost lines" between adjacent polygons and allows for slight sharpening of
114  the edges of non overlapping polygons. Accepts any values but 0-1 is the recommended range.
115   
116- TextSymbolizer: Large set of new attributes: 'text_convert', 'line_spacing', 'character_spacing',
117  'wrap_character', 'wrap_before', 'horizontal_alignment', 'justify_alignment', and 'opacity'.
118
119    * More details at changesets: r1254 and r1341
120
121- SheildSymbolizer: Added special new attributes: 'unlock_image', 'VERTEX' placement, 'no_text' and many
122  attributes previously only supported in the TextSymbolizer: 'allow_overlap', 'vertical_alignment',
123  'horizontal_alignment', 'justify_alignment', 'wrap_width', 'wrap_character', 'wrap_before', 'text_convert',
124  'line_spacing', 'character_spacing', and 'opacity'.
125
126    * More details at changeset r1341
127
128- XML: Added support for using CDATA with libxml2 parser (r1364)
129
130- XML: Fixed memory leak in libxml2 implementation (#473)
131
132- XML: Added function to serialize map to string, called 'mapnik.save_map_to_string()' (#396)
133
134- XML: Added parameter to <Map> called 'minimum_version' to allow for enforcing the minimum Mapnik version
135  needed for XML features used in the mapfiles. Uses Major.Minor.Point syntax, for example
136  <Map minimum_version="0.6.1"> would throw an error if the user is running Mapnik less than 0.6.1.
137
138- XML: Added support for relative paths when using entities and 'mapnik.load_map_from_string()' (#440)
139
140- XML: Made width and height optional for symbolizers using images (r1543)
141
142- XML: Ensured that default values for layers are not serialized in save_map() (r1366)
143
144- XML: Added missing serialization of PointSymbolizer 'opacity' and 'allow_overlap' attributes (r1358)
145
146- XML: Default text vertical_alignment now dependent on dy (#485, r1527)
147
148- Python: Exposed ability to write to Cairo formats using 'mapnik.render_to_file()' and without pycairo (#381)
149
150- Python: Fixed potential crash if pycairo support is enabled but python-cairo module is missing (#392)
151
152- Python: Added 'mapnik.mapnik_svn_revision()' function to svn revision of Mapnik was compiled at.
153
154- Python: Added 'mapnik.has_pycairo()' function to test for pycairo support (r1278) (#284)
155
156- Python: Added 'mapnik.register_plugins()' and 'mapnik.register_fonts()' functions (r1256)
157
158- Python: Pickling support for point_symbolizer (r1295) (#345)
159
160- Python: Ensured mapnik::config_errors now throw RuntimeError exception instead of UserWarning exception (#442)
161
162- Filters: Added support for '!=' as an alias to '<>' for not-equals filters (avoids &lt;&gt;) (r1326) (#427) 
163
164- SCons: Improved boost auto-detection (r1255,r1279)
165
166- SCons: Fixed support for JOBS=N and FAST=True to enable faster compiling (r1440)
167
168- SCons: Ensured that -h or --help will properly print help on custom Mapnik options before a user
169  has been able to properly run 'configure'. (r1514)
170
171- SCons: Added ability to link to custom icu library name using ICU_LIB_NAME (r1414)
172
173- SCons: Improved reliability of python linking on OSX (#380)
174
175- Fonts: Added unifont to auto-installed fonts, which is used by the OSM styles as a fallback font (r1328)
176
177
178
179Mapnik 0.6.1 Release
180--------------------
181
182(Packaged from r1247)
183
184- Plugins: expose list of registered plugins as a 'plugin_names()' method of DatasourceCache (r1180)
185
186- XML: Fixed serialization and parsing bugs related to handling of integers and Enums (#328,#353)
187
188- SCons: Added the ability to set the PKG_CONFIG_PATH env setting (#217)
189
190- SCons: Improved linking to only required libraries for libmapnik (#371)
191
192- Shape Plugin: Added compile time flag to allow disabling the use of memory mapped files (r1213) (#342)
193
194- Core: Improved support for PPC (Big endian) architectures (r1198 -> r1213)
195
196- Scons: Improved auto-detection of boost libs/headers (r1200) (#297)
197
198- Plugins: Exposed list of available/registered plugins (r1180) (#246)
199
200- SCons: Improve build support for SunCC (patches from River Tarnell) (r1168, r1169)
201
202- Python: Pickling support for text_symbolizer (r1164) (#345)
203
204- Python: Pickling support for proj_transform and view/coord_transform (r1163) (#345)
205
206- Python: Pickling support for parameters (r1162) (#345)
207
208- Python: Pickling support for stroke objects (r1161) (#345)
209
210- Python: Pickling support for line_symbolizer (r1160) (#345)
211
212- Python: Pickling support for projection objects (r1159) (#345)
213
214- Python: Pickling support for shield_symbolizer (r1158) (#345)
215
216- Python: Pickling support for polygon_symbolizer (r1157) (#345)
217
218- Python: Pickling support for query objects (r1156) (#345)
219
220- Python: Pickling support for pattern symbolizers (r1155) (#345)
221
222- Python: Pickling support for raster_symbolizer (r1154) (#345)
223
224- Python: Added 'mapnik.has_cairo()' function to test for cairo support (r1152) (#284)
225
226- Python: Exposed dash_array get method (r1151) (#317)
227
228- Python: Pickling support for Coord objects (#345)
229
230- GDAL Plugin: Added an experimental option to open files in 'shared mode' (r1143)
231
232- Python: Exposed RasterSymbolizer options in Python (r1139)
233
234- Plugins: Fixed support for non-file based sources in GDAL and OGR plugins (#336,#337)
235
236- Plugins: Formal inclusion of new plugin for Kismet server (r1127) (#293)
237
238- Python: Made access to features and featuresets more Pythonic (r1121) (#171,#280,#283)
239
240- XML: Ensured relative paths in XML are interpreted relative to XML file location (r1124) (#326)
241
242- XML: Added ability to serialize all default symbolizer values by passing third argument to save_map(m,'file.xml',True)(r1117) (#327)
243
244- Core: Added support for alpha transparency when writing to png256 (patch from Marcin Rudowski) (#202)
245
246- SCons: Ensured ABI compatibility information is embedded in libmapnik.dylib on Mac OS X (#322)
247
248- SCons: Ensured that the full 'install_name' path would be added to libmapnik.dylib on Mac OS X (#374)
249
250- Tests: Added testing framework in Python using nose (r1101-r1105)
251
252- Raster Plugin: Added a tile/bbox-based read policy for large (rasters width * height > 1024*1024 will be loaded in chunks) (r1089)
253
254- OGCServer: Made lxml dependency optional (r1085) (#303)
255
256- Rasters: Handle rounding to allow better alignment of raster layers (r1079) (#295)
257
258- AGG Renderer: Added option to control output JPEG quality (r1078) (#198)
259
260- Plugins: Fixed segfault in OGR Plugin with empty geometries (r1074) (#292)
261
262
263
264Mapnik 0.6.0 Release
265--------------------
266
267(Packaged from r1066)
268
269- Python: Added support for aspect_fix_mode (r1013)
270
271- OGCServer Fixed axis-ordering for WMS 1.3.0 request (r1051) (#241)
272
273- Plugins: Added option to all plugins to support using a 'base' path argument (r1042)
274
275- Symbolizers: RasterSymbolizer now support composing modes for hillshading (r1027)
276
277- SCons: Added options to build the rundemo and pgsql2sqlite tools (r989)
278
279- OGCServer: Added content-length output (r986)
280
281- SCons: Replaced LIBS/INCLUDES options for postgres and gdal with pg_config and gdal-config (r977)
282
283- SCons: Created an optional configure stage (r973)
284
285- Python: Added further pickling/copy support to Map, Layers, Datasources, Styles,and Rules (r907,r913,r921)
286
287- OGCServer: Added support for load_map(), allowing reading of XML styles and layers (r901)
288
289- OGCServer: Enabled friendly html output when in debug mode (debug=1 in ogcserver.conf) (r899)
290
291- Plugins: Added Sqlite driver for reading sqlite databases (r881)
292
293- Python: Exposed a number of properties for the Text Symbolizer (r869)
294
295- Plugins: PostGIS plugin now accepts multi-line queries (r862)
296
297- Filter parsing: Allow numbers in the filter field name.
298  This allows for shapefiles with columns like '1970'.
299
300- Plugins: Added OGR driver for reading all OGR supported formats (kunitoki) (r836) (#170)
301
302- XML: Added serialization of Fontsets (r807)
303
304- XML: Added support for reading xml from a string (r806)
305
306- C++: renamed mapnik::Color to mapnik::color (r796)
307
308- Python: Made available the scale_denominator property from the map in c++ and python (r794)
309
310- Python: Added ability to resize map and clear all layers and styles from python (r793)
311
312- Python: Exposed Proj to/from transformation for projected coordinate systems (r792,r822) (#117)
313
314- Memory Datasource: Added support for dynamically adding Points to map using Point Datasource (r790)
315
316- XML: Added xml serialization for abstract, title, minzoom, maxzoom, and queryable attributes (r787)
317
318- Core: Transformation is now skipped if srs values match exactly (r777)
319
320- Symbolizers: 'min_distance' now honored for POINT placement using Text Symbolizer (r771)
321
322- Plugins: PostGIS plugin now accepts a geometry_field,record_limit, cursor_size options (r769,r872)
323
324- Python: Added ability to transform as a method on Coord and Envelope objects (r764)
325
326- Python: Added docstrings to the Layer object (r763)
327
328- Plugins: Loosened the type checking in Shapefile Plugin dbf reader (r762)
329
330- Fonts: Added support for Right-to-left Hebrew text (r749)
331
332- Core: Added a Map buffer parameter - helps to avoid cut labels at tile edges (r744)
333
334- Symbolizers: Added opacity support to Point Symbolizer (r743)
335
336- Symbolizers: Added support of using Points with Shield Symbolizer (r741)
337
338- Plugins: PostGIS plugin now accepts alternate schemas (r773)
339
340- Fonts: Added support for fallback fonts (r704)
341
342- Cairo: Cairo support exposed in Python (r666)
343
344- Plugins: Added OSM plugin for reading directly from OSM data (r663)
345
346- Filters: Added support for boolean expressions (r660)
347
348- Python: Added ability to open Image32 files (r652)
349
350- Cairo: Cairo rendering support added (r656)
351
352- Core: Added unicode support based on ICU (r650)
353
354- Core: Added support for single and multi threaded variants of Mapnik (r632,r634)
355
356- Plugins: Use memory mapped files for reading shape file (r628)
357
358- Core: Use streams to write images (i/o refactor) (r628) (#15)
Note: See TracBrowser for help on using the browser.