Changelog

Changes from JNode 0.2.8 to current SVN trunc version

Changes from JNode 0.2.7 to JNode 0.2.8

Features
========
progress with OpenJDK integration
class library updated to OpenJDK6 b13
JNode now builds  with both Java 6 SE and OpenJDK6+IcedTea
javac source level and target level raised to 1.6
introduced mauve based regression testing
improved isolate support
added isolate invoker
added Russian keyboard support
improved NTFS support
added HFS+ formatter
progress with Bjorne shell
improved modal dialogs
console & shell improvements
a large number of bug fixes and improvements in the overall system
aiming better Java compatibility, stability and performance
real world applications starting to work: Jetty + recent Servlet/JSP examples, 
   PHP with Jetty + Quercus, JEdit, Groovy


Contributors to this release
============================
Levente Sántha
Fabien Duminy
Peter Barth
Martin Husted Hartvig
Stephen Crawley
Fabien Lesire
Daniel Noll
Tim Sparg
Stephen Meslin-Weber
Sergey Mashkov
Ben Bucksch

Incoming changes for the next release

Features
============================

  • added gzip/gunzip commands
  • added find, head and tail commands
  • integration of JIIC as a pure java replacement of mkisofs

Contributors to this release
============================

  • name of the author of gzip/gunzip command (who is it ?)
  • bananenkasper
  • Tim Sparg
  • cluster
  • Wooden

