Skip to content

Commit

Permalink
Merge pull request #1769 from daniel-riehm/dev/release-v1.8.0
Browse files Browse the repository at this point in the history
Release v1.8.0
  • Loading branch information
daniel-riehm authored May 29, 2023
2 parents 5b28eda + c5d34b8 commit d98f76d
Show file tree
Hide file tree
Showing 4 changed files with 206 additions and 202 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ project(KWIVER)
###
# KWIVER version
set(KWIVER_VERSION_MAJOR 1)
set(KWIVER_VERSION_MINOR 7)
set(KWIVER_VERSION_MINOR 8)
set(KWIVER_VERSION_PATCH 0)
set(KWIVER_VERSION "${KWIVER_VERSION_MAJOR}.${KWIVER_VERSION_MINOR}.${KWIVER_VERSION_PATCH}")

Expand Down
203 changes: 203 additions & 0 deletions doc/release-notes/1.8.0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,203 @@
KWIVER v1.8.0 Release Notes
===========================

This is a minor release of KWIVER that provides both new functionality and fixes
over the previous v1.7.0 release.


Updates
-------

KWIVER

* Adopted C++17.

* Added setup_KWIVER.ps1.

* Added the MSVC 2022 compiler as a case in our CMake logic.

Vital

Vital Algo

* Added API for algorithms to find nearest neighbor to a set of point in 3D.

* Expanded the pointcloud_io API to include the ability to load point cloud data

* Added option to open file given to metadata_map_io in binary mode.

* Added buffered_metadata_filter.

Vital Types

* Added new pointcloud type to hold point cloud data

* Added VITAL_META_UNIX_TIMESTAMP_SOURCE, VITAL_META_VIDEO_DATA_STREAM_SYNCHRONOUS.

* Removed VITAL_META_ICING_DETECTED.

* Added equality operators for metadata_item.

* Added metadata_[io]stream.

Vital Util

* Added support for different text codecs (ASCII, UTF-8, etc).

* Added threeway_compare().

Arrows

* Passed a constant seed to the random point generator used by several tests to
prevent occasional random failure.

Arrows: Core

* Implemented a general-purpose CSV reader and writer.

* Prevent UV coordinates from going to NaN for degenerate triangles in uv_unwrap_mesh.

* Fixed race condition in close_loops_exhaustive that could result in a crash
when matching and merging feature tracks.

* Fixed undefined behavior leading to a crash in track_features_core when the
track set remained empty after the first frame.

* Fixed an incorrect cast of a geo_point to double in derive_metadata.

Arrows: FFmpeg

* Added support for FFmpeg 5.1.2.

* Added basic configuration options to ffmpeg_video_output.

* Added CUVID video decoding/encoding support.

* Added support in ffmpeg_video_output for non-RGB24 input images.

* Fixed many bugs with timestamps.

* Implemented direct copying of video stream packets from input to output.

* Improved robustness against invalid input data.

* Added config options to ffmpeg_video_input to ignore the video or KLV streams.

* Properly handle MISP nanosecond timestamps.

* Added padding to end of image memory to avoid segfaults.

* Improved the search paths to find an FFmpeg installation.

* Fixed alignment between KLV packets and frames when reading and writing.

* Limit total amount of past KLV maintained in memory.

* Added new synthetic test videos.

* Added derivation of KLV synchronicity from stream and packet characteristics.

* Made initial probing logic more persistent.

Arrows: KLV

* Implemented ST1107.

* Updated ST0903 implementation to version 6.

* Implemented the BOOLEAN, UINT, and RLE APAs in ST1303.

* Adjusted tag number requirements of ST0806.

* Changed data type of EG0104 Episode Number to string.

* Implemented configuration of KLV muxing update rates.

* Modified interface to use pointers when reading/writing instead of
std::vector iterators.

* Used std::nullopt to indicate no ST0601 control command timestamp instead of 0.

* Used std::chrono to better express MISP timestamps.

* Changed type of ST0601 Waypoint Record bitfield.

* Added detailed length constraint information.

* Fixed bug when calculating length of ST0601 Airbase Locations.

* Fixed bug which prevented detection of some too-long KLV packet lengths.

* Added apply_child_klv and update_klv metadata filters.

* Implemented CRC-8-CCITT checksum.

* Fixed bug when ST0903 local set packs fail to parse.

* Made headers public which were included by other public headers.

* Improved descriptions of formats.

* Implemented handling of different string encodings.

* Fixed possible out-of-bounds memory read leading to crash when KLV parsing
fails.

* Fixed bug in KLV packet reader which failed to check if the packet's length
was larger than the available number of input bytes.

* Fixed bug in ST0601 view domain writer which would not write the length of
the final field.

* Added a missing type to the ST0601 KLV JSON exporter.

Arrows: PDAL

* Added implementation of the load API to pointcloud_io to load point data via the PDAL library

Arrows: Serialize JSON

* Fixed bug when loading a KLV local set item with a null value.

* Fixed bug preventing the proper loading of strings with embedded null ('\0')
characters.

* Increased the precision of exported floating point values.

* Added a configuration option to compress JSON on output.

Arrows: Zlib

* Added this arrow with bytestream_compressor functionality.

KwiverSys

