All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Removed unreachable Path handling code in
map.py_get_daemon()andload_style() - Moved
import base64to module level in_bridge.py(was inside methods) - Fixed potential panics in Rust daemon by replacing
.expect()with proper error handling - Removed duplicated style loading logic in Rust (extracted to
load_style()helper) - Fixed outdated error message in
preview.html(now referencesjust build-rust)
- Added
tests/conftest.pywith shared pytest fixtures - Added
tests/test_bridge.pyfor_bridge.pyunit tests - Added
tests/test_geo_bounds.pyforbounds_to_polygon()tests - Added
docs/API.mdwith comprehensive API reference - Added visual regression testing with
just visual-renderandjust visual-compare - Added
scripts/visual_compare.pyfor comparing mlnative vs Chrome renders - Added
playwrightto dev dependencies for visual testing - Added example scripts:
error_handling.py,geojson_layers.py,production_deployment.py
- Improved CI workflow with separate lint/test/build stages
- Added Rust clippy checks to CI
- Added code coverage reporting
- Initial public release
Mapclass for static map renderingrender()andrender_batch()methodsfit_bounds()for automatic zoom calculationset_geojson()for dynamic GeoJSON updatesload_style()for URL, file path, or dict styles- GeoJSON helper utilities in
mlnative.geo - FastAPI example server
- Web test interface