Releases: nativelibs4java/BridJ
Releases · nativelibs4java/BridJ
BridJ 0.7.0 (20150308)
- Added LRU pointer cache (disable with -Dbridj.cache.pointers=false or BRIDJ_CACHE_POINTERS=0), which helps keep short-lived pointer garbage to a minimum for some use cases (see [issue nativelibs4java#440]
(nativelibs4java/nativelibs4java#440)) - Added experimental support for Raspberry Pi (Linux/armhf, hard-float ABI).
- Added a new all-in-one android release zip with classes JAR (now contains no native lib), native libs, sources & javadoc.
- Added programmatic setting of library dependencies: BridJ.addNativeLibraryDependencies ([issue nativelibs4java#424]
(nativelibs4java/nativelibs4java#424)), -Dbridj.Xyz.dependencies=Abc,Def and BRIDJ_XYZ_DEPENDENCIES=Abc,Def (issue #391) - Added a very useful BRIDJ_DEBUG_POINTER_RELEASES=1 / -Dbridj.debug.pointer.releases=true mode that helps track double releases (also enabled when BRIDJ_DEBUG_POINTERS=1 / -Dbridj.debug.pointers=true).
- Added Pointer.pointerToAddress(peer, size, io, release)
- Added fallback to GCC demangler for mingw32 on Windows ([issue nativelibs4java#356]
(nativelibs4java/nativelibs4java#356)). - Added support for exact library file name ([issue nativelibs4java#424]
(nativelibs4java/nativelibs4java#424)) - Added Pointer.pointerTo(IntValuedEnum<E>) ([issue nativelibs4java#414]
(nativelibs4java/nativelibs4java#414)) - Added support for C++ namespaces ([issue nativelibs4java#446]
(nativelibs4java/nativelibs4java#446)) - Added support for @name annotations on structs and enums (allows refactoring of such classes, [issue nativelibs4java#443]
(nativelibs4java/nativelibs4java#443)) - Added support for new JNAerator-generated crossed callbacks (one with an object-heavy signature, and one with raw types, each calling the other, one of the two being overridden)
- Dropped C# runtime stubs
- Dropped linux-only and mac-only packages.
- Improved performance of all operations of Pointers with bounds (~ 25% faster).
- Improved concurrency of callbacks and structs creation.
- Improved logs ([issue nativelibs4java#328]
(nativelibs4java/nativelibs4java#328), [issue nativelibs4java#346]
(nativelibs4java/nativelibs4java#346)). - Improved C++ templates (still WIP, std::list protoype and fixed std::vector)
- Improved Grails integration with Platform.getClassLoader change ([issue nativelibs4java#431]
(nativelibs4java/nativelibs4java#431)) - Improved PointerIO caching.
- Refactored StructIO (split out description of struct and its fields as top-level entities, StructIO now just does IO). This is what justifies version bump.
- Rebuilt Linux binaries with --hash-style=both for better backwards compatibility ([issue nativelibs4java#436]
(nativelibs4java/nativelibs4java#436)) - Rebuilt Linux binaries with -z noexecstack
- Rebuilt Unix libraries with -fno-stack-protector, and force GLIBC dependency down to 2.3.4 ([issue nativelibs4java#467]
(nativelibs4java/nativelibs4java#467)) - Rebuilt Solaris binaries with statically linked libgcc ([issue nativelibs4java#452]
(nativelibs4java/nativelibs4java#452)) - Fixed C++ demangling of int vs. pointer ([issue nativelibs4java#482]
(nativelibs4java/nativelibs4java#482)) - Fixed bit fields in structs! ([issue nativelibs4java#496]
(nativelibs4java/nativelibs4java#496)) - Fixed Windows c library alias: "msvcrt", not "mscvrt" ([issue nativelibs4java#492]
(nativelibs4java/nativelibs4java#492), thanks to @rkraneis for the patch!) - Fixed multithreading crashes due to strerror ([issue nativelibs4java#450]
(nativelibs4java/nativelibs4java#450)) - Fixed @Alignment annotation
- Fixed demangling of pointer types (now stricter matching of target types, with support for callbacks).
- Fixed support for Android/arm: artifact of last two releases lacked the binary, and had to move android libs from lib/ to libs/ ([issue nativelibs4java#382]
(nativelibs4java/nativelibs4java#382)) - Fixed usage of local refs in getLibrarySymbols to avoid reaching Dalvik's limit ([issue nativelibs4java#376]
(nativelibs4java/nativelibs4java#376)) - Fixed openjdk library path (take it from sun.boot.library.path)
- Fixed VARIANT memory management: use VariantInit and VariantClear + allocate it (and other structs tagged with COMRuntime) with CoTaskMemAlloc (see [issue nativelibs4java#389]
(nativelibs4java/nativelibs4java#389)) - Fixed typo in EllipsisHelper that broke some varargs
- Fixed loading of dependent libraries on Windows using LoadLibraryEx + LOAD_WITH_ALTERED_PATH ([issue nativelibs4java#378]
(nativelibs4java/nativelibs4java#378)) - Fixed binding of c library on windows
- Fixed pointerToCStrings: don't update string array (might be causing / aggravating #397)
- Fixed native library lookup logic ([issue nativelibs4java#406]
(nativelibs4java/nativelibs4java#406)) - Fixed NPE in DefaultParameterizedType.hashCode ([issue nativelibs4java#411]
(nativelibs4java/nativelibs4java#411)) - Fixed handling of @name when demangler goes nuts ([issue nativelibs4java#413]
(nativelibs4java/nativelibs4java#413)) - Fixed FlagSet.toString() and had FlagSet.fromValue(int, E[]) to return raw enum when possible instead of always a FlagSet ([issue nativelibs4java#414]
(nativelibs4java/nativelibs4java#414)) - Fixed alignment on 32-bit linux ([issue nativelibs4java#320]
(nativelibs4java/nativelibs4java#320)) - Fixed warnings about missing vtables for COM objects ([issue nativelibs4java#355]
(nativelibs4java/nativelibs4java#355)) - Fixed disappearing MFC & STL classes in artifacts ([issue nativelibs4java#392]
(nativelibs4java/nativelibs4java#392)) - Fixed some GCC demangling shortcut cases like repeated const pointers.
- Documented effects of protected mode ([issue nativelibs4java#394]
(nativelibs4java/nativelibs4java#394)) - Documented DefaultParameterizedType.paramType (see [issue nativelibs4java#418]
(nativelibs4java/nativelibs4java#418))