JavaCpp v0.8 Release Notes

Release Date: 2014-04-28 // almost 10 years ago
    • Move from Google Code to GitHub as main source code repository
    • Place build-time classes in the org.bytedeco.javacpp.tools package and bring out static nested classes, in an effort to avoid conflicts and ease development
    • Rename the com.googlecode.javacpp package to org.bytedeco.javacpp
    • Added public long Pointer.address() getter method, useful when one needs to subtract two pointers
    • Removed old NetBeans project files that cause a conflict when trying to open as a Maven project (issue javacv:210)
    • Fixed compilation error on FunctionPointer classes containing no native callback methods
    • Added a platform.library.path property, such as "lib/armeabi/" in the case of the "android-arm" platform, to be used instead of "package/platform" (issue javacv:427)
    • Generalized references to the path of the Android NDK
    • Improved a few small things in the set of Pointer classes
    • Introduced a simple Logger class and unified the logging output calls around it
    • Unified the property names with the @Properties and @Platform annotations into a consistent naming scheme
    • Continued to clean up the Parser and improve the support of, for the most part, comments, enumerations, functions pointers, anonymous struct or union, templates, overloaded operators, namespaces, standard containers, default parameter arguments, multiple inheritance, custom names of wrapped declarators, and helper classes written in Java
    • Annotations such as @Adapter or @ByVal are no longer ignored on parameters of getters or setters annotated with @Index
    • Fixed some other corner cases in Generator and a few potential issues with the hacks in Loader
    • Added for convenience to PointerPointer a generic parameter <P extends Pointer> and the associated get(Class<P> ...) getters, as well as String getters and setters
    • Passing a Class object as first argument to a native method that returns a Pointer now determines the runtime type of that returned object
    • Generalized somewhat more the compiler options used inside linux-arm.properties (issue javacv:418)
    • Unified the function pointer type of native deallocators to void (*)(void*)
    • Removed dependency on (efficient) AllocObject() and CallNonvirtualVoidMethodA() JNI functions, which are not supported by Avian
    • Cleaned up and optimized Generator a bit, also fixing a crash that could occur when FindClass() returns NULL