Releases: ScratchEverywhere/ScratchEverywhere
Release list
1.0 Release Candidate 3
Runtime Changes
- Added support for custom extensions via Lua! (Via PR #594)
- This will make it way easier to port extensions from Scratch mods (e.g. TurboWarp) over to SE!
- We currently have TurboWarp's
Gamepad,JSONandUtilitiesextensions ported over, with more coming soon! - Unlike native C++ extensions, Lua extensions support way more platforms!
- They are currently NOT supported on NDS, PSP, PS4, or Libretro. PSP and PS4 may get support in a later release, but NDS will not due to RAM limits.
- The extensions are compiled in a custom
.see(Scratch Everywhere! Extension) file format, for easy distribution! - This release will have the above TurboWarp extensions packed in the executable, so all you need to do is run a project using one of those extensions and it should just work.
- Do note that future releases will NOT have the extensions included once we figure out a good way to distribute/download them separately.
- You can also load extensions by putting the
.seeextension file inside of(SE!-folder)/extensions/. - Lua extensions are located in the lua-extensions repo, with the
.seecompiler located in the seec repo. - The Lua extensions API are currently a W.I.P. and not yet released at the time of writing :(
- Fixed audio not playing in unzipped projects
Menu Changes
- Removed birthday theme
- Added French and Polish languages
3DS Changes
- Fixed crash when closing the app
- Fixed hang when trying to close the app when inside certain projects
Authors
This release was brought to you by: @Starlii10, @ccawley2011, @Dogo6647, @gradylink and @NateXS
Translators: @matu6968 (polish), @SimsCrafterZ (french)
1.0 Release Candidate 2
Runtime Changes
- Added support for the Music extension! (Via #671)
- Added support for
ShiftandControlkeyboard keys when usingWhen key pressedblock - The render position of Sprites are now much more accurate
- Logs will no longer be repeated over and over
- Mouse position should now be correct when using a High DPI display
Sizeblocks now have the correct limits when using an empty costume (100% - 180000%)
Menu Changes
- Added UK English translation (there's only like 3 differences between US english π) (Via PR #683)
3DS Changes
- Added 3DS-Specific audio implementation
- Which means we're no longer using SDL3 for 3DS audio!
NDS Changes
- Fixed bottom screen being white
Wii Changes
- Fixed bug where Timer sometimes jumps to crazy high values
- Fixed not being able to select project with
1on the Wiimote
PSP & GameCube Changes
- Use smaller Menu font for now, due to RAM limitations
Authors
This Beta was brought to you by: @Starlii10, @Touchcreator, @ccawley2011, @NishiOwO, @Dogo6647, @samuelvenable, @gradylink and @NateXS
1.0 Release Candidate 1
A Release Candidate? In this economy? More likely than you think!
Menu Changes
- The Menu has been given new music and colors for SE!'s one year anniversary (May 2)!
- Menu music is, as always, made by @Dogo6647
- Translation Support!
- In the Settings menu, there will be a new option to change the main menu language!
- We currently support
English (US),EspaΓ±ol (Latam),EspaΓ±ol (EspaΓ±a),νκ΅μ΄,ζ₯ζ¬θͺ,PortuguΓͺs (Portugal),PortuguΓͺs (Brasil),Π ΡΡΡΠΊΠΈΠΉ (Π ΠΎΡΡΠΈΡ)andDeutsch (Deutschland). - It's thanks to the many translators (listed below) that this is possible!
Runtime Changes
- Libretro port! (Via PR #635)
- [SDL2 / SDL3 Platforms] Completely re-written Accurate Pen to be much faster in performance!
- Because of this, Accurate Pen is now the default on these platforms.
- Added DECtalk support for the Text To Speech Extension (Via PR #648)
- DECtalk is a completely offline Text-To-Speech library!
- You can change whether to use DECtalk or Scratch's tts system in Main Menu settings
- Do note that only certain platforms will have this option in the release build, but any platform can have this option enabled when compiling from source.
- Fixed Transparent SVG images looking gray
- Audio should sound a bit better
Set sizeandChange Sizeblocks now work correctly if the costume image hasn't been loaded yet- Added constant folding while parsing projects
- Add better support for Solaris/illumos and Haiku (Via PR #663)
- Fixed a ton of memory leaks
- Remove Monitor caching due to a bug
Parity Changes
- Fixed Crashes when using recursive broadcasts and Custom blocks
- Fixed parity issues when doing math with hexadecimal numbers
- Fixed parity issues when doing math with
-0 - Revert ability to get special characters with
letter x of xblock, due to many bugs caused when introducing it - Fixed Glide blocks being weird when using clones
- Fixed some issues when getting variables
3DS Changes
- Fixed crash when sometimes using
Erase AllPen block
Contributors
Translators
Beta Build 40
Runtime Changes
- Added support for Native Extensions (Via PR #598)
- Native Extensions allow you to run custom extensions via dynamic C++ libraries
- Currently only supports Linux and macOS, with Windows support coming later
- We're still a ways away from implementing a Lua-based custom extension system that will support more platforms
- Native Extensions can be found at this repo: https://github.com/ScratchEverywhere/native-extensions
- Added an interactive CLI inspector for real time debugging (Via PR #624)
- Fix audio speeding up in some situations
Parity Changes
- Made fencing even more accurate
- Stage Sprite can no longer use the
hideblock - Fixed
When key Pressedblock being able to get recalled before it's finished - Fixed
Makeymakeyblocks being called without pressing any buttons - Fixed
Letter # of xblock not being able to return special characters
Menu Changes
- New
op op op :itchytongue:splash text
Authors
This beta was brought to you by: @Starlii10, @Br0tcraft, @gradylink, @rttyg46305Unj, and @NateXS
Beta Build 39.1
This is an emergency release to fix audio not working on some devices.
Runtime Changes
- Fix audio not working on some devices (Windows, GameCube, etc)
- Fix audio not working when
Keep Project In RAMis turned off
Check the release notes of Beta 39 for everything new.
Beta Build 39
We're finally gearing up for release! This will very likely be the final Beta Build until we get to the release candidate stage, and soon after, 1.0!
Runtime Changes
- Complete Runtime Rewrite! (Via PR #583)
- @Br0tcraft has been working for months to almost completely rewrite the way Scripts in SE! are run, which now more closely resembles Scratch's
Threadarchitecture! - The rewrite fixes many bugs (#500 for example), and boosts performance a ton!
- Many projects that weren't playable before, or had weird issues, are now completely playable!
- There may be some bugs introduced with this change, so please be sure to report any bugs you find!
- This change has also resulted in some of the caching features added in previous betas getting removed. The removed caching features will be re-added in the next release.
- @Br0tcraft has been working for months to almost completely rewrite the way Scripts in SE! are run, which now more closely resembles Scratch's
- Complete Audio Rewrite (Via PR #582)
- @NishiOwO has rewritten audio from the ground up to no longer rely on SDL's mixer libraries!
- More audio formats are now supported, and the
PitchandPan left-rightaudio effects now work on all platforms! - You no longer need to put sounds in the Stage for streamed audio, as now every Sprite will have it!
- Unfortunately with this change, we were not able to get audio working for the NDS, so this release on NDS will have audio temporarily disabled.
- Added support for TurboWarp's
Custom Reporterextension - Added support for
TranslateScratch extension (Via PR #612)- Adding this extension was partly the reason the Runtime was rewritten in the first place, since scripts in the old Runtime couldn't yield if a reporter returned nothing that frame.
- Added
Warp TimerProject setting- Having this enabled makes scripts check if they've been running for a long time (500 ms), and run at a low framerate instead of getting stuck until the loop finishes.
- This is similar to Scratch's behavior. It fixes crashes/freezes but may cause a performance impact on some devices, so turning it off may improve performance.
- Only downscale images on some platforms (
NDS,PSPandGameCube)- Images on all platforms used to be down-scaled by 2x to save on RAM/VRAM usage
- Since Scratch internally doubles the size of each image, there should've been no visual difference. However, some projects don't have their image size doubled, making it look pixelated in SE!
- Sprite fencing is now more accurate
- Fix memory leak when an image fails to load
- Fix parsing crash if certain project/Sprite properties were empty
Switch Changes
- Fixed touch screen not working
Credits
This beta was brought to you by: @gradylink, @poipole807, @NishiOwO, @Br0tcraft, and @NateXS
Beta Build 38.1
This is an emergency release, mainly to fix Wii U not working.
Runtime Changes
- Added
Collision ModeProject setting- Setting it to
Accurategives you the new collision introduced in Beta 38. - Setting it to
Fastmakes thetouching __block use (non-rotated!) rectangles for collision. - It is set to
Accurateby default on all platforms except for NDS.
- Setting it to
- Changed Sprite fencing a bit
- Fixed Username when using cloud variables
Wii U Changes
- Fixed controls not working
3DS + NDS Changes
- Fixed memory leak when using
Accuratecollision mode
PC Changes
- Fix thread memory leak
Beta Build 38
Parity Changes
- Accurate Sprite collision! (Via pull request #586)
- When using the
Touching ___block, collision now uses accurate bit-masks instead of rotated rectangles! - On 3DS and Wii, these bit-masks are 2 times lower in resolution. On NDS, PSP and GameCube, they are 3 times lower. This is to save performance.
- Do note that this update does NOT add support for color touching blocks.
- When using the
- Add support for
When Stage Clickedblock - Make base conversions work with doubles
Runtime Changes
- Finished migrating all platforms to CMake!
- This makes it easier for us to add new platforms and features later down the road
- Only load SVG fonts when needed instead of at the start of the app
- General code refactoring under the hood
Menu Changes
- The
Bottom Screenproject option no longer shows up on platforms that don't have it - Pressing
LandRtakes you up and down pages - Project now stays selected when going from Project Settings menu
- Mouse no longer keeps priority when using a controller/keyboard to navigate the menu
Windows Changes
- Add support for
Text To SpeechExtension
3DS Changes
SayandThinkblocks now work correctly in dual screen mode
Authors
This beta was brought to you by: @gradylink, @NishiOwO, @poipole807, @Dogo6647 and @NateXS
Beta Build 37
Runtime Changes
The SVG Update!!
- Switched SVG backends from NanoSVG to LunaSVG (Via #568)
- LunaSVG supports many more SVG features, so things such as bitmap images inside of vector images are now supported!
- LunaSVG also allows us to support text inside of vector images!
- Many of Scratch's default fonts (
Pixel,Sans Serif,Serif,Handwriting,Marker,Curly) are supported - Other fonts will fallback to a default font
- The app size has increased a bit due to having to embed all the fonts
- Many of Scratch's default fonts (
- Added the ability for SVG images to scale up and down in resolution (Via #571)
- This means SVG images should no longer be pixelated when at an increased size!
Performance Updates
- Added
Pen ModeProject Setting- When
Pen Modeis set to fast, Performance with pen is way faster, with the tradeoff of rendering pen strokes as rectangles instead of circles - Fast pen is good for when your project has hundreds of pen blocks being called every frame, otherwise Accurate pen is still a good choice
- When
- Added
Show FPSProject setting- When turned on, it adds debug Monitors showing you FPS and Frame Time information
- Added
Keep Project In RAMProject Setting- When turned off, the entire .sb3 project file will no longer be kept in RAM, which is great for large projects on low RAM devices
- Assets (Images and Sounds) will take longer to load when this option is turned off
- This option is on by default for all devices except for NDS, PSP, and GameCube
- Increased Performance by Caching a bunch of data (Variable/List data, block handlers, etc) (Via #565)
- In some cases this improves performance quite significantly!
- This is not available for Low RAM devices (PSP, NDS, 3DS, GameCube, Wii)
Fixes
- Fixed crash when loading RomFS projects
Parity Changes
- Added support for
data_variableanddata_listcontentshidden blocks (Via #569) - Fixed parsing error when parsing block field values that are arrays
Menu Changes
- Projects are now sorted Alphabetically
- The Unpacked Project button is now a vector instead of a bitmap image
PSP & PS Vita Changes
- PSP and Vita are now built in Release mode
- This means that performance on these devices should now be much better!
- [Vita] denoise livearea background
PS4 Changes
- Enable VSync
This Beta was brought to you by; @gradylink, @Dogo6647, @NishiOwO, @DevelopCMD, @poipole807, @PwLDev, and @NateXS
Beta Build 36
Runtime Changes
- Refactored a bunch of image code under the hood
- This also has the side effect of fixing some Sprite position and brightness effect issues
- The
touching __block has been optimized - Fixed default controls getting set even when custom controls are set
Parity Changes
- Support
undefinedas a value - Add support for
motion_xscroll,motion_yscroll, andsensing_useridblocks - Variable monitors can now only display numbers at up to 6 decimal places
- All via PR (#563)
3DS Changes
- Fixed position/fencing issues on custom resolution projects
- Fixed memory leak when freeing audio
- Fixed Audio cracking and slowdown issues on Old 3DS (Via an SDL PR)
webOS Changes
- Fixed project path being incorrect
PSP Changes
- Disabled VSync