* Made compiling regular expression thread-safe.

Applets

Applets: bundle adjustment tool

* Added an implementation bundle adjustment (BA) applet that optimizes a set of
cameras given multiple 3D-2D point correspondences.

Applets: transcode

* Fixed a bug in which metadata was erroneously written after each frame,
instead of before.

Applets: dump-klv

* Added an option to use multithreading when dumping frame images.

* Removed early exit when no KLV stream is found.

Applets: compare-klv

* Added this applet.

Python:

* Removed the custom pybind11.h header file since the current version of
pybind11 now handles cases where the GIL is acquired via the
PyGILState_* API.
180 changes: 2 additions & 178 deletions doc/release-notes/master.txt
Original file line number Diff line number Diff line change
@@ -1,184 +1,8 @@
KWIVER v1.8.0 Release Notes
KWIVER v1.9.0 Release Notes
===========================

This is a minor release of KWIVER that provides both new functionality and fixes
over the previous v1.7.0 release.

over the previous v1.8.0 release.

Updates
-------

KWIVER

* Adopted C++17.

* Added setup_KWIVER.ps1.

* Added the MSVC 2022 compiler as a case in our CMake logic.

Vital

Vital Algo

* Added API for algorithms to find nearest neighbor to a set of point in 3D.

* Expanded the pointcloud_io API to include the ability to load point cloud data

* Added option to open file given to metadata_map_io in binary mode.

* Added buffered_metadata_filter.

Vital Types

* Added new pointcloud type to hold point cloud data

* Added VITAL_META_UNIX_TIMESTAMP_SOURCE, VITAL_META_VIDEO_DATA_STREAM_SYNCHRONOUS.

* Removed VITAL_META_ICING_DETECTED.

* Added equality operators for metadata_item.

* Added metadata_[io]stream.

Vital Util

* Added support for different text codecs (ASCII, UTF-8, etc).

* Added threeway_compare().

Arrows

* Passed a constant seed to the random point generator used by several tests to
prevent occasional random failure.

Arrows: Core

* Implemented a general-purpose CSV reader and writer.

* Prevent UV coordinates from going to NaN for degenerate triangles in uv_unwrap_mesh.

Arrows: FFmpeg

* Added support for FFmpeg 5.1.2.

* Added basic configuration options to ffmpeg_video_output.

* Added CUVID video decoding/encoding support.

* Added support in ffmpeg_video_output for non-RGB24 input images.

* Fixed many bugs with timestamps.

* Implemented direct copying of video stream packets from input to output.

* Improved robustness against invalid input data.

* Added config options to ffmpeg_video_input to ignore the video or KLV streams.

* Properly handle MISP nanosecond timestamps.

* Added padding to end of image memory to avoid segfaults.

* Improved the search paths to find an FFmpeg installation.

* Fixed alignment between KLV packets and frames when reading and writing.

* Limit total amount of past KLV maintained in memory.

* Added new synthetic test videos.

* Added derivation of KLV synchronicity from stream and packet characteristics.

* Made initial probing logic more persistent.

Arrows: KLV

* Implemented ST1107.

* Updated ST0903 implementation to version 6.

* Implemented the BOOLEAN, UINT, and RLE APAs in ST1303.

* Adjusted tag number requirements of ST0806.

* Changed data type of EG0104 Episode Number to string.

* Implemented configuration of KLV muxing update rates.

* Modified interface to use pointers when reading/writing instead of
std::vector iterators.

* Used std::nullopt to indicate no ST0601 control command timestamp instead of 0.

* Used std::chrono to better express MISP timestamps.

* Changed type of ST0601 Waypoint Record bitfield.

* Added detailed length constraint information.

* Fixed bug when calculating length of ST0601 Airbase Locations.

* Fixed bug which prevented detection of some too-long KLV packet lengths.

* Added apply_child_klv and update_klv metadata filters.

* Implemented CRC-8-CCITT checksum.

* Fixed bug when ST0903 local set packs fail to parse.

* Made headers public which were included by other public headers.

* Improved descriptions of formats.

* Implemented handling of different string encodings.

Arrows: PDAL

* Added implementation of the load API to pointcloud_io to load point data via the PDAL library

Arrows: Serialize JSON

* Fixed bug when loading a KLV local set item with a null value.

* Fixed bug preventing the proper loading of strings with embedded null ('\0')
characters.

* Increased the precision of exported floating point values.

* Added a configuration option to compress JSON on output.

Arrows: Zlib

* Added this arrow with bytestream_compressor functionality.

KwiverSys

* Made compiling regular expression thread-safe.

Applets

Applets: bundle adjustment tool

* Added an implementation bundle adjustment (BA) applet that optimizes a set of
cameras given multiple 3D-2D point correspondences.

Applets: transcode

* Fixed a bug in which metadata was erroneously written after each frame,
instead of before.

Applets: dump-klv

* Added an option to use multithreading when dumping frame images.

* Removed early exit when no KLV stream is found.

Applets: compare-klv

* Added this applet.

Python:

* Removed the custom pybind11.h header file since the current version of
pybind11 now handles cases where the GIL is acquired via the
PyGILState_* API.
Loading

0 comments on commit d98f76d

Please sign in to comment.