<commit_before>1.5.0 2012-xx-xx
~~~~~~~~~~~~~~~~

Features:

- clipping of tile request to polygon geometries in security API
- WMTS support in security API
- mixed_image mode that automatically chooses between PNG/JPEG
- use caches as source for other caches
- `mapproxy-util grids` tool to analyze grid configurations
- `mapproxy-util wms-capabilities` tool
- `mapproxy-util export` tool
- use_grid_names option to access Tiles/TMS/KML layers by grid
  name instead of EPSGXXXX
- origin option for TMS to change default origin of the /tiles service
- continue stopped/interrupted seed processes
- support min_res/max_res for tile sources

Improvements:

- do not show layers with incompatible grids in WMTS/TMS demo
- make 0/0/0.kml optional for the initial KML file
- use BBOX of coverage for capabilities in seed_only layers
- ignore debug layer when loading tile layers
- simplified coverage configuration
- add reloader option to make_wsgi_app()
- add MetadataURL to WMS 1.1.1 capabilities
- improved WMTS services with custom grids (origin)
- use in_image exceptions in WMS demo client
- larger map in demo client
- always request with transparent=true in WMS demo client
- use in_image exceptions in WMS demo client

Fixes:

- fixed reloading of multiapps in threaded servers
- fixed BBOX check for single tile requests
- fixed TMS for caches with watermarks
- fixed limited_to clipping for single layer requests with service-wide
  clipping geometries

Other:

- deprecated `origin` option for tile sources was removed
- empty tiles are now returned as PNG even if requested as .jpeg


1.4.0 2012-05-15
~~~~~~~~~~~~~~~~~

Fixes:

- fix TypeError exception when auth callback returns {authorized:'full'}
- use MAPPROXY_LIB_PATH on platforms other that win32 and darwin
- raise config error for mapnik sources when mapnik could not be imported

1.4.0rc1 2012-05-02
~~~~~~~~~~~~~~~~~~~

Features:

- support clipping of requests to polygon geometries in security API
- support for WMS 1.3.0 extended layer capabilities
- on_error handling for tile sources. fallback to empty/transparent
  tiles when the source returns HTTP codes like 404 or 204
- add HTTP Cache-Control header to WMS-C responses

Improvements:

- WMS source requests and requests to cached tiles are now clipped
  to the extent. this should prevent projection errors when requesting
  large bbox (e.g. over 180/90 in EPSG:4326)
- improved lock timeouts in mapproxy-seed
- the debug source does not overwrite the layer extent anymore.
  makes it more usable in demo/wms clients
- support for multiple files and recursion in base option
- mapproxy-seed ETA output is now more responsive to changes in seed speed
- improved demo service
  - choose different SRS for WMS layers
  - support for WMTS

Fixes:

- support loading of WKT polygon files with UTF8 encoding and BOM header
- upgraded dictspec module with fix for some nested configuration specs.
  a bug prevented checking of the layers configuration

Other:

- the documentation now contains a tutorial
- old layer configuration syntax is now deprecated
- EPSG:4326/900913/3857 are now always initialized with the +over proj4
  option to prevent distortions at the dateline
  see: http://fwarmerdam.blogspot.de/2010/02/world-mapping.html

1.3.0 2012-01-13
~~~~~~~~~~~~~~~~

No changes since 1.3.0b1

1.3.0b1 2012-01-03
~~~~~~~~~~~~~~~~~~

Features:

- support for RESTful WMTS requests with custom URL templates
- support for CouchDB as tile backend
- support for Mapnik 2 sources
- limit maximum WMS response size with max_output_pixels
- new color option for watermarks
- new ``mapproxy-util serve-multiapp-develop`` command
- new wms.bbox_srs option for bounding boxes in multiple SRS in WMS
  capabilities

Improvements:

- log exceptions when returning internal errors (500)

Fixes:

- fix BBOX in WMS-C capabilities
- prevent exception for WMS requests with unsupported image formats with
  mime-type options (like 'image/png; mode=24bit')
- fixed blank image results for servers that call .close() on the
  response (like gunicorn)