Special thanks to Jens Hatlak for integrating our patch to JIIC (version named "a "JNode release")

Note to committers : This topic will serve to build the changelogs for the next release (and avoid searching at release time).
Feel free to add the new features and their author (the patch submitter or, by default, you)

Changes from JNode 0.2.6 to JNode 0.2.7

Features
========
Integrated the OpenJDK implementations of Swing and AWT
Improved java.awt.Graphics and Graphics2D
Improved BDF font rendering
Added VESA based frame buffer support
Added a frame buffer based console with custom backgrounds
Implemented software cursor support
Added a JPEG decoder
Various ImageIO improvements
Added a Samba file system (rw) and support for smb:// and nfs:// URLs
Replaced argument syntax and completion framework for shell commands
Converted existing commands to the new syntax framework
Added a configure tool for the JNode build environment
Various bugfixes to networking, memory management, math support, FAT support, and the core VM.

Contributors to this release
============================
Levente Santha
Fabien Duminy
Peter Barth
Martin Husted Hartvig
Stephen Crawley
Fabien Lesire
Chris Boertien
Brett Lawrence
Daniel Noll
Jacob Kofod
Ian Darwin
Helmut Dersch
Stephen Meslin-Weber

Changes from JNode 0.2.5 to JNode 0.2.6

Features
========

More progress with OpenJDK integration
Wildcards support in shell
NTFS improvements
NFS2 read write support
Command shell improvements
Improved support for pipes and command completion
Experimental Bjorne shell implementation
Added support for JDBC drivers
Fixed object serialization
Support for prefrences API
Improved support for native methods
Code hotswapping support
Fixed DNS support
Included Jetty6, Servlet and JSP support
Read-only HFS+ file system
File System API refactoring & improvements
Experimental telnet server
Added CharvaCommander
Improved BDF font rendering

Contributors to this release
============================

Levente Santha
Martin Husted Hartvig
Fabien Duminy
Fabien Lesire
Stephen Crawley
Daniel Noll
Andrei Dore
Ian Darwin
Peter Barth
Robert Murphey
Michael Klaus
Tanmoy Deb
GriffenJBS (jstephen)

Changes from JNode 0.2.4 to JNode 0.2.5

Features
========

Openjdk integration, roughly 80% completed
Included standard javac and javap from openjdk
Targetting Java 6 compatibility
Build process migrated to Java 6
netcat command
Improved Image I/O support
Improved build process (parallel build using fork)
Included BeanShell and Rhino (JavaScript) as scripting languages
(encouraging results with Jython, Kawa (Scheme), JRuby 1.0 and Scala)
Improved Eclipse support
Nanosecond accurate timer
Started JNode installer (grub support)
Improvements in text consoles
Experimental via-rhine NIC driver
PXE booting support for via-rhine
ANT is getting usable
Improved support for mauve based tests
A mechanism for supporting the native keyword for arbitrary applications
Experimental support for isolates (static data isolation, access to fs/net/gui from isolates)
Various gc and memory management related improvements
Improvements to jfat and ext2 filesystems
Promising experiments with JPC running under JNode and running FreeDOS on the JPC/JNode stack
Support for transparency in the GUI
Many improvement to command execution and input/output streams of commands
Introduced 'proclets' - small programs running in the same isolate with their own in/out/err streams
Proper command line editing and input line history for third party command line based programs (like bsh, rhino)

Contributors
============

Andrei Dore
Daniel Noll
Fabien Lesire
Fabien Duminy
Giuseppe Vitillaro
Levente Sántha
Michael Klaus
Martin Husted Hartvig
Peter Barth
Stephen Crawley
Tanmoy Deb

Changes from JNode 0.2.3 to JNode 0.2.4

Changes from JNode 0.2.3 to JNode 0.2.4

  • JFat - a FAT32 file system implementation
  • RamFS - a simple in-memory file system
  • FTPFS - a read-only FTP based file system
  • javac command, included with the use of Eclipse JDT compiler
  • Integrated standard java tools: jar, native2ascii, serialver etc. from GNU Classpath
  • Text console improvements
  • Swing based console
  • New textconsole based editor
  • Many classpath patches
  • ImageIO support for PNG, GIF and BMP images from GNU Classpath
  • BDF font support
  • Changable desktop Look & Feel
  • Isolate (JSR 121), not fully supported
  • Simple webserver under JNode
  • Various bugfixes in the resource loading, ISO9660, socket writing
  • Basic support for development under JNode

Changes from JNode 0.2.2 to JNode 0.2.3

Changes from JNode 0.2.2 to JNode 0.2.3

  • Many classpath patches
  • Improvements in AWT, Swing and desktop support
  • Various bugfixes in the JIT compiler, ISO9660 support, JIFS
  • Better support for testing JNode with Mauve (mauve plugins, invoker commands)

Changes from JNode 0.2.1 to JNode 0.2.2

Changes from JNode 0.2.1 to JNode 0.2.2

  • Added annotation support
  • Implemented much improved font renderer (can be enabled by setting the jnode.font.renderer property to "new"
  • Various performance improvements of native code compiler (invoke of final methods, optimized tableswitch)
  • Massive classpath improvements
  • Major GUI improvements

Changes from JNode 0.2.0 to JNode 0.2.1

Changes from JNode 0.2.0 to JNode 0.2.1

  • Implemented field alignments to minimize object size
  • Added fragmented plugin support
  • Added include support for plugin-list files
  • Many improvements on the gui
  • Fixed OpenMP detection bug
  • Many Classpath patches
  • Many memory usage improvements
  • Updated java.io to use NIO classes

Changes from JNode 0.1.10 to JNode 0.2.0

Changes from JNode 0.1.10 to JNode 0.2.0

  • Change J2SDK requirement to 5.0
  • Added support for most of the 5.0 language features (except annotations)
  • Added automatic creation of java.io.tmpdir
  • Many classpath patches
  • Automatic mounting of the jifs (information) filesystem
  • Added kill command
  • Sending output from shell commands to file
  • Piping between shell commands
  • Kill job/command when pressing ctrl+c in the shell

Old changelogs

You'll find the changelogs for old releases below.

Changes from JNode 0.1.9 to JNode 0.1.10

Changes from JNode 0.1.9 to JNode 0.1.10

  • Ported to AMD64
  • Improved ACPI structure
  • Improved BIOS structure
  • Renamed jnodesys.gz bootable image to jnode32.gz / jnode64.gz
  • Added classpath command
  • Added onheap command
  • Added JIFS JNode information filesystem
  • Lots of GNU Classpath patches
  • Addition of kernel debugger
  • Change in method calling approach (improves performance)

Changes from JNode 0.1.8 to JNode 0.1.9

Changes from JNode 0.1.8 to JNode 0.1.9

  • Major GUI improvements
  • AWT & Swing now work for a large part
  • Improve ATI radeon driver
  • Lots of classpath updates

Changes from JNode 0.1.7 to JNode 0.1.8

Changes from JNode 0.1.7 to JNode 0.1.8

  • Added L1A baseline compiler with register allocation
  • Fixed build system for build with J2SDK 5.0
  • Major performance improvements
  • Detection of multi-processor systems
  • Lots of updates of Classpath
  • Lots of bugs fixes

Changes from JNode 0.1.6 to JNode 0.1.7

Changes from JNode 0.1.6 to JNode 0.1.7

  • Added Code security using Java Security architecture implementation.
  • Completed Lance network driver for VMWare 4
  • Improved IDE support
  • Improved PS2Mouse driver
  • Added runtime load/unload/reloading of plugins
  • Added runtime load/unload/reloading of device
  • Added ATI Radeon driver
  • Added Ext2 R/W support
  • Added Ext2 Format support
  • Added NT bootloader support using NT-GRUB
  • Many Classpath updates
  • Added reboot support
  • Added ATAPI driver
  • Added ATAPI-SCSI bridge driver
  • Added SCSI CDROM driver
  • Added ISO9660 filesystem
  • Improved KeyboardInterpreter framework
  • Added various keyboard interpreters
  • Lots of bugfixes

Changes from JNode 0.1.5 to JNode 0.1.6

Changes from JNode 0.1.5 to JNode 0.1.6

  • Added CHARVA based application support. Charva is now fully supported. Try charva.awt.Tutorial for an example
  • Added workmanager for asynchronous execution of small pieces of work
  • Added device startup timeout detection
  • Implemented method inlining
  • Removed interpreter, all code is now compiled before being executed
  • Improved the garbage collection, it is now triggered after 75% of the free memory has been allocated
  • finalization now works according to the specification
  • Moved build to Ant 1.6.0
  • Addition of initial jar support
  • Addition of read-only NTFS filesystem driver
  • Update the console management to work with named consoles instead of indexed consoles.
  • New shell command available to manage consoles.The command has the alias "console"

Changes from JNode 0.1.4 to JNode 0.1.5

  • Added DNS client
  • Added read-only ext2 filesystem
  • Added initial GUI widget toolkit
  • Improved VM performance for interpreted & compiled code
  • Extended DeviceToDriverMapper interface to support "best match" drivers
  • Changed scheduling to yieldpoint scheduling
  • Added thread command
  • Added memory command
  • Added class command
  • Addition of Ramdisk
  • Addition of RTL8139 network driver
  • Addition of USB keyboard driver
  • Addition of USB HUB driver
  • Addition of USB mouse driver
  • Addition of USB framework
  • Addition of TCP over IPv4 layer
  • Addition of LOG4J support, debug logging into second console

Changes from JNode 0.1.3 to JNode 0.1.4

  • Addition hardware mouse support
  • Various bug fixes
  • Addition of logging via UDP connection
  • Addition of FDISK command
  • Addition of ACPI driver
  • Addition netboot target in Grub menu
  • Addition of DDC1 (monitor data) read-out
  • Addition of NVidia driver
  • Wheelmouse scrolls text-console
  • Addition Mouse driver
  • Improved build performance
  • Various graphics enhancements
  • Addition TrueType Font provider
  • Addition Font Manager

Changes from JNode 0.1.2 to JNode 0.1.3

  • Addition of a common help system for shell commands
  • Addition of Command Line Completion
  • Addition of Shell history
  • Addition of VMWare SVGA driver
  • Addition of VGA driver
  • Addition of initial FrameBufferAPI
  • Replaced synchronization implementation by thin-locks. It is now much faster!
  • Replaced RTC.getTime implementation. It now only creates one calendar for each thread instead of each invocation
  • Addition of compile command, to force the compilation of a given class
  • Addition of plugin command, to list all known plug-ins
  • Replaced invokeinterface implementation by IMT based implementation
  • Addition of Interface Method Table (IMT), a selector indexed array with support for index collisions
  • Replaced instanceof and checkcast implementation. The new implementation used a superclasses array found in the TIB
  • Replaced Virtual Method Table (VMT) by Type Information Block (TIB), an extended version of the old VMT
  • Replaced NetworkLayerManager.(un)registerLayer functions with extension-point
  • Replaced DeviceManager.(un)registerMapper functions with extension-point
  • Addition of plug-in architecture
  • Replaced Shell Command interface with an alias mechanism and static void main(String[]) methods
  • JNode has been verified to build using J2SDK 1.4.2

Changes from JNode 0.1.1 to JNode 0.1.2

  • JNode can now be build using J2SDK 1.4.2 (beta)
  • Addition of kernel parameters in systemproperty jnode.cmdline
  • Addition of line numbers in stacktrace for compiled methods
  • Addition of floppy driver
  • Addition of device command
  • Addition of bootp command
  • Addition of help command
  • Addition of halt command
  • Addition of netstat command
  • Addition of route command
  • Addition of arp command
  • Addition of ifconfig command
  • Addition of BOOTP over IPv4 client
  • Addition of UDP over IPv4 layer
  • Addition of ICMP over IPv4 layer
  • Addition of IPv4 layer
  • Addition of ARP layer
  • Addition of 3c90x driver
  • Addition of RealTek 8029 driver
  • Addition of network framework