Skip to content

2.0.0

Latest
Compare
Choose a tag to compare
@garrettrayj garrettrayj released this 04 May 14:05

PHP7 Mapnik 2.0.0 enhances stability and durability of the extension by implementing best practices and improving code quality. This release does not include new features or major changes to the API, however it does improve exceptions and sets up the project for future additions.

  • Implemented new parameter parsing API.
    • Creating Mapnik objects with invalid arguments now throws a TypeError instead of \Mapnik\Exception.
    • Users should catch \Throwable, \Error, or \TypeError to handle errors from object construction or method invocation with bad arguments. Mapnik related errors, an invalid SRS for example, will still throw \Mapnik\Exception.
    • Utilizing strict types is recommended for the most predictable behavior.
  • Implemented argument info macros for feeding object reflection API.
  • Accessor macros are now used for fetch values from zvals.
  • Reorganized source code, fixed duplicate imports, and significantly improved code quality.
  • Added Dockerfile for creating an image tailored to PHP7 Mapnik extension development.
  • Added tooling for running tests with valgrind for memory leak detection.
    • CI builds now test for leaks.