Other:

- origin option for tile sources is deprecated. use a custom grid with
  the appropriate origin.

1.2.1 2011-09-01
~~~~~~~~~~~~~~~~

Fixes:

- fixed configuration of watermarks
- support for unicode title in old-style layer configuration

1.2.0 2011-08-31
~~~~~~~~~~~~~~~~

Fixes:

- fixed links in demo service when running as MultiMapProxy

1.2.0b1 2011-08-17
~~~~~~~~~~~~~~~~~~

Features:

- support for MBTiles cache
- support for (tagged-) layers for Mapnik sources
- configurable cache layout (tilecache/TMS)
- new `mapproxy-util scales` tool
- use MultiMapProxy with server scripts
  (mapproxy.multiapp.make_wsgi_app)

Fixes:

- prevent black borders for some custom grid configurations
- all fixes from 1.1.x

1.1.2 2011-07-06
~~~~~~~~~~~~~~~~

Fixes:

- compatibility with older PyYAML versions
- do not try to transform tiled=true requests
- escape Windows path in wsgi-app template

1.1.1 2011-06-26
~~~~~~~~~~~~~~~~

Fixes:

- add back transparent option for mapnik/tile sources (in addition
  to image.transparent)
- keep alpha channel when handling image.transparent_color
- fixed combining of multiple WMS layers with transparent_color
- fixed header parsing for MapServer CGI source

1.1.0 2011-06-01
~~~~~~~~~~~~~~~~

Other:

- Changed license to Apache Software License 2.0

Fixes:

- fixed image quantization for non-png images with
  globals.image.paletted=True

1.1.0rc1 2011-05-26
~~~~~~~~~~~~~~~~~~~

Improvements:

- add template to build MapProxy .deb package
- font dir is now configurable with globals.image.font_dir

Fixes:

- fixed errors in config spec

1.1.0b2 2011-05-19
~~~~~~~~~~~~~~~~~~

Improvements:

- unified logging
- verify mapproxy/seed configurations

1.1.0b1 2011-05-12
~~~~~~~~~~~~~~~~~~

Features:

- support for tagged WMS source names: wms:lyr1,lyr2
- new Mapserver source type
- new Mapnik source type
- new mapproxy-util command
- include development server (``mapproxy-util serve-develop``)
- first WMTS implementation (KVP)
- configurable image formats
- support for ArcGIS tile sources (/L09/R00000005/C0000000d)
- support for bbox parameter for tile sources

Improvements:

- tweaked watermarks on transparent images
- [mapproxy-seed] initialize MapProxy logging before seeding
- authentication callbacks get environ and qusery_extent
- authentication callbacks can force HTTP 401 returns
- hide error tracebacks from YAML parser
- support for multipolygons in coverages
- add support for HTTP_X_SCRIPT_NAME
- support for integer images (e.g. 16bit grayscale PNG)

Fixes:

- fixes demo on Windows (loaded static content from wrong path)
- fixed one-off error with grid.max_res: last resolution is now < max_res
  e.g. min_res: 1000 max_res: 300 -> now [1000, 500], before [1000, 500, 250]
- add workaround for Python bug #4606 (segfaults during projection on 64bit
  systems)
- do not add attribution to WMS-C responses

Other:

- removed Paste dependencies
- removed deprecated mapproxy-cleanup tool, feature included in mapproxy-seed

1.0.0 2011-03-03
~~~~~~~~~~~~~~~~

- no changes since 1.0.0rc1

1.0.0rc1 2011-02-25
~~~~~~~~~~~~~~~~~~~

Improvements:

- handle epsg:102100 and 102113 as equivalents to 900913/3857

Fixes:

- fixed attribution placement and padding

1.0.0b2 2011-02-18
~~~~~~~~~~~~~~~~~~

Improvements:

- [mapproxy-seed] support for configuration includes in mapproxy.yaml (base)
- [mapproxy-seed] updated config templates
- KML: reduce number of required KML requests
- KML: improve superoverlays with res_factor != 2

