This file is best viewed in emacs outline mode. * What is New in Release 0.2.0 ** Pluggable Verification Modules finally in place. ** Various improvements to VM, especially on reflection facilities. * What is New in Release 0.1.2 ** VM feature *** reflection ** JNI *** Throw *** ThrowNew *** ExceptionOccurred *** AllocObject *** NewObject/V ** Class Library *** java.lang.ref Array, Field, Constructor, and Method are almost 1.3 compliant, except for the accessibility checks. * What is New in Release 0.1.1 ** VM Internal *** Access control and loading constraints are now enforced. *** Native method binding is now 1.2 compliant. Native libraries are now associated with classloaders, which also specifies the location of the native libraries. Native methods now bind only to functions from native libraries loaded by the defining classloader of classes in which the methods are declared. *** SourceFile and LineNumberTable attributes are now recognized. Stack traces now reflect these information. ** JNI *** CallStaticFloatMethod/V/A *** CallStaticDoubleMethod/V/A *** GetStaticFloatField *** GetStaticDoubleField *** SetStaticFloatField *** SetStaticDoubleField *** GetFieldID *** Get(Type)Field *** Set(Type)Field *** GetMethodID *** Call(Type)Method/V/A *** CallNonvirtual(Type)Method/V/A *** GetStringUTFLength *** GetStringUTFChars *** ReleaseStringUTFChars *** GetArrayLength *** JNI_OnLoad *** JNI_OnUnload ** Class library *** More system properties are recognized. i.e. user.name, user.home, user.dir, os.version, os.name, os.arch. ** Bug fixes *** Bug fixes in the bootstrapping, configuration, and build scripts. *** More robust memory management at preparation time. *** Bug fixes related to invokeinterface and invokespecial. *** Array classloading is now functioning properly (w/o type confusion!). *** Now works with code generated by IBM's jikes compiler. *** Constant static field initializers now function properly. *** The wrapper app, aegisvm, now recognizes classnames with package prefixes. *** Fixed bugs in String.lastIndexOf(char) and String.lastIndexOf(String) *** Default constructor for ClassLoader now uses system classloader as parent. Used to use bootstrap classloader as delegation parent. *** Bug fix in JNI function GetStaticObjectField. * New Features in Release 0.1.0 ** VM Internal *** Support for float and double *** Dynamic loading of native libraries *** Foundations for implementing reflections ** Bytecode Instructions *** Support for all bytecode instructions (except that monitorenter and monitorexit doesn't actually has any synchronization effect). New instructions include all the float/double instructions, the jsr/ret family, and monitorenter/monitorexit. ** JNI Functions *** Get(Type)ArrayElements *** Release(Type)ArrayElements ** Class Library *** VM now interoperates with GNU Classpath class library. *** Most classes in java.lang are implemented See FEATURES file for details ** Misc *** Lots of bug fixes. *** Better documentation for VM hackers. *** Doxygen generated documentation. *** Code is restructured to reduce the entropy introduced in the 0.0.x cycle. *** Invoking unimplemented JNI functions now fails an assertion. *** Invoking unimplemented methods of built-in classes now raises an exception.