
0.5.0 / 04-08-2026
Performance
Features
Ruffle
Accuracy
Ruffle is a Flash Player emulator written in Rust. Ruffle runs natively on all modern operating systems as a standalone application, and on all modern browsers through the use of WebAssembly and has extensive content compatibility in ActionScript; the language that powers interactivity in games and applications made with Flash.
Users or website owners may install the web version of Ruffle and existing flash content will "just work", with no extra configuration required. It will also detect all existing Flash content and this is an entirely open source project maintained by volunteers.
--
Installing on a website you own
Use an official Ruffle CDN, or download the 'standalone' version of Ruffle from our downloads, and include the following JavaScript on any page with Flash content:
<script src="https://unpkg.com/@ruffle-rs/ruffle"></script>
OR
<script src="path/to/ruffle/ruffle.js"></script>
If you're using a local installation, you'll need to make sure your web server is configured to serve .wasm files correctly, so please visit our wiki if you need help with that.
For advanced usage, consult their documentation for JavaScript API and installation options.
Downloading
Ruffle is directly available as an extension in the Chrome Web Store and on addons.mozilla.org:
- Safari: 14+ is required...
Most Recent Changes
--0.5.0--
chore: Bump actions/setup-node from 6 to 7 by @dependabot[bot] in #24256
chore: Bump actions/setup-python from 6 to 7 by @dependabot[bot] in #24255
chore: Bump KSXGitHub/github-actions-deploy-aur from 4.1.3 to 4.2.0 by @dependabot[bot] in #24257
chore: Bump fast-uri from 3.1.2 to 3.1.4 in /web by @dependabot[bot] in #24271
chore: Bump tar from 7.5.16 to 7.5.21 in /web by @dependabot[bot] in #24273
chore: Bump shell-quote from 1.8.4 to 1.10.0 in /web by @dependabot[bot] in #24270
chore: Bump svgo from 4.0.1 to 4.0.2 in /web by @dependabot[bot] in #24274
chore: Bump fast-xml-parser from 5.9.3 to 5.10.1 in /web by @dependabot[bot] in #24272
chore: Bump webdriverio and some @wdio packages to 9.30 in web/ by @torokati44 in #24276
chore: Run
npm audit fixin web/ by @torokati44 in #24277chore: Bump the npm-minor group across 1 directory with 10 updates by @dependabot[bot] in #24278
chore: Bump the cargo-minor group with 13 updates by @dependabot[bot] in #24260
avm2: Getters should always be listed after slots in JSON.stringify by @Lord-McSweeney in #24249
tests: Add coverage for calling methods on duplicate ClassObjects by @Lord-McSweeney in #24288
tests: Add assertions for current mouse cursor by @ChrisCPI in #24284
avm1: Serialize top-level objects with class definitions as appropriate by @danielhjacobs in #24155
avm1: Recursively serialize constructed objects as typed objects by @danielhjacobs in #24161
avm2: Correctly implement
DisplayObject.getRectby @Lord-McSweeney in #24253avm2: Clean up some FTE logic, add validation by @Lord-McSweeney in #24304
avm2: Handle shrinking underlying content in TextBlock.createTextLine by @evilpie in #24303
avm2: Handle null
elementFormatcorrectly when creating text line by @Lord-McSweeney in #24307tests: Expand the
avm2/avm1_roottest by @ChrisCPI in #24164video/webcodecs: Pass in whole Access Units to VideoDecoder by @torokati44 in #24098
chore: Bump the cargo-minor group with 4 updates by @dependabot[bot] in #24318
tests: Add failing test for AVM1 using attachMovie in a frame before ExportAssets by @evilpie in #24292
Polyfilled plugin properties remain configurable by @mincerafter42 in #24312
avm2: Clear parent when deleting element/attribute from XMLList by @evilpie in #24324
avm2: Implement XML.children using get_property_local by @evilpie in #24330
swf: Add dedicated error types
Avm1ParseErrorandUnexpectedEofby @moulins in #24334avm2: TLF improvements, implement TextBlock.recreateTextLine by @Lord-McSweeney in #24313
avm2: Implement XML.attribute(s) using get_property_local by @evilpie in #24340
avm2: Store content of
ContentElementsubclasses as native data by @Lord-McSweeney in #24338avm2: Implement more of XMLList using get_property_local by @evilpie in #24343
avm2: Only set
TextBlock.firstLinewhen creating the first line by @Lord-McSweeney in #24346avm2: Create a FormatSpans for the text block's content element in createTextLine by @Lord-McSweeney in #24351
swf: Return
AbcParseErroron error for AVM2 bytecode parsing. by @moulins in #24357avm2: Have
AVM1Movie.call/addCallbackthrow error 2014 by @ChrisCPI in #24358avm2: Implement several of the AV classes by @ChrisCPI in #24350
avm2: Emit
native_table.rsin a deterministic order by @bmwiedemann in #24360avm2: Partially implement the rest of
flash.trace.Traceby @ChrisCPI in #24344avm2: Minor FTE improvements by @Lord-McSweeney in #24354
--0.4.1--
ci: Fix version4 to respect extension manifest limit
--0.4.0--
Please refer to here.
--0.3.0--
Please refer to here.
--
Please refer to here for their almost daily consolidated update logs.
None to add for the moment...