Since the original release (0.0, based on GCC 4.0), the scope of micro-libgcj has expanded somewhat to make it more widely useful. The latest release, 0.1, is based on 4.1.1 and restores some elements of compatibility omitted in the first release, including synchronization, basic I/O, and collections support.
Also available is an experimental version based on a recent GCC trunk revision which provides additional I/O support, exception stack traces, and a minimal Runtime.exec() implementation (see the ulibgcj-gcc-trunk branch of the repository).
Whereas 0.0 is available as a standalone distribution, version 0.1 is available as a patch for the GCC 4.1.1 source tree. The reasons for this change are to make it easier to merge upstream changes into the project, and to allow merging our work into GCC's repository if there is interest. With this patch, either micro-libgcj or standard libgcj may be selected and configuration time, and many of the same source files are used in either case, but with different build parameters.
Other changes include: