Releases: bytedeco/javacpp
Releases · bytedeco/javacpp
JavaCPP 1.5.1
July 9, 2019 version 1.5.1
- Make sure
Generator
ignores deallocators onconst
values returned from adapters (issue #317) - Accelerate
Loader.extractResource()
for directories already cached, also preventing failures (issue #197) - Avoid
Parser
writingallocateArray()
when singleint
,long
,float
, ordouble
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 withusing
and preventNullPointerException
- Fix
Parser
failing on lambda expressions found inside member initialization lists of constructors - Add special support for
constexpr
variables inParser
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
toPointer.maxBytes + Runtime.maxMemory()
(pull #310) - Add
Loader.getVersion()
andcheckVersion()
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 withPath.normalize()
(pull #307) - Fix
Loader.cacheResource()
with the "jrt" protocol as used by jlink (pull #305) - Fix compiler error with
SharedPtrAdapter
andUniquePtrAdapter
in callback functions (pull #304) - Start
Pointer.DeallocatorThread
withsetContextClassLoader(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 forssize_t
,char16_t
,char32_t
,std::u16string
, andstd::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 byBuilder
- 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 haveLoader
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)
JavaCPP 1.5
April 11, 2019 version 1.5
- Have
Parser
outputsetter
as dummy parameter name for setter methods to clarify usage - Add
Indexer.strides(long... sizes)
and use as default strides when not specified by the user - Add
long...
constructors, getters, and setters toCLongPointer
andSizeTPointer
for convenience - Fix some
Generator
issues withFunctionPointer
passed or returned@ByPtrPtr
- Use ModiTect to compile
module-info.java
with JDK 8 and preserve backward compatibility - Add
platform.executable
andplatform.executablepath
properties to bundle executables and extract them withLoader.load()
- Create symbolic links for all libraries preloaded by
Loader
as they get loaded to satisfy libraries like MKL - Prevent
ClassCastException
inLoader
on illegal system properties (issue #289) - Fix
Parser
not replacing all type names of the base class withInfo.flatten
(issue #288) - Let
BuildMojo
return to the Maven project the detected host platform as${javacpp.platform.host}
- Have
BuildMojo
output a JPMS friendly name for the platform and extension back to the Maven project as${javacpp.platform.module}
- Add
Builder.clean
option to delete theoutputDirectory
before generating files - Let
Parser
pick upInfo
explicitly for all constructors by considering their names as functions (issue #284) - Fix
Parser
not always generating files using the simple names of classes - Add a
BuildMojo.targetDirectories
parameter to allow setting multiple directories where to find generated Java files - Add
Parser
support for attributes appearing afterstruct
declarations (issue bytedeco/javacpp-presets#685) - Fix
Parser
overlookingInfo
for constructors inside namespaces or templates (issue #284) - Fix
Parser
applying someInfo.annotations
at the wrong place (issue #284) - Make
Parser
behave the same with@Properties
having only one out ofglobal
ortarget
value set - Enhance
UniquePtrAdapter
with the ability to move pointers out with the&&
operator - Let
Parser
map constructors also for abstract classes withInfo.virtualize
- Fix
Parser
taking theglobal
package as thetarget
package even when both are set - Consider
@Properties(global=..., helper=...)
class names without "." as relative totarget
(pull bytedeco/javacpp-presets#669) - Use regex in
Parser
to translate more Doxygen commands into Javadoc tags (pull #278 and pull #281) - Do not let
Parser
mapoperator=()
when prefixing container name withconst
(pull #280)