Release Notes for 1.1.9
=======================

Release 1.1.9 of Kaffe is a "development" release.

It has been tested, but not as thoroughly as a
production release would be. It contains major 
improvements over 1.1.8, which was released 5 
months ago. I anticipate that most people will have 
less trouble with this release, and more fun.

Please check the WHATSNEW file to see what has
been added in this release.

Bug reports, comments and patches are always
welcome -- send them to the team at kaffe@kaffe.org.


How to help
===========

We would appreciate your help in making Kaffe better,
faster, and nicer. As a collaborative Free Software
project, Kaffe only gets to be as good as its users
and developers make it. If you want to track Kaffe
development, and become a part of the Kaffe community
please join the Kaffe mailing list. Instructions for
joining the list are available at 
http://www.kaffe.org/mailinglists.shtml

If you find bugs, you should report them to the Kaffe
bug tracker. The bug tracker is located at 
http://www.kaffe.org/bugzilla/

A lot of informal communication between developers 
and users happens on IRC, on the #kaffe channel on
irc.freenode.org. It's a friendly channel where 
someone may help you debug or port Kaffe, if you need
hands on help.

If you have studied proprietary JVM or class library 
source code, or signed NDAs that would prevent you from 
contributing to Kaffe, we can not take source code 
contributions from you. Otherwise, you're most welcome 
to send in patches to the Kaffe mailing list at 
kaffe@kaffe.org. If you have doubts, please ask.

An easy project to get yourself familiar with the source 
code base are cleaning up the compiler warnings on 
your platform. Every patch is welcome, and appreciated,
no matter how small.

If Kaffe doesn't pass all regression tests executed by 
'make check' on your platform of choice under your desired
configuration, patches to fix the regression failures would
also be very appreciated.

We won't ask you for copyright assignment. If you contribute 
patches to code coming from other projects, then you should
also send your patches 'upstream' to those projects, 
beside contributing it to Kaffe, so that all users of 
those upstream projects can benefit from your work.

A particularly important upstream project for Kaffe is
GNU Classpath, which provides the core class libraries.

Even if Kaffe doesn't meat your needs, you are likely
to find another Free Software runtime among the GNU
Classpath family that suits your needs better. A list
of such runtimes is available at 
http://www.gnu.org/software/classpath/stories.html#jvm

If you are not interested in hacking Kaffe, but want to 
hack on GNU Classpath instead, Kaffe provides a quick, 
efficient way to get yourself up and running with the 
latest GNU Classpath code and have a working development 
environment 'out of the box', by letting you use a
locally installed version of GNU Classpath.

Future Plans
============

Check out the TODO file for a list of things that are
planned.

If you are looking for an interesting contribution to 
make to the core VM, you may want to help with merging 
in the new JIT engine, the merge of the gcj verifier 
engine, the efforts to make Kaffe use shared libraries
complied by gcj, or the vmgen-generated interpreter from
Cacao.

We'd also appreciate help with merging in the various other
interesting developments from Kaffe forks like 
JanosVM (Isolation), Latte (Hotspot-like engine), 
BeKaffe (BeOS port), KaffeCE (WindowsCE port) and others.

Platform Matrix
===============

The following platforms have been tested for this release:
(Please check FAQ/FAQ.platform-status for a more extensive result series)

  arch	|   os	     | engine | threads |  gc   | passed
======================================================
 armel  | linux-oabi | intrp  | pthread | kaffe | 149/149
 armel  | linux-oabi | jit3   | pthread | kaffe | 123/149
 armel  | linux-eabi | intrp  | pthread | kaffe | 149/149
  i386  | linux      | intrp  | pthread | kaffe | 149/149
  i386  | linux      | jit    | pthread | kaffe | 148/149
  i386  | linux      | jit3   | pthread | kaffe | 149/149
  i386  | darwin     | intrp  | pthread | kaffe | 120/149
  i386  | darwin     | jit    | pthread | kaffe | 120/149

Platform Specific Notes
=======================

* PowerPC

An PowerPC jitter has been contributed by Tim Stack.
It still needs some effort to make sure it passes 
the regression tests. Volunteers would be very welcome.

If you don't want to hack on the PowerPC jit, and just
want to use the interpreter, please make sure that you
pass the option --with-engine=intrp to Kaffe's 
configure script.

* ARM

Kiyo Inaba has made jit3 work on ARM.

On armel linux, the interpreter works without regressions 
with both oabi and eabi. The jit engine needs more work,
though.
 
* MIPS(EL)

The jit3 implementation needs some more work. Casey 
Marshall and Kevin Kissel have looked into it. A MIPS 
hacker who would enjoy bringing the jit up to speed
would be very appreciated.

If you are just interested in running applications on
a MIPS(EL) board on Kaffe instead of hacking on the jit
please pass the option --with-engine=intrp to Kaffe's
configure script.

* Blackfin

The port has been started. Currently HelloWorld works
on the interpreter, and some other regresson tests run.
Work remains to be done both on the jitter and the 
interpreter. See FAQ/FAQ.blackfin for details.

* Cygwin

The interpreter and the jitter work with jthreads. 
When building Kaffe on Cygwin, one needs to take some 
care with configure options to get a working build. 
Please see FAQ/FAQ.win32 for details.

Have fun!

Cheers,

 - Dalibor Topic
