List of changes in each version
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
- Changed the dotnet bindings to use .NET Standard 2.0.
- Changed the python bindings to release the GIL for long-running functions
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
- Add .NET binding
- Add methods for storing/loading camera parameters, i.e. NodeMaps, to/from file
- Add methods for updating chunk nodes in NodeMap
- Breaking changes
v1.0