IDS peak genericC++ v1.11.0
Loading...
Searching...
No Matches
Changelog

List of changes in each version

v1.11

Breaking changes

  • Specify file path encoding as UTF-8 when loading and saving .cset files.

    This changes the encoding under Windows. For Linux, UTF-8 the is default encoding.

  • Fix GC_ERR_BUSY being incorrectly mapped to an InternalErrorException

    Now the GenTL error GC_ERR_BUSY will be mapped to a BadAccessException

Features

Bug Fixes

  • Fix that the destructor of the EventController does not unregister the event, if a WaitForEvent call is still running.
  • Remove the caching of the ValidValues for Float and Integer nodes

    According to the GenICam Standard the ValidValues are influenced by the min and max of the node, so the list may change and is not static. As such, the caching of the values is illogical and was removed.

v1.10

v1.9

v1.8

  • Add Buffer::HasParts to check if a Buffer has parts
  • Add BufferPartTo to create an Image from a buffer part
  • Add ids_peak_ipl_extension_dotnet assembly to the .NET bindings:
  • Add new NoDataException
  • Python Bindings:
    • The bindings now embed their direct runtime dependencies, excluding the transport layers and drivers.
    • Indirect dependencies are resolved using package requirements, which means that the ids_peak package now has a depedency to the ids_peak_ipl due to the ids_peak_ipl_extension.
  • Fix BufferPart::Height calling the wrong backend function

v1.7.3

  • Fix an error using the callbacks in python with a non-static class resulting in a segfault at program exit
  • Breaking change in the python bindings:
    • Changed the parameter name and returned type of register and unregister callback functions

v1.7.2

v1.7.1

  • Increased stability of the FirmwareUpdater
  • Add digital signature to dotnet assemblies
  • Fixed a SIGABRT in QueryStringFromCInterfaceFunctionWithBufferSize when the second call returned with an error code

v1.7

v1.6.2

  • Fix a segfault when calling DeviceManager::Update() without initializing the library first
  • Change DeviceDescriptor to directly use a buffer for string queries and fall back to query the buffer size on failure

v1.6.1

v1.6

v1.5

  • Add a signed .NET binding library for strong-named assemblies support
  • Fix possible data race in two stage queries
  • Breaking changes
    • The DeviceManager is created on the first call to Library::Initialize and destroyed on the last call to Library::Close. Calling DeviceManager::Instance and using references or pointers to this instance outside of these two calls will result in undefined behavior or a program crash

v1.4.3

v1.4.2

  • New cmake packages for both windows and linux, which now take care of adding their respective include directories
  • Samples have been simplified using these new packages
  • Add new cmake function ids_peak_deploy to take care of copying dependent files(i.e. DLL's) into your targets output directory
  • Add corresponding function ids_peak_dotnet_deploy when using dotnet
  • Add new cmake function ids_peak_generate_starter_script to take care of generating a .sh script to start your application on linux
  • Add new python module ids_peak_ipl_extension
    • Add BufferTo() function for python, called BufferToImage
  • Add specific functions for NodeMap::FindNode(), Node::FindInvalidatedNode(), Node::FindInvalidatingNode(), Node::FindSelectedNode() and Node::FindSelectingNode() in .NET binding, for IDE's that don't support generic methods in C#
  • Fix buffer chunks and parts not getting freed
  • Fix nullptr checks in the interface

v1.4.1

  • Fix issue where third party transport layers could cause an error when updating the device list

v1.4

v1.3

  • Fix segfault when accessing certain nodes like height and width with peak python bindings on Raspberry Pi 4
  • Fix incompatibility between compilers using python bindings on Debian 10 armhf (e.g. Raspberry Pi 4)
  • Fix crash when throwing exceptions, caused by GenTL returning an empty error message
  • Fix issues regarding peak_dynamic_loader.h
  • Breaking changes
  • Fix breaking change: Add backwards compatibility for stdcall symbols

v1.2.2

  • Add option for dynamic loading of shared library
  • Add fixed ordinal numbers in Windows DLL, for future ABI compatibility
  • Breaking changes
    • Change calling convention of the C interface functions from stdcall to cdecl.

v1.2

  • Add Python binding
  • Add support for GenICam remote device events
  • Add a method for accessing the raw event data
  • Add methods for checking whether the node map contains a node with a given name (and type)
    • NodeMap::HasNode() to check whether a node with a given name exists
    • NodeMap::HasNode<T>() to check whether a node with a given name and type exists
  • Add a method for checking whether a node is a feature, i.e. it can be reached via category nodes from a category node named "Root"
  • Add a method for locking the NodeMap in multithreaded usage
  • Accept remote devices which report an URL string which does not strictly comply with the GenTL standard in respect to letter case
  • Improve stability and error safety
  • Improve Doxygen documentation
  • Breaking changes

v1.1

v1.0

  • Initial release