Skip to content

Releases: spheredev/neosphere

neoSphere 5.10.0

18 Dec 20:33
Compare
Choose a tag to compare

🌀 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
    server ssj 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 via Surface#unclip(). When targeting API level 4 or higher, the
    default clipping operation is ClipOp.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 to Surface#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.

  1. If you must know, she cried like a little girl and sucked into herself and sucked out of existence.

neoSphere 5.9.3

30 May 05:20
Compare
Choose a tag to compare

This is a maintenance release.

🗒️ What changed?

  • Fixes a bug where passing an options object to Sample#play() doesn't work properly and may throw an exception.

neoSphere 5.9.2

22 Dec 04:13
Compare
Choose a tag to compare

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 return undefined.

neoSphere 5.9.1

04 Dec 03:23
Compare
Choose a tag to compare

This is a maintenance release.

🗒️ What changed?

  • Updates the copyright date to 2024.

neoSphere 5.9.0

30 May 13:52
Compare
Choose a tag to compare

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 asynchronous File 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 to Color.EatyPink.
  • Removes support for calling FS.readFile, etc. in games targeting API 4.

  1. 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

28 Jan 04:37
Compare
Choose a tag to compare

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

12 Aug 02:32
Compare
Choose a tag to compare

This is a maintenance release.

🗒️ What changed?

  • Removes the architecture (x86/x64) from the command-line header.

neoSphere 5.8.0

24 Mar 01:47
Compare
Choose a tag to compare

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 call new 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 standard globalThis 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 call new 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

26 Jan 03:44
Compare
Choose a tag to compare

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 to Task, retaining the former as a temporary alias.
  • Removes the .ready and .whenReady() APIs added in the previous release.
  • Removes support for new Surface(fileName) and Surface.fromFile() in games targeting API 4 or higher.
  • Fixes an issue with the cell init template that left new projects with an invalid describe() 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

05 Jan 01:49
Compare
Choose a tag to compare

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 $/.