Note fscommand support in MovieClip.getURL
[gnash.git] / NEWS
blobed2683fe2ad198f3ecd5d13232a3e48a6c483b29
1 Gnash 0.8.11
2 YYYY/MM/DD
4 Caveats:
6 * The in-tree copy of jemalloc has been removed in preference to linking
7   the system-installed jemalloc library.
8 * The minimum required version of FFMPEG/libavcodec (if available) is
9   53.35.0.
10 * Extensions support is now disabled by default.
11 * The minimum GCC version required to build Gnash is 4.6.0.
13 Improvements since 0.8.10 release are:
15  * implement player FSCommand call via MovieClip.getURL() (#46944)
16  * Avoid initialization of SDL audio when using dump-gnash
17  * Fix screeches and crashes playing PCM audio (#45722)
18  * Fix corrupted WAV file on --audio-dump (#45887)
19  * Fix callback registration issue in ExternalInterface (#37223)
20  * Fix possible out-of-bound read in parser (#43865)
21  * Fix opening of external URL with Gnash Standalone (#31833)
22  * Stability fixes in image handling, (CVE-2012-1175, #39388, #37629).
23  * Stability fixes in parsing (#34686) and ActionScript handling (#39385,
24    #39404).
25  * NPAPI Plugin stability fix (#36002, #42199) and a file descriptor leak.
26  * Improved NetStream ActionScript class support.
27  * Add support for IPv6 [TODO: affects Socket/XML, and what else?].
28  * Fix build against recent Boost, FFMPEG and libav.
29  * Fix support for GIFLIB-5.0 (#39482) and GIFLIB-5.1 (#42574)
30  * Fix infinite loop in GC mark phase for XML object (#40440)
31  * Fix segfault on exit when using XML (#40439)
32  * Incremental decoding of embedded sounds (#24638, #25456)
33  * Fix many issues reported by Coverity.
34  * Add support for RTMP streaming (patch #8086).
35  * Portability fixes for Debian GNU/kOpenSolaris and ARM.
36  * TextFormat.getTextExtent has been much improved.
37  * Fix regression in dynamic sound loading (#33760).
39 Gnash 0.8.10
40 2012/02/04
42 Improvements since 0.8.9 release are:
44  * Qt4 GUI supports mouse wheel, clipboard, and screen resolution.
45  * Enhanced UI support for script limits (abort popups, user prefs).
46  * BitmapData functions copyPixels(), copyChannel(), perlinNoise() and noise() 
47    implemented.
48  * Node id mapping in ActionScript XML class implemented (XML.idMap).
49  * Fix dispatching of Sound.onLoad event, fixing google dict audio.
50  * Fix support for control tags found after last expected frame (#33176).
51  * Fix support for uncompressed sound with gstreamer media handler.
52  * Implement Button.getDepth(), fix button key events.
53  * Fixes to startDrag and stopDrag opcodes.
54  * Implement onSoundComplete() for event sounds (#23020).
55  * Fix MovieClip.onLoad event dispatching and constant pools handling, fixing
56    support for movies generated by the evil Adobe Captivate tool (#33521).
57  * Fix unattached Sound.stop() semantic (#33888) enjoy Super Mario!
58  * OpenVG renderer added.
59  * Improved framebuffer GUI and touchscreen support.
60  * Framebuffer now supports using multiple renderers.
61  * Refactored input device support.
62  * Fix parsing of lossless 16bit bitmaps, fixing support for movies
63    generated by the evil TechSmit Camtasia tool (#34625).
64  * Improved double buffering support for AGG in a framebuffer.
65  * Thumbnailer for SWF files and GNOME2 desktop config for it.
67 Gnash 0.8.9
68 2011/03/19
70 Caveats:
72  * The minimum required FFmpeg version, for people who prefer it over
73    Gstreamer, is now 51.28.0.
74  * The configure script option --enable-i810-lod-bias, which provided
75    a workaround for a very old driver for the Intel I810 when using the
76    OpenGL renderer, has been removed.
77  * Gnash now uses the system-installed libltdl rather than its in-tree
78    copy.
79  * NPAPI headers are now required for building the Mozilla plugin; they
80    are normally part of the Xulrunner development package.
82 Improvements since 0.8.8 release are:
84  * Fixed playback of uncommon MPEG4 streams when using GStreamer.
85  * Avoid drawing operations when the window is obscured, including when
86    Gnash is used as a plugin, starting with Firefox 4.0 (GTK GUI).
87  * Support SWF with embedded ScreenVideo when using FFMPEG or
88    gstreamer-ffmpeg >= 0.10.12.
89  * Fix playback of SWF-embedded ADPCM audio when using Gstreamer.
90  * Fix playback of SWF-embedded PCM audio when using FFMPEG.
91  * Fix swapped _framesloaded and _totalframes properties.
92  * Fixes for several crashes, with better automated testing of the
93    entire ActionScript API for input sanitization.
94  * Improved ActionScript performance processing, especially
95    for interactive applications.
96  * NPAPI plugin: fix relative urls resolution in presence of <base> tag
97    and "base" parameter; improved robustness and compatibility with
98    chromium browser. Avoid blocking the parent process.
99  * Improved SWF8 support with BitmapData.draw, BitmapData.loadBitmap,
100    and other bitmap functions.
101  * Re-entrant core libraries.
102  * RTMP remoting support.
103  * Support for PNG and GIF files in all DefineBitsJpeg tags; support
104    for DefineBitsJpeg4 tags, and fix display of some GIFs with
105    multiple records.
106  * Restore support for mingw32.
107  * fb-gnash: allow specifying size and offset of rendering "window".
108  * dump-gnash: improved speed, sync and flexibility.
109  * JPEG screenshot output.
110  * Support for linear RGB interpolation mode in gradient fills.
111  * Clipboard setting (GTK only).
112  * More flash.geom.Rectangle functions.
113  * Improved OpenBSD compatibility.
115 Gnash 0.8.8
116 2010/08/17
118 Improvements since 0.8.7 release are:
120  * Renderers are able to be switched at runtime between Cairo,
121    OpenGL, and AGG. 
122  * Media handlers can be switched at runtime between ffmpeg and
123    Gstreamer.
124  * Hardware video decoding support via VAAPI for Nvidia, ATI, and
125    Intel GPUs. 
126  * Android specific support.
127  * Gnash now compiles faster due to reduced internal dependencies.
128  * Mostly complete Scriptable Plugin support which works with the
129    ExternalInterface class.
130  * Improved input device handling when using a raw framebuffer.
131  * 100% of all YouTube videos should work
132  * Support for MovieClip.beginBitmapFill() and gradient spread modes.
134 Gnash 0.8.7
135 2010/02/15
137 Improvements since 0.8.6 release are:
139  * Automatic and spontaneous screenshots support in all GUIs (Benjamin Wolsey)
140  * Significant memory savings in parsing large XML trees (Benjamin Wolsey)
141  * Significant memory savings in functions calls when super is not required
142    (Benjamin Wolsey)
143  * Enhancements in video streaming [youtube HD button and seeks]
144    (Sandro Santilli)
145  * Non blocking load of bitmaps, movies, data (Sandro Santilli)
146  * Fix use of imported library symbols (Sandro Santilli)
147  * AS2 Array handling fixed.  (Benjamin Wolsey)
148  * Refactoring to eliminate most static data and get closer to re-entrant VM.
149    (Benjamin Wolsey)
150  * SWF6 dynamic gradients tested and implemented correctly. 
151    (Benjamin Wolsey)
152  * TextFormat.getTextExtent implemented. 
153    (Benjamin Wolsey)
154  * TextField.autoSize implemented for right and center autosizing. 
155    (Benjamin Wolsey)
157 Gnash 0.8.6
158 2009/09/15
160 Improvements since 0.8.5 release are:
162  * TextSnapshot, Camera, Microphone, TextField and TextFormat implemented.
163  * ASSetNative, ASSetNativeAccessor, ASconstructor implemented.
164  * New utilities for finding input devices for Camera and Microphone.
165  * Fix bitmap smoothing handling in AGG renderer (Bug #25894).
166  * Custom Gnash GTK widget.
167  * Various improvements to text handling.
168  * large-scale refactoring of object and class creation for improved
169    AS compatibility.
170  * extension of native classes now works in many cases.
171  * PyGTK module support.
172  * Native and built-in functions properly separated, more native functions
173    added.
174  * AmigaOS4 support (gui and sound handler).
175  * Fixes to XMLSocket crash and event order.
176  * Performance improvement for SDL gui (invalidated regions).
177  * Corrected timing of various AS events, fixing various SWFs that rely on them.
178  * Many minor bug fixes.
179  * Better A/V synchronization.
180  * Rudimentary AVM2 implementation when enabled.
181  * Fix in sendAndLoad forcing use of POST.
183 2009-03-04 Rob Savoye  <rob@welcomehome.org>
185 Gnash 0.8.5 released !
186 Improvements since 0.8.4 release are:
188 Due to better XML parsing compatibility and a minor fix to NetConnection,
189 many more video sites work than in the last release. Support for new
190 codecs keeps YouTube support up to date.
192 XML parsing, Selection implementation, Sound and MovieClip fixes mean
193 that many BBC Flash movies (not the BBC iPlayer) now work.
195 Potlatch support is improved with better remoting compatibility and
196 XML parsing.
198 All of the Orisinal morning sunshine games now work due to support for
199 Mixed SWF Versions runs.
201     * Support for saving streamed (FLV, H264, MP3 etc) and loaded (JPEG,
202       SWF, PNG, GIF) media to disk.
203     * Basic GUI warning messages when media decoding fails (usually
204       missing codecs).
205     * Added support for FLV parsing and decoding of H.264 video and
206       AAC audio.
207     * Scaled video smoothing implemented in AS and in default renderer
208       (AGG). YouTube video looks better when Gnash is running with high
209       quality or better.
210     * Support for _quality implemented with user-specified
211       override. (Presently only affects video smoothing in the default
212       renderer).
213     * Made NPAPI plugin quiet, except on plugin-specific errors (to
214       reduce .xsession-errors pollution).
215     * Implemented LoadVars.toString(), XML.send() and LoadVars.send().
216     * XML parsing made compatible (less strict), XML.xmlDecl and
217       XML.docTypeDecl implemented.
218     * XMLNode methods implemented: getPrefixForNamespace(),
219       getNamespaceForPrefix(), namespaceURI, localName, prefix. Handling
220       of attributes corrected.
221     * New GUI for KDE4 / Qt4 with SWF properties and Gnash preferences
222       dialog boxes.
223     * Corrected AS enumeration order.
224     * Fixed incorrect mouse event on double click (shouldn't exist).
225     * Implemented MovieClip.getURL(), MovieClip.attachBitmap().
226     * Implemented POST for send() and getURL() methods.
227     * Added support for parsing and decoding Speex audio in FLV files
228       using libspeex.
229     * __resolve property implemented. Fixes a Flickr Flash badge.
230     * Video.clear(), Video.width and Video.height implemented.
231     * Multiple NetStream.play() fixed.
232     * Fixed support of mixed-version swf runs.
233     * Fix decoding of RAW and UNCOMPRESSED audio with gstreamer media
234       handler
235     * Improve SWF4 compatibility.
236     * Improve compatibility in setting characters properties.
237     * NetConnection.isConnected and NetConnection connect events
238       implemented (fixes various video sites).
239     * Remoting support generally improved (NetConnection).
240     * Make initialization object available to MovieClip constructor
241       (attachMovie, duplicateMovieClip).
242     * Sound.getBytesLoaded, Sound.getBytesTotal implemented.
243     * Complete Selection class implemented. 
247 2008-10-13 Russ Nelson <nelson@crynwr.com>
249 Sixth alpha release of Gnash (0.8.4).
250 Improvements since 0.8.3 release are:
252 More visible to users:
254     * The -d switch won't behave the same as in 0.8.3. This is a
255       temporary thing, we'll likely bring it back to its original
256       behaviour for next releases. If you're curious, -d will now
257       change heart beating rate.
258     * Support for MIT SHM X extention is disabled by default `cause
259       it broke (*grin*). We'll get it back on next release. Let us
260       know if you really notice a performance degradation on the
261       rendering side please <gnash-dev@gnu.org>. 
262     * Keep Adobe happy with our users and our users happy with us by
263       changing "Flash player" into "SWF player" everywhere.  Adobe
264       claims "Flash" as a trademark and had asked a Linux distributor
265       to fix it.
266     * The popular SWF Twitter badge now renders correctly.
267     * Fix parsing of urls containing multiple question marks 
268     * Fix support for movies embedding multiple sound streams 
269     * Support for loading PNG and GIF images added.
270     * Improved rendering of SWF movies because of the less visible
271       changes listed below.
272     * Support for writing RGB/RGBA PNG images and JPEG images.
273     * Works with Potlatch OpenStreetMap editor
274     * New 'flvdumper' utility for analyzing FLV video files.
275     * XPI packaging support for Mozilla & Firefox. 
277 Less visible to users:
279     * Improved SWF version 8 support:
280       o flash.geom.Point, flash.geom.Rect, flash.geom.Matrix classes
281         implemented.
282       o flash.geom.ColorTransform almost fully implemented.
283       o flash.display.BitmapData partially implemented.
284       o flash.geom.Transform.matrix and flash.geom.Transform.ColorTransform
285         implemented.
286       o MovieClip.transform implemented, with ability to find and apply
287         MovieClip transformations.
288       o Playback of VP6F video (SWF version 8 FLV) with Ffmpeg. 
289     * Fixes and implementation of ActionScript 2 classes:
290       o NetConnection.call() implemented: initial support for flash Remoting
291       o toString() method of objects called correctly, String.split
292         implementation fixed.
293       o XMLSocket onData method implemented properly, other methods fixed.
294       o Error class implemented.
295       o XML and LoadVars sendAndLoad() now derive from a common base object
296         (loadable AS object); fixes the popular SWF Twitter badge.
297       o addRequestHeaders and contentType implemented for LoadVars and XML. 
298     * VM bugfixes and improvements:
299       o Heart beating model, allowing for fine-grained interval timers and
300         threading reduction.
301       o Frame label fix (case sensitivity).
302       o Fixes and improvements to Color and cxform.
303       o SWF matrix made faster and more compatible (golf.swf works now!)
304       o try/catch/finally ActionScript expression handled more correctly.
305       o Parse and partially use ScriptLimits tag. Handle stack limit more
306         correctly.
307       o Fixed scoping issues for SWF <= 5
308       o Bitmap characters now support alpha.
309     * Media handling improvements:
310       o Pluggable architecture for MediaHandlers (ffmpeg/gst available)
311       o Media-handler agnostic Sound and NetStream classes
312       o Numerous bug fixes in ffmpeg and gstreamer media handling
313     * SWF version 2-specific fixes:
314       o PlaceObject tag display fixed (also applies to SWFs generated with
315         some free tools)
316       o DefineButtonCxform tag implemented). 
317     * Codebase improvements:
318       o Renamed the 'server' directory to be a more accurate 'libcore'.
319         Merge 'libgeometry' into 'libbase'
320       o Keep Adobe happy with our users and our users happy with us by
321         changing "Flash player" into "SWF player" everywhere (a Linux
322         distributor received a demand letter).
323       o Numerous cleanups and changes to improve portability. 
327 2008-05-10 Russ Nelson <nelson@crynwr.com>
329 Sixth alpha release of Gnash (0.8.3).
330 Improvements since 0.8.2 release are:
332 More visible to users:
333     * Native fullscreen support (from AS) implemented.
334     * Long command-line options properly supported.
335     * View detailed movie information from GTK gui.
336     * Added an option in Preferences to initially display a movie
337       as a blank ("Click here to start") screen.
338     * Added "dump" GUI to dump a movie to disk.
339     * Improved Cairo rendering performance.
340     * Fix support for OpenOffice Impress SWF exporter (malformed..)
342 Less visible to users:
343     * Garbage Collector usage reduced where appropriate.
344     * Mouse.hide and Mouse.show implemented in GTK.
345     * ActionScript inheritance fixes:
346         o super implemented correctly (still not 100% compatible for SWF7)
347         o implements / instanceof works correctly now 
348     * FsCommands quit, fullscreen and showMenu implemented.
349     * FsCommand-to-javascript implemented (plugin).
350     * Minor ActionScript compatibility fixes: String, XML, toLocaleString,
351       int, parseInt. fromCharCode, toString (SWF4) etc.
352     * Fixes to arguments class (tests: Function.as, line404~456).
353     * Stage.scaleMode implemented (fixes resizing of various movies).
354     * Stage.align implemented.
355     * Fixes to Date class (platform consistent).
356     * Logging uses boost::format.
357     * Improved Win32 support: builds using MinGW/MSYS (cross-compile
358       not tested yet), and initial implementation of npgnash.dll exists.
359     * Sprite handling improved, fixing FlowPlayer and other video SWFs.
360     * TextField handling:
361           o Fix in device font handling (DefineFontInfo tag)
362           o Fix support for DefineFont2 tag (sizes)
363           o Improve TextField support for TextFormat use. 
364     * Fix parsing of malformed XML files
365     * Fix loading of text / XML with Byte Order Marks.
366     * Minor fix to _x and _y translation.
367     * More functions correctly registered as ASnative.
368     * System.capabilities information expanded.
369     * Jemalloc memory allocator from Mozilla added as an option.
370     * Redesigned and implemented AMF0 support, with the beginning of
371       AMF3 support.
372     * SWF8 line styles support (both from tag and drawing api) 
377 2008-02-21  Sandro Santilli <strk@keybit.net>
379 Fifth alpha release of Gnash (0.8.2).
380 Improvements since 0.8.1 release are:
382     * Improved timeline redesign.
383     * Action execution order fixes.
384     * Keyboard handling improved [1].
385     * New classes implemented: System.capabilities (partial),
386       SharedObject, LocalConnection.
387     * New opcodes implemented: ActionImplements, Try/Throw.
388     * Movieclip.beginGradientFill completes drawing API support.
389     * MovieClip._lockroot support added.
390     * Implement GET/POST for MovieClip.loadVariables and
391       MovieClip.loadMovie
392     * Textfield support improved.
393     * Security: configurable sandbox restricts filesystem access by movies.
394     * Better support for SWF8.
395     * Streaming OGG-contained multimedia (e.g. vorbis/theora or vorbis/dirac),
396       and other free formats.
397     * OGL and Cairo renderers much improved.
398     * Improvements of the Framebuffer GUI (hide text messages, support Linux
399       events system, built-in touchscreen calibration, simple keyboard support,
400       better architecture support).
401     * SOLdumper utility for reading SOL files ('flash cookies').
402     * DumpShm utility finds and dumps Local Connection memory segments.
403     * Fullscreen display possible.
404     * Extensions for LIRC and DBus.
405     * High quality, cross-platform psuedo-randomness using boost random.
406     * NPAPI (Mozilla) plugin: keyboard events work, navigation and javascript
407       from within movies.
408     * Set and save preferences from the GUI (GTK).
409     * Improved stability and robustness with malformed SWFs.
410     * Many other bugfixes. 
414 2007-08-29  Sandro Santilli <strk@keybit.net>
416 Fourth alpha release of Gnash (0.8.1).
417 Improvements since 0.8.0 release are:
419     * Garbage Collector
420     * Support for device fonts
421     * Support for dynamic text fields
422     * Better key handling
423     * Support for FFMPEG SVN
424     * Support for on-demand install of needed Gstreamer codec plugins.
425     * Debugger off by default (improves performance and memory use)
426     * AGG renderer by default 
427     * Support for KDE/AGG combination
428     * Layout change : we'll now build <gui>-gnash and 'gnash' is a shell
429       script with gui selection capabilities (-G)
430     * More robust parser 
431     * Better support for flash player detection
432     * Fix for 'debugLog' directive in gnashrc
436 2007-06-01  Rob Savoye  <rob@welcomehome.org>
438 The third alpha release of Gnash. Improvements since the 0.7.2 release
439 are: 
441     * Streaming video works with YouTube and Lulu.tv! This has been the
442       focus for the majority of the time since the last release.
443     * Many core improvments in the VM as our understanding of Flash
444       improves. These all improve both the correctness of a movie that is
445       being played, but enables more movies to play that used to not work.
446     * New FLTK2 gui.
447     * Simple Flash debugger added.
448     * Improved Darwin support that can use the system OpenGL.
449     * Flash extensions, direct support for file handling, MySQL access,
450       etc.. through plugins to the Gnash VM. Wrappers for any C/C++ API
451       libraries can be exported into ActionScript, and used as native
452       commands in a Flash movie.
453     * Updated manuals.
454     * Many new testcases! Support for testing with ming, swfmill, amd
455       mtasc compilers.
456     * New drawing API for MovieClips..
457     
460 2006-09-10  Rob Savoye  <rob@welcomehome.org>
462 The second alpha release of Gnash is coming soon. Improvements since
463 the 0.7.1 alpha release are:
465     * Polling main loop replaced with event driven framework.
466     * New GUI abstraction layer supporting GTK2, KDE, SDL, and just a
467       framebuffer. 
468     * Movies are parsed by a background thread, so they start playing
469       while still loading.
470     * Plugin supports web navigation and starts playing while the stream
471       is loading.
472     * New AntiGrain (AGG) 2D backend added for framebuffer devices.
473     * Sound now works.
474     * Supports cross configuration and cross compiling for embedded targets.
475     * A whole slew of minor bugs that kept various movies from playing.
479 2006-04-20  Rob Savoye  <rob@welcomehome.org>
481     * The first alpha release of Gnash! Version 0.7.1 is released with a
482       working browser plugin.
486 2005-12-10  Rob Savoye  <rob@bertha.welcomehome.org>
488     * GameSWF has been turned into Gnash! Gnash's goals are to turn this
489       into a free flash movie player plugin for Firefox.