SquirrelJME follows a goal-oriented release plan rather than one of fixed dates. This is to reduce stress and not put hard time limits but more of an action-oriented plan to meet when it is time for releases.
Until all of the goals are met (or otherwise pushed back or dropped if needed) the lowest version number will remain at zero. Otherwise, when the goals are met the Release Candidate process will start.
To reduce the possibility of releases failing due to issues, there will be a release candidate as a kind of test to ensure that the release process works and that SquirrelJME actually functions. There will be as many release candidates as needed for the fixing of issues, however once the release is determined to be stable enough it will then become an actual release and get an even numbered release version.
Future
Please note that this information may change over time and is just speculation based on project planning.
1.2.0/0.12.0
- To Be Determined
- [ ] Main Standard Libraries at 85% Implementation.
0.10.0
This is a future release and the specified changes are proposed.
This is a mostly interest driving version that is to see how many retro systems SquirrelJME can be put onto using the new compiler implementation.
- To Be Determined
- [ ] Virtual Machine: AutumnCoat:
- [ ] Supported Architectures:
- [ ] ARM
- [ ] m68k
- [ ] MIPS
- [ ] SH4
- [ ] SPARC
- [ ] Supported Archive Holders:
- [ ] Macintosh BinHex (Resource Fork Storage)
- [ ] Supported Linker Formats:
- [ ] Amiga Hunk
- [ ] Palm OS Applications
- [ ] ARM Applications
- [ ] m68k Applications
- [ ] Preferred Executable Format
- [ ] Windows Executables (EXE)
- [ ] New Executable (16-bit)
- [ ] Supported Operating Systems:
- [ ] Amiga (m68k)
- [ ] Dreamcast
- [ ] Linux
- [ ] MIPS
- [ ] SPARC
- [ ] Mac OS Classic
- [ ] m68k
- [ ] PowerPC
- [ ] Mac OS X
- [ ] PowerPC
- [ ] Palm OS
- [ ] Palm OS 4.x and earlier
- [ ] Palm OS 5.x
- [ ] Windows
- [ ] 16-bit Windows 3.x
- [ ] Supported Architectures:
0.8.0
This is a future release and the specified changes are proposed.
This version will contain the new AutumnCoat compiler which will be modernized and be able to support actual native executables.
- To Be Determined
- [ ] Virtual Machine: AutumnCoat:
- [ ] Streamlined and simplified code compiler
- [ ] Supported Architectures:
- [ ] PowerPC
- [ ] SummerCoat
- [ ] x86
- [ ] x86_64
- [ ] Supported Linker Formats:
- [ ] Executable Linker Format (ELF)
- [ ] Mach-O (Mac OS X)
- [ ] Raw Code Chunk
- [ ] SummerCoat ROM
- [ ] Windows Executables (EXE)
- [ ] Portable Executable (32-bit/64-bit)
- [ ] Extended 64-bit Support
- [ ] Supported Operating Systems:
- [ ] Linux
- [ ] PowerPC
- [ ] x86/x86_64
- [ ] Mac OS X
- [ ] PowerPC
- [ ] x86/x86_64
- [ ] Windows
- [ ] 32-bit Windows 9x/NT/2000/XP/7/8/10
- [ ] 64-bit Windows 10
0.6.0
This is a future release and the specified changes are proposed.
Will contain the vast majority of the API implementations which should be able to run most software that exists.
- To Be Determined
- [ ] Additional Core Classes Implemented
- [ ] Additional Library Support:
- [ ] Add support for LG MultiMedia Phone Profile (MMPP) APIs
- [ ] Add support for Motorola APIs
- [ ] Add support for Nokia APIs
- [ ] Add support for NTT Docomo (a.k.a. i-Mode) APIs
- [ ] Add support for Samsung APIs
- [ ] Add support for Siemens APIs
- [ ] Add support for SK-VM APIs
- [ ] Add support for Sprint APIs
- [ ] Add support for Vodafone APIs
- [ ] Add support for WIPI APIs
- [ ] Audio Support
- [ ] HTTP Support
- [ ] Security Manager Support
- [ ] Checks
- [ ] Policies
- [ ] Software Development Kit, accessible via Gradle
- [ ] TCP/IP Support
- [ ] Virtual FileSystem Support
Current
0.4.0
This is the second version of SquirrelJME which provides virtual machine improvements.
This release existed through both the previous release plan and the now current goal oriented releases, as such this list is more oriented into what needs to be done.
- [ ] LCDUI Enhancement
- [ ] Accelerated Graphics
- [ ] Framebuffer Fallback
- [ ] Native UI Widgets (PARTIAL)
- [X] Modernization of SpringCoat
- [X] Modernization of the build system using Gradle.
- [ ] Software Floating Point (IEEE 754)
- [ ] 32-bit Float
- [ ] 64-bit Double
- [X] User Guide
- [ ] Virtual Machine: SummerCoat
- [X] Compilation of ROMs
- [X] Class Compilation
- [X] Gradle Tasks
- [X] Packaging Compiled Code into ROMs
- [ ] Native UI Widgets (PARTIAL)
- [ ] Refactoring and Cleanup
- [X] Compilation of ROMs
- [ ] Virtual machine: RatufaCoat
- [ ] Accelerated Graphics
- [ ] Built-In ROM
- [ ] Framebuffer
- [ ] LCDUI Support
- [ ] Refactoring and Cleanup
- [ ] Better Code Organization
- [X] CMake
- [X] RetroArch Support
- [X] Framebuffer
- [X] Input Controls
- [ ] Save States
- [ ] Saving
- [ ] Loading
- [ ] System Properties (Input as Cheats)
- [ ] SDL2 Support
- [ ] Framebuffer
- [ ] Input Controls
- [ ] Modern "Mid-Level" API implementations
- [X] Within SpringCoat
- [ ] Within SummerCoat
Released
- Additional Changes:
- Major refactoring to the source code so that the project is much easier and quicker to develop for.
0.2.0 (December 25, 2018)
This is the first version of SquirrelJME.
This release was before the goal-oriented release planning.
- Virtual Machine: SpringCoat
- Pure interpreter which runs on existing JVMs.