Releases: zerebubuth/openstreetmap-cgimap
Release version 2.1.0
New Features
- Enhanced changeset statistics (#510).
- Enhanced developer experience:
- Added Alpine-based Dockerfile for leaner images (#457).
- Set fallback_application_name postgresql parameter (#532)
Dependency changes
- Switched to C++20, updating multiple components for compatibility (#470, #471).
- Replaced crypto++ with PostgreSQL sha256() for hashing (#511).
- Remove yajl build option; always enabled now (#464)
Performance Improvements
- Optimized diff upload performance using CTEs instead of temporary tables (#460).
- Limit max-changeset-elements to 50'000 changes (#516)
- Introduced psql_array_ids_to_vector (#459).
- deb package: run pg_virtualenv only once for all test cases (#494)
Bug Fixes
- Don't rate limit HTTP OPTIONS requests (#458)
- Fixed relation member sequence IDs starting from 0 (#523).
- Enforced negative placeholder IDs for create operations (#524).
- Escaped values in PostgreSQL connection strings (#535).
- Finish up FCGI request in case of exceptions (#522)
- Resolved macOS compatibility issues (#456).
Refactoring & Cleanup
- Removed Boost dependencies (fusion, lexical_cast, regex) in favor of standard alternatives (#463, #475, #486).
Only boost program-options is now left. - New AcceptHeader parser w/o boost (#466)
- Major C++20 codebase modernizations across the project:
- Removed deprecated components: staticxml and test_core (#491).
Testing & Infrastructure
- Make pg_virtualenv switchable (#490)
- Improved test coverage: added unit tests for HTTP, test_core_helper, and simulated DB errors (#519, #495, #521).
- Updated Catch2 unit test framework to v3.8.1 (#536).
- Enhanced .testcore DB integration and backend test coverage (#488, #489).
#453, #480, #482, #484, #536, #537 by @Woazboat , #456 with contribution from @deevroman, others by @mmd-osm
Full Changelog: v2.0.1...v2.1.0
Release version 2.0.1
What's Changed
- Replace old openstreetmap-cgimap-bin Debian package in #452
(changes by @mmd-osm unless stated otherwise)
Full Changelog: v2.0.0...v2.0.1
Release version 2.0.0
Breaking changes
- OAuth 1.0a removal in #354
- Basic auth removal in #362
- Remove obsolete --readonly command line parameter in #443
- Rework changeset json output according to Rails implementation in #439
Important
Command line parameters to enable/disable OAuth 1.0a and Basic Auth (--basic_auth_support and --oauth_10_support) have been removed!
Performance
- Immediately reject repeated attempts to lock the same changeset in #421
- tiles_for_area: vector instead of set in #437
- [perf] Only copy tags to old tables for ids that are known to have tags in #425
- Enable libpqxx stream_to for selected tables in #427
- std::from_chars for number parsing in #431
- Set locale only once per request in #430
- Simplify std::regex in #436
- Simplified is_valid_bearer_token_char by @Woazboat in #444
- memcached: add non-zero expiration value in #422
Misc changes
- Update apache fcgi module link in readme by @Woazboat in #396
- Remove multi-backend support in #395
- Added missing brotli libs in Dockerfile stage 2 in #397
- Fix libxml++ contrib library compiler options by @Woazboat in #398
- Add build on Ubuntu 24.04 in #399
- Docker image smoke test in #400
- Deprecate test support for Ubuntu 20.04 by @Woazboat in #405
- Sync test db schema with upstream openstreetmap-website by @Woazboat in #403
- Unit test: user in status pending cannot upload changesets in #406
- Add importer role by @Woazboat in #410
- Propagate request context to handlers by @Woazboat in #411
- Adding sjparser lib in #416
- rate_limiter-update: consumed bytes may be larger than maxdebt in #429
- Refactor cmake install and package definitions by @Woazboat in #381
- Debian package build in #447
- Build debian packages by @Firefishy in #449
(changes by @mmd-osm unless stated otherwise)
Full Changelog: v0.9.3...v2.0.0
Release version 0.9.3
Release version 0.9.2
Note: Releases 0.9.x will be the last ones before OAuth 1.0a and Basic Auth will be removed.
Bug fixes
- Revert "Skip changeset discussions unless requested" (#402)
Release version 0.9.1
Note: Releases 0.9.x will be the last ones before OAuth 1.0a and Basic Auth will be removed.
Breaking changes
- Added support for brotli response body compression (#375)
- Drop support for staticxml backend in production code (#376)
- Require YAJL v2 in CMakeLists (#373)
Performance
- JSON generation
- SQL queries and libpqxx
- Misc
Refactoring
- CMake, code quality checks and third party libs management
- Move modified libxml++ lib to contrib directory(#367)
- Create separate cmake files for contrib libs by @Woazboat (#369)
- Remove duplicated cmake test definition by @Woazboat (#370)
- Remove unused catch2 automake reporter header file by @Woazboat (#371)
- Integrate clang-tidy in cmake build by @Woazboat (#382)
- A bit of refactoring in XML / JSON writer (#366)
- Change some enums to enum class (#372)
- Minor router cleanups (#377)
- Some cleanups from @Woazboat psql-array-iterator branch (#384)
- Use raw string literal for bearer token regex by @Woazboat (#387)
- Use std::forward for forwarding references instead of std::move by @Woazboat (#386)
- pqxx::field wrapper for psql_array_to_vector (#391)
(changes by @mmd-osm unless stated otherwise)
Full Changelog: v0.9.0...v0.9.1
Release version 0.9.0
Note: Releases 0.9.x will be the last ones before OAuth 1.0a and Basic Auth will be removed.
Breaking changes
- Replace autotools by cmake by @Woazboat in #317 and @mmd-osm in #358
- Refer to the README for updated instructions on how to build CGImap
- New option to generate Debian ppa files using
cpack
Bug fixes
- Fix json output incorrectly truncating coordinates by @Woazboat in #364
- Fix test_parse_id_list unit test failure on ARM64 in #347
- Adjustments for changes in underlying libpqxx 7.x.x library version in #301
- Fix program option
--instancesin #339 - Daemon mode improvements (multiple PRs)
- Check node lat lon not NaN or infinite by @Woazboat in (7d058d5)
Performance
- Use std::string / std::string_view for psql_array_to_vector by @Woazboat in #344
- Reduce temporary allocations for xml serialization by @Woazboat in #342
Refactoring
- Migrate unit tests to Catch2 framework, increased unit test coverage (multiple PRs)
- Code cleanups (multiple PRs)
Full Changelog: v0.8.10...v0.9.0
Release version 0.8.10
New features
Refactoring
- process_post_put_request: small cleanups (#298)
Full Changelog: v0.8.9...v0.8.10
Release version 0.8.9
New features
- Add moderators specific rate limiting settings by @DavidKarlas (#294)
- Add Retry-After http header in 509 response by @DavidKarlas (#295)
- Add ids to changeset comments output by @AntonKhorev (#289)
Bug fixes
- Fix vector reserve in pqsql select for historic n/w/r by @Woazboat (#282)
- Replace deprecated std::iterator with direct member type declarations by @Woazboat (#279)
- Check user state, only allow db changes for confirmed and active users by @mmd-osm (#284)
- Fix commented out Dockerfile config in lighttpd.conf by @AntonKhorev (#287)
- Add more test files to gitignore by @AntonKhorev (#288)
New Contributors
- @Woazboat made their first contribution in #282
- @AntonKhorev made their first contribution in #287
- @DavidKarlas made their first contribution in #294
Full Changelog: v0.8.8...v0.8.9
Release version 0.8.8
Bug fixes:
- Undo "Replace custom array parser by pqxx::array_parser" (#277)