Ruffle

Ruffle·Ruffle.Ruffle

A Flash Player emulator written in Rust

winget install --id Ruffle.Ruffle --exact --source winget

Latest 0.5.0·August 3, 2026

Release Notes

What's Changed

  • 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 fix in web/ by @torokati44 in #24277
  • chore: 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: Use Error.throwError for Proxy by @evilpie in #24297
  • avm2: Correctly implement DisplayObject.getRect by @Lord-McSweeney in #24253
  • avm2: Clean up some FTE logic, add validation by @Lord-McSweeney in #24304
  • avm2: Stub flash.system.System.exit by @evilpie in #24300
  • avm2: Handle shrinking underlying content in TextBlock.createTextLine by @evilpie in #24303
  • avm2: Handle null elementFormat correctly when creating text line by @Lord-McSweeney in #24307
  • tests: Expand the avm2/avm1_root test by @ChrisCPI in #24164
  • video/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
  • avm2: Properly stub IME.isSupported by @evilpie in #24298
  • 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 Avm1ParseError and UnexpectedEof by @moulins in #24334
  • avm2: 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 ContentElement subclasses as native data by @Lord-McSweeney in #24338
  • avm2: Implement more of XMLList using get_property_local by @evilpie in #24343
  • avm2: Only set TextBlock.firstLine when creating the first line by @Lord-McSweeney in #24346
  • avm2: Create a FormatSpans for the text block's content element in createTextLine by @Lord-McSweeney in #24351
  • swf: Return AbcParseError on error for AVM2 bytecode parsing. by @moulins in #24357
  • avm2: Have AVM1Movie.call/addCallback throw error 2014 by @ChrisCPI in #24358
  • avm2: Implement several of the AV classes by @ChrisCPI in #24350
  • avm2: Emit native_table.rs in a deterministic order by @bmwiedemann in #24360
  • avm2: Partially implement the rest of flash.trace.Trace by @ChrisCPI in #24344
  • avm2: Minor FTE improvements by @Lord-McSweeney in #24354

New Contributors

  • @mincerafter42 made their first contribution in #24312
  • @bmwiedemann made their first contribution in #24360

Installer type: zip

x86881E1B1B9D6FA7A2BA1776BF3FC24B2D14E6E2176A644FAAD84C41913DD7B2EE
x86881E1B1B9D6FA7A2BA1776BF3FC24B2D14E6E2176A644FAAD84C41913DD7B2EE
x645B4B61F32615C7228B27F5A7098C383DC6C693A7648AF2D19D26724B8790AEFD
x645B4B61F32615C7228B27F5A7098C383DC6C693A7648AF2D19D26724B8790AEFD

Details

Homepage
https://github.com/ruffle-rs/ruffle
License
Apache-2.0 + MIT
Publisher
Ruffle
Support
https://github.com/ruffle-rs/ruffle/issues

Tags

emulatorflashhacktoberfestreimplementationrustswf

Older versions (1)

0.3.0.999999
x86DC1DB8348D8DC1698AFB22C88E60D3641FD6A12168A27AA5080E202830A12AB8
x86DC1DB8348D8DC1698AFB22C88E60D3641FD6A12168A27AA5080E202830A12AB8
x644D3EF46F63BECA337F5608E0B79F2959AD748208CC702E7A7FD2CCC88E06BE59
x644D3EF46F63BECA337F5608E0B79F2959AD748208CC702E7A7FD2CCC88E06BE59