|
4 | 4 | All notable changes to this project will be documented in this file. |
5 | 5 | This project adheres to [Semantic Versioning](http://semver.org/). |
6 | 6 |
|
| 7 | +## [4.0.0] - 2024-09-20 |
| 8 | + |
| 9 | +### Added |
| 10 | + |
| 11 | +- support for Python 3.13 |
| 12 | +- iterative processing of OSM files (see FileProcessor) |
| 13 | +- new `flush()` callback for handlers |
| 14 | +- FileBuffer for reading from a Python buffer instead of a file |
| 15 | +- bit operators for entity bit enum |
| 16 | +- filter mode for handlers (return False to stop processing) |
| 17 | +- various C++-implementations of filters (for tags, keys, ids, etc.) |
| 18 | +- convenience functions to determine object types |
| 19 | +- binary wheels for MAcOS and Intel ARM architecture |
| 20 | +- haversine functions for two point |
| 21 | +- direct access to lat/lon for nodes |
| 22 | +- expose osmium's IdSet |
| 23 | +- new IdTracker for efficient tracking of dependent objects |
| 24 | +- new writers for adding forward and backward references to output |
| 25 | +- new parameter for server file type for pyosmium_get_updates |
| 26 | +- new filter to add `__geo_interface__` attribute |
| 27 | + |
| 28 | +### Fixed |
| 29 | + |
| 30 | +- consistently use namespaces everywhere |
| 31 | +- deprecation warnings around utc_now (thanks @mtmail) |
| 32 | + |
| 33 | +### Changed |
| 34 | + |
| 35 | +- SimpleHandler is now a Python class |
| 36 | +- make NodeLocationForWays a generic BaseHandler |
| 37 | +- `apply()` and MergeInputReader can take an arbitrary number of handlers |
| 38 | +- accept Python class as handler, no inheritance from SimpleHandler necessary |
| 39 | +- new minimum requirements: pybind 2.7, Python 3.7, C++17 compatible compiler, cmake 3.8 |
| 40 | +- AreaManager is now part of the Python interface |
| 41 | +- consistently allow str, Path, File and FileBuffer, where OSM files are expected |
| 42 | +- objects stay alive through handler chain allowing to carry over extra attributes |
| 43 | +- switch SimpleWriter to use keyword arguments |
| 44 | +- make Reader and SimpleWriter context managers |
| 45 | +- new overwrite parameter for writers |
| 46 | +- remove GIL release, only slows down processing |
| 47 | +- move documentation of C++ interface into pyi files |
| 48 | +- complete rewrite of documentation using mkdocs |
| 49 | +- update pybind to 2.13.6 |
| 50 | +- use maximum parallelization when building (thanks @Mathiasdm) |
| 51 | +- move build configuration to pyproject.toml as far as possible |
| 52 | + |
7 | 53 | ## [3.7.0] - 2023-11-19 |
8 | 54 |
|
9 | 55 | ### Added |
|
0 commit comments