Home News Products Download Buy Support About JNIEasy Download JNIEasy Buy JNIEasy JNIEasy Support
JNIEasy : Release Notes / Changes
1.2.1
1.2
1.1.0.1
1.1.0.0
1.0.0.1
1.0.0.0
0.9.1.0
0.9.0.2
0.9.0.1
0.9.0.0

1.2.1 version, 2008 March 31


  • Added Solaris x86 support. Compiled and tested on Solaris 11 (OpenSolaris x86 b85)
  • Fixed Mac OS X 10.4 (Tiger) problems.
    JNIEasy is reported to run on Tiger 10.4.5 and Leopard 10.5
  • Programmatic specification of search paths to locate native libraries calling
    JNIEasy.setFeature("java.library.path","path-list"). If this feature is specified JNIEasy uses this path list
    and ignores "java.library.path" system property. Now JNIEasy can be fully configured on runtime.
  • LD_LIBRARY_PATH or DYLD_LIBRARY_PATH is no longer needed to locate native libraries,
    (was necessary on Mac OS X), use "java.library.path" instead.
  • Updated manual and javadoc accordingly
  • Manual: added a new chapter "7.5 MAPPING NATIVE LEGACY CLASSES" showing how to access from
    Java legacy C++ classes with no source changes. Included a running example
    (ManualExamples.Mapping_native_legacy_classes() method).

1.2 version, 2008 January 18


  • Support of Mac OS X 10.4 (Tiger) and upper
  • Ant file is simplified and now true multiplatform, basePath property adjusting (/conf/conf.properties)
    no longer necessary
  • Size of JNIEasy.dll and libJNIEasy.so drastically reduced.
  • Added JNIEasy.getFeature/setFeature/hasFeature methods
  • Programmatically location of the JNIEasy's license folder calling JNIEasy.setFeature(String,Object)
    with "jnieasy.license.dir" and the license folder path (before calling JNIEasy.load())
  • Removed dependency from InnowhereUtil.jar and Xerces jars (xercesImpl.jar and xml-apis.jar),
    no longer necessary.
  • Removed dependency from InnowhereException and InnowhereXMLException, JNIEasyException
    now inherits from RuntimeException
  • Java methods wrapping native methods can now be declared as "native" (with no body)
  • Added "params" attribute to XML declarations of methods and constructors to specify the selected method/constructor when no special native configuration is necessary for parameters. Updated examples to the new compact syntax when apropriated.
  • Fixed bug: NativeTransaction.setSynchronization does nothing

1.1.0.1 version, 2007 April 25


  • License change: removed the "Audit" clause (item 12)
  • Minor license management changes (license evaluation days calc)

1.1.0.0 version, 2006 Sept 12


  • First x86 Linux version
  • New license model to open source projects: a special runtime-only JNIEasy.lic file, can be freely distributed to run JNIEasy related projects with no time limit
  • Introduced an "inspired" C macro style to define platform dependent names
    (DLLs/shared objects can have different names by platform, exported names can have different name manglings) and sizes (a user defined Java native class can have several native layouts)
  • Java primitive types can have user defined variable native sizes and alignments
  • Varargs support to call native methods like printf
  • Revised, improved and updated Manual, javadocs and tutorial
  • DLLs/shared objects are located using the java.library.path Java system environment variable
  • Optional JNIEASY_LICENSE_DIR Java environment variable to locate the JNIEasy.lic file
  • Code examples:
    • Updated to Linux and including new features
    • Directory tree reorganized to support multiple operating systems
    • Ant build.xml reorganized and updated to compile/run with Linux
    • Native code examples can be compiled with Visual C++ 6+, MinGW, cygwin and Linux gcc
    • Provided .bat and .sh files to execute the examples from command line without Ant
    • Removed CodeBlocks dependency, no GUI is needed to compile the examples (only Ant)
  • API changes:
    • Removed NativeTypeManager.decAddress(Class), changed for NativeTypeManager.decAddress()
    • New methods: NativePrimitiveUtil.toString(byte[]), NativePrimitiveUtil.toString(char[])
    • New methods related to macros: NativeTypeManager.getMacro(String) / defineMacro(...) / isDefinedMacro(String) / undefMacro(String) / getMacros() / parseTextWithMacros(String) / parseMemorySizeWithMacros(String) / getSize(String) / decPrimitive(Class,String) / decPrimitive(Class,String,String) / decString(Class,String) / decStringBuffer(Class,String)
    • New methods related to primitives with user defined memory size: NativeTypeManager.decPrimitive(Class,long,long) / decPrimitive(Class,long) / setDefaultXSize(long) / setDefaultXSize(long,long) / getDefaultX(Align)Size() where X is Boolean, Int, Char etc
    • New methods to support wchar_t with platform dependent size (2 or 4 bytes, used in Unicode strings) NativeTypeManager.getWCharTSize() / setWCharTSize(long)
    • New interfaces: TypeNativePrimitiveObject, TypeNativePrimitiveWrapper
    • New class JNIEasyNativeException throwed by native code
    • New interface: NativeParameterDec
    • Varargs support using the method VarTypeNative.decParameter(boolean)
    • Expressions like int{memSizeExpr[,prefAlignSizeExpr]} using macros can be used to declare primitive types with user defined sizes with methods like NativeTypeManager.dec(String)
  • XML changes:
    • libraryPath, nativeName and encoding attributes can use the new macro system to declare platform dependent names
    • New attributes: memSize and prefAlignSize to declare the size/alignment of primitive types using the new macro system
    • alignSize attribute can use the new macro system
    • New attribute varargs to declare a varargs parameter, or using the "Type..." syntax with dec attribute.
  • Updated javassist to v3.3
  • User defined classes enhanced/generated with previous releases, must be recompiled, re-enhanced and/or regenerated

1.0.0.1 version, 2006 June 22


  • Minor license management changes

1.0.0.0 version, 2006 June 9


  • First commercial version
  • User defined classes must be recompiled, re-enhanced and/or regenerated

0.9.1.0 version, 2006 May 30


  • Enhancer modifications: user defined classes must be recompiled, re-enhanced and/or regenerated
  • JNIEasy.getVersion() now returns the correct version

0.9.0.2 version, 2006 May 18


  • Minor modifications in the examples (erroneous use of unions)
  • Minor modifications in the documentation (erroneous use of unions)

0.9.0.1 version, 2006 May 11


  • Minor modifications in the examples

0.9.0.0 version changes, 2006 May 6


  • Initial beta release

up
Terms of Use Privacy Statement Contributor Agreement Add to deli.cio.us Single Page Interface logo ItsNat logo Innowhere logo