This is GStreamer Plugins 0.8.1

Bugs fixed since 0.8.0:
      * 120883 : osssink advertises more rates than it handles
      * 125732 : v4l2src don't support all YUV formats
      * 134301 : gst-plugins should depend on X
      * 135919 : Mandrake 10
      * 136477 : [PATCH] gst-launch-ext does not support .mov
      * 136527 : gdk_pixbuf makefile tried to execute targets contrains in...
      * 137348 : media-info .pc file lacks a 'Version:' line
      * 137448 : mpegaudioparse: crash (bus error)
      * 137504 : mpeg2dec fails on 422 encoded material
      * 137556 : Ogg Vorbis playback has poor spatialization
      * 137588 : ffmpegcolorspace gives critical when it should throw error
      * 137722 : Quicktime audio parsing is broken
      * 138105 : [mpeg1videoparse] Hangs while decoding everest.m1v
      * 138168 : id3tag using gst_event_new_discontinuous incorrectly?
      * 138169 : matroska-demux using gst_event_new_discontinuous without ...
      * 138635 : two GLib-GObject-CRITICAL Messages when running gst-regis...
      * 138846 : all of the ladspa-wrapped source-plugins fail to go to pl...
      * 138914 : gstgdkanimation.h is missing from gst-plugins-0.8.0
      * 139034 : Non-standard test(1) operator used in configure script
      * 139035 : Non-standard regex used as libtool argument
      * 139382 : mad decoder can resync wrongly after seek and does explic...
      * 139532 : gstcolorspace crashes when after v4lsrc (ffmpegcolorspace...
      * 139926 : id3tag's caps cause it to be plugged more than once by sp...
      * 139958 : Leak in avidemux
      * 140058 : [msmpeg4] file with broken qscale/header does not play

Changes since 0.8.0:

      * New translations in this release: Swedish, Afrikaans, Azerbeaijani
      * Updated osssink: now does probing of possible output properties
      * Updated qtdemux: fixes for MACE audio
      * New debug element: quasirandom byte changes
      * New element: dvddemux
      * New element: kiosrc, a KIO-slaves source
      * Various memleak and buffer overflow fixes

Bugs fixed since 0.7.6:
                                                                                
      * 126999 : [API]: "gstreamer-libs-0.7.pc" should be renamed
      * 129299 : complied errors in alsa-lib-1.0.0-0.rc2
      * 131270 : pkg-config-ification patch (alsa, esd, shout2, ogg, speex, .
      * 135921 : speexenc support won't compile with 1.1.x
      * 136590 : mod plugins doesn't work atm
      * 137044 : GConf schemas unreadable

Changes since 0.7.5:

      * uses 0.8 as the major/minor number
      * dist fixes for generated files
      * MPEG video playback fixed
      * error call fixes
      * videodrop fixes
      * alsa oss emulation mixer fixes
      * audioconvert fixes
      * gconf versioning fixes
      * mad xing header fixes
      * vorbisdec fixes
      * mad leak and stream reporting fixes
      * media-info fixed
      * buffer leak fixes
      * osssink timing fixes
      * NAS fixes
      * cdparanoia error

Bugs fixed since 0.7.5:
                                                                                
      * 114560 : rfc2250enc produces empty buffers
      * 122279 : goom's first timestamp is broken
      * 131128 : aasink and sdlvideosink are broken
      * 133541 : int2float and int2floatnew conflict should be resolved
      * 133783 : remove deprecated plugins
      * 135597 : make gstosselement properly deal with symlinks
      * 136334 : udpsrc pads / caps error
                                                                                
Changes since 0.7.4: 
    
      * Compatible with gstreamer 0.7.5
      * ffmpeg plugin moved to gst-ffmpeg module
      * DV fixes
      * mikmod fixes
      * OSX build fixes
      * jpeg fixes
      * gdk_pixbuf fixes
      * automake 1.8 underquotedness fixes
      * rfb server/port addition
      * colorspace fixes
      * liboil usage in videofilter and videotestsrc
      * better LADSPA classification
      * ALSA xrun recovery fixes
      * switch fixes
      * xvimagesink fixes
      * moved out MAS sink
      * experimental xine lib plugin
      * intfloat and oneton removed in favour of audioconvert and interleave
      * only export gst_* from plugins
      * lame tag writing fixed
      * added reporting of codecs used
      * version gconf schemas and install locations
      * qtdemux fixes
      * gamma correction fixes

Bugs fixed since 0.7.4:
    
      * 129740 : MP4/M4A files not recognized properly
      * 130507 : Silence/sine don't have a sync property
      * 131050 : avi-demux plays audio, but funky colors as video
      * 131534 : jhbuild build failure with Debian sid
      * 131948 : xoverlay and gstplay sample fails to build - missing include
      * 133219 : missing include in ./gst/effectv/gstedge.c
      * 133316 : gst/vbidec/vbiscreen missing cast
      * 133410 : gstid3tag doesnt handle track-count
      * 133508 : [oggdemux] Can't play files with multiple streams
      * 133528 : sincesrc seems not to register its dparams correctly
      * 133562 : Build breaks on dvdec
      * 133663 : ext/ladspa categorises all plugins as Filter/Effect
      * 133886 : libtool error while compiling alsamixer plug-in
      * 134255 : vbidec won't compile
      * 134318 : GConf schemas should be in versioned files, and install in v
      * 134322 : gst/intfloat/gstint2float.c forgets to include "inttypes.h"
      * 134612 : ext/gdk_pixbuf/Makefile: error in target install-loaderLTLIB
      * 134750 : Problem building gst-plugins on Solaris
      * 134894 : vorbisdec signals tags with bitrate < 1 (ie not set)
      * 135038 : port gst-shorten to the new caps system
      * 135042 : fix tag writing in lame
      * 135116 : gstflacenc.c fails to build in NetBSD