Fixes:

- [mapproxy-seed] apply globals from mapproxy.yaml during seed
- fix tile_lock cleanup
- merging of cache sources with only tile sources failed


1.0.0b1 2011-02-09
~~~~~~~~~~~~~~~~~~

Features:

- [mapproxy-seed] separated seed and cleanup tasks; call tasks independently
- XSL transformation of WMS FeatureInfo responses
- content aware merging of multiple XML/HTML FeatureInfo repsonses
- FeatureInfo types are configurable with wms.featureinfo_types
- request cascaded sources in parallel (with threading or eventlet)
  with new wms.concurrent_layer_renderer option
- disable GetMap requests for WMS sources (for FeatureInfo only sources)
- new cache.disable_storage option
- authorization framework
- new image.transparent_color option: replaces color with full transparency
- new image.opacity option: blend between opaque layers
- new watermark.spacing option: place watermark on every other tile
- new wms.on_source_errors option: capture errors and display notice in
  response image when some sources did not respond
- support for custom http headers for requests to sources
- add support for http options for tile source (user/password, https ssl
  options, headers, timeout)

Improvements:

- [mapproxy-seed] enhanced CLI (summary and interactive mode)
- combine requests to the same WMS URL
- support for local SLD files (sld: file://sld.xml)
- changed watermark color to gray: improves readability on full transparent
  images
- support for transparent/overlayed tile sources
- renamed thread_pool_size to concurrent_tile_creators
- tweaked KML level of detail parameters to fix render issues in Google Earth
  with tilted views

Fixes:

- rounding errors in meta-tile size calculation for meta_buffer=0
- work with upcomming PIL 1.2 release

0.9.1 2011-01-10
~~~~~~~~~~~~~~~~

Fixes:

- fixed regression in mapproxy_seed
- resolve direct WMS request issues with equal but not same
  SRS (e.g. 900913/3857)

0.9.1rc2 2010-12-20
~~~~~~~~~~~~~~~~~~~

Improvements:

- Allow nested layer configurations (layer groups/trees)
- Support custom path to libproj/libgdal with MAPPROXY_LIB_PATH environ
- Look for xxx if libxxx returned no results.
- Limit lat/lon bbox in WMS capabilities to +-89.999999 north/south values

Fixes:

- bug fix for threshold_res that overlap with the stretch_factor

0.9.1rc1 2010-12-07
~~~~~~~~~~~~~~~~~~~

Features:

- WMS 1.1.0 support
- Coverage support (limit sources to areas via WKT/OGC polygons)
- new base option to reuse configurations
- ScaleHint support (min/max_res, min/max_scale)
- Support for multiple MapProxy configurations in one process with distinct
  global/cache/source/etc. configurations
- New MultiMapProxy: dynamically load multiple configurations (experimental)
- threshold_res option for grids: switch cache levels at fixed resolutions
- seed_only option for sources: allows offline usage
- GetLegendGraphic support
- SLD support for WMS sources

Improvements:

- concurrent_requests limit is now per unique hostname and not per URL
- concurrent_requests can be set with globals.http.concurrent_requests
- font_size of watermark is now configurable
- improved configuration loading time and memory consumption
- make use of PyYAML's C extension if available
- cache projection attributes in SRS objects for better performance
- try system wide projection definitions first, then fallback to defaults
  (e.g. for EPSG:900913)
- trailing slash is now optional for /tms/1.0.0
- support for http.ssl_ca_cert for each WMS source
- support for http.client_timeout for each WMS source (Python >=2.6)

Fixes:

- removed start up error on systems where proj4 misses EPSG:3857
- fixed color error for transparent PNG8 files
- fixed links in demo service when URL is not /demo/
- removed memory leak proj4 wrapper
- fixed mapproxy-seed -f option
- tests work without Shapely

0.9.0 2010-10-18
~~~~~~~~~~~~~~~~

- minor bug fixes

0.9.0rc1 2010-10-13
~~~~~~~~~~~~~~~~~~~

- new OpenLayers-based '/demo' service that shows all configured WMS/TMS layers
- display welcome message at '/' instead of 'not found' error
- less rigid feature info request parser (no error with missing style or format
  parameters). Use wms.strict to enable OCG compliant mode.
- updated tempita to 0.5

0.9.0b2 2010-09-20
~~~~~~~~~~~~~~~~~~

- new minimize_meta_requests option
- moved python implementation dependent code to mapproxy.platform module

0.9.0b1 2010-08-30
~~~~~~~~~~~~~~~~~~

- Improved support for EPSG:3857
- Source requests now never go beyond the grid BBOX even with meta_buffers/meta_tiles
- removed install_requires
  - flup: not required for all deployment options
  - tempita: now embeded
- now Python 2.7 compatible
- [mapproxy-seed] fixed libgdal loading on some Linux systems
- [mapproxy-seed] check for intersections on all levels
- add origin options to /tiles service to support Google Maps clients
- Improved PNG performance with PIL fastpng branch.
- New concurrent_requests option to limit requests for each source WMS server.
- minor bug fixes

0.9.0a1 2010-07-27
~~~~~~~~~~~~~~~~~~

- new configuration format (merged proxy.yaml and service.yaml)
- refactoring of the caching (sources and layers)
- large refactoring of the package layout

- pyproj dependency is not required when libproj is available
- removed jinja dependency

- more options to define tile grids (min_res, max_res, etc.)

0.8.4 2010-08-01
~~~~~~~~~~~~~~~~

- Extra newline at the end of all templates. Some deployment setups
  removed the last characters.
- Improved PNG performance with PIL fastpng branch.
- New concurrent_requests option to limit requests for each source WMS server.

0.8.3 2010-06-01
~~~~~~~~~~~~~~~~

- Some bug fixes regarding feature info
- The configured resolutions are sorted

0.8.3rc2 2010-05-25
~~~~~~~~~~~~~~~~~~~

- HTTPS support with certificate verification and HTTP Basic-
  Authentication.
- New `use_direct_from_level` and `use_direct_from_res` options to
  disable caching for high resolutions.
- New `cache_tiles` source for more flexible tile-based sources
  Supports url templates like '/tiles?x=%(x)s&y=%(y)s&level=%(z)s'
  and Quadkeys as used by Bing-Maps. (as suggested by Pascal)
- You can limit the SRS of a source WMS with the `supported_srs`
  option. MapProxy will reproject between cached/requested SRS and
  the supported. This also works with direct layers, i.e. you can
  reproject WMS on-the-fly.

0.8.3rc1 2010-04-30
~~~~~~~~~~~~~~~~~~~

- new improved seed tool

  - seed polygon areas instead BBOX (from shapefiles, etc)
  - advanced seeding strategy
  - multiprocessing

- new link_single_color_images layer option. multiple "empty" tiles will
  be linked to the same image. (Unix only)
- fixed transparency for image parts without tiles
- log HTTP requests to servers regardless of the success
- made proj4 data dir configurable
- use same ordering of layers in service.yaml for capabilities documents
  (use list of dicts in configuration, see docs)
- performance improvements for requests with multiple layers and
  for layers with smaler BBOXs

0.8.2 2010-04-13
~~~~~~~~~~~~~~~~

- no changes since 0.8.2rc1

0.8.2rc1 2010-04-01
~~~~~~~~~~~~~~~~~~~

- add fallback if PIL is missing TrueType support
- use zc.lockfile for locking
- improved logging:

  - log to stdout when using develop.ini
  - add %(here)s support in log.ini (changed from {{conf_base_dir}})
  - do not enable ConcurrentLogHandler by default

0.8.1 2010-03-25
~~~~~~~~~~~~~~~~

- improved performance for simple image transformation
  (same srs and same resolution) #4

0.8.0 2010-03-22
~~~~~~~~~~~~~~~~

- initial release
<commit_msg>udpate CHANGES.txt for 1.5.0rc1<commit_after>1.5.0rc1 2012-11-19
~~~~~~~~~~~~~~~~~~~

Features:

- clipping of tile request to polygon geometries in security API
- WMTS support in security API
- mixed_image mode that automatically chooses between PNG/JPEG
- use caches as source for other caches
- `mapproxy-util grids` tool to analyze grid configurations
- `mapproxy-util wms-capabilities` tool
- `mapproxy-util export` tool
- use_grid_names option to access Tiles/TMS/KML layers by grid
  name instead of EPSGXXXX
- origin option for TMS to change default origin of the /tiles service
- continue stopped/interrupted seed processes
- support min_res/max_res for tile sources

Improvements:

- do not show layers with incompatible grids in WMTS/TMS demo
- make 0/0/0.kml optional for the initial KML file
- use BBOX of coverage for capabilities in seed_only layers
- ignore debug layer when loading tile layers
- simplified coverage configuration
- add reloader option to make_wsgi_app()
- add MetadataURL to WMS 1.1.1 capabilities
- improved WMTS services with custom grids (origin)
- use in_image exceptions in WMS demo client
- larger map in demo client
- always request with transparent=true in WMS demo client
- use in_image exceptions in WMS demo client

Fixes:

- fixed reloading of multiapps in threaded servers
- fixed BBOX check for single tile requests
- fixed TMS for caches with watermarks
- fixed limited_to clipping for single layer requests with service-wide
  clipping geometries
- fixed WMTS RESTful template

Other:

- deprecated `origin` option for tile sources was removed
- empty tiles are now returned as PNG even if requested as .jpeg


1.4.0 2012-05-15
~~~~~~~~~~~~~~~~~

Fixes:

- fix TypeError exception when auth callback returns {authorized:'full'}
- use MAPPROXY_LIB_PATH on platforms other that win32 and darwin
- raise config error for mapnik sources when mapnik could not be imported

1.4.0rc1 2012-05-02
~~~~~~~~~~~~~~~~~~~

Features:

- support clipping of requests to polygon geometries in security API
- support for WMS 1.3.0 extended layer capabilities
- on_error handling for tile sources. fallback to empty/transparent
  tiles when the source returns HTTP codes like 404 or 204
- add HTTP Cache-Control header to WMS-C responses

Improvements:

- WMS source requests and requests to cached tiles are now clipped
  to the extent. this should prevent projection errors when requesting
  large bbox (e.g. over 180/90 in EPSG:4326)
- improved lock timeouts in mapproxy-seed
- the debug source does not overwrite the layer extent anymore.
  makes it more usable in demo/wms clients
- support for multiple files and recursion in base option
- mapproxy-seed ETA output is now more responsive to changes in seed speed
- improved demo service
  - choose different SRS for WMS layers
  - support for WMTS

Fixes:

- support loading of WKT polygon files with UTF8 encoding and BOM header
- upgraded dictspec module with fix for some nested configuration specs.
  a bug prevented checking of the layers configuration

Other:

- the documentation now contains a tutorial
- old layer configuration syntax is now deprecated
- EPSG:4326/900913/3857 are now always initialized with the +over proj4
  option to prevent distortions at the dateline
  see: http://fwarmerdam.blogspot.de/2010/02/world-mapping.html

1.3.0 2012-01-13
~~~~~~~~~~~~~~~~

No changes since 1.3.0b1

1.3.0b1 2012-01-03
~~~~~~~~~~~~~~~~~~

Features:

- support for RESTful WMTS requests with custom URL templates
- support for CouchDB as tile backend
- support for Mapnik 2 sources
- limit maximum WMS response size with max_output_pixels
- new color option for watermarks
- new ``mapproxy-util serve-multiapp-develop`` command
- new wms.bbox_srs option for bounding boxes in multiple SRS in WMS
  capabilities

Improvements:

- log exceptions when returning internal errors (500)

Fixes:

- fix BBOX in WMS-C capabilities
- prevent exception for WMS requests with unsupported image formats with
  mime-type options (like 'image/png; mode=24bit')
- fixed blank image results for servers that call .close() on the
  response (like gunicorn)

Other:

- origin option for tile sources is deprecated. use a custom grid with
  the appropriate origin.

1.2.1 2011-09-01
~~~~~~~~~~~~~~~~

Fixes:

- fixed configuration of watermarks
- support for unicode title in old-style layer configuration

1.2.0 2011-08-31
~~~~~~~~~~~~~~~~

Fixes:

- fixed links in demo service when running as MultiMapProxy

1.2.0b1 2011-08-17
~~~~~~~~~~~~~~~~~~

Features:

- support for MBTiles cache
- support for (tagged-) layers for Mapnik sources
- configurable cache layout (tilecache/TMS)
- new `mapproxy-util scales` tool
- use MultiMapProxy with server scripts
  (mapproxy.multiapp.make_wsgi_app)

Fixes:

- prevent black borders for some custom grid configurations
- all fixes from 1.1.x

1.1.2 2011-07-06
~~~~~~~~~~~~~~~~

Fixes:

- compatibility with older PyYAML versions
- do not try to transform tiled=true requests
- escape Windows path in wsgi-app template

1.1.1 2011-06-26
~~~~~~~~~~~~~~~~

Fixes:

- add back transparent option for mapnik/tile sources (in addition
  to image.transparent)
- keep alpha channel when handling image.transparent_color
- fixed combining of multiple WMS layers with transparent_color
- fixed header parsing for MapServer CGI source

1.1.0 2011-06-01
~~~~~~~~~~~~~~~~

Other:

- Changed license to Apache Software License 2.0

Fixes:

- fixed image quantization for non-png images with
  globals.image.paletted=True

1.1.0rc1 2011-05-26
~~~~~~~~~~~~~~~~~~~

Improvements:

- add template to build MapProxy .deb package
- font dir is now configurable with globals.image.font_dir

Fixes:

- fixed errors in config spec

1.1.0b2 2011-05-19
~~~~~~~~~~~~~~~~~~

Improvements:

- unified logging
- verify mapproxy/seed configurations

1.1.0b1 2011-05-12
~~~~~~~~~~~~~~~~~~

Features:

- support for tagged WMS source names: wms:lyr1,lyr2
- new Mapserver source type
- new Mapnik source type
- new mapproxy-util command
- include development server (``mapproxy-util serve-develop``)
- first WMTS implementation (KVP)
- configurable image formats
- support for ArcGIS tile sources (/L09/R00000005/C0000000d)
- support for bbox parameter for tile sources

Improvements:

- tweaked watermarks on transparent images
- [mapproxy-seed] initialize MapProxy logging before seeding
- authentication callbacks get environ and qusery_extent
- authentication callbacks can force HTTP 401 returns
- hide error tracebacks from YAML parser
- support for multipolygons in coverages
- add support for HTTP_X_SCRIPT_NAME
- support for integer images (e.g. 16bit grayscale PNG)

Fixes:

- fixes demo on Windows (loaded static content from wrong path)
- fixed one-off error with grid.max_res: last resolution is now < max_res
  e.g. min_res: 1000 max_res: 300 -> now [1000, 500], before [1000, 500, 250]
- add workaround for Python bug #4606 (segfaults during projection on 64bit
  systems)
