<commit_before># Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added

- Module configuration string to log and version info
- clang-format definition, call `make clang-format` for formatting
- gstreamer resolution ranges now contain a step size
- GstTcamDeviceProvider, see documentation for usage.
- Filter for DFG/USB2pro. Device will no longer appear in device listings.
- `tcam-ctrl --packages` - list all installed 'The Imaging Source' packages and their version
- `tcam-ctrl --version` now lists configured modules
- tcamconvert gstreamer conversion element
- internal dependency to fmt
- cmake flag `TCAM_DOWNLOAD_MESON` for legacy systems to allow modern aravis installations.
- tcambin property `conversion-element`
  Used to select the internal conversion elements.
  Available options are `tcamconvert`, `tcamdutils`, `tcamdutils-cuda` and `auto`.
- TCAM_ARV_STREAM_OPTIONS, allows setting of ArvStream options
- support for tcamdutils-cuda
- gstreamer property `tcam-properties`. GstStructure like description of properties.
  See documentation for more details.

### Changed

- gobject introspection API version 1.0
- gobject introspection API tcamprop renamed to tcam-property
- aravis API version is now 0.8.
- output directory for binaries/libraries to <build-dir>/bin and <build-dir>/lib
- logging now uses spdlog
- gstreamer buffers are now marked as "live"
- installation variables are now all defined in CmakeInstall.cmake
- usage of tcamprop now requires the element to be in GST_STATE_READY or higher.
- renamed gige-daemon to tcam-gige-daemon for consistency.
- tcam-gige-daemon maximum for devices increased to 50.
- tcammainsrc 'do-timestamp' default changed to false.
- cmake flag BUILD_ARAVIS now defaults to ON
- cmake flag BUILD_DOCUMENTATION now defaults to ON
- tcam-gigetool rewrite. Now a full C++ implementation.
  Output has changed.
- tcam-capture rewrite. Now a full C++ implementation.
  Aimed to be as simple as possible.
  For more complex use cases use tis-measure.

### Fixed

- "device-lost" notifications could take over 3 minutes for aravis cameras.
  Should now appear within 5 seconds.

### Removed

- tcamautoexposure gstreamer element - functionality now in tcammainsrc
- tcamwhitebalance gstreamer element - functionality now in tcammainsrc,
  application in tcamconvert/tcamdutils
- tcamautofocus gstreamer element - functionality now in tcammainsrc
- tcamprop 0.1 API
- firmware-update
  Moved to a separate repository: https://github.com/theimagingsource/tcam-firmware-update
- camera-ip-conf
  Use tcam-gigetool instead
- tcambin property `use-dutils`
- environment variable TCAM_ARV_PACKET_REQUEST_RATIO, replaced with TCAM_ARV_STREAM_OPTIONS
- environment variable TCAM_LOG, replaced with gstreamer logging category `tcam-libtcam`
- unmaintained unit tests

### Known Issues

- Auto Function ROI emulation is missing
- In camera Auto Functions ROI may not correctly lock properties
- AFU050: image/jpeg,width=1280,height=960 may cause segfault when used
  Cause is in external library.

## [0.14.0] - 2021.07.05<commit_msg>Update changelog<commit_after># Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Deprecated

- property api tcamprop
  replacement name tcam-property
  initial version is 1.0
- tcamautoexposure gstreamer element - functionality now in tcammainsrc
- tcamwhitebalance gstreamer element - functionality now in tcammainsrc,
  application in tcamconvert/tcamdutils
- tcamautofocus gstreamer element - functionality now in tcammainsrc
- TCAM_LOG environment variable

### Added

- Module configuration string to log and version info
- clang-format definition, call `make clang-format` for formatting
- gstreamer resolution ranges now contain a step size
- GstTcamDeviceProvider, see documentation for usage.
- Filter for DFG/USB2pro. Device will no longer appear in device listings.
- `tcam-ctrl --packages` - list all installed 'The Imaging Source' packages and their version
- `tcam-ctrl --version` now lists configured modules
- tcamconvert gstreamer conversion element
- internal dependency to fmt
- cmake flag `TCAM_DOWNLOAD_MESON` for legacy systems to allow modern aravis installations.
- tcambin property `conversion-element`
  Used to select the internal conversion elements.
  Available options are `tcamconvert`, `tcamdutils`, `tcamdutils-cuda` and `auto`.
- environment variable `TCAM_ARV_STREAM_OPTIONS`, allows setting of ArvStream options
- environment variable `TCAM_GIGE_HEARTBEAT_MS`, allows setting the heartbeat timeout
- support for tcamdutils-cuda
- gstreamer property `tcam-properties`. GstStructure like description of properties.
  See documentation for more details.
- tiscamera threads now have names for easier identification during debugging.

### Changed

- aravis API version is now 0.8.
- output directory for binaries/libraries to <build-dir>/bin and <build-dir>/lib
- logging now uses spdlog
- gstreamer buffers are now marked as "live"
- installation variables are now all defined in CmakeInstall.cmake
- usage of tcamprop now requires the element to be in `GST_STATE_READY` or higher.
- renamed gige-daemon to tcam-gige-daemon for consistency.
- tcam-gige-daemon maximum for devices increased to 50.
- tcammainsrc 'do-timestamp' default changed to false.
- cmake flag `TCAM_BUILD_ARAVIS` now defaults to `ON`
- cmake flag `TCAM_BUILD_DOCUMENTATION` now defaults to `ON`
- tcam-gigetool rewrite. Now a full C++ implementation.
  Output has changed.
- tcam-capture rewrite. Now a full C++ implementation.
  Aimed to be as simple as possible.
  For more complex use cases use tis-measure.
- tcambin version checks do not check for parity anymore,
  but for minimum version to ensure compatability.

### Fixed

- "device-lost" notifications could take over 3 minutes for aravis cameras.
  Should now appear within 5 seconds.
- generated debian packages are now installable when no systemd exists.
  This is only relevant when compiling with aravis.

### Removed

- gstreamer elements tcamautoexposure, tcamwhitebalance, tcamautofocus
- tcamprop 0.1 API
- firmware-update
  Moved to a separate repository: https://github.com/theimagingsource/tcam-firmware-update
- camera-ip-conf
  Use tcam-gigetool instead.
- tcambin property `use-dutils`
  Use tcambin property `conversion-element` instead.
- environment variable TCAM_ARV_PACKET_REQUEST_RATIO, replaced with TCAM_ARV_STREAM_OPTIONS
- environment variable TCAM_LOG, replaced with gstreamer logging category `tcam-libtcam`
- unmaintained unit tests
- TCAM_LOG environment variable.
  Use GST_DEBUG category `tcam-libtcam` instead.

### Known Issues

- Auto Function ROI emulation is missing
- In camera Auto Functions ROI may not correctly lock properties
- AFU050: image/jpeg,width=1280,height=960 may cause segfault when used.
  Cause is in external library.

## [0.14.0] - 2021.07.05
{'fraction_non_alphanumeric': 0.06996844560296336, 'fraction_numerical': 0.010701056386335573, 'mean_word_length': 4.456586826347305, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 7, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '46342', 'n_tokens_mistral': 2189, 'n_tokens_neox': 2112, 'n_words': 832}