Skip to content

Releases: spheredev/neosphere

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

neoSphere 5.7.0

15 Dec 02:40
Compare
Choose a tag to compare

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 corresponding game.json will still be generated in the distribution.

  • Save data (i.e. files written into ~/...) is now stored in a Sphere 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 to DataStream for consistency with the naming of JavaScript's built-in DataView, 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 to Sphere.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.

neoSphere 5.6.4

16 Nov 18:05
Compare
Choose a tag to compare

neoSphere 5.6.4 is a maintenance release. This version makes ssj --no-pause the default behavior and also removes the bundled copy of Sphere Studio, which is now versioned separately and provided as a separate download.

What's Changed?

  • Changes SSj's --no-pause option to --pause and makes not pausing on startup the default behavior.
  • Changes the label color for warnings in the terminal from red to yellow.
  • Removes all Sphere Studio components from the neoSphere codebase.

Important!

It is strongly recommended to uninstall any previous version of neoSphere before installing this release.