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