Releases: spheredev/neosphere
neoSphere 5.10.0
🌀 neoSphere and accompanying command-line tools are now produced by Where'd She Go? LLC!1
neoSphere 5.10.0 is a feature release. This version adds stacked Surface#clipTo
operations, an ssj host
command to run Oozaru locally, and overhauls the SSj command-line interface.
➕ Release Notes
-
It is now possible to run a game in the browser using the new
ssj host
command. This allows you to test your game in the Oozaru engine without
having to find a place to host the engine on the Internet. Note that the web
serverssj host
spins up is very rudimentally and only intended for testing
and debugging; it should not be used in production. -
Surface#clipTo()
now takes an optional additional parameter which
determines how the clipping box should be modified. The engine also now
maintains a stack of clipping changes for each surface that allows them to be
undone viaSurface#unclip()
. When targeting API level 4 or higher, the
default clipping operation isClipOp.Narrow
, which is incompatible with the
previous behavior. If you are targeting API level 4 or plan to in the future,
you will need to update your code accordingly. -
SSj's command-line interface has been overhauled to align with Cell's. Run
ssj help
for a primer on the new syntax.
🗒️ What's Changed?
- Rebranding! neoSphere is now produced by Where'd She Go? LLC.
- Adds a
clipOp
parameter toSurface#clipTo()
that lets games control how
the clipping box is changed by the call. - Adds a
Surface#unclip()
method for undoing the previous clipping change. - Adds the ability to host an Oozaru instance for local testing by using
ssj host
. - Improves the SSj command-line interface, aligning its syntax with Cell's.
- Fixes a bug that caused SSj to show Sphere v1 games as targeting API level 0.
- Fixes a bug that occasionally caused Cell's terminal output to be scrambled.
- Fixes a bug that could cause file system access to fail when the underlying
file or directory has a pathname containing non-ASCII characters.
-
If you must know, she cried like a little girl and sucked into herself and sucked out of existence. ↩
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$/
.