|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to Building-Regulariser are documented here. |
| 4 | + |
| 5 | +## [Unreleased] |
| 6 | + |
| 7 | +## [0.2.5] - 2026-05-04 |
| 8 | + |
| 9 | +### Added |
| 10 | +- Pre-commit configuration (`ruff-check`, `ruff-format`, and a pre-push |
| 11 | + `pytest` hook). |
| 12 | +- GitHub Actions CI workflow running ruff lint, mypy, and pytest on |
| 13 | + every push and pull request. |
| 14 | +- GitHub Actions publish workflow that builds the package and pushes to |
| 15 | + PyPI via OIDC trusted publishing on `v*` tag pushes. |
| 16 | +- `py.typed` marker so downstream type checkers pick up the package's |
| 17 | + type hints. |
| 18 | +- Multipolygon regression tests covering self-intersecting and |
| 19 | + vertex-touching inputs. |
| 20 | + |
| 21 | +### Changed |
| 22 | +- Versioning is now derived from git tags via `setuptools-scm`. The |
| 23 | + hardcoded `__version__.py` has been removed; `__version__` is now |
| 24 | + read at runtime from package metadata via `importlib.metadata`. |
| 25 | +- `regularize_single_polygon` signature widened to |
| 26 | + `Polygon | MultiPolygon` to match its actual runtime behaviour. |
| 27 | +- `uv.lock` is no longer tracked in version control. |
| 28 | + |
| 29 | +### Fixed |
| 30 | +- Type errors in `geometry_utils.rotate_edge` where the no-rotation |
| 31 | + branch returned `ndarray` instead of the expected coordinate tuple. |
| 32 | + |
| 33 | +## [0.2.4] - 2025-07-24 |
| 34 | + |
| 35 | +### Added |
| 36 | +- Project metadata: license, keywords, project URL. |
| 37 | +- Ruff to the dev dependency group. |
| 38 | + |
| 39 | +### Fixed |
| 40 | +- Improved robustness when input geometries are invalid |
| 41 | + (self-intersecting or otherwise malformed polygons). |
| 42 | +- Handling of invalid inputs reported in issue #5. |
| 43 | + |
| 44 | +### Changed |
| 45 | +- Layer order in the regularization pipeline. |
| 46 | +- Updated example parameters and dataset. |
| 47 | + |
| 48 | +## [0.2.2] - 2025-05-22 |
| 49 | + |
| 50 | +### Added |
| 51 | +- Neighbour alignment: edges of nearby buildings can be aligned to a |
| 52 | + shared direction. |
| 53 | +- End-to-end tests for geometry quality and parameterized regularization. |
| 54 | +- Example notebook and data. |
| 55 | + |
| 56 | +### Changed |
| 57 | +- Throughput optimisations. |
| 58 | +- Improved spatial-index handling and data preparation in neighbour |
| 59 | + alignment. |
| 60 | +- Internal consolidation and refactoring; `rotate_edge` and other line |
| 61 | + operations consolidated into `geometry_utils`. |
| 62 | +- Type-hint and argument-name cleanup across the codebase. |
| 63 | + |
| 64 | +## [0.1.12] - 2025-04-12 |
| 65 | + |
| 66 | +### Added |
| 67 | +- `include_metadata` option to return per-feature regularization |
| 68 | + metadata alongside the output geometries. |
| 69 | +- Conda-forge install instructions. |
| 70 | + |
| 71 | +### Changed |
| 72 | +- Improved main-edge finding with mirroring and smoothing. |
| 73 | +- Relaxed dependency version requirements. |
| 74 | + |
| 75 | +## [0.1.11] - 2025-04-10 |
| 76 | + |
| 77 | +### Changed |
| 78 | +- Reordered filter operations in the regularization pipeline. |
| 79 | + |
| 80 | +## [0.1.10] - 2025-04-09 |
| 81 | + |
| 82 | +### Added |
| 83 | +- Coarse and fine bins when finding the main direction of a polygon. |
| 84 | + |
| 85 | +## [0.1.9] - 2025-04-09 |
| 86 | + |
| 87 | +### Added |
| 88 | +- Per-feature metadata output. |
| 89 | +- Inputs are now exploded so multipart geometries are handled. |
| 90 | +- Increased histogram bin size for direction estimation. |
| 91 | + |
| 92 | +## [0.1.8] - 2025-04-04 |
| 93 | + |
| 94 | +### Added |
| 95 | +- Additional histogram bins for finer direction estimation. |
| 96 | + |
| 97 | +## [0.1.7] - 2025-04-03 |
| 98 | + |
| 99 | +### Added |
| 100 | +- Exposed the diagonal threshold reduction parameter. |
| 101 | + |
| 102 | +## [0.1.6] - 2025-04-03 |
| 103 | + |
| 104 | +### Fixed |
| 105 | +- Handling of unusually large buildings. |
| 106 | + |
| 107 | +## [0.1.4] - 2025-04-02 |
| 108 | + |
| 109 | +### Added |
| 110 | +- Optional circle output for round-shaped buildings. |
| 111 | + |
| 112 | +### Changed |
| 113 | +- Throughput improvements. |
| 114 | + |
| 115 | +## [0.1.3] - 2025-04-01 |
| 116 | + |
| 117 | +### Added |
| 118 | +- MIT license file and project README. |
| 119 | + |
| 120 | +### Fixed |
| 121 | +- Cleaning logic refinements following the initial release. |
| 122 | + |
| 123 | +## [0.1.0] - 2025-04-01 |
| 124 | + |
| 125 | +### Added |
| 126 | +- Initial public release with the core `regularize_geodataframe` API |
| 127 | + for aligning building polygon edges to principal directions. |
| 128 | + |
| 129 | +[Unreleased]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.2.5...HEAD |
| 130 | +[0.2.5]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.2.4...v0.2.5 |
| 131 | +[0.2.4]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.2.2...v0.2.4 |
| 132 | +[0.2.2]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.12...v0.2.2 |
| 133 | +[0.1.12]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.11...v0.1.12 |
| 134 | +[0.1.11]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.10...v0.1.11 |
| 135 | +[0.1.10]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.9...v0.1.10 |
| 136 | +[0.1.9]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.8...v0.1.9 |
| 137 | +[0.1.8]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.7...v0.1.8 |
| 138 | +[0.1.7]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.6...v0.1.7 |
| 139 | +[0.1.6]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.4...v0.1.6 |
| 140 | +[0.1.4]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.3...v0.1.4 |
| 141 | +[0.1.3]: https://github.com/DPIRD-DMA/Building-Regulariser/compare/v0.1.0...v0.1.3 |
| 142 | +[0.1.0]: https://github.com/DPIRD-DMA/Building-Regulariser/releases/tag/v0.1.0 |
0 commit comments