Tags

Tags give the ability to mark specific points in history as being important
  • 1.7.2

    Release: 1.7.2
    Release 1.7.2 - 19.02.2026
    
    BUG FIXES
    
    - CMake: fix RPATH on MacOS, fixes issue #410.
    - fmt: fix compatibility with fmt 12 and newer due to fmt::localtime being dropped.
  • 1.7.1

    Release: 1.7.1
    Release 1.7.1 - 21.07.2025
    
    INCOMPATIBLE CHANGES
    
    - dv-sdk/log.hpp: dv::Logger together with DV_MODULE_MULTI_THREAD_SAFE was not working correctly on all platforms. An
      alternative approach for thread-safety has been implemented, by simply disallowing log-append operations if the
      DV_MODULE_MULTI_THREAD_SAFE define is set to 1. This was only used internally and should have no user impact.
    
    BUG FIXES
    
    - Cameras: fix usb control transfer in notification (from dv-processing).
    - Cameras: adapt to logger changes (from dv-processing).
  • 1.7.0

    Release: 1.7.0
    Release 1.7.0 - 15.07.2025
    INCOMPATIBLE CHANGES
    
    Compatibility with version 2.0 of the dv-processing library requires recompilation of any custom modules. This is
    automatically enforced, old modules will not load.
    CMake: renamed options with DVR_ prefix to prevent collisions, ie. DVR_ENABLE_TCMALLOC.
    Build: raised minimum compiler versions to GCC 13, clang 18, XCode 16 or MSVC 19.39 (Visual Studio 2022 17.9).
    Build: raised minimum dependency versions to boost 1.80, fmt 9.1.0, dv-processing 2.0.
    cstring/cvector: removed own re-implementations of std::string (dv::cstring) and std::vector (dv::cvector), the
    standard containers are used instead. You will need to recompile.
    dv::runtime_assert(): changed to use functors, allowing guaranteed removal on non-debug builds.
    fmt: removed custom std::vector formatter, use the official one from fmt instead.
    Ubuntu: dropped support for Bionic 18.04.
    libcaer: removed as a dependency, no longer used.
    dv::EventColor: GREEN component has been split into GREEN1 and GREEN2.
    
    New camera modules for DVS128, DAVIS, DVXplorer and DVXplorer Mini / Micro. Some configuration switches and names
    have changed. Field 'tsOffset' in output information has been removed as it is no longer required due to proper
    multi-camera time synchronization support, all cameras now have the same real-time offset. This extra information will
    also not be recoreded in files anymore, old files remain unchanged. Field 'colorFilter' in event output information
    has been replaced by new field 'eventsPixelArrangement', which is directly compatible with new dv::EventColor. Old
    recordings with the old name will still work. Support for eDVS, DVS132S, Samsung EVK and some old experimental DAVIS
    models has been dropped. All of these continue to be supported by libcaer if needed, and other than the eDVS none of
    them have been commercially sold by iniVation.
    
    NEW FEATURES
    
    
    New camera modules for DVS128, DAVIS, DVXplorer and DVXplorer Mini / Micro. These use the new dv-processing 2.0 APIs
    for device access. Some configuration switches and names have changed, controls are often simpler to use. Support for
    eDVS, DVS132S, Samsung EVK and some old experimental DAVIS models has been dropped. A selection of notable new
    features:
    
    
    synchronization of an arbitrary number of cameras supported via new 'syncWith' configuration, for details see our
    documentation: https://docs.inivation.com/hardware/hardware-advanced-usage/external-camera-sync.html#dv
    
    DVS128/DAVIS: simplified biasing with clearer names
    DVXplorer: allow finer bias control for ON/OFF contrast thresholds
    For DVXplorer Mini/Micro only: a firmware upgrade (v10) is required for compatibility.
    
    
    Frame Color Calibration: added new module to perform color calibration for RGB frames.
    Ubuntu: added support for Noble 24.04.
    Boost: added compatibility with latest boost::ASIO releases.
    Aravis (MVCamera): added compatibility with latest Aravis 0.9 release series.
    fmt::format: added formatters for cv::Mat, cv::Size, cv::Point and cv::Rect.
  • 1.6.2

    Release: 1.6.2
    Release 1.6.2 - 25.07.2023
    
    BUG FIXES
    - Accumulator: don't use deprecated functions and APIs from dv-processing.
    - Calibration: improved chessboard pattern search area calculation.
    - Cameras: properly handle exceptions during camera initialization.
    - fmt formatting library: compatible with fmt 10.0.
    - Network Outputs: fix maxDataBacklog feature, only allow new data after
      last data confirmed as sent.
    - Visualizer: improve error checking.
    - Config: if configuration file passed via -c command-line parameter,
      always put it as 'saveFile' (if previously empty), even if the file
      doesn't exist yet, allowing for successful save on shutdown behavior.
    - Modules: force back memory to OS on module destruction.
    - Types: add missing dv-processing data types to type system.
  • 1.6.1

    Release: 1.6.1
    Release 1.6.1 - 21.12.2022
    
    BUG FIXES
    - Network Outputs: fix header exported info node content.
    
    
    Release 1.6.0 - 20.12.2022
    
    INCOMPATIBLE CHANGES
    - Network Output modules: network streams now start with an IOHeader at their front.
      Clients must update their parsing code to account for this.
    - Visualizer: replaced the old SFML embedded visualizer with a new one based on the
      more modern SDL2 library. Only shows frames on screen, use other modules to convert
      your data into a dv::Frame, such as Accumulator or Event Visualizer.
    
    NEW FEATURES
    - Event Visualizer: converts events into frames without accumulation, just straight
      visualization as in the DV GUI.
    
    BUG FIXES
    - dv::Frame: update documentation on timestamps.
    - FrameHistogram: fix generation of histogram.
    - CMake: update to current best practices.
  • 1.6.1_internal

    Release: 1.6.1_internal
    Release 1.6.1 - 21.12.2022
    
    BUG FIXES
    - Network Outputs: fix header exported info node content.
  • 1.6.0_internal

    Release: 1.6.0_internal
    Release 1.6.0 - 20.12.2022
    
    INCOMPATIBLE CHANGES
    - Network Output modules: network streams now start with an IOHeader at their front.
      Clients must update their parsing code to account for this.
    - Visualizer: replaced the old SFML embedded visualizer with a new one based on the
      more modern SDL2 library. Only shows frames on screen, use other modules to convert
      your data into a dv::Frame, such as Accumulator or Event Visualizer.
    
    NEW FEATURES
    - Event Visualizer: converts events into frames without accumulation, just straight
      visualization as in the DV GUI.
    
    BUG FIXES
    - dv::Frame: update documentation on timestamps.
    - FrameHistogram: fix generation of histogram.
    - CMake: update to current best practices.
  • 1.5.3

    Release: 1.5.3
    Release 1.5.3 - 05.06.2022
    
    INCOMPATIBLE CHANGES
    - dv-filestat: removed utility from dv-runtime, is now part of dv-processing
      repository, alongside other stand-alone command-line utilities.
    
    BUG FIXES
    - Fix compilation with GCC 12 and boost < 1.79.
  • 1.5.3_internal

    Release: 1.5.3_internal
    Internal release 1.5.3.
  • 1.5.2

    Release: 1.5.2
    Release 1.5.2 - 11.04.2022
    
    NEW FEATURES
    - Frames / Events: frame and event outputs will now check that the respective
      data has the proper size/coordinates to be sent out via an output. Frames
      will always check this, events only in DEBUG mode due to performance.
    - Debug mode: use dv-processing's dv::DEBUG_ENABLED and dv::runtime_assert()
      debug functionality in place of NDEBUG and assert() macros.
    - DVXplorer: add constant, high eFPS readout modes (can dismiss events).
    
    BUG FIXES
    - Depend on dv-processing 1.4.0 for latest features.
    - Modules: require recompilation of all custom modules due to header changes.
    - Backwards compatibility: fix issue with DV_LIBRARIES not being defined in
      CMake, it is now always defined to be 'dv::sdk'.
    - Backwards compatibility: fix issues with 'dv-sdk/processing/*.hpp' includes.
    - Cameras: fix reset of buttons pressed while a module is stopped (issue #406).
    
    
    Release 1.5.1 - 25.02.2022
    
    NEW FEATURES
    - DVXplorer: add new control of readout speed (eFPS).
    - DVXplorer: add new controls for custom fine bias adjustment.
    
    BUG FIXES
    - DV-SDK: fix several backwards compatibility issues with
      changes to header files due to dv-processing.
    - LiveStream/VideoOutput: fix compilation with FFMPEG 5.0.
    - DVXplorer: remove activity detection configuration.
    
    
    Release 1.5.0 - 14.02.2022
    
    NEW FEATURES
    - DV-SDK: headers are compatible with usage together with
      the new dv-processing C++20 library.
      This will require recompilation of any custom modules!
    - Frames: frame type has a different API, is now fully based on OpenCV Mat.
    - Increased CMake requirements to 3.16, compiler to C++20, fmt to 7.1.3.
    - Deprecated dv-modules.cmake and the DV_MODULE_SETUP() function, instead
      use FIND_PACKAGE(dv 1.5.0) to import the 'dv::sdk' CMake target.
  • 1.5.2_internal

    c4c4a870 · accumulator: fix tests. ·
    Release: 1.5.2_internal
    Internal release 1.5.2.
  • 1.4.6

    Release: 1.4.6
    Release 1.4.6 - 26.08.2021
    
    BUG FIXES
    - CMake: fix reference to Boost::system in dv-modules.cmake.
  • 1.4.5

    Release: 1.4.5
    Release 1.4.5 - 23.08.2021
    
    NEW FEATURES
    - Visualizer (old): fullscreen support, set background and event
      on/off colors.
    
    BUG FIXES
    - SDK types.hpp: fixed move assignment operator return.
    - CMake: depend on newer Boost 1.73, provided by 'boost-inivation'
      package on Ubuntu Bionic and Focal. Remove internal boost-nowide.
  • 1.4.4

    Release: 1.4.4
    Release 1.4.4 - 16.07.2021
    
    NEW FEATURES
    - Native MacOS ARM (M1) builds, Big Sur compatibility.
    - Ubuntu 21.04 Hirsute support.
    - Fedora 34 support.
    - Ubuntu 16.04 Xenial is no longer supported!
    - Cameras: added support for new DVXplorer Mini camera model.
    
    BUG FIXES
    - SDK types.hpp: fixed move constructor/assignment operator.
    - Fixed compilation with Boost 1.76.
  • 1.4.3

    Release: 1.4.3
    Release 1.4.3 - 16.04.2021
    
    NEW FEATURES
    - SDK API TimeMat: the TimeMat (and thus TimeSurface) have gained
      a new method getOCVMatScaled(), this returns an OpenCV Mat suitable
      for displaying in a dv::Frame output (issue #340).
    - Automated Tests: added more tests for AEDAT2 file conversion.
    - File Input: support opening AEDAT4 files with no DataTable present.
      DataTable will be built on-the-fly, we recommend then re-recording
      the file to ensure it has a DataTable present (issue #397).
    
    BUG FIXES
    - converter: fixed AEDAT2 conversion failing due to stol() exception
      when long is 32bit instead of 64bit for time conversions (issue #398).
    - Device Discovery: fix serial number being incorrectly determined on
      Windows for already open devices (issue libcaer#123).
  • 1.4.2

    Release: 1.4.2
    Release 1.4.2 - 26.03.2021
    
    NEW FEATURES
    - Automated Tests: enhanced testing framework, easier to write tests,
      added performance tests with graphical comparison (issue #387).
    - Modules: added cycle time (run() function execution time) and
      per-input throughput statistics (issue #387).
    - SDK stats.hpp: new statistics class to easily add statistics
      about execution times and throughputs to code (issue #387).
    
    BUG FIXES
    - export_csv: improved performance of CSV text file output (issue #387).
    - eDVS: disabled device auto-discovery on Linux/MacOS, unreliable and slow
      in the presence of other USB serial devices, was already disabled on
      Windows (issue #392).
  • 1.4.1

    Release: 1.4.1
    Release 1.4.1 - 17.02.2021
    
    NEW FEATURES
    - Build: added support for Apple M1 systems with Homebrew (issue #391).
    - dv-runtime: added CLI option --console to disable logging of messages
      to console (issue #390).
    - CI: extended automated testing to ARM32, ARM64 and PPC64 architectures.
    
    BUG FIXES
    - Logging: do not log to console if started from GUI (managed runtime)
      or started as a system service, correctly set log buffers on every
      log-file opening (issue #390).
    - Converter: fixed calculation of initial time offset for AEDAT 3 files,
      was not correctly using the timezone from the file, but the host's one.
  • 1.4.0

    Release: 1.4.0
    Release 1.4.0 - 20.01.2021
    
    INCOMPATIBLE CHANGES
    
    - dv-runtime: the runtime does not have a default configuration file
      anymore that it will load/save the configuration to (issue #253).
      To load configuration from a file, explicitly pass the '-c <CONFIG_FILE>'
      command-line option. To save, set the "/system/config/saveFile" attribute
      to the path where you want to save the current configuration and then set
      "/system/config/writeSaveFile" to "true" to write the file (issue #295).
      GUI users won't have to do anything. The SystemD/OpenRC services will take
      care of resuming from saved configuration automatically as before.
    - dv-runtime: the command-line options for the dv-runtime binary have
      changed (issue #386):
      - removed -b0/1 (--background) option, runtime always executes in the
        foreground now.
      - removed -a0/1 (--allinterfaces) option, explicitly use '-i <IP>' option
        now to specify the interface to listen on, use '-i 0.0.0.0' to get the
    	old behavior of listening on all interfaces.
      - removed -o configuration override, edit a configuration file and use
        '-c <CONFIG_FILE>' if you need to start with modified configuration.
      - added -i <IP> option, use this to specify the IP address where the
        runtime will listen for new connections (default '127.0.0.1').
      - added -p <PORT> option, use this to specify the port where the runtime
        will listen for new connections (default '4040').
      - added -l <LOG_FILE> option, to specify the path where to write the
        log file (default '$HOME/.dv-runtime.log').
      - added -s0/1 (--systemservice), used for SystemD/OpenRC system service
        mode, should not be needed by normal users.
    - TCP server output: the default IP address to listen on is now the same
      as the dv-runtime's IP address, while the default port is now '0', meaning
      a random free port is chosen and then published in the configuration attribute.
      The GUI will show the actual port. You can also manually put in the value
      '7777' to get back the old behavior.
    
    NEW FEATURES
    - ConfigServer: can be started with port value of '0' (CLI '-p 0') to select
      a random port for listening to new connections, will print this as a log
      message for retrieval.
    - Modules: 'modulesSearchPath' is now initialized from the environment
      variable 'DV_MODULES_PATH'.
    - Unix Socket Output: added new module 'dv_output_net_socket' for
      Unix socket-based data output (issue #215).
    
    BUG FIXES
    - Undistort: improved efficiency of out-of-bounds pixels lookup.
    - DAVIS camera: the 'Exposure' configuration attribute is now read-only
      and not saved if 'AutoExposure' is enabled.
    - ConfigTree: report failures in opening configuration files for reading
      or writing.
  • 1.3.2

    Release: 1.3.2
    Release 1.3.2 - 22.12.2020
    
    INCOMPATIBLE CHANGES
    - Flip&Rotate: module renamed from 'dv_flip-rotate' to
      'dv_flip_rotate' for consistent naming (issue #378).
    - Crop&Scale: changed cropping configuration attributes to allow
      easier specification of Region-of-Interest to cut out, set
      output frames position to 0,0; same as events output.
    - SDK utils.h: removed dv::findBool() and dv::findIfBool() functions
      that take two iterators, no significant advantages and no real
      users. Prefer std::vector variant.
    - SDK utils.h: dv::findBool() and dv::findIfBool() for std::vector
      have been renamed to dv::vectorContains() and dv::vectorContainsIf()
      respectively, to better reflect what they do and align naming with
      the other vector helper functions present in utils.h.
    
    NEW FEATURES
    - dv-control: command-line utility now supports setting strings
      that contain spaces ("test str ing"), empty string can also be
      set using "" (issue #375).
    - DVS Noise Filter: found hot-pixels are now saved in the string
      configuration attribute 'hotPixelList', from where they are loaded
      on module startup and configuration update (issue #341). Manual
      modification of the list is also possible. This keeps the list alive
      between restarts, such as when playing back a recording.
    - SDK event.hpp: new function for event inputs 'colorForEvent(evt)',
      determines the Bayer filter color for an event based on its
      address, returns WHITE for no filter/mono (issue #381).
      Example: auto color = inputs.getEventInput("events").colorForEvent(evt);
    - std::vector/dv::cvector/dv::cstring: added fmt::format formatter to
      format/log these types directly (issue #374).
    - dv::cvector: added convenience methods contains(), containsIf(),
      sortUnique(), remove() and removeIf() (issue #374).
    - SDK modules: improve thread safety for 'log' and 'config' module
      objects access (issue #373). Disabled by default, as it's only needed
      for modules that start extra threads of their own and access these
      objects from multiple of them. To enable, add the following define at
      the start of your modules' includes:
        #define DV_MODULE_MULTI_THREAD_SAFE 1
    
    BUG FIXES
    - SDK API frame.hpp: fixed edge-case where size of backing pixels
      vector could be bigger than actual X*Y*CHAN (issue #370).
    - Device Discovery: improve log message on failure.
    - File Input, dv-filestat: fix error message on FileDataTable
      verification failure, allow FileDataTable with more than
      1 million entries (issue #380).
    - dv-filestat: stricter verification of IOHeader/FileDataTable,
      print number of elements in FileDataTable (issue #380).
    - Windows: fix invalid UTF-8 strings being sent by runtime to
      clients/GUI (issue #385).
    - Crop&Scale: correctly support cropping frames with ROI
      information present (issue #378).
    - Flip&Rotate: correctly support rotating frames with ROI
      information present (issue #378).
    - Converter: better calculation of frame pixel values, based
      on libcaer, for conversion of AEDAT 2.0 files.