Skip to content

Commit d98f76d

Browse files
authored
Merge pull request #1769 from daniel-riehm/dev/release-v1.8.0
Release v1.8.0
2 parents 5b28eda + c5d34b8 commit d98f76d

File tree

4 files changed

+206
-202
lines changed

4 files changed

+206
-202
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ project(KWIVER)
88
###
99
# KWIVER version
1010
set(KWIVER_VERSION_MAJOR 1)
11-
set(KWIVER_VERSION_MINOR 7)
11+
set(KWIVER_VERSION_MINOR 8)
1212
set(KWIVER_VERSION_PATCH 0)
1313
set(KWIVER_VERSION "${KWIVER_VERSION_MAJOR}.${KWIVER_VERSION_MINOR}.${KWIVER_VERSION_PATCH}")
1414

doc/release-notes/1.8.0.txt

Lines changed: 203 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,203 @@
1+
KWIVER v1.8.0 Release Notes
2+
===========================
3+
4+
This is a minor release of KWIVER that provides both new functionality and fixes
5+
over the previous v1.7.0 release.
6+
7+
8+
Updates
9+
-------
10+
11+
KWIVER
12+
13+
* Adopted C++17.
14+
15+
* Added setup_KWIVER.ps1.
16+
17+
* Added the MSVC 2022 compiler as a case in our CMake logic.
18+
19+
Vital
20+
21+
Vital Algo
22+
23+
* Added API for algorithms to find nearest neighbor to a set of point in 3D.
24+
25+
* Expanded the pointcloud_io API to include the ability to load point cloud data
26+
27+
* Added option to open file given to metadata_map_io in binary mode.
28+
29+
* Added buffered_metadata_filter.
30+
31+
Vital Types
32+
33+
* Added new pointcloud type to hold point cloud data
34+
35+
* Added VITAL_META_UNIX_TIMESTAMP_SOURCE, VITAL_META_VIDEO_DATA_STREAM_SYNCHRONOUS.
36+
37+
* Removed VITAL_META_ICING_DETECTED.
38+
39+
* Added equality operators for metadata_item.
40+
41+
* Added metadata_[io]stream.
42+
43+
Vital Util
44+
45+
* Added support for different text codecs (ASCII, UTF-8, etc).
46+
47+
* Added threeway_compare().
48+
49+
Arrows
50+
51+
* Passed a constant seed to the random point generator used by several tests to
52+
prevent occasional random failure.
53+
54+
Arrows: Core
55+
56+
* Implemented a general-purpose CSV reader and writer.
57+
58+
* Prevent UV coordinates from going to NaN for degenerate triangles in uv_unwrap_mesh.
59+
60+
* Fixed race condition in close_loops_exhaustive that could result in a crash
61+
when matching and merging feature tracks.
62+
63+
* Fixed undefined behavior leading to a crash in track_features_core when the
64+
track set remained empty after the first frame.
65+
66+
* Fixed an incorrect cast of a geo_point to double in derive_metadata.
67+
68+
Arrows: FFmpeg
69+
70+
* Added support for FFmpeg 5.1.2.
71+
72+
* Added basic configuration options to ffmpeg_video_output.
73+
74+
* Added CUVID video decoding/encoding support.
75+
76+
* Added support in ffmpeg_video_output for non-RGB24 input images.
77+
78+
* Fixed many bugs with timestamps.
79+
80+
* Implemented direct copying of video stream packets from input to output.
81+
82+
* Improved robustness against invalid input data.
83+
84+
* Added config options to ffmpeg_video_input to ignore the video or KLV streams.
85+
86+
* Properly handle MISP nanosecond timestamps.
87+
88+
* Added padding to end of image memory to avoid segfaults.
89+
90+
* Improved the search paths to find an FFmpeg installation.
91+
92+
* Fixed alignment between KLV packets and frames when reading and writing.
93+
94+
* Limit total amount of past KLV maintained in memory.
95+
96+
* Added new synthetic test videos.
97+
98+
* Added derivation of KLV synchronicity from stream and packet characteristics.
99+
100+
* Made initial probing logic more persistent.
101+
102+
Arrows: KLV
103+
104+
* Implemented ST1107.
105+
106+
* Updated ST0903 implementation to version 6.
107+
108+
* Implemented the BOOLEAN, UINT, and RLE APAs in ST1303.
109+
110+
* Adjusted tag number requirements of ST0806.
111+
112+
* Changed data type of EG0104 Episode Number to string.
113+
114+
* Implemented configuration of KLV muxing update rates.
115+
116+
* Modified interface to use pointers when reading/writing instead of
117+
std::vector iterators.
118+
119+
* Used std::nullopt to indicate no ST0601 control command timestamp instead of 0.
120+
121+
* Used std::chrono to better express MISP timestamps.
122+
123+
* Changed type of ST0601 Waypoint Record bitfield.
124+
125+
* Added detailed length constraint information.
126+
127+
* Fixed bug when calculating length of ST0601 Airbase Locations.
128+
129+
* Fixed bug which prevented detection of some too-long KLV packet lengths.
130+
131+
* Added apply_child_klv and update_klv metadata filters.
132+
133+
* Implemented CRC-8-CCITT checksum.
134+
135+
* Fixed bug when ST0903 local set packs fail to parse.
136+
137+
* Made headers public which were included by other public headers.
138+
139+
* Improved descriptions of formats.
140+
141+
* Implemented handling of different string encodings.
142+
143+
* Fixed possible out-of-bounds memory read leading to crash when KLV parsing
144+
fails.
145+
146+
* Fixed bug in KLV packet reader which failed to check if the packet's length
147+
was larger than the available number of input bytes.
148+
149+
* Fixed bug in ST0601 view domain writer which would not write the length of
150+
the final field.
151+
152+
* Added a missing type to the ST0601 KLV JSON exporter.
153+
154+
Arrows: PDAL
155+
156+
* Added implementation of the load API to pointcloud_io to load point data via the PDAL library
157+
158+
Arrows: Serialize JSON
159+
160+
* Fixed bug when loading a KLV local set item with a null value.
161+
162+
* Fixed bug preventing the proper loading of strings with embedded null ('\0')
163+
characters.
164+
165+
* Increased the precision of exported floating point values.
166+
167+
* Added a configuration option to compress JSON on output.
168+
169+
Arrows: Zlib
170+
171+
* Added this arrow with bytestream_compressor functionality.
172+
173+
KwiverSys
174+
175+
* Made compiling regular expression thread-safe.
176+
177+
Applets
178+
179+
Applets: bundle adjustment tool
180+
181+
* Added an implementation bundle adjustment (BA) applet that optimizes a set of
182+
cameras given multiple 3D-2D point correspondences.
183+
184+
Applets: transcode
185+
186+
* Fixed a bug in which metadata was erroneously written after each frame,
187+
instead of before.
188+
189+
Applets: dump-klv
190+
191+
* Added an option to use multithreading when dumping frame images.
192+
193+
* Removed early exit when no KLV stream is found.
194+
195+
Applets: compare-klv
196+
197+
* Added this applet.
198+
199+
Python:
200+
201+
* Removed the custom pybind11.h header file since the current version of
202+
pybind11 now handles cases where the GIL is acquired via the
203+
PyGILState_* API.