- do not add attribution to WMS-C responses

Other:

- removed Paste dependencies
- removed deprecated mapproxy-cleanup tool, feature included in mapproxy-seed

1.0.0 2011-03-03
~~~~~~~~~~~~~~~~

- no changes since 1.0.0rc1

1.0.0rc1 2011-02-25
~~~~~~~~~~~~~~~~~~~

Improvements:

- handle epsg:102100 and 102113 as equivalents to 900913/3857

Fixes:

- fixed attribution placement and padding

1.0.0b2 2011-02-18
~~~~~~~~~~~~~~~~~~

Improvements:

- [mapproxy-seed] support for configuration includes in mapproxy.yaml (base)
- [mapproxy-seed] updated config templates
- KML: reduce number of required KML requests
- KML: improve superoverlays with res_factor != 2

Fixes:

- [mapproxy-seed] apply globals from mapproxy.yaml during seed
- fix tile_lock cleanup
- merging of cache sources with only tile sources failed


1.0.0b1 2011-02-09
~~~~~~~~~~~~~~~~~~

Features:

- [mapproxy-seed] separated seed and cleanup tasks; call tasks independently
- XSL transformation of WMS FeatureInfo responses
- content aware merging of multiple XML/HTML FeatureInfo repsonses
- FeatureInfo types are configurable with wms.featureinfo_types
- request cascaded sources in parallel (with threading or eventlet)
  with new wms.concurrent_layer_renderer option
