Superpowers Changelog

What's new in Superpowers 6.0.0

Dec 18, 2019
  • Replaced the local server entry in the sidebar with an auto-updated dynamic entry so you don't have to mirror port and password changes made in the settings manually
  • Switched to using HTTP Basic Auth for server auth
  • Various minor improvements

New in Superpowers 5.3.0 (Jan 3, 2019)

  • Added support for connecting to a server behind HTTP Basic Auth
  • Fixed build issue with natives module

New in Superpowers 5.2.0 (Feb 26, 2018)

  • Upgraded to Electron 1.8.2
  • Added support for HTTPS servers (just type https://your_ip in the hostname field)

New in Superpowers 5.1.0 (Oct 28, 2017)

  • The main issue had to do with most recent npm version, forced to use version 5.2.0 for now. See npm/npm#17858
  • Also updated electron to 1.7.9 in the process

New in Superpowers 5.0.0 (Oct 28, 2017)

  • Added API for easy communication between two windows.

New in Superpowers 4.0.0 (Oct 31, 2016)

  • Fixed a user interface bug when Superpowers Core update fails
  • Updated Italian translation
  • Updated to TypeScript v2.0 and Electron v1.3.8
  • Switched to Trusty build environment on Travis

New in Superpowers 3.0.0 (Oct 31, 2016)

  • Folder / file authorizations for each server are now persisted to disk. This allows exporting to a saved folder without selecting it again.
  • Updated Italian localization

New in Superpowers 2.0.0 (Aug 29, 2016)

  • Upgraded to Electron v1.3.1
  • Build with latest version of Node.js on Travis
  • Fixed error message when settings could not be loaded
  • Fixed crash if the app exits before the main window was created
  • Fixed game system installation being skipped when dismissing the welcome dialog
  • Added support for customizing server name in settings
  • Use Electron-provided user data paths rather than our own custom logic
  • Improved Italian locale #42 (thanks @marcosecchi)
  • Added German locale #45 (thanks @Wend1go)
  • Added link to Sparklin Labs' free assets on home sidebar
  • Fixed offline mode
  • Added tray balloon on Windows when closing the app, see #37
  • IRC chat now displays user modes (operator @, voiced +) in a channel's sidebar

New in Superpowers 1.1.0 (Jul 26, 2016)

  • Fixed a bug when installing systems and plugins for some users.
  • Improved the server management user interface and added release notes button
  • Added Italian locale (thanks @marcosecchi)
  • Updated Russian locale (thanks @passazhir)

New in Superpowers 1.0.0 (Jul 26, 2016)

  • More powerful project export system:
  • Systems can now expose multiple export options with settings. A system could upload your game directly to a portal or offer exporting for different platforms.
  • The way your project is run from within the Superpowers app can now also be customized on a per-system basis.
  • Revision system:
  • A revision is a "checkpoint" for your asset. Asset editors which support it will allow you to save revisions, preview and restore them at any time.
  • New translations:
  • Swedish by @AgileJoshua
  • Japanese by @satoshiokita
  • Miscellaneous changes:
  • You can now install and update systems from the command line
  • We built a proper session mechanism to keep people logged in
  • When double-clicking on an asset tab, the corresponding entry in the asset tree will be scrolled into view and focused
  • When opening an asset in its own window, that window will now have its own tab bar and you can reveal the asset tree to the left (it is collapsed by default)
  • The ordering of items in the "Find Asset" dialog has been improved
  • You can now filter assets from the asset tree (thanks @chrisbubernak!)

New in Superpowers 1.0.0 (Jul 26, 2016)

  • More powerful project export system:
  • Systems can now expose multiple export options with settings. A system could upload your game directly to a portal or offer exporting for different platforms.
  • The way your project is run from within the Superpowers app can now also be customized on a per-system basis.
  • Revision system:
  • A revision is a "checkpoint" for your asset. Asset editors which support it will allow you to save revisions, preview and restore them at any time.
  • New translations:
  • Swedish by @AgileJoshua
  • Japanese by @satoshiokita
  • Miscellaneous changes:
  • You can now install and update systems from the command line
  • We built a proper session mechanism to keep people logged in
  • When double-clicking on an asset tab, the corresponding entry in the asset tree will be scrolled into view and focused
  • When opening an asset in its own window, that window will now have its own tab bar and you can reveal the asset tree to the left (it is collapsed by default)
  • The ordering of items in the "Find Asset" dialog has been improved
  • You can now filter assets from the asset tree (thanks @chrisbubernak!)

New in Superpowers 1.0.0 Pre (Jul 7, 2016)

  • Save sessions to disk when exiting and load them back up on startup.

New in Superpowers 0.19.0 (Jan 14, 2016)

  • NOTEWORTHY FIXES AND IMPROVEMENTS:
  • Superpowers (all commits):
  • The core of Superpowers is now available in 8 different languages!
  • There is now a 32-bit package for Linux
  • Dashes are now accepted in usernames and there's better feedback for invalid usernames.
  • You can now use an URL ending with ?build=latest to access the latest build of a project
  • The Documentation tool actually displays something again
  • You can now open the documentation page for an editor by pressing F1 while it is focused
  • Cut-Copy-Paste in the OS X app has been fixed
  • A crash when exporting on OS X has been fixed
  • Worked around a major layout bug in Microsoft Edge. Oh and Superpowers runs on Xbox One!
  • Project migration should now be more robust
  • Now shipping with Electron v0.36.3
  • Superpowers Game (all commits):
  • The "Stretch" transform mode in the cubic model editor has been fixed
  • The API for editing shader uniforms have been improved
  • FOR PLUGIN DEVELOPERS:
  • Documentation:
  • The documentation for extending Superpowers has been massively improved. A repository has been created to host a simple and heavily-commented example system. Work on it will start soon.
  • Setting up new systems and plugins easily:
  • The server has gained a new command for generating the basic structure of a system or plugin:
  • node server init $SYSTEM_ID will generate a new system skeleton in systems/$SYSTEM_ID
  • node server init $SYSTEM_ID:$AUTHOR/$NAME will generate a new plugin skeleton in systems/$SYSTEM_ID/plugins/$AUTHOR/$NAME
  • Systems now require a package.json file:
  • superpowers.systemId must contain a unique lowercase identifier for the system
  • publishedPluginBundles was added in v0.18.0 and lists the names of the Browserify-ied JavaScript bundles that should be published for runtime use for each plugin when exporting the project. Previously, this list was hard-coded.

New in Superpowers 0.18.1 (Jan 14, 2016)

  • This release fixes a bug introduced in the midst of the many refactorings we did over the holidays. We missed one rename of api to typescriptAPI. This prevented the list of behaviors and properties (as seen in behavior components in scenes) from being properly updated.

New in Superpowers 0.18.0 (Jan 14, 2016)

  • CHANGES AND IMPROVEMENTS:
  • There's no major new editor features in this release since we've been focusing on the Open Source transition, website, videos, etc. but there are lots of under-the-hood improvements.
  • The hierarchy of project folders on disk now matches the hierarchy in Superpowers
  • When joining your local server, Superpowers won't ask for a password anymore if there is none
  • The launcher now checks for new releases on GitHub rather than on SparklinLabs.com
  • Superpowers Game:
  • The Behavior scene component editor has improved ergonomy
  • Fonts: The editor's sidebar has been improved a lot and you can now download uploaded fonts; support for TextRenderer.setColor for bitmaps font
  • Improved ergonomy with sliders for setting opacity on sprites and models
  • The Gamepad API was improved (Sup.Input.wasGamepadAxisJustPressed with auto-repeat)
  • Sup.Actor.getChild now supports nested child lookup with slashes
  • Shader materials can now be manipulated from scripts
  • FOR PLUGIN DEVELOPERS:
  • SupCore.system.api has been repurposed into a more generic plugin API on SupCore.system and it's been used for ComponentConfig classes.
  • Superpowers's core is now more generic and has been cleaned of (hopefully) all the Superpowers Game-specific stuff.

New in Superpowers 0.17.0 (Jan 14, 2016)

  • Superpowers can now be translated:
  • We've added internationalization support to every part of Superpowers (except the launcher, coming soon!). This means people will now be able to translate it into their preferred language! It might not feel like a big deal, but it helps a lot for those who don't speak English fluently.
  • Cannon.js has been updated to v0.6.2:
  • Thanks to Harraps for contributing the updated definition files and of course, schteppe for his great work on the library itself!
  • Startup scene badge:
  • The scene that will be loaded on game startup now has a badge in the assets tree to make it stand out.
  • Noteworthy fixes and improvements:
  • We've switched back to XMLHttpRequest for network requests as the Fetch API isn't available everywhere yet
  • We've updated to Electron v0.35.4, fixing some bugs people have been experiencing with earlier versions
  • The buggy behavior class selector in the scene editor has been replaced with a simple dropdown box that works well on all platforms
  • Plugin development:
  • There were quite a few changes for system and plugin development this time around!
  • SupCore.Data.Base.Resource constructor:
  • All SupCore.Data.Base.Resource classes now take an extra id: string parameter at the beginning of their constructor.
  • Publishing methods for assets and resources:
  • Assets and resources can now override the publish method for customizing how they are written to disk when making a build.
  • Internationalization and localization:
  • Plugins and systems now support internationalization. Documentation will be added to http://docs.sparklinlabs.com/ very soon.
  • Centralized pluginGulpfile.js:
  • You should now use an npm script named build for triggering whatever build system you use for your plugin.

New in Superpowers 0.16.1 (Jan 14, 2016)

  • Project templates:
  • The project creation dialog now lets you choose whether to create an empty project, or use an existing template.
  • There's no user interface for creating project templates yet, but you can simply create a project, customize it to your heart's content and then copy the project folder to superpowers/app/systems/THE_SYSTEM/templates.
  • We've included a 2D platformer template for the Superpowers Game engine and we'll add more over time.
  • Plugin development:
  • Description in system manifest :A system's public/manifest.json file now accepts a "description" field. It should be a complete sentence describing your system's purpose, starting with its name. It is used in the project creation dialog.
  • Project templates: You can now put regular project folders in your system's templates/ folder. They will be offered as templates when creating a new project.
  • Editors are now listed based on the existence of a folder in the plugin's public/editors/ folder. (Previously, you needed a folder in editors/ at the root to get your editor listed.)

New in Superpowers 0.16.0 (Jan 14, 2016)

  • Now powered by Electron:
  • Until now, NW.js had the heavy responsibility of powering the Superpowers app and it did a fine job. But we've decided to embrace the newer, more regularly-updated and better-supported Electron runtime going forward.
  • Electron runs the latest stable versions of Chrome and Node.js under the hood and has a lot of momentum behind it.
  • While this is a very positive change, it might be a little disruptive and we're sorry about that. For instance, your server list will be reset because it was stored inside's NW.js local storage and Electron has its own. Also, there might be new bugs, though we've done quite a lot of testing. Let us know if you find any!
  • Oh and if you're running your own stand-alone Superpowers server, we recommend upgrading to Node.js 4.x as that's the version we'll be working with from now on.
  • New login page:
  • The new server login page asks for the server's password and your chosen username at the same time. Much nicer than the terrible one-at-a-time prompts of yore! Still looks a bit bare, but we'll get there.
  • Redesigned asset search popup:
  • The search popup is now bigger, cleaner, features asset type icons and its keyboard ergonomy was improved! Use Cmd+P to trigger it.
  • Project hub improvements:
  • The new "Edit details" button opens a popup that lets you edit the project's name, description and icon all at once.
  • The new "Open project" button lets you open projects on smartphones and tablets! Ergonomy of the various editors isn't great for touch devices at the moment, but hey, at least it works!
  • When hovering over a project, its type is now displayed next to its description.
  • First release of the cubic model editor:
  • The cubic model editor is finally here for all to play with!
  • It's pretty rough around the edges still but you can build your own cubic models in Superpowers now, just like you could in CraftStudio. How cool is that? :D
  • Support for animations, custom unwraps and more shapes (!) will be coming in future updates.
  • Shiny new icons and buttons:
  • The icons to manage assets above the project tree were redesigned.
  • The tile map and tile set icons have been redesigned.
  • The scene editor's ugly text buttons were finally replaced with pretty icons.
  • The vectorized Superpowers icon is now used everywhere!
  • "Stop project" button for closing frozen games:
  • From time to time, you might get your game stuck in an infinite loop. It's alright, it happens to the best of us. Thanks to our upgrade to Electron, you can now get out of this sticky situation with the click of a button!
  • New documentation tool:
  • The controls and hotkeys for the scene and tile map editors have finally been documented inside Superpowers!
  • This new built-in documentation is pretty barebones at the moment, we'll be giving it some love over the next few releases.
  • The documentation tool inherited from the TypeScript API browser's old icon, and the API browser got paid back with a more fitting one.
  • Redesigned settings tool:
  • With the toolshelf getting more crowded, the Settings tool got jealous so we gave it a paint job!
  • We don't hide each editor's settings in its own page anymore, and we've separated global game and project settings from the rest.
  • Noteworthy fixes and improvements:
  • The launcher now properly handles offline servers and will check if the server's version is compatible with the launcher.
  • Exported games now feature an index.html at the root, which makes uploading them to various hosts simpler.
  • Asset types, tools in the toolshelf and component types are now sorted by name in the user interface
  • Sup.Actor.getBehaviors has been added, for getting multiple behaviors of the same type.
  • Component destruction has been fixed to work properly in all cases.
  • Tile map renderer components are no properly destroyed too.
  • Sup.SpriteRenderer.setAnimationTime now correctly handles animation speed.
  • The shader editor's stylesheet has been reworked quite a bit.
  • Updated to p2.js v0.7.1, which no longer bundles unnecessary dependencies, saving ~20 MB of disk space.
  • Scene asset dependencies are now correctly initialized when loading a project.
  • SupClient registration APIs have changed:
  • SupClient.registerComponentEditorClass(name: string, plugin: ComponentEditorClass)
  • and SupClient.registerSettingsEditorClass(name: string, plugin: SettingsEditorClass) have been superseded by SupClient.registerPlugin(context: string, name: string, content: any).
  • Settings editor registration:
  • When registering a settings editor plugin, you should now pass a namespace.
  • SupClient.query:
  • You can now use SupClient.query to access the search parameter passed to your editor, like project and asset.
  • tslint:
  • We recommend you use tslint for your TypeScript plugins. There's a tslint.json at the base of the core Superpowers repository.