Releases: spheredev/neosphere
neoSphere 5.9.3
This is a maintenance release.
🗒️ What changed?
- Fixes a bug where passing an
options
object toSample#play()
doesn't work properly and may throw an exception.
neoSphere 5.9.2
This is a maintenance release.
🗒️ What changed?
- Fixes a bug that causes
DirectoryStream
to report directories as files when running from an SPK package. - Fixes a bug where
Query
doesn't pass a key to certain callbacks while querying object properties. - Fixes a bug that causes
Query#last()
to return the first match instead. - Fixes a bug that causes
Query#single()
to incorrectly returnundefined
.
neoSphere 5.9.1
This is a maintenance release.
🗒️ What changed?
- Updates the copyright date to 2024.
neoSphere 5.9.0
neoSphere 5.9.0 is a feature release. This version adds more new experimental APIs and disables synchronous FS
access when targeting API level 4.1
➕ Release Notes
- When targeting API level 4 or higher, functions like
FS.readFile()
that access the file system synchronously are now completely disabled. Games targeting API 4+ should instead use the asynchronousFile
API, introduced in this release. See the API documentation for usage.
🗒️ What's Changed?
- Adds new experimental asynchronous
File
API for games targeting API 4+. - Adds a new predefined color,
Color.CosmicLatte
. - Renames
Color.EatyPig
toColor.EatyPink
. - Removes support for calling
FS.readFile
, etc. in games targeting API 4.
-
Note that API level 4 is still experimental and neoSphere will produce a warning in the terminal when launching a game that targets it. ↩
neoSphere 5.8.2
This is a maintenance release.
🗒️ What changed?
- Changes the SSj badge to say "SSj CLI" instead of just "SSj", to make it clearer that a command-line debugger is attached.
neoSphere 5.8.1
This is a maintenance release.
🗒️ What changed?
- Removes the architecture (x86/x64) from the command-line header.
neoSphere 5.8.0
neoSphere 5.8.0 is a feature release. This version adds several new experimental APIs.
➕ Release Notes
-
It is now possible to construct standard transformation matrices directly using static methods of the
Transform
class, without the need to callnew Transform()
first. See the API documentation for more information. -
Support for the
global
binding is now disabled when targeting API level 4 and higher. Going forward, games should use the ECMA standardglobalThis
to access the global object.
🗒️ What's Changed?
- Adds a new API,
Color.fromRGBA()
, for constructing colors from 8-bit RGBA component values. - Adds a new API,
Transform.Identity
, for quickly getting an identity matrix. - Adds new static methods to
Transform
to construct basic transformations without the need to callnew Transform()
first. - Adds a new predefined color,
Color.EatyPig
. - Fixes a bug that caused the dimensions of
Transform#matrix
to be swapped. - Removes support for
global
when targeting API 4 or higher.
neoSphere 5.7.2
neoSphere 5.7.2 is a maintenance release.
What's Changed?
- Adds
RT.Version
for getting the current API revision of the Sphere Runtime. - Renames
Thread
toTask
, retaining the former as a temporary alias. - Removes the
.ready
and.whenReady()
APIs added in the previous release. - Removes support for
new Surface(fileName)
andSurface.fromFile()
in games targeting API 4 or higher. - Fixes an issue with the
cell init
template that left new projects with an invaliddescribe()
call in their Cellscripts. - Fixes a bug that caused the engine to stop responding to debugger commands while the JavaScript error screen was being displayed.
neoSphere 5.7.1
neoSphere 5.7.1 is a maintenance release. This version adds support for the ready
property and whenReady()
method to classes such as Texture
which can be constructed with a filename and loaded in the background.
What's Changed?
- Adds new
.ready
and.whenReady()
APIs which allow games to check if an asset (texture, sound, etc.) is completely loaded before using it. - Changes the handling of the first parameter of Cell's
install()
to be relative to@/
by default, instead of$/
.
neoSphere 5.7.0
neoSphere 5.7.0 is the eighth major release in the neoSphere 5.0 series. This release adds support for SGM-only Sphere v2 targeting, brings back the describe()
function in Cell, renames BufferStream
back to DataStream
, and fixes several bugs.
What's New?
-
It is now possible to target Sphere v2 using only a
game.sgm
file. To that end, Cell will now include the necessary fields in the SGM file when building a game targeting Sphere v2. For full backward compatibility, a correspondinggame.json
will still be generated in the distribution. -
Save data (i.e. files written into
~/...
) is now stored in aSphere Saves
folder under the user's Documents folder. If you have any save data stored in the old location (neoSphere -> Save Data under Documents), you'll need to move it to the new location if you want your games to continue to pick it up. -
BufferStream
has been renamed back toDataStream
for consistency with the naming of JavaScript's built-inDataView
, which serves a similar purpose. The class is also better documented now. -
When targeting API level 4,
JSON.fromFile()
will no longer work.FS.readFile()
should be used instead, with its new JSON read mode (refer to the API documentation). For backward compatibility,JSON.fromFile()
will continue to work in games targeting API level 3 and under. -
The
describe()
function has been re-added to the Cellscript API and should be preferred going forward, instead of assigning directly toSphere.Game
. -
When debugging a Sphere game in SSj, code originating inside one of the
sphere-runtime
modules is now skipped over. This allows Step Into to be used more freely without the need to wade through system code.
Full Changelog
- Adds support for targeting Sphere v2 without a JSON manifest.
- Adds back support for the
describe()
function in Cellscripts. - Adds support for showing a game's targeted API level in SSj.
- Adds the ability to automatically step over Sphere Runtime code while debugging.
- Adds a new JSON read mode for
FS.readFile()
. - Changes the Documents folder hierarchy so both screenshots and save data are put into a single
Sphere Saves
directory. - Removes support for the undocumented
JSON.fromFile()
function when targeting Sphere v2 API level 4 or higher. - Fixes an issue where neoSphere annoyingly creates an empty directory for Sphere v1 games in the user's Documents folder on every startup.
- Fixes a bug where Cell rejects save IDs containing spaces as invalid.
- Fixes a bug where the engine may crash on startup if it's unable to launch the requested game.