Skip to content

Releases: nativelibs4java/BridJ

BridJ 0.7.0 (20150308)

08 Nov 03:08
Compare
Choose a tag to compare
  • 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))