* NEWS: Added release 0.98.
[cacao.git] / NEWS
1 New in release 0.98 (xxx xx, 2006)
2
3   * Implemented Class/Method/Field getSignature.
4
5
6 New in release 0.97 (October 30, 2006)
7
8   * New instruction format.
9   * New intermediate representation with unified variables.
10   * Local subroutine elimination.
11   * Fixed the interpreter - it runs eclipse now.
12   * New stack-based verifier (used for -Xint).
13   * Boehm GC updated to version 6.8.
14   * Added enable/disable system assertion support (-esa/-dsa).
15   * Initial javax.management support.
16   * Initial sun.misc.Unsafe (JSR166) support.
17   * Added failed class as message to ClassCastException's.
18   * AttachCurrentThread, DetachCurrentThread, and
19     AttachCurrentThreadAsDaemon implemented.
20   * libjvm is now opened via dlopen (removed -rpath stuff).
21   * Data segment now reuses values (if possible).
22
23   * Fixed AbstractMethodError bug.
24   * Fixed builtin_isanysubclass (BeanShell bug).
25   * Fixed a memory leak in dump memory.
26   * Fixed a bug with DUP2_X1 and DUP2_X2.
27   * Safe decoding of invalid UTF-8 sequences in NewStringUTF.
28   * Fixed line numbers in exceptions thrown through the JIT.
29   * Proper null-check for MONITOREXIT.
30   * Many low-level jasmin tests added.
31
32
33 New in release 0.96 (May 29, 2006)
34
35   * New tasuki lock implementation resolves deadlock problems on
36     multi-processor machines.
37   * Handle Miranda-methods properly.
38   * try-catch line number problem with jikes fixed.
39   * Added support for libjvm.so (including invocation API).
40   * Stripped down object code size of code generators.
41   * Increased default maximum heap size to 128MB and decreased default
42     stack size to 64kB.
43   * Cleaned up internal handling of Unicode strings.
44   * Fixed getResources of bootstrap classloader.
45   * Correct handling of boot packages (provided glibj.zip contains a
46     jar index).
47   * Exception handling fixes (don't allocate memory on Java heap).
48   * x86_64's code generator generates not RISC-style code.
49   * Green threads implementation removed.
50   * Semaphore implementation for Darwin (taken from Boehm).
51   * sem_wait interrupted by signal fixed.
52   * Overflow in Object.wait() (partially) fixed (caused busy waiting
53     in JOnAS).
54   * Store JNI global refs in native hashtable instead of Java
55     hashtable (bootstrap problem).
56   * Argument passing fixed for powerpc-linux (asm_vm_call_method).
57
58
59 New in release 0.95 (February 13, 2006)
60
61   * Dead-lock bugfix.  This should fix the random dead-locks seen in
62     Eclipse or other applications.
63   * Search for suitable jar program during configure, can be specified
64     via JAR environment variable
65   * --enable-zlib bugfix
66   * i386 bugfix: Set FPU to 64-bit on VM startup (fixes Debian bug
67     #350729)
68   * powerpc bugfix: (M_COPY): Handle longs and doubles properly.
69   * Fixed instructions copying stackslots (like DUP_X1).
70   * Fixed classcache-related problem with java.lang.reflect.Proxy.
71   * Throw correct exception when trying to load a directory
72     as a classfile (from a .zip file).
73   * Fixed incorrect method resolution when calling instance methods 
74     through JNI (fixes CACAO bugs #17 and #18).
75
76
77 New in release 0.94 (January 22, 2006)
78
79   * support compilation of Interpreter and JIT compiler into one binary (not
80     enabled by default)
81   * bootstrap ZIP code rewrite (VM startup time improvement)
82   * fixed JNI DirectByteBuffer functions, jogl works now
83   * removed most third-party files from the repository, we link to the
84     libraries instead
85   * removed VM interface Java files which were identical to the GNU
86     Classpath upstream version
87   * added defineClassWithTransformers to java.lang.VMClassLoader, now we are
88     able to build against the generics branch
89   * Java compiler which should be used during compilation can be specified
90     via JAVAC environment variable
91   * a lot of bugfixes
92
93
94 New in release 0.93 (November 23, 2005)
95
96   * Java 1.5 support
97   * JIT codegenerators for Arm and MIPS (32-bit, -o32), currently
98     closed-source
99   * integration of a vmgen-based interpreter (--enable-intrp)
100   * removal of GNU classpath, CACAO now uses upstream releases or CVS
101     head versions
102   * finalizer thread
103   * JNI local references implemented
104   * reflection fixes and access checks (mauve tests)
105   * linear scan register allocator (-lsra)
106   * lazy resolving fixes
107   * fixed instanceof instruction
108   * updated to Boehm GC 6.6
109
110
111 New in release 0.92 "Tomclipse" (July 14, 2005)
112
113   * runtime lazy-loading with code patching
114   * dynamic library loading on every platform we support (using
115     libltdl)
116   * new ICMDs (PUTSTATICCONST, PUTFIELDCONST)
117   * some ICMDs inlined (IDIV/IREM, LDIV/LREM, AASTORE, ARRAYCHECKCAST)
118   * register allocator uses unused argument registers
119   * stacktraces on MIPS, PowerPC and x86_64
120   * integration of GNU classpath's system class loader
121   * internal class loading code more Java VM Spec compliant
122     (classcache, loading constraints, ...)
123   * virtual function table bugfix (abstract class implements not all
124     interface methods)
125   * initial support for thread dump on SIGQUIT (<ctrl>-\) on most
126     platforms
127   * GNU classpath 0.16
128   * Boehm GC 6.5
129
130
131 New in release 0.91 (December 23, 2004)
132
133   * bug fixed in MULTIANEWARRAY
134   * field access related bug fixes
135   * native function call bug fixes
136   * smaller fixes...
137
138
139 New in relaese 0.90 (December 8, 2004)
140
141   * More architectures supported: At the moment, CACAO is able to run on
142     Alpha, MIPS (64-bit), x86, x86-64 and PowerPC (32-bit) architectures.
143   * Native thread support
144   * Java 1.4 support
145   * GNU classpath 0.12
146   * Preliminary AWT support
147   * Boehm garbage collector
148   * Reentrant JIT compiler
149   * Lots of bug fixes and conformance enhancements
150   * Lots of bugs introduced and not fixed
151
152
153 * Version 0.40 (released)
154 =========================
155
156 ** Boehm garbage collector supported
157 ------------------------------------
158
159 The --enable-gc2 options was replaced by --with-gc. Choose boehm for the
160 Boehm garbage collector. Also see README.boehm.
161
162 ** mips port
163 ------------
164
165 Now runs on some SGI systems, which are based on the mips architecture.
166
167 ** multiple bug fixes
168 ---------------------
169
170 Even more java programs work as expected!
171
172
173 * Version 0.35 (experimental)
174 =============================
175
176 ** autoconf, automake support
177 -----------------------------
178
179 Finally moved the entire distribution to autoconf/automake. This should fix
180 some of our problems with supporting different compilers. Thread support and
181 the use of the new garbage collector can be enabled/disabled from using
182 configure arguments:
183
184         --enable-threads [default]
185         --disable-threads
186
187         --enable-gc2 [default]
188         --disable-gc2
189
190 ** new garbage collector
191 ------------------------
192
193 Included the new garbage collector as default garbage collector. 
194
195 * Version 0.30 (released)
196 =========================
197
198 Added unlimited stack for GC and main thread. 
199 Some optimzations for instructions which operate on constants. 
200
201 * Version 0.20 (released)
202 =========================
203
204 Hardware null pointer check added, fixed severe errors in GC/Threads, type
205 check and IEEE arithmetic.
206
207 * Version 0.20beta (can't remember)
208 =========================
209
210 There is a completely new JIT compiler which is about 7 times faster and
211 produces better code. 
212 Multithreading is now supported. 
213 A lot of bugs have been fixed.
214
215 * Version 0.10 (ancient history)
216 ==============
217
218 The initial version included the old JIT and support for lang, util and io.