- disable GetMap requests for WMS sources (for FeatureInfo only sources)
- new cache.disable_storage option
- authorization framework
- new image.transparent_color option: replaces color with full transparency
- new image.opacity option: blend between opaque layers
- new watermark.spacing option: place watermark on every other tile
- new wms.on_source_errors option: capture errors and display notice in
  response image when some sources did not respond
- support for custom http headers for requests to sources
- add support for http options for tile source (user/password, https ssl
  options, headers, timeout)

Improvements:

- [mapproxy-seed] enhanced CLI (summary and interactive mode)
- combine requests to the same WMS URL
- support for local SLD files (sld: file://sld.xml)
- changed watermark color to gray: improves readability on full transparent
  images
- support for transparent/overlayed tile sources
- renamed thread_pool_size to concurrent_tile_creators
- tweaked KML level of detail parameters to fix render issues in Google Earth
  with tilted views

Fixes:

- rounding errors in meta-tile size calculation for meta_buffer=0
- work with upcomming PIL 1.2 release

0.9.1 2011-01-10
~~~~~~~~~~~~~~~~

Fixes:

- fixed regression in mapproxy_seed
- resolve direct WMS request issues with equal but not same
  SRS (e.g. 900913/3857)

0.9.1rc2 2010-12-20
~~~~~~~~~~~~~~~~~~~

Improvements:

- Allow nested layer configurations (layer groups/trees)
- Support custom path to libproj/libgdal with MAPPROXY_LIB_PATH environ
- Look for xxx if libxxx returned no results.
- Limit lat/lon bbox in WMS capabilities to +-89.999999 north/south values

Fixes:

- bug fix for threshold_res that overlap with the stretch_factor

0.9.1rc1 2010-12-07
~~~~~~~~~~~~~~~~~~~

Features:

- WMS 1.1.0 support
- Coverage support (limit sources to areas via WKT/OGC polygons)
- new base option to reuse configurations
- ScaleHint support (min/max_res, min/max_scale)
- Support for multiple MapProxy configurations in one process with distinct
  global/cache/source/etc. configurations
- New MultiMapProxy: dynamically load multiple configurations (experimental)
- threshold_res option for grids: switch cache levels at fixed resolutions
- seed_only option for sources: allows offline usage
- GetLegendGraphic support
- SLD support for WMS sources

Improvements:

- concurrent_requests limit is now per unique hostname and not per URL
- concurrent_requests can be set with globals.http.concurrent_requests
- font_size of watermark is now configurable
- improved configuration loading time and memory consumption
- make use of PyYAML's C extension if available
- cache projection attributes in SRS objects for better performance
- try system wide projection definitions first, then fallback to defaults
  (e.g. for EPSG:900913)
- trailing slash is now optional for /tms/1.0.0
- support for http.ssl_ca_cert for each WMS source
- support for http.client_timeout for each WMS source (Python >=2.6)

Fixes:

- removed start up error on systems where proj4 misses EPSG:3857
- fixed color error for transparent PNG8 files
- fixed links in demo service when URL is not /demo/
- removed memory leak proj4 wrapper
- fixed mapproxy-seed -f option
- tests work without Shapely

0.9.0 2010-10-18
~~~~~~~~~~~~~~~~

- minor bug fixes

0.9.0rc1 2010-10-13
~~~~~~~~~~~~~~~~~~~

- new OpenLayers-based '/demo' service that shows all configured WMS/TMS layers
- display welcome message at '/' instead of 'not found' error
- less rigid feature info request parser (no error with missing style or format
  parameters). Use wms.strict to enable OCG compliant mode.
- updated tempita to 0.5

0.9.0b2 2010-09-20
~~~~~~~~~~~~~~~~~~

- new minimize_meta_requests option
- moved python implementation dependent code to mapproxy.platform module

0.9.0b1 2010-08-30
~~~~~~~~~~~~~~~~~~

- Improved support for EPSG:3857
- Source requests now never go beyond the grid BBOX even with meta_buffers/meta_tiles
- removed install_requires
  - flup: not required for all deployment options
  - tempita: now embeded
- now Python 2.7 compatible
- [mapproxy-seed] fixed libgdal loading on some Linux systems
- [mapproxy-seed] check for intersections on all levels
- add origin options to /tiles service to support Google Maps clients
- Improved PNG performance with PIL fastpng branch.
- New concurrent_requests option to limit requests for each source WMS server.
- minor bug fixes

0.9.0a1 2010-07-27
~~~~~~~~~~~~~~~~~~

- new configuration format (merged proxy.yaml and service.yaml)
- refactoring of the caching (sources and layers)
- large refactoring of the package layout

- pyproj dependency is not required when libproj is available
- removed jinja dependency

- more options to define tile grids (min_res, max_res, etc.)

0.8.4 2010-08-01
~~~~~~~~~~~~~~~~

- Extra newline at the end of all templates. Some deployment setups
  removed the last characters.
- Improved PNG performance with PIL fastpng branch.
- New concurrent_requests option to limit requests for each source WMS server.

0.8.3 2010-06-01
~~~~~~~~~~~~~~~~

- Some bug fixes regarding feature info
- The configured resolutions are sorted

0.8.3rc2 2010-05-25
~~~~~~~~~~~~~~~~~~~

- HTTPS support with certificate verification and HTTP Basic-
  Authentication.
- New `use_direct_from_level` and `use_direct_from_res` options to
  disable caching for high resolutions.
- New `cache_tiles` source for more flexible tile-based sources
  Supports url templates like '/tiles?x=%(x)s&y=%(y)s&level=%(z)s'
  and Quadkeys as used by Bing-Maps. (as suggested by Pascal)
- You can limit the SRS of a source WMS with the `supported_srs`
  option. MapProxy will reproject between cached/requested SRS and
  the supported. This also works with direct layers, i.e. you can
  reproject WMS on-the-fly.

0.8.3rc1 2010-04-30
~~~~~~~~~~~~~~~~~~~

- new improved seed tool

  - seed polygon areas instead BBOX (from shapefiles, etc)
  - advanced seeding strategy
  - multiprocessing

- new link_single_color_images layer option. multiple "empty" tiles will
  be linked to the same image. (Unix only)
- fixed transparency for image parts without tiles
- log HTTP requests to servers regardless of the success
- made proj4 data dir configurable
- use same ordering of layers in service.yaml for capabilities documents
  (use list of dicts in configuration, see docs)
- performance improvements for requests with multiple layers and
  for layers with smaler BBOXs

0.8.2 2010-04-13
~~~~~~~~~~~~~~~~

- no changes since 0.8.2rc1

0.8.2rc1 2010-04-01
~~~~~~~~~~~~~~~~~~~

- add fallback if PIL is missing TrueType support
- use zc.lockfile for locking
- improved logging:

  - log to stdout when using develop.ini
  - add %(here)s support in log.ini (changed from {{conf_base_dir}})
  - do not enable ConcurrentLogHandler by default

0.8.1 2010-03-25
~~~~~~~~~~~~~~~~

- improved performance for simple image transformation
  (same srs and same resolution) #4

0.8.0 2010-03-22
~~~~~~~~~~~~~~~~

- initial release

{'fraction_non_alphanumeric': 0.09373356128353498, 'fraction_numerical': 0.038894003156233564, 'mean_word_length': 4.170321264660887, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 4, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5670690', 'n_tokens_mistral': 9511, 'n_tokens_neox': 8581, 'n_words': 3755}