osrm-backend/third_party/libosmium/CHANGELOG.md

276 lines
9.0 KiB
Markdown
Raw Normal View History

Squashed 'third_party/libosmium/' changes from f074d94..8bcd4ea 8bcd4ea Add explicit cast operator from osmium::Timestamp to uint32_t. 0b24814 Fixed the full_queue_sleep_duration const (again). 5e19dd2 Try different workaround for windows... df5d6c9 Fix build error on Windows. 1553adf Workaround for missing support for u8 string literals on Windows. aa5e44a Do not build benchmarks in Appveyor to speed up build. 2b22b31 Remove warning generated by assert by casting to largest type. 148c5e3 Fix inclusion of our own css file into doxygen documentation. 13bce6f Split out test thats fails on Windows and do not run it on appveyor. ca04757 Make CMake add_unit_test() function more flexible. 6c04a63 Tell CMake to output json file with compile commands. c0dd848 Fix indentation in some tests. dfa7e4b Formatting: Consistently use spaces around equal signs. 08fe6db Add change log, release version 2.1.0. 667192e Add XML tests. 28acfc7 Make sorting the PBF stringtables optional. 8184781 Fix PBFInputFormat. Use member variable instead of static variable. 2b48945 Fix comment. 6d37054 Rename m_done to m_quit_input_thread to clarify what it is for. bc23083 Fix race condition in PBF reader. 7fc380e Add various docs, noexcepts, asserts, and tests. aeaf4d7 Not a good idea to how overbroad patterns in .gitignore. c1ef2f9 Bugfix: Multipolygon collector was accessing non-existent NodeRef. 0ef9a13 Add noexcept and docs to some functions in NodeRefList class. da4d764 Workaround for Doxygen bug. e67d5d9 use absolute paths to osmium in YouCompleteMe configuration 38abeac remove template parameter from NodeRefList c47adf0 Add check that osm xml file has <osm> or <osmChange> as top-level element. 5e4af90 Updated version number to 2.0.0. 5b2bc3e Workaround in cmake test for sparsehash size. git-subtree-dir: third_party/libosmium git-subtree-split: 8bcd4ea771696812bbb08ebc58e3ee22d0538070
2015-04-13 09:44:38 -04:00
# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [unreleased] -
Squashed 'third_party/libosmium/' changes from 8bcd4ea..c43f8db c43f8db Release v2.3.0 44c135f Update README to show dependencies used internally. ece54cd Add external licenses. 908cd5f Updated change log. 96dbf0e Change %-escape in OPL format. 98f6e27 Change write benchmark to interleave reading and writing. 39620ce Make writing of metadata configurable for XML and OPL output. e5a4e5e Add debug output format. 597390f Remove superfluous include and pragmas. ecc57b0 Update pbf reader/writer to use new protozero functions. 5d1e8d2 Update protozero from upstream. ef8746b Fix build on Windows. ddba46f Remove superfluous include. 098c57f Add some paranoia checks to pbf reader. 0f804c2 Try building with newer boost library on travis. 6f79d63 Use explicit return types on lambdas. 355f3b1 New PBF reader and writer based on protozero. 71d719b Add pbf writing benchmark. f014b4c Fix iwyu.sh script: Works now if build directory doesn't exist. a0ace49 Use utf8cpp header-only lib instead of boost for utf8 decoding. 796f18e Bugfix: Reading large XML files could block. 5a2bcbe Replace strcmp by std::string comparison in test. bc49e2c Bugfix: XML writer was not writing whitespace correctly. 61222f8 Fix 64bit byte swap. e56f090 Fix new CRC code on OSX and Windows. 70229aa Add low-level building blocks that allow calculating CRC of OSM data. 0968a66 Remove assert checking for unset version. 62e0261 Refactor test case. 4bfc7fc Allow instantiating osmium::geom::GEOSFactory with existing GEOS factory. e70af0c Remove calls to protobuf cleanup function im benchmarks and examples. 718518d Bugfix in OPL output. Relation member roles were not encoded. 759d5cb Rename parameter that had the same name as a type. 7054cab Provide (Typed)MemoryMapping constructors for backwards compatibility. d09f5d1 Fix typo. b4e578f Make memory mapping utility class more flexible. 633fa8e Travis build without sudo. 7ff23f1 Improved code setting file format from suffix/format argument. 90ef3b9 Remove some tests that didn't test much and failed on FreeBSD. af86273 Add some pragmas to disable warnings for GCC. efac7fd Fix some include problems found by IWYU. 79d2f4c Changed add_user() and add_role() in builders. Add add_member(). 9375d00 Add function to set tags from ptr + length. Improve TagBuilder tests. bafca20 Test helper: Use more const and have sub-builders in their own scope. f73c993 Simplify code. fee1710 Disable warning only when compiling with GCC. 74402f3 Merge pull request #98 from dforsi/master 2c4b449 Update to new upstream catch.hpp version. 1318732 Release v2.2.0 1873998 Add missing test. 2e5ea1d Do not add timestamp to html doc pages. 1b2ea89 Remove debug output. 0be9599 Improved parsing of ids, versions, uids, etc. from strings. 4308d80 Add second version of split_string utility function. f18c9e5 Move part of pbf.hpp into new pbf_type_conv.hpp. d201152 Use new DeltaEncode class in pbf writer. e205610 Add DeltaEncode/DeltaDecode utility classes. 32905d6 Bugfix: Actually throw the exception we are creating... d3e86d8 Add functions to convert item_type to zero-based index. daddf07 Bugfix: Programs writing OSM files can stall up to a second after writing. 00b0247 Add function to set the id of a relation member. f85316a Fix error message. 19bc6cc Fix name of travis install script. 719cd33 spatialite-bin package now available on travis cb03821 Shorten long test string (MSVC doesn't like it). c3440a6 Add BoolVector index class. da08073 Add min_op/max_op utility functions. 411d112 AppVeyor.yml: new links for binary deps 7d9095f add test for badly formatted timestamps a073f73 Add helper methods to DiffObject. 3b9819a Add GeoJSON factory using the RapidJSON library. 107bca5 Use a reference instead of a copy. a6943a4 Mark a few variables that are not changing as const. 51b7e53 Improved error message for geometry exceptions. 5c37a13 Some minor spelling fixes 8ae5723 Bugfix: Dense location store was written out only partially. 5994322 Add support for tiles. 2168bac Add has_map_type() method to map factory. a9634bd Add more tests for mercator projection. 3c13e4d Add functionality to create simple polygons from ways in geom factories. e8c5bb1 Use uint64_t as counter, so there can be no overflows. 07fc9b9 libsparsehash-dev now in travis package whitelist 820e112 Add coverage support to CMake config. 5e9f943 Bugfix: Use the right include to really allow any input file type. d4b48eb CMake: Make version string a cached variable. e6baccb Add (c)begin/end functions to TypedMemoryMapping. Removed get_addr(). 3e32710 Use size() from MemoryMapping in TypedMemoryMapping. 96390db Improve MemoryMapping class documentation. 60a6217 Do not round memory mapped files to page size boundaries. 4907cbe Bugfix: function name. cac01d8 Use _filelengthi64 on Windows instead of fstat(2). 6a25bdf Windows: Put invalid parameter handler into wrapper class. Re-enable test. 110df9b Add invalid parameter handler on Windows to test. 549ed5f Disable some tests (to find which one fails on appveyor). a5b8873 Use resize_file() in memory mapping test instead of ftruncate directly. 40e41d3 Use _chsize_s() instead of _chsize() on Windows. 048397e Refactoring: Use low-level util functions in DataFile. 6a033f9 Remove now unused Windows implementation of mmap. 3eccdbb Move dword_hi/lo functions into osmium::util namespace. be7351b Remove unused code. b859b18 Make dword_hi/lo functions inline. 2e3bc37 Simplify mmap_vector_base/anon/file. f819cf3 Always map full pages. Make sure files behind mapping are large enough. d0c84b6 Add some low-level helper functions for file system access. 62e8d91 Make DataFile constructor explicit. fba684c Fix memory mapping test for windows. 78a7fd5 Add constructor to DataFile to create tmp file with given size. f911893 Bugfix: typo. 1cf2739 Add AnonymousMemoryMapping class. 56eac30 Implement MemoryMapping::resize() function. 1a73262 Bugfix: Counter variables were too small. 1ade32c Fix include position. b03aec3 Fixed some bugs in new DataFile class/tests. f109534 Add DataFile utility class. 9ed3c43 Fix/cleanup some code. 4f326c9 Fix bug: Copy-and-paste error. 78a5b2f Use reinterpret_cast instead of static_cast to get HANDLE on Windows. 7baa318 Fix typo. e669069 Make huge value even huger to see if code reliable fails then. 66137ad Improved documentation of MemoryMapping and TypedMemoryMapping classes. 3121393 Add TypedMemoryMapping class. f45335e Default for get_addr() template type. 685bbaf Remove unused code from tests. ce65bd4 Fix some issue with new MemoryMapping class. e7b8e15 Added MemoryMapping wrapper class for mmap() and Windows equivalent. 6b1effe typo fixed 33d479d Refactored travis build. 4348522 Fix xml data test. 769b1e8 Bugfix: Better check for invalid locations. bba7e68 Appveyor: Disable test failing because of missing dependency. 3d40dc7 Link with /debug on MSVC, add note about LNK4099 warnings. 5ef051f Appveyor: Disable header builds, add benchmarks. ce7485e Reformat Appveyor config. c60e505 use shallow clones for faster git fetch 3b18bca Travis cleanups. b8dfac0 Cleanup travis build. 5f19838 Trying to fix travis gcc build... d4255a4 Remove -Wno-return-type from recommended options. 5f1a41b Add dump_as_array() function to maps. ff22f76 Add constructors and begin()/end() functions to VectorBasedSparseMultimap. c7e05dd Bugfix: Make REGISTER_MAP() macro work when called several time with same name parameter. abdc317 Bugfix: Mark cbegin() and cend() of mmap_vector_base as const functions. d81d439 Add close() function to mmap_vector_base class. d74cff2 Add function on Buffer to get iterator to specific offset. git-subtree-dir: third_party/libosmium git-subtree-split: c43f8db50d93912a8bec5cd9fea733f7fec05549
2015-08-28 06:42:03 -04:00
### Added
### Changed
### Fixed
Squashed 'third_party/libosmium/' changes from c43f8db..0ff2780 0ff2780 Release v2.5.4 3f1583a Remove workaround for MSVC missing constexpr support. 2a6c80b Rewrite expressions to avoid warnings on MSVC. 9b0602a Make two functions non-constexpr that can't be. ca1e501 Make NodeRef constructor, accessors and comparison ops constexpr. fb48312 Disable some problematic clang_tidy checks. d2d2812 Only do clang_tidy checks on files that are configured to be built. 5af55bb Always use braces after while() and if(). aebb6e3 No else after return. 65a3bf6 Better clang-tidy config. 3a965fa Add typedef Buffer::value_type needed when using std::back_inserter. c20ac26 Add lots of explicits to constructors. 1d12e09 Add clang-tidy make target. 052b1ee Add benchmark programs to files checked with cppcheck. 9ccbb49 Use only "final", not "override final". 0b9df1f User 'override' instead of 'virtual' in overridden functions. 1d0c1c6 Remove unnecessary get() call. 705391b Use consistent namespace closing comment. 25c1f38 Only use "final" on overridden methods, not "override". 8da2553 Setting CMAKE_EXPORT_COMPILE_COMMANDS works only after project() command. 5fec437 Use newest protozero library (v1.2.3). a3d759b Overloaded version of add_tag() with std::pair of strings. 1b4bcf9 Add function to add tag to tag list from existing tag. 7087e62 Update gdalcpp.hpp header to v1.1.1. 0008e8c Update change log. 39fe3a5 Add conversion and comparison operators to Timestamp. e6643a7 Update gdalcpp. 650280f Bugfix: Improved segment intersection function. 1b20597 Make operator bool explicit for (Typed)MemoryMapping. b580b25 Merge pull request #136 from tomhughes/ruby a7c6737 The multipolygon test only needs the ruby interpreter 4a0a9e7 Make conversion from Buffer to bool noexcept. 7cdabbe Set thread name in o5m input format. 6a17a8d Break out computation of thread pool size into function and test it. 1950853 Allow initializing a Timestamp from any integral type. 4103198 Fix link in change log. dc2ed89 Release v2.5.3 a2816b7 Fix end_of_time() Timestamp, add constructor taking std::string&. 3f5eb8e Updated changelog. 9b75c14 Cleanup and better docs for DiffObject and related classes. d0beead Better documentation for NodeRef and NodeRefList classes. 0192292 Cleanup/doc/test osmium::util::Options. b3db055 Use header with forward declarations. 8b3fe16 Improved documentation. cd2ce38 Remove unused typedef Buffer::value_type. 87c9b32 Cleanup and test Buffer::add_buffer() function. e519278 Improved documentation for osmium::memory::Buffer. d721d43 Deprecate set_full_callback(). Better doc for deprecated functions. 58b5fd1 Remove DataFile class which was never used anywhere. 30b806e Simplify some tests. 62958df Update change log. a8a2e68 Merge pull request #134 from zerebubuth/buffer-size-checks 987faab Move some code belonging into there into relations::Collector. da31175 When the buffer isn't big enough, even when empty, to reserve the space that's being requested then it shouldn't reserve it anyway. 5d2f949 Swap the growth flag and any "full" callback as well as all the other members when swapping this buffer object. 1845aa9 The assertions prior to dereference are more strict than the conversion to bool. However, conversion to bool is often used as a predicate for whether dereference is okay, so the behaviour is easier to understand if they match. abdfee1 Remove unused m_want_types in relations collector. 95b387f "Officially" mark two constructors as deprecated. 1d0da5f Release v2.5.2 31c3eaf Copy iterator around less often. 83c93d0 Do not check the write_future for exceptions on every item. 1c805ea Add counting of push() calls on queue in debug mode. aa869c0 Release v2.5.1 212578b Fix documentation of Writer constructor. 0445dd8 Add new header file with forward declarations of commonly used classes. 4b6baac Optionally include external library headers. 712a6d1 Update change log. fc78d04 Update style rules. b590fe3 Unify use of 'typename' in templates. Unify spacing of ellipsis operator. 8c450ac Move osmium/io/overwrite.hpp to writer_options.hpp. 08eed02 Move DEPRECATED macro into compatibility.hpp. b72eb8d Release v2.5.0 5aeba6b Better formatting for invalid timestamps on debug output. 6772413 Add valid() function on Timestamp. 7549b05 Update change log. 84119b0 Add option to fsync files after they are written. db1bd92 Make optional parameters on Writer work in any order. 3482e3e Remove boilerplate. Add explicits to constructors. cf389c6 Rename the wrap() function to the better ensure_cleanup(). 678049e Use reference instead of pointer for decompressor. 7189d28 More consistent use and naming of Function templates. 3d66deb Use const& for parameter that's not changed. 88d65fb Fix warning with a cast. 03e8c9f Fix some misc issues found by cppcheck. 4848676 Options to cppcheck to check everything (--force) and ignore assert. 5f89a8c Add lots of assert() calls to Buffer implementation. c990b43 Use a wrapper function in Writer for error handling. 04d9e3e Refactor of writer to work properly in all error cases. 6daf2d3 Throw when reading from Reader after eof or error. Use io_error everywhere. 713a189 Rename OutputFormat::close() to write_end(). 7905add Refactor Reader/Writer code. c050a05 Make thread_handler class movable. 8e661a2 Make DeltaEncode/Decode more generic and fix signedness issues. da712a9 Fixed a few signedness issues. dc04e67 Avoid possible narrowing conversion. abd44af Make a variable static that should be. 7039fa6 Avoid global variable. 9e9fc0f Add a noreturn attribute. a681a2c Do not pass Timestamp class through forwarding. d37b717 Clean up status handling in Reader and Writer. 3b1f0d8 Add at_end_of_data() helper function to get self-documenting code. bf3cc8c Add add_end_of_data_to_queue() helper function. 94bdd09 Fix test. 531db80 Use valid() on future instead of an extra bool. 7f328b3 Make RVO work for pop() function. c1d726d Add some static_cast_with_assert paranoia checks. 5a064f7 Make sure DeltaDecode/DeltaEncode classes work for all integer types. c69a701 Fix some integer types. 2b2cfc9 Remove extra semicolons at end of function definitions. 2b74aa6 Use workaround for GCC unused variable warning for index::map, too. f7fb94d Different way of supression unused-variable warning. c0813e6 Better handling of threads. 963ff8e Move internal buffer from OutputIterator into Writer. 698d027 Update change log. 24270dd Remove unused variables. 64d6363 Remove unnecessarily fully-qualified name. 5ccacc7 Add support for reading o5m and o5c files. b603904 Fix up includes. 6013a27 Remove pessimizing move. a19e4cf Use queue_wrapper in Reader, too. 74a5174 Refactor thread creation for WriteThread. c480b33 Fix test code. e135597 Do not use promise in two threads at once. 6fa16ca Refactor input format code. 53fc576 More robust implementation of writer/writer_thread. 1285316 Put some queue handling into new wrapper class. a1e6e6f Rename osmium/io/detail/util.hpp to queue_util.hpp. f42d6fc New add_to_queue() helper functions. 3db9b49 Simplify read thread handling. a903561 Move any exception in read thread through queue. ee977cb Add more tests for reader code. 99aaa45 Factor out input handling in classes derived from Parser. 7afa03c Wrap access to m_read_types in InputFormat. f6c5971 Wrap sending to output queue in InputFormat. 26f4170 Consolidate header handling in InputFormat. a0aa3ed Remove unnecessary inline declaration. 894e84a Declare a bunch of destructors noexcept and use consistent comments. 6c49b43 Add hack to append_printf_formatted_string() so it works on Windows. 20c3f20 Remove a move that prevented copy elision. 8192a4c Pull low-level string formatting out of debug output and test it. 190aa46 Move low-level string formatting/encoding functions into own header. 3e35441 Add Option::is_not_false() helper, use and test it. 0a90339 Updated some comments. a44066f Make naming of output format options more consistent and document them. a59b60b Run serialization of PBF blobs in worker threads speeding up PBF writer. 18a739f Remove unused m_file attribute from OutputFormat class. 9b5d3b7 Various output option related cleanups. 36772a0 Consistent ordering of methods in *InputFormat classes. c04a51f Factor out common code in output formats. ebc53d4 Do not use "explicit" on constructors with more than one argument. e1dfcfc Make all destructors in io/detail noexcept. cfd7970 Use consistent handling of output options in all outputs. c4e71f0 Better implementation for output_formatted() and tests for it. 899a061 Extract common code from output formats. b226ae4 Factor out common code from *OutputBlock classes. fe4b287 Cleanup WriteThread class. af421df Consistent naming of queue typedefs. e8253c4 Add missing include. 9f71cd3 Refactor management of read thread into its own class. 4c96e16 Refactor Reader/InputFormat. fa02e6c Refactor input format code. d14ea27 Extract common code from PBF/XMLParser into new Parser class. fe7acd3 Better handling of failures when parsing header. 2e3b6cd Remove unnecessary include of <future>. 3bd18b8 Factor out common code in input format. 2915604 Only get promise and future once, even if header() is called multiple times. cfc980c Make output buffer for XML parser smaller. 4c1ffa7 Orderly shutdown in io::Reader. 8c7aa32 Remember whether the input queue was exhausted. 535bb6a Function call in new thread can be void. e0d5448 Factor out some helper function for queue cleanup. 5a4c6b5 Use std::thread directly for input instead of std::async. c1bdf4f Move common code from InputFormat child classed into base class. 89caa6e Report failures in input_format through the queue. 8f4d300 Rename (m_)queue to (m_)output_queue. 8fc1f5b Reorder XMLParser class making check_attributes() private. df381d7 Make sure we always send end-of-file from PBF parser. 1a178b0 Factor out construction of PBFDataBlobDecoder. cb34f76 Factor out read_from_input_queue_with_check() method. 21b51cc Factor out parse_data_blobs() method. dc957a8 Make some variables const. 1c2812c Make methods private that don't need to be public. 81e5625 Refactor out parse_header_blob() function. f9e5760 Fix test: New signature of XMLParser constructor. 43746d3 Add copy constructor to PBFParser. 8524780 Rename variables and other changes for clarity. 3e9627b Removed now superfluous parameters from InputFormat class. 7eac5cf Simplify input format class. 3ea2ace Set max queue size only in one place. 77ab086 Formatting. ceee837 Use std::async instead of "raw" std::thread for pbf input. 6cafb45 Move and rename PromiseKeeper class: Now in thread/util.hpp. 06eff29 Set thread name for xml parser thread. bd485cd Refactoring of threading code for input. fc03bf6 Make sure (de)compression classes clean up properly. 27af4ea Use special function to shut down pool workers instead of an atomic<bool>. 84297b3 Bugfix: auto and std::minmax() don't mix well. 597ecc4 Always use std::swap() in the idiomatic form. 10dd14f Remove threading test that fails when machine is too busy. 2072786 Use reserve() to spead up dumping indexes. 66a344b Declare some index functions noexcept, especially destructors. a0586da Use map::find() instead of awkward try-catch block. d38a7f1 Do not run make tasks in parallel. cd33daa Do not use clever YAML aliases, instead copy dependencies explicitely 4ad6e43 Integrate more compiler and os versions b2c519b Check return code of close() system call and throw. 369057b Update protozero to current 1.2.2. d1db14b Collect debug output options into struct. 54667dd More consistent debug output of way nodes, relation members and changeset comments. 67e1513 Add some paranoia checks to xml parser. 69de191 Refactoring in xml reader: New function check_attributes(). c67f3f3 Add support for changeset discussions (comments). 9c5531c Merge pull request #121 from DerDakon/cmake-find-no-components 44be1a7 Add helper functions to make input iterator ranges and output iterators. 76e2b91 Merge pull request #130 from alex85k/master 5a4fa6b remove assertion messageboxes in tests on Windows bac5a77 Updated change log. 7e7bba4 Updated included protozero library to 1.2.0. 1ae370d Merge pull request #122 from zerebubuth/pbf-decode-non-visible-node-locations 5897468 Merge branch 'master' of github.com:osmcode/libosmium 7f2de1b Bugfix: Delta iterator handling. 65d31e9 Try ; as cmake list separator. 3a9dbc2 Add PBF libraries, now that the test reads PBF too. Thanks @tomhughes for pointing this out. 9a22ea1 Add test case for reading deleted / non-visible nodes in history files. 36098a8 Decode lat/lon even for non-visible nodes. 8279fd1 kick off AppVeyor to test new binary deps package with gdal200 c8244f7 FindOsmium: prevent errors in list(REMOVE_DUPLICATES) when no components are requested a02806a Use https URL to travis. a1b7015 Fix some includes. 468e4d8 Remove pessimizing std::move. 427d2e0 Do iwyu check on header files in alphabetical order. be9a996 Release v2.4.1 95a3bc8 Fixed CRC calculation of tags and changesets. 4e157e3 Release v2.4.0 3da68f0 Fixed setting of binary mode on Windows. 81aa057 Use binary mode for memory mapped file on Windows. 986cb7e Set stdout to binary mode on windows before writing to files. 27d02eb Bugfix: Do not dereference end iterator. e96eeaf Updated change log. 64a55ce FindOsmium: let FPHSA handle all the additionally required things e152057 FindOsmium: pass the proper module name to FPHSA a4acce3 Remove restriction on master branch in appveyor config. 10c8265 FindOsmium: simplify the fallback code for sparsetable::size_type 190ed47 remove the correct include dir from OSMIUM_INCLUDE_DIRS aaa99c1 avoid that FindOsmium finds a random include dir 6406010 Add a magic define fixing a boost problem. 2fa6674 Remove superfluous file paths from cmake config. e081a51 Merge pull request #114 from DerDakon/do-not-cache-version 20e1a24 Use external gdalcpp wrapper for compatibility with GDAL 2. 3b7cc86 Fix initialization order in DeltaEncodeIterator. 0954b0f Fix possibly uninitialized variable. f081942 Take byte swap functions out of CRC class. e085aae Fix byte swap, add test cases for crc. e648b62 Merge pull request #116 from DerDakon/yml-simplify 7912897 properly put bzip2 library in the CMake cache e0ea72b use less variables when defining the test environment cf8ff6c do not cache the version string 38234cd Remove pragmas disabling warnings from gdal includes. 82d8c30 Include headers of external libraries as "system libraries". f721b86 Update protozero to version 1.1.0. a29ef82 Add some magic to enable folding on travis output. 18b2418 Removed toogr examples. They are in their own repository now. 89c8220 AppVeyor: 1st try with VS2015 93a1626 Added recent changes to change log. ce4b45e Bugfix: Program hanging when opening unknown file type. 06ad6ef Rename add_string() to store_in_stringtable() and use right return type. 869058d Add explicit conversion that always works. 0b28f2c Add missing check in TagListBuilder add_tag() overload. 51fa9c0 Check in builder that key/value of a tag is not too long. 9b1da20 Check that string table isn't overflowing. 2c732c6 Add some extra paranoia checks and type conversions to pbf writer. f92096a Fix integer size. a47ddb4 Force conversion to smaller int type, because we know it must fit. f150ff1 Rename variable that was hiding parameter name. ab92064 Use correct size_t as return type. 2f2bf68 Check that roles are no longer than max allowed string length. 4a7df68 Check strings for max length in PBF input. e4b8bb0 Explicit conversion to bool. d18352d Make conversion from double to integer explicit. git-subtree-dir: third_party/libosmium git-subtree-split: 0ff278001f6e0bc79040add736452bef3aa4ff06
2016-01-05 06:00:40 -05:00
2016-02-10 16:41:22 -05:00
## [2.6.0] - 2016-02-04
### Added
- The new handler osmium::handler::CheckOrder can be used to check that a
file is properly ordered.
- Add new method to build OSM nodes, ways, relations, changesets, and areas
in buffers that wraps the older Builder classes. The new code is much easier
to use and very flexible. There is no documentation yet, but the tests in
`test/t/builder/test_attr.cpp` can give you an idea how it works.
- Add util class to get memory usage of current process on Linux.
### Changed
- New Buffer memory management speeds up Buffer use, because it doesn't clear
the memory unnecessarily.
### Fixed
- osmium::Box::extend() function now ignores invalid locations.
- Install of external library headers.
- Check way has at least one node before calling `is_closed()` in area
assembler.
- Declaration/definition of some friend functions was in the wrong namespace.
Squashed 'third_party/libosmium/' changes from c43f8db..0ff2780 0ff2780 Release v2.5.4 3f1583a Remove workaround for MSVC missing constexpr support. 2a6c80b Rewrite expressions to avoid warnings on MSVC. 9b0602a Make two functions non-constexpr that can't be. ca1e501 Make NodeRef constructor, accessors and comparison ops constexpr. fb48312 Disable some problematic clang_tidy checks. d2d2812 Only do clang_tidy checks on files that are configured to be built. 5af55bb Always use braces after while() and if(). aebb6e3 No else after return. 65a3bf6 Better clang-tidy config. 3a965fa Add typedef Buffer::value_type needed when using std::back_inserter. c20ac26 Add lots of explicits to constructors. 1d12e09 Add clang-tidy make target. 052b1ee Add benchmark programs to files checked with cppcheck. 9ccbb49 Use only "final", not "override final". 0b9df1f User 'override' instead of 'virtual' in overridden functions. 1d0c1c6 Remove unnecessary get() call. 705391b Use consistent namespace closing comment. 25c1f38 Only use "final" on overridden methods, not "override". 8da2553 Setting CMAKE_EXPORT_COMPILE_COMMANDS works only after project() command. 5fec437 Use newest protozero library (v1.2.3). a3d759b Overloaded version of add_tag() with std::pair of strings. 1b4bcf9 Add function to add tag to tag list from existing tag. 7087e62 Update gdalcpp.hpp header to v1.1.1. 0008e8c Update change log. 39fe3a5 Add conversion and comparison operators to Timestamp. e6643a7 Update gdalcpp. 650280f Bugfix: Improved segment intersection function. 1b20597 Make operator bool explicit for (Typed)MemoryMapping. b580b25 Merge pull request #136 from tomhughes/ruby a7c6737 The multipolygon test only needs the ruby interpreter 4a0a9e7 Make conversion from Buffer to bool noexcept. 7cdabbe Set thread name in o5m input format. 6a17a8d Break out computation of thread pool size into function and test it. 1950853 Allow initializing a Timestamp from any integral type. 4103198 Fix link in change log. dc2ed89 Release v2.5.3 a2816b7 Fix end_of_time() Timestamp, add constructor taking std::string&. 3f5eb8e Updated changelog. 9b75c14 Cleanup and better docs for DiffObject and related classes. d0beead Better documentation for NodeRef and NodeRefList classes. 0192292 Cleanup/doc/test osmium::util::Options. b3db055 Use header with forward declarations. 8b3fe16 Improved documentation. cd2ce38 Remove unused typedef Buffer::value_type. 87c9b32 Cleanup and test Buffer::add_buffer() function. e519278 Improved documentation for osmium::memory::Buffer. d721d43 Deprecate set_full_callback(). Better doc for deprecated functions. 58b5fd1 Remove DataFile class which was never used anywhere. 30b806e Simplify some tests. 62958df Update change log. a8a2e68 Merge pull request #134 from zerebubuth/buffer-size-checks 987faab Move some code belonging into there into relations::Collector. da31175 When the buffer isn't big enough, even when empty, to reserve the space that's being requested then it shouldn't reserve it anyway. 5d2f949 Swap the growth flag and any "full" callback as well as all the other members when swapping this buffer object. 1845aa9 The assertions prior to dereference are more strict than the conversion to bool. However, conversion to bool is often used as a predicate for whether dereference is okay, so the behaviour is easier to understand if they match. abdfee1 Remove unused m_want_types in relations collector. 95b387f "Officially" mark two constructors as deprecated. 1d0da5f Release v2.5.2 31c3eaf Copy iterator around less often. 83c93d0 Do not check the write_future for exceptions on every item. 1c805ea Add counting of push() calls on queue in debug mode. aa869c0 Release v2.5.1 212578b Fix documentation of Writer constructor. 0445dd8 Add new header file with forward declarations of commonly used classes. 4b6baac Optionally include external library headers. 712a6d1 Update change log. fc78d04 Update style rules. b590fe3 Unify use of 'typename' in templates. Unify spacing of ellipsis operator. 8c450ac Move osmium/io/overwrite.hpp to writer_options.hpp. 08eed02 Move DEPRECATED macro into compatibility.hpp. b72eb8d Release v2.5.0 5aeba6b Better formatting for invalid timestamps on debug output. 6772413 Add valid() function on Timestamp. 7549b05 Update change log. 84119b0 Add option to fsync files after they are written. db1bd92 Make optional parameters on Writer work in any order. 3482e3e Remove boilerplate. Add explicits to constructors. cf389c6 Rename the wrap() function to the better ensure_cleanup(). 678049e Use reference instead of pointer for decompressor. 7189d28 More consistent use and naming of Function templates. 3d66deb Use const& for parameter that's not changed. 88d65fb Fix warning with a cast. 03e8c9f Fix some misc issues found by cppcheck. 4848676 Options to cppcheck to check everything (--force) and ignore assert. 5f89a8c Add lots of assert() calls to Buffer implementation. c990b43 Use a wrapper function in Writer for error handling. 04d9e3e Refactor of writer to work properly in all error cases. 6daf2d3 Throw when reading from Reader after eof or error. Use io_error everywhere. 713a189 Rename OutputFormat::close() to write_end(). 7905add Refactor Reader/Writer code. c050a05 Make thread_handler class movable. 8e661a2 Make DeltaEncode/Decode more generic and fix signedness issues. da712a9 Fixed a few signedness issues. dc04e67 Avoid possible narrowing conversion. abd44af Make a variable static that should be. 7039fa6 Avoid global variable. 9e9fc0f Add a noreturn attribute. a681a2c Do not pass Timestamp class through forwarding. d37b717 Clean up status handling in Reader and Writer. 3b1f0d8 Add at_end_of_data() helper function to get self-documenting code. bf3cc8c Add add_end_of_data_to_queue() helper function. 94bdd09 Fix test. 531db80 Use valid() on future instead of an extra bool. 7f328b3 Make RVO work for pop() function. c1d726d Add some static_cast_with_assert paranoia checks. 5a064f7 Make sure DeltaDecode/DeltaEncode classes work for all integer types. c69a701 Fix some integer types. 2b2cfc9 Remove extra semicolons at end of function definitions. 2b74aa6 Use workaround for GCC unused variable warning for index::map, too. f7fb94d Different way of supression unused-variable warning. c0813e6 Better handling of threads. 963ff8e Move internal buffer from OutputIterator into Writer. 698d027 Update change log. 24270dd Remove unused variables. 64d6363 Remove unnecessarily fully-qualified name. 5ccacc7 Add support for reading o5m and o5c files. b603904 Fix up includes. 6013a27 Remove pessimizing move. a19e4cf Use queue_wrapper in Reader, too. 74a5174 Refactor thread creation for WriteThread. c480b33 Fix test code. e135597 Do not use promise in two threads at once. 6fa16ca Refactor input format code. 53fc576 More robust implementation of writer/writer_thread. 1285316 Put some queue handling into new wrapper class. a1e6e6f Rename osmium/io/detail/util.hpp to queue_util.hpp. f42d6fc New add_to_queue() helper functions. 3db9b49 Simplify read thread handling. a903561 Move any exception in read thread through queue. ee977cb Add more tests for reader code. 99aaa45 Factor out input handling in classes derived from Parser. 7afa03c Wrap access to m_read_types in InputFormat. f6c5971 Wrap sending to output queue in InputFormat. 26f4170 Consolidate header handling in InputFormat. a0aa3ed Remove unnecessary inline declaration. 894e84a Declare a bunch of destructors noexcept and use consistent comments. 6c49b43 Add hack to append_printf_formatted_string() so it works on Windows. 20c3f20 Remove a move that prevented copy elision. 8192a4c Pull low-level string formatting out of debug output and test it. 190aa46 Move low-level string formatting/encoding functions into own header. 3e35441 Add Option::is_not_false() helper, use and test it. 0a90339 Updated some comments. a44066f Make naming of output format options more consistent and document them. a59b60b Run serialization of PBF blobs in worker threads speeding up PBF writer. 18a739f Remove unused m_file attribute from OutputFormat class. 9b5d3b7 Various output option related cleanups. 36772a0 Consistent ordering of methods in *InputFormat classes. c04a51f Factor out common code in output formats. ebc53d4 Do not use "explicit" on constructors with more than one argument. e1dfcfc Make all destructors in io/detail noexcept. cfd7970 Use consistent handling of output options in all outputs. c4e71f0 Better implementation for output_formatted() and tests for it. 899a061 Extract common code from output formats. b226ae4 Factor out common code from *OutputBlock classes. fe4b287 Cleanup WriteThread class. af421df Consistent naming of queue typedefs. e8253c4 Add missing include. 9f71cd3 Refactor management of read thread into its own class. 4c96e16 Refactor Reader/InputFormat. fa02e6c Refactor input format code. d14ea27 Extract common code from PBF/XMLParser into new Parser class. fe7acd3 Better handling of failures when parsing header. 2e3b6cd Remove unnecessary include of <future>. 3bd18b8 Factor out common code in input format. 2915604 Only get promise and future once, even if header() is called multiple times. cfc980c Make output buffer for XML parser smaller. 4c1ffa7 Orderly shutdown in io::Reader. 8c7aa32 Remember whether the input queue was exhausted. 535bb6a Function call in new thread can be void. e0d5448 Factor out some helper function for queue cleanup. 5a4c6b5 Use std::thread directly for input instead of std::async. c1bdf4f Move common code from InputFormat child classed into base class. 89caa6e Report failures in input_format through the queue. 8f4d300 Rename (m_)queue to (m_)output_queue. 8fc1f5b Reorder XMLParser class making check_attributes() private. df381d7 Make sure we always send end-of-file from PBF parser. 1a178b0 Factor out construction of PBFDataBlobDecoder. cb34f76 Factor out read_from_input_queue_with_check() method. 21b51cc Factor out parse_data_blobs() method. dc957a8 Make some variables const. 1c2812c Make methods private that don't need to be public. 81e5625 Refactor out parse_header_blob() function. f9e5760 Fix test: New signature of XMLParser constructor. 43746d3 Add copy constructor to PBFParser. 8524780 Rename variables and other changes for clarity. 3e9627b Removed now superfluous parameters from InputFormat class. 7eac5cf Simplify input format class. 3ea2ace Set max queue size only in one place. 77ab086 Formatting. ceee837 Use std::async instead of "raw" std::thread for pbf input. 6cafb45 Move and rename PromiseKeeper class: Now in thread/util.hpp. 06eff29 Set thread name for xml parser thread. bd485cd Refactoring of threading code for input. fc03bf6 Make sure (de)compression classes clean up properly. 27af4ea Use special function to shut down pool workers instead of an atomic<bool>. 84297b3 Bugfix: auto and std::minmax() don't mix well. 597ecc4 Always use std::swap() in the idiomatic form. 10dd14f Remove threading test that fails when machine is too busy. 2072786 Use reserve() to spead up dumping indexes. 66a344b Declare some index functions noexcept, especially destructors. a0586da Use map::find() instead of awkward try-catch block. d38a7f1 Do not run make tasks in parallel. cd33daa Do not use clever YAML aliases, instead copy dependencies explicitely 4ad6e43 Integrate more compiler and os versions b2c519b Check return code of close() system call and throw. 369057b Update protozero to current 1.2.2. d1db14b Collect debug output options into struct. 54667dd More consistent debug output of way nodes, relation members and changeset comments. 67e1513 Add some paranoia checks to xml parser. 69de191 Refactoring in xml reader: New function check_attributes(). c67f3f3 Add support for changeset discussions (comments). 9c5531c Merge pull request #121 from DerDakon/cmake-find-no-components 44be1a7 Add helper functions to make input iterator ranges and output iterators. 76e2b91 Merge pull request #130 from alex85k/master 5a4fa6b remove assertion messageboxes in tests on Windows bac5a77 Updated change log. 7e7bba4 Updated included protozero library to 1.2.0. 1ae370d Merge pull request #122 from zerebubuth/pbf-decode-non-visible-node-locations 5897468 Merge branch 'master' of github.com:osmcode/libosmium 7f2de1b Bugfix: Delta iterator handling. 65d31e9 Try ; as cmake list separator. 3a9dbc2 Add PBF libraries, now that the test reads PBF too. Thanks @tomhughes for pointing this out. 9a22ea1 Add test case for reading deleted / non-visible nodes in history files. 36098a8 Decode lat/lon even for non-visible nodes. 8279fd1 kick off AppVeyor to test new binary deps package with gdal200 c8244f7 FindOsmium: prevent errors in list(REMOVE_DUPLICATES) when no components are requested a02806a Use https URL to travis. a1b7015 Fix some includes. 468e4d8 Remove pessimizing std::move. 427d2e0 Do iwyu check on header files in alphabetical order. be9a996 Release v2.4.1 95a3bc8 Fixed CRC calculation of tags and changesets. 4e157e3 Release v2.4.0 3da68f0 Fixed setting of binary mode on Windows. 81aa057 Use binary mode for memory mapped file on Windows. 986cb7e Set stdout to binary mode on windows before writing to files. 27d02eb Bugfix: Do not dereference end iterator. e96eeaf Updated change log. 64a55ce FindOsmium: let FPHSA handle all the additionally required things e152057 FindOsmium: pass the proper module name to FPHSA a4acce3 Remove restriction on master branch in appveyor config. 10c8265 FindOsmium: simplify the fallback code for sparsetable::size_type 190ed47 remove the correct include dir from OSMIUM_INCLUDE_DIRS aaa99c1 avoid that FindOsmium finds a random include dir 6406010 Add a magic define fixing a boost problem. 2fa6674 Remove superfluous file paths from cmake config. e081a51 Merge pull request #114 from DerDakon/do-not-cache-version 20e1a24 Use external gdalcpp wrapper for compatibility with GDAL 2. 3b7cc86 Fix initialization order in DeltaEncodeIterator. 0954b0f Fix possibly uninitialized variable. f081942 Take byte swap functions out of CRC class. e085aae Fix byte swap, add test cases for crc. e648b62 Merge pull request #116 from DerDakon/yml-simplify 7912897 properly put bzip2 library in the CMake cache e0ea72b use less variables when defining the test environment cf8ff6c do not cache the version string 38234cd Remove pragmas disabling warnings from gdal includes. 82d8c30 Include headers of external libraries as "system libraries". f721b86 Update protozero to version 1.1.0. a29ef82 Add some magic to enable folding on travis output. 18b2418 Removed toogr examples. They are in their own repository now. 89c8220 AppVeyor: 1st try with VS2015 93a1626 Added recent changes to change log. ce4b45e Bugfix: Program hanging when opening unknown file type. 06ad6ef Rename add_string() to store_in_stringtable() and use right return type. 869058d Add explicit conversion that always works. 0b28f2c Add missing check in TagListBuilder add_tag() overload. 51fa9c0 Check in builder that key/value of a tag is not too long. 9b1da20 Check that string table isn't overflowing. 2c732c6 Add some extra paranoia checks and type conversions to pbf writer. f92096a Fix integer size. a47ddb4 Force conversion to smaller int type, because we know it must fit. f150ff1 Rename variable that was hiding parameter name. ab92064 Use correct size_t as return type. 2f2bf68 Check that roles are no longer than max allowed string length. 4a7df68 Check strings for max length in PBF input. e4b8bb0 Explicit conversion to bool. d18352d Make conversion from double to integer explicit. git-subtree-dir: third_party/libosmium git-subtree-split: 0ff278001f6e0bc79040add736452bef3aa4ff06
2016-01-05 06:00:40 -05:00
## [2.5.4] - 2015-12-03
### Changed
- Included gdalcpp.hpp header was updated to version 1.1.1.
- Included protozero library was updated to version 1.2.3.
- Workarounds for missing constexpr support in Visual Studio removed. All
constexpr features we need are supported now.
- Some code cleanup after running clang-tidy on the code.
- Re-added `Buffer::value_type` typedef. Turns out it is needed when using
`std::back_inserter` on the Buffer.
### Fixed
- Bugs with Timestamp code on 32 bit platforms. This necessitated
some changes in Timestamp which might lead to changes in user
code.
- Bug in segment intersection code (which appeared on i686 platform).
## [2.5.3] - 2015-11-17
### Added
- `osmium::make_diff_iterator()` helper function.
### Changed
- Deprecated `osmium::Buffer::set_full_callback()`.
- Removed DataFile class which was never used anywhere.
- Removed unused and obscure `Buffer::value_type` typedef.
### Fixed
- Possible overrun in Buffer when using the full-callback.
- Incorrect swapping of Buffer.
## [2.5.2] - 2015-11-06
# Fixed
- Writing data through an OutputIterator was extremly slow due to
lock contention.
## [2.5.1] - 2015-11-05
### Added
- Header `osmium/fwd.hpp` with forward declarations of the most commonly
used Osmium classes.
### Changed
- Moved `osmium/io/overwrite.hpp` to `osmium/io/writer_options.hpp`
If you still include the old file, you'll get a warning.
## [2.5.0] - 2015-11-04
### Added
- Helper functions to make input iterator ranges and output iterators.
- Add support for reading o5m and o5c files.
- Option for osmium::io::Writer to fsync file after writing.
- Lots of internal asserts() and other robustness checks.
### Changed
- Updated included protozero library to version 1.2.0.
- Complete overhaul of the I/O system making it much more robust against
wrong data and failures during I/O operations.
- Speed up PBF writing by running parts of it in parallel.
- OutputIterator doesn't hold an internal buffer any more, but it uses
one in Writer. Calling flush() on the OutputIterator isn't needed any
more.
- Reader now throws when trying to read after eof or an error.
- I/O functions that used to throw std::runtime_error now throw
osmium::io_error or derived.
- Optional parameters on osmium::io::Writer now work in any order.
### Fixed
- PBF reader now decodes locations of invisible nodes properly.
- Invalid Delta encode iterator dereference.
- Lots of includes fixed to include (only) what's used.
- Dangling reference in area assembly code.
## [2.4.1] - 2015-08-29
### Fixed
- CRC calculation of tags and changesets.
## [2.4.0] - 2015-08-29
### Added
- Checks that user names, member roles and tag keys and values are not longer
than 256 * 4 bytes. That is the maximum length 256 Unicode characters
can have in UTF-8 encoding.
- Support for GDAL 2. GDAL 1 still works.
### Changed
- Improved CMake build scripts.
- Updated internal version of Protozero to 1.1.0.
- Removed `toogr*` examples. They are in their own repository now.
See https://github.com/osmcode/osm-gis-export.
- Files about to be memory-mapped (for instance index files) are now set
to binary mode on Windows so the application doesn't have to do this.
### Fixed
- Hanging program when trying to open file with an unknown file format.
- Building problems with old boost versions.
- Initialization errors in PBF writer.
- Bug in byte swap code.
- Output on Windows now always uses binary mode, even when writing to
stdout, so OSM xml and opl files always use LF line endings.
Squashed 'third_party/libosmium/' changes from 8bcd4ea..c43f8db c43f8db Release v2.3.0 44c135f Update README to show dependencies used internally. ece54cd Add external licenses. 908cd5f Updated change log. 96dbf0e Change %-escape in OPL format. 98f6e27 Change write benchmark to interleave reading and writing. 39620ce Make writing of metadata configurable for XML and OPL output. e5a4e5e Add debug output format. 597390f Remove superfluous include and pragmas. ecc57b0 Update pbf reader/writer to use new protozero functions. 5d1e8d2 Update protozero from upstream. ef8746b Fix build on Windows. ddba46f Remove superfluous include. 098c57f Add some paranoia checks to pbf reader. 0f804c2 Try building with newer boost library on travis. 6f79d63 Use explicit return types on lambdas. 355f3b1 New PBF reader and writer based on protozero. 71d719b Add pbf writing benchmark. f014b4c Fix iwyu.sh script: Works now if build directory doesn't exist. a0ace49 Use utf8cpp header-only lib instead of boost for utf8 decoding. 796f18e Bugfix: Reading large XML files could block. 5a2bcbe Replace strcmp by std::string comparison in test. bc49e2c Bugfix: XML writer was not writing whitespace correctly. 61222f8 Fix 64bit byte swap. e56f090 Fix new CRC code on OSX and Windows. 70229aa Add low-level building blocks that allow calculating CRC of OSM data. 0968a66 Remove assert checking for unset version. 62e0261 Refactor test case. 4bfc7fc Allow instantiating osmium::geom::GEOSFactory with existing GEOS factory. e70af0c Remove calls to protobuf cleanup function im benchmarks and examples. 718518d Bugfix in OPL output. Relation member roles were not encoded. 759d5cb Rename parameter that had the same name as a type. 7054cab Provide (Typed)MemoryMapping constructors for backwards compatibility. d09f5d1 Fix typo. b4e578f Make memory mapping utility class more flexible. 633fa8e Travis build without sudo. 7ff23f1 Improved code setting file format from suffix/format argument. 90ef3b9 Remove some tests that didn't test much and failed on FreeBSD. af86273 Add some pragmas to disable warnings for GCC. efac7fd Fix some include problems found by IWYU. 79d2f4c Changed add_user() and add_role() in builders. Add add_member(). 9375d00 Add function to set tags from ptr + length. Improve TagBuilder tests. bafca20 Test helper: Use more const and have sub-builders in their own scope. f73c993 Simplify code. fee1710 Disable warning only when compiling with GCC. 74402f3 Merge pull request #98 from dforsi/master 2c4b449 Update to new upstream catch.hpp version. 1318732 Release v2.2.0 1873998 Add missing test. 2e5ea1d Do not add timestamp to html doc pages. 1b2ea89 Remove debug output. 0be9599 Improved parsing of ids, versions, uids, etc. from strings. 4308d80 Add second version of split_string utility function. f18c9e5 Move part of pbf.hpp into new pbf_type_conv.hpp. d201152 Use new DeltaEncode class in pbf writer. e205610 Add DeltaEncode/DeltaDecode utility classes. 32905d6 Bugfix: Actually throw the exception we are creating... d3e86d8 Add functions to convert item_type to zero-based index. daddf07 Bugfix: Programs writing OSM files can stall up to a second after writing. 00b0247 Add function to set the id of a relation member. f85316a Fix error message. 19bc6cc Fix name of travis install script. 719cd33 spatialite-bin package now available on travis cb03821 Shorten long test string (MSVC doesn't like it). c3440a6 Add BoolVector index class. da08073 Add min_op/max_op utility functions. 411d112 AppVeyor.yml: new links for binary deps 7d9095f add test for badly formatted timestamps a073f73 Add helper methods to DiffObject. 3b9819a Add GeoJSON factory using the RapidJSON library. 107bca5 Use a reference instead of a copy. a6943a4 Mark a few variables that are not changing as const. 51b7e53 Improved error message for geometry exceptions. 5c37a13 Some minor spelling fixes 8ae5723 Bugfix: Dense location store was written out only partially. 5994322 Add support for tiles. 2168bac Add has_map_type() method to map factory. a9634bd Add more tests for mercator projection. 3c13e4d Add functionality to create simple polygons from ways in geom factories. e8c5bb1 Use uint64_t as counter, so there can be no overflows. 07fc9b9 libsparsehash-dev now in travis package whitelist 820e112 Add coverage support to CMake config. 5e9f943 Bugfix: Use the right include to really allow any input file type. d4b48eb CMake: Make version string a cached variable. e6baccb Add (c)begin/end functions to TypedMemoryMapping. Removed get_addr(). 3e32710 Use size() from MemoryMapping in TypedMemoryMapping. 96390db Improve MemoryMapping class documentation. 60a6217 Do not round memory mapped files to page size boundaries. 4907cbe Bugfix: function name. cac01d8 Use _filelengthi64 on Windows instead of fstat(2). 6a25bdf Windows: Put invalid parameter handler into wrapper class. Re-enable test. 110df9b Add invalid parameter handler on Windows to test. 549ed5f Disable some tests (to find which one fails on appveyor). a5b8873 Use resize_file() in memory mapping test instead of ftruncate directly. 40e41d3 Use _chsize_s() instead of _chsize() on Windows. 048397e Refactoring: Use low-level util functions in DataFile. 6a033f9 Remove now unused Windows implementation of mmap. 3eccdbb Move dword_hi/lo functions into osmium::util namespace. be7351b Remove unused code. b859b18 Make dword_hi/lo functions inline. 2e3bc37 Simplify mmap_vector_base/anon/file. f819cf3 Always map full pages. Make sure files behind mapping are large enough. d0c84b6 Add some low-level helper functions for file system access. 62e8d91 Make DataFile constructor explicit. fba684c Fix memory mapping test for windows. 78a7fd5 Add constructor to DataFile to create tmp file with given size. f911893 Bugfix: typo. 1cf2739 Add AnonymousMemoryMapping class. 56eac30 Implement MemoryMapping::resize() function. 1a73262 Bugfix: Counter variables were too small. 1ade32c Fix include position. b03aec3 Fixed some bugs in new DataFile class/tests. f109534 Add DataFile utility class. 9ed3c43 Fix/cleanup some code. 4f326c9 Fix bug: Copy-and-paste error. 78a5b2f Use reinterpret_cast instead of static_cast to get HANDLE on Windows. 7baa318 Fix typo. e669069 Make huge value even huger to see if code reliable fails then. 66137ad Improved documentation of MemoryMapping and TypedMemoryMapping classes. 3121393 Add TypedMemoryMapping class. f45335e Default for get_addr() template type. 685bbaf Remove unused code from tests. ce65bd4 Fix some issue with new MemoryMapping class. e7b8e15 Added MemoryMapping wrapper class for mmap() and Windows equivalent. 6b1effe typo fixed 33d479d Refactored travis build. 4348522 Fix xml data test. 769b1e8 Bugfix: Better check for invalid locations. bba7e68 Appveyor: Disable test failing because of missing dependency. 3d40dc7 Link with /debug on MSVC, add note about LNK4099 warnings. 5ef051f Appveyor: Disable header builds, add benchmarks. ce7485e Reformat Appveyor config. c60e505 use shallow clones for faster git fetch 3b18bca Travis cleanups. b8dfac0 Cleanup travis build. 5f19838 Trying to fix travis gcc build... d4255a4 Remove -Wno-return-type from recommended options. 5f1a41b Add dump_as_array() function to maps. ff22f76 Add constructors and begin()/end() functions to VectorBasedSparseMultimap. c7e05dd Bugfix: Make REGISTER_MAP() macro work when called several time with same name parameter. abdc317 Bugfix: Mark cbegin() and cend() of mmap_vector_base as const functions. d81d439 Add close() function to mmap_vector_base class. d74cff2 Add function on Buffer to get iterator to specific offset. git-subtree-dir: third_party/libosmium git-subtree-split: c43f8db50d93912a8bec5cd9fea733f7fec05549
2015-08-28 06:42:03 -04:00
## [2.3.0] - 2015-08-18
### Added
- Allow instantiating osmium::geom::GEOSFactory with existing GEOS factory.
- Low-level functions to support generating a architecture- and endian-
independant CRC from OSM data. This is intended to be uses with boost::crc.
- Add new debug output format. This format is not intended to be read
automatically, but for human consumption. It formats the data nicely.
- Make writing of metadata configurable for XML and OPL output (use
`add_metadata=false` as file option).
### Changed
- Changed `add_user()` and `add_role()` in builders to use string length
without the 0-termination.
- Improved code setting file format from suffix/format argument.
- Memory mapping utility class now supports readonly, private writable or
shared writable operation.
- Allow empty version (0) in PBF files.
- Use utf8cpp header-only lib instead of boost for utf8 decoding. The library
is included in the libosmium distribution.
- New PBF reader and writer based on the protozero. A complete rewrite of the
code for reading and writing OSM PBF files. It doesn't use the Google
protobuf library and it doesn't use the OSMPBF/OSM-Binary library any more.
Instead is uses the protozero lightweight protobuf header library which is
included in the code. Not only does the new code have less dependencies, it
is faster and more robust. https://github.com/mapbox/protozero
### Fixed
- Various smaller bug fixes.
- Add encoding for relation member roles in OPL format.
- Change character encoding to new format in OPL: variable length hex code
between % characters instead of a % followed by 4-digit hex code. This is
necessary because unicode characters can be longer than the 4-digit hex
code.
- XML writer: The linefeed, carriage return, and tab characters are now
escaped properly.
- Reading large XML files could block.
## [2.2.0] - 2015-07-04
### Added
- Conversion functions for some low-level types.
- BoolVector index class.
- `min_op`/`max_op` utility functions.
- More tests here and there.
- Helper methods `is_between()` and `is_visible_at()` to DiffObject.
- GeoJSON factory using the RapidJSON library.
- Support for tile calculations.
- Create simple polygons from ways in geom factories.
- `MemoryMapping` and `TypedMemoryMapping` helper classes.
- `close()` function to `mmap_vector_base` class.
- Function on `Buffer` class to get iterator to specific offset.
- Explicit cast operator from `osmium::Timestamp` to `uint32_t`.
### Changed
- Throw exception on illegal values in functions parsing strings to get ids,
versions, etc.
- Improved error message for geometry exceptions.
### Fixed
- Throw exception from `dump_as_array()` and `dump_as_list()` functions if not
implemented in an index.
- After writing OSM files, program could stall up to a second.
- Dense location store was written out only partially.
- Use `uint64_t` as counter in benchmarks, so there can be no overflows.
- Example programs now read packed XML files, too.
- Refactoring of memory mapping code. Removes leak on Windows.
- Better check for invalid locations.
- Mark `cbegin()` and `cend()` of `mmap_vector_base` as const functions.
Squashed 'third_party/libosmium/' changes from f074d94..8bcd4ea 8bcd4ea Add explicit cast operator from osmium::Timestamp to uint32_t. 0b24814 Fixed the full_queue_sleep_duration const (again). 5e19dd2 Try different workaround for windows... df5d6c9 Fix build error on Windows. 1553adf Workaround for missing support for u8 string literals on Windows. aa5e44a Do not build benchmarks in Appveyor to speed up build. 2b22b31 Remove warning generated by assert by casting to largest type. 148c5e3 Fix inclusion of our own css file into doxygen documentation. 13bce6f Split out test thats fails on Windows and do not run it on appveyor. ca04757 Make CMake add_unit_test() function more flexible. 6c04a63 Tell CMake to output json file with compile commands. c0dd848 Fix indentation in some tests. dfa7e4b Formatting: Consistently use spaces around equal signs. 08fe6db Add change log, release version 2.1.0. 667192e Add XML tests. 28acfc7 Make sorting the PBF stringtables optional. 8184781 Fix PBFInputFormat. Use member variable instead of static variable. 2b48945 Fix comment. 6d37054 Rename m_done to m_quit_input_thread to clarify what it is for. bc23083 Fix race condition in PBF reader. 7fc380e Add various docs, noexcepts, asserts, and tests. aeaf4d7 Not a good idea to how overbroad patterns in .gitignore. c1ef2f9 Bugfix: Multipolygon collector was accessing non-existent NodeRef. 0ef9a13 Add noexcept and docs to some functions in NodeRefList class. da4d764 Workaround for Doxygen bug. e67d5d9 use absolute paths to osmium in YouCompleteMe configuration 38abeac remove template parameter from NodeRefList c47adf0 Add check that osm xml file has <osm> or <osmChange> as top-level element. 5e4af90 Updated version number to 2.0.0. 5b2bc3e Workaround in cmake test for sparsehash size. git-subtree-dir: third_party/libosmium git-subtree-split: 8bcd4ea771696812bbb08ebc58e3ee22d0538070
2015-04-13 09:44:38 -04:00
## [2.1.0] - 2015-03-31
### Added
- When writing PBF files, sorting the PBF stringtables is now optional.
- More tests and documentation.
### Changed
- Some functions are now declared `noexcept`.
- XML parser fails now if the top-level element is not `osm` or `osmChange`.
### Fixed
- Race condition in PBF reader.
- Multipolygon collector was accessing non-existent NodeRef.
- Doxygen documentation wan't showing all classes/functions due to a bug in
Doxygen (up to version 1.8.8). This version contains a workaround to fix
this.
2016-02-10 16:41:22 -05:00
[unreleased]: https://github.com/osmcode/libosmium/compare/v2.6.0...HEAD
[2.6.0]: https://github.com/osmcode/libosmium/compare/v2.5.4...v2.6.0
Squashed 'third_party/libosmium/' changes from c43f8db..0ff2780 0ff2780 Release v2.5.4 3f1583a Remove workaround for MSVC missing constexpr support. 2a6c80b Rewrite expressions to avoid warnings on MSVC. 9b0602a Make two functions non-constexpr that can't be. ca1e501 Make NodeRef constructor, accessors and comparison ops constexpr. fb48312 Disable some problematic clang_tidy checks. d2d2812 Only do clang_tidy checks on files that are configured to be built. 5af55bb Always use braces after while() and if(). aebb6e3 No else after return. 65a3bf6 Better clang-tidy config. 3a965fa Add typedef Buffer::value_type needed when using std::back_inserter. c20ac26 Add lots of explicits to constructors. 1d12e09 Add clang-tidy make target. 052b1ee Add benchmark programs to files checked with cppcheck. 9ccbb49 Use only "final", not "override final". 0b9df1f User 'override' instead of 'virtual' in overridden functions. 1d0c1c6 Remove unnecessary get() call. 705391b Use consistent namespace closing comment. 25c1f38 Only use "final" on overridden methods, not "override". 8da2553 Setting CMAKE_EXPORT_COMPILE_COMMANDS works only after project() command. 5fec437 Use newest protozero library (v1.2.3). a3d759b Overloaded version of add_tag() with std::pair of strings. 1b4bcf9 Add function to add tag to tag list from existing tag. 7087e62 Update gdalcpp.hpp header to v1.1.1. 0008e8c Update change log. 39fe3a5 Add conversion and comparison operators to Timestamp. e6643a7 Update gdalcpp. 650280f Bugfix: Improved segment intersection function. 1b20597 Make operator bool explicit for (Typed)MemoryMapping. b580b25 Merge pull request #136 from tomhughes/ruby a7c6737 The multipolygon test only needs the ruby interpreter 4a0a9e7 Make conversion from Buffer to bool noexcept. 7cdabbe Set thread name in o5m input format. 6a17a8d Break out computation of thread pool size into function and test it. 1950853 Allow initializing a Timestamp from any integral type. 4103198 Fix link in change log. dc2ed89 Release v2.5.3 a2816b7 Fix end_of_time() Timestamp, add constructor taking std::string&. 3f5eb8e Updated changelog. 9b75c14 Cleanup and better docs for DiffObject and related classes. d0beead Better documentation for NodeRef and NodeRefList classes. 0192292 Cleanup/doc/test osmium::util::Options. b3db055 Use header with forward declarations. 8b3fe16 Improved documentation. cd2ce38 Remove unused typedef Buffer::value_type. 87c9b32 Cleanup and test Buffer::add_buffer() function. e519278 Improved documentation for osmium::memory::Buffer. d721d43 Deprecate set_full_callback(). Better doc for deprecated functions. 58b5fd1 Remove DataFile class which was never used anywhere. 30b806e Simplify some tests. 62958df Update change log. a8a2e68 Merge pull request #134 from zerebubuth/buffer-size-checks 987faab Move some code belonging into there into relations::Collector. da31175 When the buffer isn't big enough, even when empty, to reserve the space that's being requested then it shouldn't reserve it anyway. 5d2f949 Swap the growth flag and any "full" callback as well as all the other members when swapping this buffer object. 1845aa9 The assertions prior to dereference are more strict than the conversion to bool. However, conversion to bool is often used as a predicate for whether dereference is okay, so the behaviour is easier to understand if they match. abdfee1 Remove unused m_want_types in relations collector. 95b387f "Officially" mark two constructors as deprecated. 1d0da5f Release v2.5.2 31c3eaf Copy iterator around less often. 83c93d0 Do not check the write_future for exceptions on every item. 1c805ea Add counting of push() calls on queue in debug mode. aa869c0 Release v2.5.1 212578b Fix documentation of Writer constructor. 0445dd8 Add new header file with forward declarations of commonly used classes. 4b6baac Optionally include external library headers. 712a6d1 Update change log. fc78d04 Update style rules. b590fe3 Unify use of 'typename' in templates. Unify spacing of ellipsis operator. 8c450ac Move osmium/io/overwrite.hpp to writer_options.hpp. 08eed02 Move DEPRECATED macro into compatibility.hpp. b72eb8d Release v2.5.0 5aeba6b Better formatting for invalid timestamps on debug output. 6772413 Add valid() function on Timestamp. 7549b05 Update change log. 84119b0 Add option to fsync files after they are written. db1bd92 Make optional parameters on Writer work in any order. 3482e3e Remove boilerplate. Add explicits to constructors. cf389c6 Rename the wrap() function to the better ensure_cleanup(). 678049e Use reference instead of pointer for decompressor. 7189d28 More consistent use and naming of Function templates. 3d66deb Use const& for parameter that's not changed. 88d65fb Fix warning with a cast. 03e8c9f Fix some misc issues found by cppcheck. 4848676 Options to cppcheck to check everything (--force) and ignore assert. 5f89a8c Add lots of assert() calls to Buffer implementation. c990b43 Use a wrapper function in Writer for error handling. 04d9e3e Refactor of writer to work properly in all error cases. 6daf2d3 Throw when reading from Reader after eof or error. Use io_error everywhere. 713a189 Rename OutputFormat::close() to write_end(). 7905add Refactor Reader/Writer code. c050a05 Make thread_handler class movable. 8e661a2 Make DeltaEncode/Decode more generic and fix signedness issues. da712a9 Fixed a few signedness issues. dc04e67 Avoid possible narrowing conversion. abd44af Make a variable static that should be. 7039fa6 Avoid global variable. 9e9fc0f Add a noreturn attribute. a681a2c Do not pass Timestamp class through forwarding. d37b717 Clean up status handling in Reader and Writer. 3b1f0d8 Add at_end_of_data() helper function to get self-documenting code. bf3cc8c Add add_end_of_data_to_queue() helper function. 94bdd09 Fix test. 531db80 Use valid() on future instead of an extra bool. 7f328b3 Make RVO work for pop() function. c1d726d Add some static_cast_with_assert paranoia checks. 5a064f7 Make sure DeltaDecode/DeltaEncode classes work for all integer types. c69a701 Fix some integer types. 2b2cfc9 Remove extra semicolons at end of function definitions. 2b74aa6 Use workaround for GCC unused variable warning for index::map, too. f7fb94d Different way of supression unused-variable warning. c0813e6 Better handling of threads. 963ff8e Move internal buffer from OutputIterator into Writer. 698d027 Update change log. 24270dd Remove unused variables. 64d6363 Remove unnecessarily fully-qualified name. 5ccacc7 Add support for reading o5m and o5c files. b603904 Fix up includes. 6013a27 Remove pessimizing move. a19e4cf Use queue_wrapper in Reader, too. 74a5174 Refactor thread creation for WriteThread. c480b33 Fix test code. e135597 Do not use promise in two threads at once. 6fa16ca Refactor input format code. 53fc576 More robust implementation of writer/writer_thread. 1285316 Put some queue handling into new wrapper class. a1e6e6f Rename osmium/io/detail/util.hpp to queue_util.hpp. f42d6fc New add_to_queue() helper functions. 3db9b49 Simplify read thread handling. a903561 Move any exception in read thread through queue. ee977cb Add more tests for reader code. 99aaa45 Factor out input handling in classes derived from Parser. 7afa03c Wrap access to m_read_types in InputFormat. f6c5971 Wrap sending to output queue in InputFormat. 26f4170 Consolidate header handling in InputFormat. a0aa3ed Remove unnecessary inline declaration. 894e84a Declare a bunch of destructors noexcept and use consistent comments. 6c49b43 Add hack to append_printf_formatted_string() so it works on Windows. 20c3f20 Remove a move that prevented copy elision. 8192a4c Pull low-level string formatting out of debug output and test it. 190aa46 Move low-level string formatting/encoding functions into own header. 3e35441 Add Option::is_not_false() helper, use and test it. 0a90339 Updated some comments. a44066f Make naming of output format options more consistent and document them. a59b60b Run serialization of PBF blobs in worker threads speeding up PBF writer. 18a739f Remove unused m_file attribute from OutputFormat class. 9b5d3b7 Various output option related cleanups. 36772a0 Consistent ordering of methods in *InputFormat classes. c04a51f Factor out common code in output formats. ebc53d4 Do not use "explicit" on constructors with more than one argument. e1dfcfc Make all destructors in io/detail noexcept. cfd7970 Use consistent handling of output options in all outputs. c4e71f0 Better implementation for output_formatted() and tests for it. 899a061 Extract common code from output formats. b226ae4 Factor out common code from *OutputBlock classes. fe4b287 Cleanup WriteThread class. af421df Consistent naming of queue typedefs. e8253c4 Add missing include. 9f71cd3 Refactor management of read thread into its own class. 4c96e16 Refactor Reader/InputFormat. fa02e6c Refactor input format code. d14ea27 Extract common code from PBF/XMLParser into new Parser class. fe7acd3 Better handling of failures when parsing header. 2e3b6cd Remove unnecessary include of <future>. 3bd18b8 Factor out common code in input format. 2915604 Only get promise and future once, even if header() is called multiple times. cfc980c Make output buffer for XML parser smaller. 4c1ffa7 Orderly shutdown in io::Reader. 8c7aa32 Remember whether the input queue was exhausted. 535bb6a Function call in new thread can be void. e0d5448 Factor out some helper function for queue cleanup. 5a4c6b5 Use std::thread directly for input instead of std::async. c1bdf4f Move common code from InputFormat child classed into base class. 89caa6e Report failures in input_format through the queue. 8f4d300 Rename (m_)queue to (m_)output_queue. 8fc1f5b Reorder XMLParser class making check_attributes() private. df381d7 Make sure we always send end-of-file from PBF parser. 1a178b0 Factor out construction of PBFDataBlobDecoder. cb34f76 Factor out read_from_input_queue_with_check() method. 21b51cc Factor out parse_data_blobs() method. dc957a8 Make some variables const. 1c2812c Make methods private that don't need to be public. 81e5625 Refactor out parse_header_blob() function. f9e5760 Fix test: New signature of XMLParser constructor. 43746d3 Add copy constructor to PBFParser. 8524780 Rename variables and other changes for clarity. 3e9627b Removed now superfluous parameters from InputFormat class. 7eac5cf Simplify input format class. 3ea2ace Set max queue size only in one place. 77ab086 Formatting. ceee837 Use std::async instead of "raw" std::thread for pbf input. 6cafb45 Move and rename PromiseKeeper class: Now in thread/util.hpp. 06eff29 Set thread name for xml parser thread. bd485cd Refactoring of threading code for input. fc03bf6 Make sure (de)compression classes clean up properly. 27af4ea Use special function to shut down pool workers instead of an atomic<bool>. 84297b3 Bugfix: auto and std::minmax() don't mix well. 597ecc4 Always use std::swap() in the idiomatic form. 10dd14f Remove threading test that fails when machine is too busy. 2072786 Use reserve() to spead up dumping indexes. 66a344b Declare some index functions noexcept, especially destructors. a0586da Use map::find() instead of awkward try-catch block. d38a7f1 Do not run make tasks in parallel. cd33daa Do not use clever YAML aliases, instead copy dependencies explicitely 4ad6e43 Integrate more compiler and os versions b2c519b Check return code of close() system call and throw. 369057b Update protozero to current 1.2.2. d1db14b Collect debug output options into struct. 54667dd More consistent debug output of way nodes, relation members and changeset comments. 67e1513 Add some paranoia checks to xml parser. 69de191 Refactoring in xml reader: New function check_attributes(). c67f3f3 Add support for changeset discussions (comments). 9c5531c Merge pull request #121 from DerDakon/cmake-find-no-components 44be1a7 Add helper functions to make input iterator ranges and output iterators. 76e2b91 Merge pull request #130 from alex85k/master 5a4fa6b remove assertion messageboxes in tests on Windows bac5a77 Updated change log. 7e7bba4 Updated included protozero library to 1.2.0. 1ae370d Merge pull request #122 from zerebubuth/pbf-decode-non-visible-node-locations 5897468 Merge branch 'master' of github.com:osmcode/libosmium 7f2de1b Bugfix: Delta iterator handling. 65d31e9 Try ; as cmake list separator. 3a9dbc2 Add PBF libraries, now that the test reads PBF too. Thanks @tomhughes for pointing this out. 9a22ea1 Add test case for reading deleted / non-visible nodes in history files. 36098a8 Decode lat/lon even for non-visible nodes. 8279fd1 kick off AppVeyor to test new binary deps package with gdal200 c8244f7 FindOsmium: prevent errors in list(REMOVE_DUPLICATES) when no components are requested a02806a Use https URL to travis. a1b7015 Fix some includes. 468e4d8 Remove pessimizing std::move. 427d2e0 Do iwyu check on header files in alphabetical order. be9a996 Release v2.4.1 95a3bc8 Fixed CRC calculation of tags and changesets. 4e157e3 Release v2.4.0 3da68f0 Fixed setting of binary mode on Windows. 81aa057 Use binary mode for memory mapped file on Windows. 986cb7e Set stdout to binary mode on windows before writing to files. 27d02eb Bugfix: Do not dereference end iterator. e96eeaf Updated change log. 64a55ce FindOsmium: let FPHSA handle all the additionally required things e152057 FindOsmium: pass the proper module name to FPHSA a4acce3 Remove restriction on master branch in appveyor config. 10c8265 FindOsmium: simplify the fallback code for sparsetable::size_type 190ed47 remove the correct include dir from OSMIUM_INCLUDE_DIRS aaa99c1 avoid that FindOsmium finds a random include dir 6406010 Add a magic define fixing a boost problem. 2fa6674 Remove superfluous file paths from cmake config. e081a51 Merge pull request #114 from DerDakon/do-not-cache-version 20e1a24 Use external gdalcpp wrapper for compatibility with GDAL 2. 3b7cc86 Fix initialization order in DeltaEncodeIterator. 0954b0f Fix possibly uninitialized variable. f081942 Take byte swap functions out of CRC class. e085aae Fix byte swap, add test cases for crc. e648b62 Merge pull request #116 from DerDakon/yml-simplify 7912897 properly put bzip2 library in the CMake cache e0ea72b use less variables when defining the test environment cf8ff6c do not cache the version string 38234cd Remove pragmas disabling warnings from gdal includes. 82d8c30 Include headers of external libraries as "system libraries". f721b86 Update protozero to version 1.1.0. a29ef82 Add some magic to enable folding on travis output. 18b2418 Removed toogr examples. They are in their own repository now. 89c8220 AppVeyor: 1st try with VS2015 93a1626 Added recent changes to change log. ce4b45e Bugfix: Program hanging when opening unknown file type. 06ad6ef Rename add_string() to store_in_stringtable() and use right return type. 869058d Add explicit conversion that always works. 0b28f2c Add missing check in TagListBuilder add_tag() overload. 51fa9c0 Check in builder that key/value of a tag is not too long. 9b1da20 Check that string table isn't overflowing. 2c732c6 Add some extra paranoia checks and type conversions to pbf writer. f92096a Fix integer size. a47ddb4 Force conversion to smaller int type, because we know it must fit. f150ff1 Rename variable that was hiding parameter name. ab92064 Use correct size_t as return type. 2f2bf68 Check that roles are no longer than max allowed string length. 4a7df68 Check strings for max length in PBF input. e4b8bb0 Explicit conversion to bool. d18352d Make conversion from double to integer explicit. git-subtree-dir: third_party/libosmium git-subtree-split: 0ff278001f6e0bc79040add736452bef3aa4ff06
2016-01-05 06:00:40 -05:00
[2.5.4]: https://github.com/osmcode/libosmium/compare/v2.5.3...v2.5.4
[2.5.3]: https://github.com/osmcode/libosmium/compare/v2.5.2...v2.5.3
[2.5.2]: https://github.com/osmcode/libosmium/compare/v2.5.1...v2.5.2
[2.5.1]: https://github.com/osmcode/libosmium/compare/v2.5.0...v2.5.1
[2.5.0]: https://github.com/osmcode/libosmium/compare/v2.4.1...v2.5.0
[2.4.1]: https://github.com/osmcode/libosmium/compare/v2.4.0...v2.4.1
[2.4.0]: https://github.com/osmcode/libosmium/compare/v2.3.0...v2.4.0
[2.3.0]: https://github.com/osmcode/libosmium/compare/v2.2.0...v2.3.0
Squashed 'third_party/libosmium/' changes from 8bcd4ea..c43f8db c43f8db Release v2.3.0 44c135f Update README to show dependencies used internally. ece54cd Add external licenses. 908cd5f Updated change log. 96dbf0e Change %-escape in OPL format. 98f6e27 Change write benchmark to interleave reading and writing. 39620ce Make writing of metadata configurable for XML and OPL output. e5a4e5e Add debug output format. 597390f Remove superfluous include and pragmas. ecc57b0 Update pbf reader/writer to use new protozero functions. 5d1e8d2 Update protozero from upstream. ef8746b Fix build on Windows. ddba46f Remove superfluous include. 098c57f Add some paranoia checks to pbf reader. 0f804c2 Try building with newer boost library on travis. 6f79d63 Use explicit return types on lambdas. 355f3b1 New PBF reader and writer based on protozero. 71d719b Add pbf writing benchmark. f014b4c Fix iwyu.sh script: Works now if build directory doesn't exist. a0ace49 Use utf8cpp header-only lib instead of boost for utf8 decoding. 796f18e Bugfix: Reading large XML files could block. 5a2bcbe Replace strcmp by std::string comparison in test. bc49e2c Bugfix: XML writer was not writing whitespace correctly. 61222f8 Fix 64bit byte swap. e56f090 Fix new CRC code on OSX and Windows. 70229aa Add low-level building blocks that allow calculating CRC of OSM data. 0968a66 Remove assert checking for unset version. 62e0261 Refactor test case. 4bfc7fc Allow instantiating osmium::geom::GEOSFactory with existing GEOS factory. e70af0c Remove calls to protobuf cleanup function im benchmarks and examples. 718518d Bugfix in OPL output. Relation member roles were not encoded. 759d5cb Rename parameter that had the same name as a type. 7054cab Provide (Typed)MemoryMapping constructors for backwards compatibility. d09f5d1 Fix typo. b4e578f Make memory mapping utility class more flexible. 633fa8e Travis build without sudo. 7ff23f1 Improved code setting file format from suffix/format argument. 90ef3b9 Remove some tests that didn't test much and failed on FreeBSD. af86273 Add some pragmas to disable warnings for GCC. efac7fd Fix some include problems found by IWYU. 79d2f4c Changed add_user() and add_role() in builders. Add add_member(). 9375d00 Add function to set tags from ptr + length. Improve TagBuilder tests. bafca20 Test helper: Use more const and have sub-builders in their own scope. f73c993 Simplify code. fee1710 Disable warning only when compiling with GCC. 74402f3 Merge pull request #98 from dforsi/master 2c4b449 Update to new upstream catch.hpp version. 1318732 Release v2.2.0 1873998 Add missing test. 2e5ea1d Do not add timestamp to html doc pages. 1b2ea89 Remove debug output. 0be9599 Improved parsing of ids, versions, uids, etc. from strings. 4308d80 Add second version of split_string utility function. f18c9e5 Move part of pbf.hpp into new pbf_type_conv.hpp. d201152 Use new DeltaEncode class in pbf writer. e205610 Add DeltaEncode/DeltaDecode utility classes. 32905d6 Bugfix: Actually throw the exception we are creating... d3e86d8 Add functions to convert item_type to zero-based index. daddf07 Bugfix: Programs writing OSM files can stall up to a second after writing. 00b0247 Add function to set the id of a relation member. f85316a Fix error message. 19bc6cc Fix name of travis install script. 719cd33 spatialite-bin package now available on travis cb03821 Shorten long test string (MSVC doesn't like it). c3440a6 Add BoolVector index class. da08073 Add min_op/max_op utility functions. 411d112 AppVeyor.yml: new links for binary deps 7d9095f add test for badly formatted timestamps a073f73 Add helper methods to DiffObject. 3b9819a Add GeoJSON factory using the RapidJSON library. 107bca5 Use a reference instead of a copy. a6943a4 Mark a few variables that are not changing as const. 51b7e53 Improved error message for geometry exceptions. 5c37a13 Some minor spelling fixes 8ae5723 Bugfix: Dense location store was written out only partially. 5994322 Add support for tiles. 2168bac Add has_map_type() method to map factory. a9634bd Add more tests for mercator projection. 3c13e4d Add functionality to create simple polygons from ways in geom factories. e8c5bb1 Use uint64_t as counter, so there can be no overflows. 07fc9b9 libsparsehash-dev now in travis package whitelist 820e112 Add coverage support to CMake config. 5e9f943 Bugfix: Use the right include to really allow any input file type. d4b48eb CMake: Make version string a cached variable. e6baccb Add (c)begin/end functions to TypedMemoryMapping. Removed get_addr(). 3e32710 Use size() from MemoryMapping in TypedMemoryMapping. 96390db Improve MemoryMapping class documentation. 60a6217 Do not round memory mapped files to page size boundaries. 4907cbe Bugfix: function name. cac01d8 Use _filelengthi64 on Windows instead of fstat(2). 6a25bdf Windows: Put invalid parameter handler into wrapper class. Re-enable test. 110df9b Add invalid parameter handler on Windows to test. 549ed5f Disable some tests (to find which one fails on appveyor). a5b8873 Use resize_file() in memory mapping test instead of ftruncate directly. 40e41d3 Use _chsize_s() instead of _chsize() on Windows. 048397e Refactoring: Use low-level util functions in DataFile. 6a033f9 Remove now unused Windows implementation of mmap. 3eccdbb Move dword_hi/lo functions into osmium::util namespace. be7351b Remove unused code. b859b18 Make dword_hi/lo functions inline. 2e3bc37 Simplify mmap_vector_base/anon/file. f819cf3 Always map full pages. Make sure files behind mapping are large enough. d0c84b6 Add some low-level helper functions for file system access. 62e8d91 Make DataFile constructor explicit. fba684c Fix memory mapping test for windows. 78a7fd5 Add constructor to DataFile to create tmp file with given size. f911893 Bugfix: typo. 1cf2739 Add AnonymousMemoryMapping class. 56eac30 Implement MemoryMapping::resize() function. 1a73262 Bugfix: Counter variables were too small. 1ade32c Fix include position. b03aec3 Fixed some bugs in new DataFile class/tests. f109534 Add DataFile utility class. 9ed3c43 Fix/cleanup some code. 4f326c9 Fix bug: Copy-and-paste error. 78a5b2f Use reinterpret_cast instead of static_cast to get HANDLE on Windows. 7baa318 Fix typo. e669069 Make huge value even huger to see if code reliable fails then. 66137ad Improved documentation of MemoryMapping and TypedMemoryMapping classes. 3121393 Add TypedMemoryMapping class. f45335e Default for get_addr() template type. 685bbaf Remove unused code from tests. ce65bd4 Fix some issue with new MemoryMapping class. e7b8e15 Added MemoryMapping wrapper class for mmap() and Windows equivalent. 6b1effe typo fixed 33d479d Refactored travis build. 4348522 Fix xml data test. 769b1e8 Bugfix: Better check for invalid locations. bba7e68 Appveyor: Disable test failing because of missing dependency. 3d40dc7 Link with /debug on MSVC, add note about LNK4099 warnings. 5ef051f Appveyor: Disable header builds, add benchmarks. ce7485e Reformat Appveyor config. c60e505 use shallow clones for faster git fetch 3b18bca Travis cleanups. b8dfac0 Cleanup travis build. 5f19838 Trying to fix travis gcc build... d4255a4 Remove -Wno-return-type from recommended options. 5f1a41b Add dump_as_array() function to maps. ff22f76 Add constructors and begin()/end() functions to VectorBasedSparseMultimap. c7e05dd Bugfix: Make REGISTER_MAP() macro work when called several time with same name parameter. abdc317 Bugfix: Mark cbegin() and cend() of mmap_vector_base as const functions. d81d439 Add close() function to mmap_vector_base class. d74cff2 Add function on Buffer to get iterator to specific offset. git-subtree-dir: third_party/libosmium git-subtree-split: c43f8db50d93912a8bec5cd9fea733f7fec05549
2015-08-28 06:42:03 -04:00
[2.2.0]: https://github.com/osmcode/libosmium/compare/v2.1.0...v2.2.0
Squashed 'third_party/libosmium/' changes from f074d94..8bcd4ea 8bcd4ea Add explicit cast operator from osmium::Timestamp to uint32_t. 0b24814 Fixed the full_queue_sleep_duration const (again). 5e19dd2 Try different workaround for windows... df5d6c9 Fix build error on Windows. 1553adf Workaround for missing support for u8 string literals on Windows. aa5e44a Do not build benchmarks in Appveyor to speed up build. 2b22b31 Remove warning generated by assert by casting to largest type. 148c5e3 Fix inclusion of our own css file into doxygen documentation. 13bce6f Split out test thats fails on Windows and do not run it on appveyor. ca04757 Make CMake add_unit_test() function more flexible. 6c04a63 Tell CMake to output json file with compile commands. c0dd848 Fix indentation in some tests. dfa7e4b Formatting: Consistently use spaces around equal signs. 08fe6db Add change log, release version 2.1.0. 667192e Add XML tests. 28acfc7 Make sorting the PBF stringtables optional. 8184781 Fix PBFInputFormat. Use member variable instead of static variable. 2b48945 Fix comment. 6d37054 Rename m_done to m_quit_input_thread to clarify what it is for. bc23083 Fix race condition in PBF reader. 7fc380e Add various docs, noexcepts, asserts, and tests. aeaf4d7 Not a good idea to how overbroad patterns in .gitignore. c1ef2f9 Bugfix: Multipolygon collector was accessing non-existent NodeRef. 0ef9a13 Add noexcept and docs to some functions in NodeRefList class. da4d764 Workaround for Doxygen bug. e67d5d9 use absolute paths to osmium in YouCompleteMe configuration 38abeac remove template parameter from NodeRefList c47adf0 Add check that osm xml file has <osm> or <osmChange> as top-level element. 5e4af90 Updated version number to 2.0.0. 5b2bc3e Workaround in cmake test for sparsehash size. git-subtree-dir: third_party/libosmium git-subtree-split: 8bcd4ea771696812bbb08ebc58e3ee22d0538070
2015-04-13 09:44:38 -04:00
[2.1.0]: https://github.com/osmcode/libosmium/compare/v2.0.0...v2.1.0