changelog.mkd 4.89 KB
Newer Older
1
2
# Changelog

3
# 0.4.0 (May 19, 2019)
4

5
Now SquirrelJME has the SummerCoat virtual machine which is much lighter and
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
6
7
faster than SpringCoat. There should definitely be very noticable performance
increases.
8

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
9
10
11
SquirrelJME is also available on RetroArch since the implementation of
RatufaCoat which is written in C and is capable of using the SquirrelJME
Runtime.
12

13
14
15
16
17
_Note that this is a work in progress and not everything will run, due to_
_the implementation being incomplete. However it does work and is proven to_
_work, which means progress can continue as such. Later releases of_
_SquirrelJME will always be an improvement over the older versions._

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
18
More detailed changes:
19

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
20
21
22
23
24
 * Build system
   * Launching
     * An alternative VM may be specified.
     * The profiler snapshot can be written to a specific file.
     * System properties may be defined and passed to the launched program.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
25
   * Started work on JavaDoc generation.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
26
27
28
29
30
31
32
33
34
35
36
 * Tests
   * Adjusted the results in the logarithm test to adjust the ulp to what
     SquirrelJME generates. The results are still valid as it is valid to
     be within a 1 ulp range, however the test framework only supports
     exact values.
   * Added the missing _mimemessage_ file for the MIME file decoding test.
 * Classes
   * Implemented
     * `java.io.InputStream`
     * `java.util.EventObject`
     * `java.util.LinkedList`
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
37
38
39
40
     * `cc.squirreljme.runtime.lcdui.gfx.Serialized Graphics` -- This allows
       all of the graphics drawing functions to be forwarded when graphics
       acceleration is used, previously only a subset of methods were
       implemented.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
41
   * Additions
42
     * Added basic support for record stores.
43
44
45
     * Added proprietary `ExtendedTaskManager` interface which can be used
       to specify arguments, system properties, and console output alternatives
       to launched tasks.
46
     * `java.util.Vector`, was missing.
47
   * Changes
48
49
     * Made all the graphics operations not throw a `TODO`, instead they will
       just draw a placeholder graphic.
50
51
     * Moved the graphics drawing operations to another class.
     * Update the `Display` when a command is added or removed.
52
53
54
     * Use a default title for a `Displayable` if one has not been set, this
       will be in the order of the suite name, the main class, and if those
       are not valid then "SquirrelJME" will be used instead.
55
56
57
     * When a `Displayable` is made current and it is already the current
       displayed item, always set the title since it may have been placed in
       the background by another application calling `setCurrent()`.
58
   * Removals
59
     * `net.multiphasicapps.classfile.ExecutableCode` was not used.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
60
61
62
 * Programs and Libraries
   * `demo-hello`
     * Made the system properties array `final`.
63
64
65
66
67
   * `launcher`
     * Added the system property `cc.squirreljme.autolaunch` to automatically
       launch a program once the program list is read.
     * When a program is launched, instead of saying just "Loading..." instead
       allow show the program which is being loaded in the title.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
68
69
70
71
72
73
74
75
76
   * `tac`
     * Override standard output and forward to standard error while a test is
       running, so things are not kludged.
   * `tac-runner`
     * Allow specific tests to be ran via the main arguments.
     * Generate JUnit output which can be used in test environments.
     * Performed some refactoring on the deserialization/serialization code.
 * Compiler Backend
   * Added a bunch of string representations for class structures.
77
78
79
   * Created a stack-cached register based compiler for Java byte code.
   * Implemented a new tree based unit system for packages and classes.
   * `MergedPathSet` can be initialized by iterables now.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
80
81
82
83
84
85
 * Virtual Machines
   * General
     * Adjusted the Shaded JAR directory layout and added a dash in the path
       so that classes technically become invalid.
     * Allow properties to be obtained from internally passed system
       properties.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
86
     * Added string representation for the stack map table.
87
88
     * Add ability to start tasks with command line arguments, system
       properties, and alternative console redirection (to capture output).
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
89
   * SpringCoat
90
91
     * Add support for system properties being based to virtual machine
       instances.
92
93
     * Profiler thread lists are easier to read because the main suite is
       listed instead of the VM identifier.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
94
95
96
   * SummerCoat
     * New Virtual Machine, register based.
     * Vast improvements over SpringCoat, faster and slimmer.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
97
98
99
   * RatufaCoat
     * New Virtual Machine, based off SummerCoat.
     * Fast and slim, written in C.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
100
101
 * Cleanup
   * Removed the `test.sh` script, it was empty.
102

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
103
104
105
# 0.2.0 (December 25, 2018)

SquirrelJME's first release!
106

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
107
108
109
110
111
Note that this is a work in progress and not everything will run, due to
the implementation being incomplete. However it does work and is proven to
work, which means progress can continue as such. Later releases of SquirrelJME
will always be an improvement over the older versions.