changelog.mkd 2.86 KB
Newer Older
1
2
# Changelog

3
# 0.4.0 (April 21, 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

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
13
More detailed changes:
14

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
15
16
17
18
19
 * 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
20
   * Started work on JavaDoc generation.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
 * 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`
   * Deprecations
     * `net.multiphasicapps.classfile.ExecutableCode`, not used.
   * Additions
     * `java.util.Vector`, was missing.
 * Programs and Libraries
   * `demo-hello`
     * Made the system properties array `final`.
   * `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
   * `MergedPathSet` can be initialized by iterables now.
   * Implemented a new tree based unit system for packages and classes.
   * Added a bunch of string representations for class structures.
 * 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
56
     * Added string representation for the stack map table.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
57
   * SpringCoat
58
59
     * Add support for system properties being based to virtual machine
       instances.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
60
61
62
63
64
   * SummerCoat
     * New Virtual Machine, register based.
     * Vast improvements over SpringCoat, faster and slimmer.
   * RatufaCoat
     * New Virtual Machine, based off SummerCoat.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
65
     * Fast and slim, written in C.
Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
66
67
 * Cleanup
   * Removed the `test.sh` script, it was empty.
68

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
69
70
71
# 0.2.0 (December 25, 2018)

SquirrelJME's first release!
72

Stephanie Gawroriski's avatar
Stephanie Gawroriski committed
73
74
75
76
77
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.