Releases: superpowers/superpowers-core
Superpowers Core v5.0.0
This release is compatible with the Superpowers app >= v6.0.0 because of some breaking changes.
- Updated all dependencies to latest versions
- Moved to HTTP Basic Auth with rate limiting and constant-time string comparison for authorization
- Add a checkbox to confirm when trashing an asset since it cannot be undone without restarting
- Made it so saved sessions are invalidated when the server password is changed
Superpowers Core v4.0
- Fixed crash when checking a data schema rule violation for an invalid key in a ListById
- Upgrade to TypeScript v2.0, now using types from NPM instead of tsd
- Upgraded dnd-tree-view, resize-handle and simple-dialogs to TypeScript v2.0 too
Superpowers Core v3.0
- Fixed default revision names: date was wrong and not formatted correctly
- Fix plugin installation when root folder doesn't match the ZIP URL
- Improvements to color field API for plugins
- Updated Italian localization (thanks @marcosecchi)
Superpowers Core v2.1
Fix core update failure on OS X when path contains a space
Superpowers Core v2.0
- Updated Russian locale #142 (thanks @passazhir)
- Added Italian locale #138, #146 (thanks @marcosecchi)
- Build with latest Node.js on Travis again 2eeb775
- Fixed crash when moving a folder and cleaned up some related code
- Prevented creating a project when no system is installed, #148 (thanks @Pangoraw)
- Added support for setting a
serverName
inconfig.json
, displayed on hub & connection screen - Removed support for deprecated
port
property inconfig.json
- Handle errors when downloading the registry
Superpowers Core v1.0
We've split the app into its own repository, which means we can easily release small fixes and updates to the server & client without making you download the whole app again.
- See the release notes for Superpowers v1.0 for details about the redesigned app
- See the release notes for Superpowers Game v1.0. for game dev-related improvements
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
Thanks to our contributors, Superpowers Core is now available in:
- 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!)
More changes
There were many more bugfixes and small improvements. See the commit history for a full list of changes in this release.
v0.19.0 — A week of Open Source
First week of Open Source
It's been almost a full week since we went open source. Some highlights:
- 🌟 Superpowers has been starred over 500 times, taking the top weekly spot for TypeScript
- 👍 We were on the front page of Hacker News, the top of r/gamedev and featured in HTML5Weekly
- ❤️ Our all-new Patreon page went from $0 to $167/month and we received over 40 donations.
- 36 pull requests were submitted across all repos, 32 of them have been merged or closed
- 📈 Superpowers has been downloaded ~4000 times!
We're thrilled with the warm welcome and the many contributions popping up!
All commits in this release: v0.18.1...v0.19.0 and superpowers/superpowers-game@v0.18.1...v0.19.0
Continuous integration!
Thanks to @BaptisteDixneuf (#26) and some work on our end to correctly report build errors, every pull request and push made to the core repository is now automatically checked for build errors on Travis. The other repositories will be following soon.
Registry and system installation
Following an interesting experiment by @risq (#15), we've spent more time exploring how systems and plugins should be installed and updated. We've set up a registry of systems and plugins and added support for installing systems from the command line:
# List all available systems from the registry
node server install
# Install Superpowers LÖVE
node server install love2d
System releases are automatically fetched from GitHub. Support for installing individual plugins, as well as updating it all, is planned for soon. The redesigned launcher will feature a graphical user interface to manage it all.
NOTE: If you run your server from the command line, you must now start it with node server start
rather than just node server
.
Work on the redesigned launcher
Coding on the upcoming redesigned launcher itself hasn't resumed yet but community member Kilkonie has started a very interesting discussion and created some quality mockups:
Noteworthy fixes and improvements in this release
- 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 has 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 insystems/$SYSTEM_ID
node server init $SYSTEM_ID:$AUTHOR/$NAME
will generate a new plugin skeleton insystems/$SYSTEM_ID/plugins/$AUTHOR/$NAME
Systems now require a package.json
file
See Superpowers Dummy's package.json for an example.
superpowers.systemId
must contain a unique lowercase identifier for the systempublishedPluginBundles
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.
v0.18.1 — Hotfix for scripting!
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.
All commits in this release: v0.18.0...v0.18.1 and superpowers/superpowers-game@v0.18.0...v0.18.1
v0.18.0 — The first Open Source release
Superpowers is now Free and Open Source!
We're incredibly happy to release the first public release of Superpowers!
THANKS to all the awesome supporters who helped us get this far.
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 onSupCore.system
and it's been used forComponentConfig
classes.- Superpowers's core is now more generic and has been cleaned of (hopefully) all the Superpowers Game-specific stuff.
v0.17.0 — The last early access release!
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 theFetch
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.
There's a shared pluginGulpfile.js
you can point to if you use Jade, Stylus and TypeScript like we do:
"scripts": {
"build": "gulp --gulpfile=../../../../../scripts/pluginGulpfile.js --cwd=."
}