Skip to content

JavaCPP 1.5.1

Compare
Choose a tag to compare
@saudet saudet released this 09 Jul 22:09
· 302 commits to master since this release
1.5.1
1835532

July 9, 2019 version 1.5.1

  • Make sure Generator ignores deallocators on const values returned from adapters (issue #317)
  • Accelerate Loader.extractResource() for directories already cached, also preventing failures (issue #197)
  • Avoid Parser writing allocateArray() when single int, long, float, or double constructor already exists (issue bytedeco/javacv#1224)
  • Expose all platform properties to process executed with Builder.buildCommand via environment variables, with names uppercase and all . replaced with _
  • Let Parser add @Name or @Namespace annotations to non-translated enumerators as well
  • Make Parser pick up the names of type aliases for function pointers declared with using and prevent NullPointerException
  • Fix Parser failing on lambda expressions found inside member initialization lists of constructors
  • Add special support for constexpr variables in Parser by disabling their member setters automatically
  • Fix Parser not placing & and * at the right place inside template arguments containing function declarations
  • Support more basic containers in Parser by comparing their names in a case-insensitive manner and add annotations missing from index types
  • Fix Generator taking the @By* annotation of the paired method for the index instead of the value argument of a setter
  • Fix Parser sometimes considering global C++ identifiers starting with :: as if they were local
  • Change default value for Pointer.maxPhysicalBytes to Pointer.maxBytes + Runtime.maxMemory() (pull #310)
  • Add Loader.getVersion() and checkVersion() to get versions of Maven artifacts and check against JavaCPP
  • Fix compile errors caused by Generator occurring with callback functions returning a value by reference
  • Make Builder expand entries from the user class path with * as basename to all JAR files in the directory
  • Prevent Loader from creating symbolic links pointing to themselves by comparing with Path.normalize() (pull #307)
  • Fix Loader.cacheResource() with the "jrt" protocol as used by jlink (pull #305)
  • Fix compiler error with SharedPtrAdapter and UniquePtrAdapter in callback functions (pull #304)
  • Start Pointer.DeallocatorThread with setContextClassLoader(null) as required by containers (issue deeplearning4j/deeplearning4j#7737)
  • Add -print command line option to access platform properties externally, for example, inside build scripts
  • Add to InfoMap default pointer and value types for ssize_t, char16_t, char32_t, std::u16string, and std::u32string
  • Support multiple instances of FunctionPointer subclasses, up to the value in @Allocator(max=...) (issue bytedeco/javacpp-presets#683)
  • Allow suffixing library names with : to specify exact relative paths to libraries, ignoring any additional prefix or suffix
  • Prevent Loader.load() from trying to load library files that do not exist or to create symbolic links to them
  • Let Loader.load() extract libraries suffixed with ##, but still ignored for copying by Builder
  • Make sure Loader.load() also initializes classes that are passed explicitly
  • Fix Loader.createLibraryLink() incorrectly truncating library versions when there is one before and another after the suffix
  • Iterate extensions of libraries or executables on Loader.load() in reverse to be consistent with properties overriding
  • Allow prefixing library names with : to have Loader consider them as filenames with prefix and suffix already included
  • Add Loader.loadGlobal() to load symbols globally as often required by Python libraries (issue ContinuumIO/anaconda-issues#6401)