doc/release-notes/master.txt

Lines changed: 2 additions & 178 deletions
Original file line numberDiff line numberDiff line change
@@ -1,184 +1,8 @@
1-
KWIVER v1.8.0 Release Notes
1+
KWIVER v1.9.0 Release Notes
22
===========================
33

44
This is a minor release of KWIVER that provides both new functionality and fixes
5-
over the previous v1.7.0 release.
6-
5+
over the previous v1.8.0 release.
76

87
Updates
98
-------
10-
11-
KWIVER
12-
13-
* Adopted C++17.
14-
15-
* Added setup_KWIVER.ps1.
16-
17-
* Added the MSVC 2022 compiler as a case in our CMake logic.
18-
19-
Vital
20-
21-
Vital Algo
22-
23-
* Added API for algorithms to find nearest neighbor to a set of point in 3D.
24-
25-
* Expanded the pointcloud_io API to include the ability to load point cloud data
26-
27-
* Added option to open file given to metadata_map_io in binary mode.
28-
29-
* Added buffered_metadata_filter.
30-
31-
Vital Types
32-
33-
* Added new pointcloud type to hold point cloud data
34-
35-
* Added VITAL_META_UNIX_TIMESTAMP_SOURCE, VITAL_META_VIDEO_DATA_STREAM_SYNCHRONOUS.
36-
37-
* Removed VITAL_META_ICING_DETECTED.
38-
39-
* Added equality operators for metadata_item.
40-
41-
* Added metadata_[io]stream.
42-
43-
Vital Util
44-
45-
* Added support for different text codecs (ASCII, UTF-8, etc).
46-
47-
* Added threeway_compare().
48-
49-
Arrows
50-
51-
* Passed a constant seed to the random point generator used by several tests to
52-
prevent occasional random failure.
53-
54-
Arrows: Core
55-
56-
* Implemented a general-purpose CSV reader and writer.
57-
58-
* Prevent UV coordinates from going to NaN for degenerate triangles in uv_unwrap_mesh.
59-
60-
Arrows: FFmpeg
61-
62-
* Added support for FFmpeg 5.1.2.
63-
64-
* Added basic configuration options to ffmpeg_video_output.
65-
66-
* Added CUVID video decoding/encoding support.
67-
68-
* Added support in ffmpeg_video_output for non-RGB24 input images.
69-
70-
* Fixed many bugs with timestamps.
71-
72-
* Implemented direct copying of video stream packets from input to output.
73-
74-
* Improved robustness against invalid input data.
75-
76-
* Added config options to ffmpeg_video_input to ignore the video or KLV streams.
77-
78-
* Properly handle MISP nanosecond timestamps.
79-
80-
* Added padding to end of image memory to avoid segfaults.
81-
82-
* Improved the search paths to find an FFmpeg installation.
83-
84-
* Fixed alignment between KLV packets and frames when reading and writing.
85-
86-
* Limit total amount of past KLV maintained in memory.
87-
88-
* Added new synthetic test videos.
89-
90-
* Added derivation of KLV synchronicity from stream and packet characteristics.
91-
92-
* Made initial probing logic more persistent.
93-
94-
Arrows: KLV
95-
96-
* Implemented ST1107.
97-
98-
* Updated ST0903 implementation to version 6.
99-
100-
* Implemented the BOOLEAN, UINT, and RLE APAs in ST1303.
101-
102-
* Adjusted tag number requirements of ST0806.
103-
104-
* Changed data type of EG0104 Episode Number to string.
105-
106-
* Implemented configuration of KLV muxing update rates.
107-
108-
* Modified interface to use pointers when reading/writing instead of
109-
std::vector iterators.
110-
111-
* Used std::nullopt to indicate no ST0601 control command timestamp instead of 0.
112-
113-
* Used std::chrono to better express MISP timestamps.
114-
115-
* Changed type of ST0601 Waypoint Record bitfield.
116-
117-
* Added detailed length constraint information.
118-
119-
* Fixed bug when calculating length of ST0601 Airbase Locations.
120-
121-
* Fixed bug which prevented detection of some too-long KLV packet lengths.
122-
123-
* Added apply_child_klv and update_klv metadata filters.
124-
125-
* Implemented CRC-8-CCITT checksum.
126-
127-
* Fixed bug when ST0903 local set packs fail to parse.
128-
129-
* Made headers public which were included by other public headers.
130-
131-
* Improved descriptions of formats.
132-
133-
* Implemented handling of different string encodings.
134-
135-
Arrows: PDAL
136-
137-
* Added implementation of the load API to pointcloud_io to load point data via the PDAL library
138-
139-
Arrows: Serialize JSON
140-
141-
* Fixed bug when loading a KLV local set item with a null value.
142-
143-
* Fixed bug preventing the proper loading of strings with embedded null ('\0')
144-
characters.
145-
146-
* Increased the precision of exported floating point values.
147-
148-
* Added a configuration option to compress JSON on output.
149-
150-
Arrows: Zlib
151-
152-
* Added this arrow with bytestream_compressor functionality.
153-
154-
KwiverSys
155-
156-
* Made compiling regular expression thread-safe.
157-
158-
Applets
159-
160-
Applets: bundle adjustment tool
161-
162-
* Added an implementation bundle adjustment (BA) applet that optimizes a set of
163-
cameras given multiple 3D-2D point correspondences.
164-
165-
Applets: transcode
166-
167-
* Fixed a bug in which metadata was erroneously written after each frame,
168-
instead of before.
169-
170-
Applets: dump-klv
171-
172-
* Added an option to use multithreading when dumping frame images.
173-
174-
* Removed early exit when no KLV stream is found.
175-
176-
Applets: compare-klv
177-
178-
* Added this applet.
179-
180-
Python:
181-
182-
* Removed the custom pybind11.h header file since the current version of
183-
pybind11 now handles cases where the GIL is acquired via the
184-
PyGILState_* API.

0 commit comments

Comments
 (0)