Update NEWS file
[profile/ivi/clutter.git] / NEWS
1 Clutter 1.2.2 (15/03/2010)
2 ===============================================================================
3
4   • List of changes since Clutter 1.2.0
5
6     » Fix introspection annotations for ClutterBox
7
8     » Compilation fixes for the EGL native backend
9
10     » Fix ClutterX11TexturePixmap ::queue-damage-redraw default handler
11       registration to avoid a run-time warning
12
13     » Handle TEXTURE_RECTANGLE_ARB in the 2D sliced textures, and add
14       a test case for that extension to avoid regressions
15
16     » Improve the strictness of the JSON parser in the internal copy
17       of JSON-GLib to which we fall back in the absence of the system
18       one
19
20     » Fix a crasher on NVidia drivers when enabling the ARGB visuals
21       by default on GLX.
22
23 Many thanks to:
24
25   José Dapena Paz
26   Neil Roberts
27   Owen W. Taylor
28   Øyvind Kolås
29
30 Clutter 1.2.0 (02/03/2010)
31 ===============================================================================
32
33   • List of changes since Clutter 1.1.14
34
35     » Improve the Animator API for consistency, and the implementation
36       to match the intended behaviour, as documented
37
38     » Add initial (and internal) support for queueing clipped region updates
39       and let the GLX texture-from-pixmap actor take advantage of it
40
41     » Support any pixel format in cogl_read_pixels()
42
43     » Conditionally use G_VALUE_COLLECT_INIT() in functions using variadic
44       arguments lists
45
46     » Consistently use :min-width and :min-height inside the Stage to define
47       the minimum size of the Stage window
48
49     » Implement the Scriptable interface for ClutterModel sub-classes; this
50       allows setting ClutterModel columns (both types and names) in
51       ClutterScript definitions
52
53     » Add support for unsigned integer indices in the VertexBuffer API
54
55     » Documentation fixes for Clutter: the coverage is now 100%
56
57     » Fixes for the EGL native backend
58
59     » Require libtool >= 2.2.6
60
61     » Improve tests coverage
62
63 Many thanks to:
64
65   Neil Roberts
66   Øyvind Kolås
67   Robert Bragg
68   Bastian Winkler
69   Chris Lord
70   Owen W. Taylor
71
72 Clutter 1.1.14 (24/02/2010)
73 ===============================================================================
74
75   • List of changes since Clutter 1.1.12
76
77     » Fix interaction between user resizable Stages and fullscreen on X11
78
79     » Define the semantics of ENTER and LEAVE events when actors are on the
80       border of the Stage window
81
82     » Take the InputDevice of an event into consideration when throttling
83       MOTION events
84
85     » Round the coordinates when clipping to a rectangle in window coordinates
86
87     » Always trust the user-provided coordinates when creating a CoglTexture
88       from a foreign GL texture
89
90     » Split Clutter's debug annotations from the pick and paint mode
91       behavioural modifiers
92
93     » Improve the usage of the CLUTTER_ACTOR_NO_LAYOUT flag so that every
94       actor using a ClutterFixedLayout manager will automatically benefit
95       from it
96
97     » Fix the packing order of ClutterBox so that the convention of
98       first-in-first-painted is maintained
99
100     » Documentation fixes
101
102 Many thanks to:
103
104   Robert Bragg
105   Chris Lord
106   Neil Roberts
107
108 Clutter 1.1.12 (16/02/2010)
109 ===============================================================================
110
111   • List of changes since Clutter 1.1.10
112
113     » Fix compilation on 64bit platforms
114
115     » Fix some races of the Stage resizing on X11
116
117     » Documentation fixes for Cogl: the coverage is now 100%
118
119     » Fix rounding errors in the preferred height of the ClutterText
120       actor
121
122     » Remove redundant type checks in clutter_actor_get_paint_opacity()
123
124     » Add support for the GLX_INTEL_swap_event extension; when using this
125       extension on GLX the glXSwapBuffers() call becomes non-blocking and
126       Clutter will use an event to control the master clock.
127
128     » Improve consistency between ClutterBox and ClutterGroup.
129
130     » On X11, do not set the _NET_WM_PID and WM_TITLE properties on a
131       Stage X window if the window was not created by Clutter itself
132
133     » Improve caching of GL constant values
134
135     » Optimize creating sub-textures of sub-textures
136
137     » Various fixes for the atlas and the journal
138
139     » Disable the atlas if FBOs are not supported
140
141 Many thanks to:
142
143   Robert Bragg
144   Neil Roberts
145   Damien Lespiau
146   Bastian Winkler
147   Chris Lord
148
149 Clutter 1.1.10 (09/02/2010)
150 ===============================================================================
151
152   • List of changes since Clutter 1.1.8
153
154     » Fixed a regression in textures that caused all the textures to be
155       drawn as white rectangles.
156
157     » Fixed compilation with the Sun C compiler.
158
159     » Use SSE2 instructions to premultiply RGBA images, if available.
160
161     » Improve readability of ClutterActor::raise/::lower warnings.
162
163 Many thanks to:
164
165   Neil Roberts
166   Halton Huo
167
168 Clutter 1.1.8 (08/02/2010)
169 ===============================================================================
170
171   • List of changes since Clutter 1.1.6
172
173     » Added ClutterAnimator, a class that allows defining complex
174       implicit animations involving multiple actors and states; this
175       class is mostly meant to be used through the ClutterScript
176       definition format, but it provides a convenience C API for
177       easily building animations.
178
179     » New experimental COGL API to expose "hardware" buffers such as PBOs or
180       drm surfaces. This API can be used, for instance, to make texture
181       uploading faster.
182
183     » Fixed the issues with resizable stages getting a 1x1 window with
184       the X11 backends
185
186     » Expose input devices for every event; by default, X11 and Windows
187       backends expose the core devices only.
188
189     » Add the ClutterStage:key-focus property, for key focus tracking.
190
191     » Allow setting transformable value types in ClutterAnimation when
192       calling clutter_animation_bind() and clutter_animation_update().
193
194     » Delay the creation of the default Stage until clutter_stage_get_default()
195       is actually called; this reduces the work of clutter_init().
196
197     » Implement Ctrl+Delete and Ctrl+Backspace in ClutterText
198
199     » Improve the extendability of CoglTexture with internal backends.
200
201     » Add implicit texture atlasing; Cogl will try to put every texture
202       inside the same texture atlas by default, to avoid state changes
203       in the driver and (hopefully) improve performance.
204
205     » Fix notification of the cursor and selection changes in ClutterText;
206       this improves the usage of Clutter from A11Y toolkits.
207
208     » Do not wait for a frame if the system clock goes backwards.
209
210     » Fix the dirtying of the clip state; this unbreaks cogl_path_fill().
211
212     » Documentation and build fixes.
213
214 Many thanks to:
215
216   Neil Roberts
217   Chris Lord
218   Damien Lespiau
219   Alejandro Piñeiro
220   Jussi Kukkonen
221   Kristian Høgsberg
222   Robert Bragg
223   Øyvind Kolås
224
225 Clutter 1.1.6 (18/01/2010)
226 ===============================================================================
227
228   • List of changes since Clutter 1.1.4
229
230     » Some fixes for the Win32 backend (bug #1905).
231
232     » Profiling support via the UProf library. Configure with
233       --enable-profile to get a report after each Clutter application is
234       run.
235
236     » Improved conformance tests with coverage reports via gcov.
237
238     » ClutterTexture no longer tries to read back texture data into
239       g_malloc'd memory on unrealize (bug #1842).
240
241     » The CGL_• defines from cogl-defines.h have been removed. These
242       should not have been used by any applications, but if they were
243       being used then please replace them either with the Cogl enums or
244       with the appropriate GL_• enum if you are using GL directly.
245
246     » Added a delete-event signal to the stage.
247
248     » Fix for using cogl_rectangle with different texture coordinates
249       for multiple layers (bug #1937).
250
251     » Fix for using stencil and depth buffers in FBOs on Intel drivers
252       in Mesa (bug #1873).
253
254     » Support for subtitles in ClutterMedia.
255
256     » ClutterGLX will now use an RGB visual by default. For
257       applications (and toolkit integration libraries) that want to
258       enable the ClutterStage:use-alpha property there is a new
259       function: clutter_x11_set_use_argb_visual().
260
261     » Fix ClutterText to allow using Pango markup and attributes in
262       the same actor (bug #1940).
263
264 Many thanks to:
265
266      Alejandro Piñeiro
267      Damien Lespiau
268      Emmanuele Bassi
269      Gord Allot
270      Halton Huo
271      Robert Bragg
272      Samuel Degrande
273
274 Clutter 1.1.4 (03/01/2010)
275 ===============================================================================
276
277   • List of changes since Clutter 1.1.2
278
279     » Update the ClutterScript parser to be more resilient, and support
280       constructor and ChildMeta properties. The parser also respects the
281       order of the properties in the UI definitions when applying them,
282       and will apply the properties of an Actor after building the scene
283       graph.
284
285     » Simplified the implementation of LayoutManager sub-classes, and added
286       support for animating a layout manager.
287
288     » Allow short-circuiting some layout operations by setting a specific
289       flag on ClutterActor.
290
291     » Improve caching of the preferred size of a ClutterActor.
292
293     » Allow declaring "internal children" for a ClutterContainer
294       implementation: the memory management of these actors will be deferred
295       entirely to the Container.
296
297     » Let the ClutterStage honour the :opacity property and the alpha component
298       of the stage color. This requires support in the Clutter backend used.
299
300     » Improve Windows and OSX backends.
301
302     » Simplify the feature detection code for OpenGL; this also reduced the
303       required OpenGL version to 1.2.
304
305     » Improve the matrix stack handling code. The matrices can be debugged by
306       using the COGL_DEBUG environment variable, assuming that Clutter was
307       compiled with the right configure-time switch.
308
309     » Improve COGL API for draw buffers, and for offscreen buffer support.
310
311     » Add support for text direction to ClutterActor.
312
313     » Documentation, introspection and build fixes.
314
315 Many thanks to:
316
317   Robert Bragg
318   Neil Roberts
319   Damien Lespiau
320   Joshua Lock
321   Bastian Winkler
322   Rob Bradford
323   Samuel Degrande
324   Christian Persch
325   Colin Walters
326   Johan Bilien
327   Raymond Liu
328   Tim Horton
329
330 Clutter 1.1.2 (23/10/2009)
331 ===============================================================================
332
333   • List of changes since Clutter 1.0
334
335     » Add ClutterLayoutManager, an abstract proxy class for easily
336       writing layout management policies; also add ClutterLayoutMeta,
337       a class for storing layout properties.
338
339     » Add ClutterBox, a generic container actor that relies on a
340       ClutterLayoutManager instance to manage the layout of its
341       children.
342
343     » Add the following layout managers:
344
345       - ClutterFixedLayout - a layout manager implementing the
346         policy used by ClutterGroup
347
348       - ClutterBinLayout - a layout manager for packing actors
349         as layers inside the same area, with per-actor alignment
350
351       - ClutterFlowLayout - a layout manager arranging actors as
352         a reflowing grid
353
354       - ClutterBoxLayout - a layout manager arranging actors as
355         a single line
356
357     » Remove the requirement for the backend-specific implementation
358       of ClutterStage to be a ClutterActor: a Stage implementation must
359       only implement the ClutterStageWindow interface. This cleans up
360       the backend code.
361
362     » COGL source tree clean up and rationalization; COGL now
363       knows the platform, and not only the driver (GL or GLES) so
364       we can migrate part of the low-level backend code from Clutter
365       to COGL where it makes sense.
366
367     » Remove code duplication across whole COGL.
368
369     » The GLES 2.0 driver for COGL, and the EGLX backend for Clutter
370       have been fixed and confirmed working.
371
372     » Add "dump-pick-buffer" to CLUTTER_DEBUG: this debug options
373       dumps the contents of each pick() buffer into a PNG file, for
374       debugging purposes.
375
376     » Allow interpolating intervals of ClutterUnits for animating
377       unit-based properties.
378
379     » Increase strictness and correctness of the ClutterUnits
380       grammar parser.
381
382     » Add GValue transformation functions for ClutterPath to and
383       from a string.
384
385     » Fix word movement in ClutterText; implement GObject getter for
386       :use-markup; emit notification for :position; decouple the
387       :text property from the :use-markup property.
388
389     » Do not queue redraws or relayouts on actors currently being
390       destroyed. 
391
392     » Support #rrggbb and #rgb notations for ClutterColor.
393
394     » Multiple bug fixes.
395
396     » Provide _NET_WM_PID on the X11 stage implementation.
397
398     » Documentation and Introspection annotation fixes.
399
400     » Add test units for the ClutterActor size requesition.
401
402     » Build fixes.
403
404     » Use AM_SILENT_RULES if Automake 1.11 is detected, and fall
405       back to Shave on older Automake versions.
406
407 Many thanks to:
408
409   Robert Bragg
410   Damien Lespiau
411   Neil Roberts
412   Thomas Wood
413   Owen W. Taylor
414   Øyvind Kolås
415   Götz Waschk
416   Zhou Jiangwei
417   Colin Walters
418   Jonas Bonn
419   Joshua Lock
420   Jussi Kukkonen
421   Samuel Degrande
422   Vladimir Nadvornik
423   Xu Li
424
425 Clutter 1.0.0 (28/07/2009)
426 ===============================================================================
427
428   • List of changes since 0.9.8
429
430     » Allow per-stage disabling of motion event throttling; this should allow
431       platforms or applications that require all the motion events not for
432       drawing purposes to get them exactly like Clutter gets them from the
433       windowing system.
434
435     » Various documentation fixes.
436
437     » Add per-word key navigation inside ClutterText.
438
439     » Fix the RGB<->HLS conversion.
440
441     » Various fixes for the OSX backend.
442
443     » Various build-related fixes.
444
445 Many thanks to:
446
447   Geoff Gustafson
448   Michael Mortensen
449   Owen W. Taylor
450
451 Clutter 0.9.8 (17/07/2009)
452 ===============================================================================
453
454   • List of changes since 0.9.6
455
456     » Add more introspection annotations for language bindings.
457
458     » Fix a bug in clutter_animation_set_alpha(), which also broke the
459       clutter_actor_animate_with_alpha() function.
460
461     » Check if the stage requires a relayout before showing it; this fixes
462       a bug in the X11-based backends, especially under compositing window
463       managers, where a 640x480 window would flicker before the default
464       stage was shown for the first time.
465
466     » Performance fixes for Cogl.
467
468     » Sliced textures were broken by the COGL journalling.
469
470     » Use the redraw cycle when asynchronously loading textures from
471       files.
472
473     » Miscellaneous compilation fixes for the OS X and Windows backends.
474
475     » Allow querying from within the paint function of an Actor whether
476       the actor is currently being directly painted or by a Clone actor.
477
478     » In the GLX backend, when using the non-implicit sync-to-vblank inside
479       glXSwapBuffers(), call glFinish() to avoid potential tearing.
480
481 Many thanks to:
482
483   Colin Walters
484   Evan Martin
485   Marcos
486   Owen W. Taylor
487   Xu Li
488
489 Clutter 0.9.6 (01/07/2009)
490 ===============================================================================
491
492   • List of changes since 0.9.4:
493
494     » Allow the manipulation of the actor's transformation matrix, so that is
495       is possible to apply additional transformations in a way that is
496       compatible with the transformations already applied by the scene graph.
497
498     » Fix a race in the X11 backend that happened between resizing the stage
499       drawable and the call to glViewport().
500
501     » Merge the cogl-journal-batching branch; this branch implements batching
502       the geometry of the elements of the scene graph before sending it to
503       OpenGL, thus minimizing the number of state changes and improving the
504       overall performance of Clutter-based applications.
505
506     » Add more debugging states for Clutter and COGL, which allow the developer
507       to track the state of the journal; to check the VBO fallback paths; to
508       disable picking for reliable profiling; to disable software-side matrix
509       transformations in favour of the driver/GPU ones.
510
511     » Improve the ability to "break out" of COGL by using gl_begin/gl_end
512       semantics; applications that drop into raw GL are, though, ignoring all
513       the caching performed by COGL and might incur in performance issues.
514
515     » Fixed the :load-async and :load-data-async properties of Texture by
516       removing the unneeded G_PARAM_CONSTRUCT flag.
517
518     » Added an initial migration guide that shows the porting process from
519       older releases of Clutter to the 1.0 API; the first chapter deals with
520       the migration from ClutterEffect to the new implicit animations API.
521
522     » Fixed MT-safety for the master clock.
523
524 Many thanks to:
525
526   Ole André Vadla Ravnås
527   Tim Horton
528
529 Clutter 0.9.4 (19/06/2009)
530 ===============================================================================
531
532   • List of changes since 0.9.2:
533
534     » Set the layout height in ClutterText, so that wrapping and ellipsization
535       work correctly to fill all the allocated area.
536
537     » Remove all the units-based API, and migrate all the positional and
538       dimensional accessors to use floating point values when dealing with
539       pixels. All the properties dealing with pixels now that a floating
540       point value as well.
541
542     » Add the ability to track wether an actor is going to be painted or not,
543       using the "mapped" flag. This also allows Clutter to be more strict
544       in the handling of the scenegraph, ensuring correctness and avoiding
545       wasting resources on nodes that won't be painted.
546
547     » Add debugging facilities for COGL, similar to those of Clutter; through
548       them is also possible to have an on screen debugging mode that shows the
549       boundaries of each rectangle sent to the GPU.
550
551     » Rework "units" into real logical distance units that can be converted
552       between millimeters, typographic points and ems into pixels.
553
554     » Simplify the Animation class to avoid redundancy and the possibility
555       of it going out of sync with the Timeline and Alpha instances it uses.
556
557     » Move every operation into a single "master clock" source that advances
558       the timelines, dispatches events and redraws the stages in a predictable
559       sequence, thus avoiding unneeded redraws. The default is to follow the
560       sync-to-vblank cycle, if it is supported by the drivers.
561
562     » Cache the glyphs geometry into a vertex buffer object to avoid
563       resubmitting too much information to the GPU.
564
565     » Rework the behaviour of ClutterModel when a filter is applied.
566
567     » Allow submitting premultiplied texture data; this removes the need
568       for unpremultiplying data in CairoTexture.
569
570     » Add a simple API for submitting blending and texture combining modes
571       through a string description.
572
573     » Move Timelines to pure time-based objects.
574
575     » Lots of performance improvements.
576
577     » Removal of all the deprecated API.
578
579     » Removal of all the fixed point entry points.
580
581     » Lots of documentation fixes - the coverage is now 99% of the exported
582       1600 symbols for Clutter and 80%+ of the 300 exported symbols for COGL.
583
584     » Generate the GObject Introspection data for both Clutter and COGL
585       at build time.
586
587     » Build environment fixes.
588
589 Many thanks to:
590
591     Owen W. Taylor <otaylor@fishsoup.net>
592     Thomas Wood <thomas.wood@intel.com>
593     Havoc Pennington <hp@pobox.com>
594     Bastian Winkler <buz@netbuz.org>
595     Chris Lord <chris@linux.intel.com>
596     Garry Bodsworth <gjb@camvine.com>
597     Rob Bradford <rob@linux.intel.com>
598     Johan Bilien <jobi@litl.com>
599     Jonas Bonn <jonas@southpole.se>
600     Raymond Liu <raymond.liu@intel.com>
601     Damien Lespiau <damien.lespiau@gmail.com>
602     Dan Winship <danw@gnome.org>
603     Marc-André Lureau <marcandre.lureau@gmail.com>
604     Robert Staudinger <robsta@gnome.org>
605     Tommi Komulainen <tko@litl.com>
606
607 Clutter 0.9.2 (16/03/2009)
608 ===============================================================================
609
610 Bastian Winkler (2):
611       [media] Fix the interface cast macro
612       Remove redundant declaration in clutter-text.h
613
614 Chris Lord (1):
615       [actor] Force a relayout on set_parent()
616
617 Christian Persch (1):
618       Bug 1429 - Redundant declaration in clutter-x11.h
619
620 Colin Walters (3):
621       Bug 1491 - Fix hardcoded lib path in .pc files
622       Typo in clutter-win32.pc.in introduced by commit 24ce19383
623       [animation] Enhance the bind API
624
625 Damien Lespiau (6):
626       [gitignore] update gitignore files for tests/
627       [build] Beautify autotools' output
628       [build] Add dolt
629       [build] Fix interaction between shave, gtk-doc and libtool 1.x
630       [build] Fix dist for the newly introduced m4 macro directory
631       Update shave
632
633 Emmanuele Bassi (111):
634       Post-release bump to 0.9.1
635       [text] Merge the attributes with markup enabled
636       [tests] Update the text-field interactive test
637       Add Actor::create_pango_layout()
638       [docs] Add clutter_text_set_markup()
639       [clone] Allow cloning unparented actors
640       [text] Use create_pango_layout()
641       [text] Rename :alignment to :line-alignment
642       [texture] Consolidate the quality to filter conversions
643       [texture] Check if the material is valid
644       [event] Extend KeyEvent for multi-input support
645       [actor] Check out parameters before setting them
646       [list-model] Make ClutterListModel subclassable
647       Bug 1440 - Add clutter_get_current_event_time()
648       [tests] Add TEST_CONFORM_SKIP() macro
649       [tests] Add conformance tests for ClutterModel
650       [ignore] Add the newly created conformance units
651       [actor] Revert part of commit 402e022c
652       [animation] Do not bind construct-only properties
653       [x11] Add backend-specific get_current_event_time()
654       Initialize a variable to avoid warnings
655       [cogl] Add cogl_is_material to cogl-material.h
656       [cogl] Provide GTypes for COGL types
657       [texture] Use COGL_TYPE_HANDLE for the handle properties
658       [docs] Clarify the set_cogl_texture() documentation
659       Merge branch 'build-enhancements'
660       [docs] Add a missing "return" annotation
661       [build] Pass the -s switch to cmp
662       Remove type functions for removed types
663       [docs] Update the sections file
664       [tests] Add TEST_CONFORM_TODO macro
665       [build] Show pkg-config file being generated
666       [build] Reference the headers with their full path
667       [docs] Update build for COGL API reference
668       [build] Update the EXTRA_DIST list
669       [build] Fix the ChangeLog generation rule
670       [build] Do not overwrite BUILT_SOURCES
671       [behaviour] Do not notify empty behaviours
672       [path] Do not accept NULL descriptions
673       [timeline] Set the n_markers out paramater
674       Do not use GL types in Clutter headers
675       [docs] Require gtk-doc 1.11
676       [docs] Use the --name-space option
677       [docs] Add the 1.0 symbols index
678       [docs] Rename cogl-docs from sgml to xml
679       Add build machinery for gobject-introspection data
680       [backend] Update the viewport when updating the GL context
681       [build] Move all the compiler flags to AM_CFLAGS
682       [ignore] Update with the introspection files
683       Add runtime debug messages for COGL
684       [actor] Remove usage of ClutterFixed
685       Make disable text mipmapping a command line switch
686       Make fuzzy picking a command line switch
687       [docs] Document envvars and command line switches
688       Remove stray fixed point macro usage
689       Use a dynamic array for the actors when delivering events
690       [media] Add sub-second resolution for the duration
691       [build] Put the X11 pc dependencies in another variable
692       [build] Do not shave typelib generation
693       Intern the ClutterScriptable type name
694       [backend] Constify font options
695       [cogl] Add a PANGO debug flag for CoglPango use
696       Clean up of the ClutterColor API
697       [shader] Unify code paths
698       Add pkg-config file for COGL
699       [build] Various fixes for distcheck
700       [docs] Clarify clutter_actor_animate() behaviour
701       [docs] Note that grabs are evil
702       [cogl-fixed] Add a double-to-fixed conversion macro
703       Move BehaviourScale to CoglFixed
704       Move ClutterBehaviourEllipse to CoglFixed
705       Move ClutterBehaviourRotate to CoglFixed
706       Move ClutterTimeline to CoglFixed
707       [cogl-fixed] Implement the CoglFixed fundamental GType
708       [tests] Test CoglFixed, not ClutterFixed
709       [interval] Update fixed-point handling
710       [stage] Coalesce fog and perspective API
711       [texture] Fix ClutterFixed usage
712       [text] Convert units to the right type
713       [tests] Use floats, not ClutterFixed
714       [units] Add more conversion functions
715       [fixed] Remove ClutterFixed API
716       [cogl] Fix hardcoded paths in the pc file
717       [docs] Remove ClutterFixed from the documentation
718       [docs] Update API reference
719       [animation] Add vector variants for ::animate()
720       [cogl] Initialize boolean flag in CoglContext
721       [cogl] Initialize all members of CoglContext
722       [color] Fixed HLS to RGB conversion
723       [docs] Calling g_object_ref() will not dispose an object
724       [docs] Document the commit message format
725       [tests] Animate the color during easing
726       [docs] Reword some of the coding practices
727       [docs] Add a bindings coding practices
728       Add more deprecation notices
729       [deprecated] Add Effect deprecation
730       Do not cause more size requisitions than necessary
731       [cogl] Avoid shadowing math.h symbols
732       [docs] Clarify Animation memory management
733       [animation] Add an emitter for ::completed
734       [animation] Add Animation getter
735       [tests] Remove unused variables
736       [docs] Add description of queue_redraw
737       [docs] Update after Animation API changes
738       [animation] Enhance consistency of the Animation API
739       [docs] Bring down the undocumented symbols to 2%
740       Fix release date of 0.9.0
741       Update release notes
742       [docs] Fix naming of the interval parameter
743       [docs] Ignore the TimeoutInterval internal API
744       Update release notes
745
746 Geoff Gustafson (1):
747       [animation] Broken fixed:: properties
748
749 Gordon Williams (1):
750       [group] Output the group name when debugging paint
751
752 Havoc Pennington (4):
753       Virtualize GL matrix operations and use a client-side matrix when GL is indirect
754       [actor] Add :clip-to-allocation property
755       [actor] Add ::queue-redraw signal
756       [cogl] Flush matrix before clip planes
757
758 Jonathan Matthew (1):
759       Declare the EnumValues for PixelFormat static
760
761 Neil Roberts (36):
762       [cogl-material] Always bind the new texture handle
763       Fix building GLES 2 after the material branch merge
764       [cogl-texture] Fix the count for the number of enabled arrays
765       [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color
766       [clutter-clone] Override the parent opacity to self not self->parent
767       [clutter-texture] Release the temporary ref taken when setting a texture
768       [clutter-texture] Unref the Cogl material on dispose
769       [clutter-texture] Fix the no_slice property
770       [cogl-texture] Fix offset to next quad when flushing the log
771       [cogl-texture] Move the destruction of the material to _finalize
772       [cogl-texture] Fix uninitialised priv var in texture_finalize
773       Added a test for non-power-of-two sized textures
774       Emit CLUTTER_LEAVE events when the pointer leaves the stage
775       Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address
776       [win32] Track mouse leave messages
777       [clutter-main] Fix the input device passed to set_motion_last_actor
778       Override the opacity when painting a clone instead of combining
779       Allow rotation angle properties to be negative
780       [ClutterBehaviourRotate] Fix up some breakage from the cogl-float branch merge
781       [tests/conform] Copy in redhand.png
782       Replaced ClutterFixed constants in color_{darken,lighten} with float
783       [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array
784       [cogl-gles2-wrapper] Actually call glActiveTexture
785       Add an environment variable to disable mipmapped text
786       [tests/tools] Don't install libdisable-npots.so
787       [clutter-texture] Use a GThreadPool for loading async textures
788       [cogl-pango-glyph-cache] Fix compiler warning on 64-bit
789       Fix warning in clutter-backend-sdl
790       [eglnative] Add -I flags for the clutter dir in the src and build dirs
791       Set the mapped flag on the stage in the SDL and eglnative backends
792       Fix out of tree builds
793       Remove use of $(builddir)
794       [README] Small typo fix
795       Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2
796       [cogl-path] Minor fix to gtk-doc
797       Count timeline frames using the FPS instead of an integer interval
798
799 Owen W. Taylor (7):
800       Honor ACLOCAL_FLAGS in autogen.sh
801       Add gobject-introspection annotations
802       Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
803       Use COGL to establish GL state for ClutterGLXTexturePixmap
804       Add (out) annotations for ClutterActor
805       Allow NULL for clutter_text_set_text()
806       Avoid drawing twice if relayout queues a draw
807
808 Raymond Liu (2):
809       [text] Crash when multi-byte utf8 text exceeds max_length
810       [text] Insertion of multi-byte characters broken
811
812 Robert Bragg (28):
813       [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency
814       [cogl-material] Fixes some dirty flag checks
815       [cogl-vertex-buffer] Some fixes for texturing and color arrays
816       [docs] Various gtk-doc updates for Cogl
817       [tests] Some improvements for test-pixmap
818       [Cogl] cogl_clip_{set•,unset} renamed to cogl_clip_{push*,pop}
819       [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function
820       [cogl-color.c] #include fix for the cogl_set_source_color prototype
821       [Cogl] the cogl_get_•_matrix functions now work with CoglMatrix types
822       [Cogl] Fixes automatic handling of the GL blend enable state.
823       [cogl-material] Always glBindTexture when flushing material state
824       [Cogl] Remove a debugging assert that was triggering on false positives
825       [test-vertex-buffer-contiguous] Improves the texturing test
826       [cogl-matrix] Adds padding to CoglMatrix
827       [cogl-matrix] Documents that CoglMatrix members should be considered read only
828       Removes need for casting (const float •) to (GLfloat *) in _cogl_set_clip_planes
829       80 char fix
830       Avoid casting CoglMatrix to a GLfloat • when calling glGetFloatv
831       Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
832       Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc}
833       Finish GLES{1,2} support for client side matrix stacks
834       Maintain the Cogl assumption that the modelview matrix is normally current
835       Merge branch 'cogl-client-matrix-stacks'
836       [cogl-vertex-buffer] Add a flush of attribute changes in the •_draw() functions
837       [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents
838       [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype
839       [tests] Adds an interactive cogl vertex buffer unit test
840       [cogl] Don't endlessly print the same warning regarding layer fallbacks
841
842 Robert Staudinger (1):
843       [build] Add cogl.h to the built sources list
844
845 Shane Bryan (1):
846       Bug 1434 - _NET_WM_NAME not set before realize
847
848 Tomas Frydrych (3):
849       Fixed handling of enter and leave events in clutter_x11_handle_event()
850       Fix clutter_x11_texture_pixmap_get/set_property() following change of PROP_WINDOW type
851       [x11] Only update cached last event time if we have a real timestamp.
852
853 Øyvind Kolås (11):
854       Added a mutex for clutter asynchronous textures threads.
855       Bail early in clutter_texture_paint if opacity == 0
856       Add a warning for recursive emit_event
857       Change the default size of thread pool from 3 to 1
858       [tests] Added test-texture-async
859       [clutter-texture] add option to not block on size for loaded images
860       [clutter-texture] remove load-size-async property
861       Merge commit 'origin/async-texture-thread-pool' into async-size
862       [clutter-texture] updated documentation.
863       [clutter-texture] fixed gtk-doc formatting, and init threads in test.
864       Merge branch 'async-texture-thread-pool'
865
866 Clutter 0.9.0 (30/01/2009)
867 ===============================================================================
868
869  • List of changes between 0.8.6 and 0.9.0
870
871    » ClutterText is a new actor allowing text display, text editing
872      both in multi-line and single-line modes, and text selection using
873      the pointer devices and the keyboard. ClutterText supercedes both
874      ClutterLabel and ClutterEntry.
875    » ClutterClone is a new actor that allows cloning of other actors,
876      both simple and composite. ClutterClone supercedes ClutterCloneTexture.
877    » ClutterBindingPool is a new API that allows to easily add key bindings
878      to an actor.
879    » ClutterAnimation is a new API for implicit animations, similar to
880      the tweening API used in toolkits like jQuery, Tween and Flash. This
881      new API supercedes the ClutterEffect API.
882    » ClutterAlpha uses "animation modes" instead of raw function
883      pointers; it is still possible to pass alpha functions. The alpha
884      functions provided by Clutter have been removed from the public
885      API. It is possible to register global alpha functions and use
886      them though a logical id.
887    » The interval of the ClutterAlpha:alpha property has been changed
888      to a floating point value in the [ -1.0, 2.0 ] range; this allowed
889      the addition of "overshooting" easing modes.
890    » COGL now supports backface culling.
891    » The COGL-based Pango renderer is public API and it is accessible
892      to developers. It is also possible to access the PangoContext used
893      by Clutter in order to create PangoLayouts to render text.
894    » The ClutterFixed API has been moved to COGL.
895    » COGL does not depend on Clutter data types anymore.
896    » The ClutterMedia interface has been overhauled: implementations
897      now must only override the interface properties. The ranges of
898      some properties have been changed to normalized values.
899    » COGL now exposes only floating point entry points, and reserves
900      the eventual conversion to fixed point only when needed. The
901      fixed point type and macros are publicly available for developers
902      concerned about floating point operations.
903    » COGL has a new Vertex Attribues API that allows submitting an
904      extensible number of vertex attributes to OpenGL in a way that
905      does not require format conversions and allows fast re-use.
906    » COGL has a new Material API that decouples paths from fills; it
907      is possible to create an arbitrary path and fill it with a COGL
908      texture. The Material API also allows setting multiple texture
909      layers and defining the blend modes and colors.
910    » ClutterTexture has the ability to use a worker thread to asynchronously
911      load an image from a file, as long as the GLib threading support has
912      been enabled prior to calling clutter_init().
913    » Clutter now supports localization of the help output, and it
914      also supports globally setting the text direction for non left to
915      right locales.
916    » ClutterCairoTexture is a new actor that allows using Cairo
917      to draw on a ClutterTexture; since Cairo does not have an OpenGL
918      backend, the drawing is not hardware accelerated.
919    » Clutter has a unit testing suite, based on the GLib unit test
920      framework, which can be used to track regressions.
921    » A ClutterPath object has been added, and it is used by the
922      BehaviourPath. The Path object allows defining paths using a set
923      of coordinates and operations. A Path can be "painted" either using
924      COGL primitives or using Cairo primitives, allowing an easier way
925      to paint non-rectangular shaped actors.
926    » ClutterInterval is a simple object, used by ClutterAnimation, that
927      describes an interval between two values, and interpolates between
928      the initial and final values of the interval.
929
930  • List of bugs fixed since 0.8.6
931
932    » #835 - Optimize clutter_actor_real_pick()
933    » #851 - setting anchor point causes picking problem
934    » #883 - Outstanding COGL merge issues
935    » #1003 - Add clutter_actor_take_key_focus
936    » #1014 - Clutter Animation API Improvements.
937    » #1049 - Clutter doesn't support most GLSL uniforms
938    » #1051 - WebKit/Clutter product/component?
939    » #1058 - Build clutter-box2d with Clutter 0.8
940    » #1066 - Clipping regression in 0.8
941    » #1086 - virtualize stage_queue_redraw
942    » #1105 - low level access to PangoClutter
943    » #1106 - ClutterText instead of ClutterLabel and ClutterEntry
944    » #1108 - Enter/Leave events logics wrt. skipped motion events
945    » #1109 - clutter-0.8.0 fails to compile
946    » #1123 - Crash when FBO actor is used and the stage is MINIMIZED
947    » #1144 - Provide an option to load images asynchronously in ClutterTexture
948    » #1162 - Add unit testing for Clutter
949    » #1164 - Mesh API
950    » #1172 - Disjoint paths and clip to path
951    » #1189 - Backface culling
952    » #1209 - Move fixed point API in COGL
953    » #1210 - Add CoglColor API
954    » #1211 - Drop ClutterFeatureFlags usage from COGL
955    » #1212 - Allow only a single include file for Clutter
956    » #1215 - Move the Pango renderer to the public API
957    » #1219 - Clean up cogl.h
958    » #1231 - Build fails in gles flavour in revision 3442
959    » #1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
960    » #1251 - Merge the Cairo texture actor in core
961    » #1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
962    » #1261 - [patch] Minimize differences between gl/cogl-texture.c and
963      gles/cogl-texture.c
964    » #1269 - mingw32 building failed at clutter-media.c
965    » #1270 - Update to mingw-cross-compile.sh
966    » #1271 - mingw compiling failed:  undefined reference to
967      `_glDrawRangeElements@24'
968    » #1284 - Return something reasonable from clutter_x11_handle_event()
969    » #1300 - clutter_score_remove and clutter_score_remove_all  are different
970      in object remove
971    » #1310 - font rendering problem
972    » #1313 - Fix computation of camera distance
973    » #1314 - clutter_sinx() is more inaccurate than it needs to be
974    » #1321 - Get Matrix in float
975    » #1323 - ClutterBehaviorDepth conflicts with other behaviors
976    » #1325 - ClutterPath to cairo_path_t conversion functions
977    » #1330 - We should not queue redraw for non-visible actors
978    » #1334 - Default value for ClutterLabel::text should be "" instead of NULL
979    » #1344 - clutter_actor_transform_stage_point gives invalid coordinates
980      for big actors
981    » #1352 - Weird cogl-pango.h includes in clutter-[entry|label].c
982    » #1354 - Floating point exception when set fps>1000 and start timeline
983    » #1361 - Unused ClutterStage::get_resolution() methods
984    » #1365 - ClutterEntry doesn't get the cursor when it should
985    » #1366 - disable-npots fails to build on mac
986    » #1380 - Return booleans from CLUTTER_ACTOR_IS_• macros
987    » #1386 - Wrong clipping dimensions for larger actors
988    » #1387 - Clarify new-frame signal emission with advance()
989    » #1388 - Clarify signal emission for advance_to_marker()
990    » #1395 - behaviour_apply and behaviour_get_nth_actor are opposite on
991      actors sequence
992    » #1397 - clutter command line is not localized.
993    » #1402 - Change default tile-waste from 64 to 63
994    » #1403 - ClutterMedia::get_uri() should return allocated string
995    » #1404 - ClutterMedia issues
996    » #1405 - Fix properties that have X11 types to be 'long'
997    » #1409 - Use G_SIGNAL_RUN_LAST with ::queue-redraw signal
998    » #1410 - [patch] Implements a generic ClutterActorClone class without fbos
999    » #1414 - avoid relayout of ClutterTexture if not syncing size
1000    » #1415 - short-circuit setting same clip again
1001
1002 Clutter 0.8.2 (25/09/2008)
1003 ===============================================================================
1004
1005  • List of changes between 0.8.0 and 0.8.2
1006
1007    » Add constructor-only properties for the :container and :actor
1008      properties of ClutterChildMeta
1009    » Resync the Clutter keysyms with X.org ones.
1010    » Documentation fixes and improvements
1011    » Allow defining ClutterColor as an object or an array inside
1012      ClutterScript UI definitions
1013    » Added the missing :perspective property to ClutterStage
1014    » Fixed the upper and lower boundaries for ClutterUnit and
1015      ClutterFixed properties
1016    » Fix a bug that prevented disabling sorting on ClutterModel
1017    » Fix a bug in clutter_timeline_list_markers()
1018    » Queue a redraw when the clip is changed
1019    » Optimize calls to push and pop the matrix when painting
1020    » Add a variable to the pkgconfig file for extracting the
1021      COGL backend, for configure-time checks
1022    » Fix a typo in cogl_path_rel_curve_to()
1023    » Fix showing the cursor after it being hidden once
1024    » Add a function for obtaining Clutter's option group without
1025      initializing Clutter
1026
1027  • List of bugs fixed since 0.8.0
1028
1029    » #856 - Teardown sequence is borked
1030    » #945 - Clipping+fbo cloning bugs
1031    » #1010 - ClutterLabel does not update the layout (again)
1032    » #1020 - TFP resyncing on MapNotify/ConfigureNotify [Andy Wingo]
1033    » #1033 - Manually parsing command line options prevents
1034      initializing clutter
1035    » #1034 - Picking doesn't work on Eee PC
1036    » #1038 - Clutter 0.8 won't build due to redefined functions
1037    » #1044 - cogl_get_viewport error
1038    » #1047 - API documentation from release tarball is not
1039      installed by "make install" [Mirco Müller]
1040    » #1048 - SIGFPE in cogl_texture_set_region() with
1041      nvidia [Gwenole Beauchesne]
1042    » #1062 - clutter_actor_query_coords() replacement in
1043      0.8 [Gwenole Beauchesne]
1044    » #1069 - Warnings with ClutterScore
1045    » #1071 - clutter_timeline_get_duration doesn't always work
1046    » #1075 - Difficult to bind clutter_stage_new
1047    » #1080 - clutter_stage_read_pixels has upside-down y coordinate
1048    » #1082 - Texture bitmap is destroyed in wrong way
1049    » #1085 - Cursor is in wrong position on ClutterEntry if set
1050      x-align property
1051    » #1090 - Label somtimes returns natural_width < min_width [Johan Bilien]
1052    » #1091 - WM_MOUSEWHEEL (scroll-event) not handled
1053      correctly [Roman Yazmin]
1054    » #1099 - No ClutterScript API to get a list of IDs in a given
1055      file [Noah Gibbs]
1056    » #1100 - WM_SIZE not handled correctly, user_resize and
1057      window_style correction
1058    » #1103 - Two typos in clutter documentation
1059    » #1121 - Setting anchor point doesn't work if set too early
1060    » #1124 - Clutter causes an additional size request in each
1061      allocation [Johan Bilien]
1062    » #1125 - Save an extra pango_layout_get_size in many
1063      cases [Johan Bilien]
1064    » #1130 - CLUTTER_MOTION is not emitted when time goes
1065      backwards. [Pierce Liu]
1066    » #1137 - Setting the anchor point does not trigger a re-paint
1067    » #1145 - Flicker on resize the window
1068    » #1154 - clutter_timeout_pool_new() documentation doesn't say
1069      how to free [Murray Cumming]
1070
1071 Clutter 0.8.0 (10/07/2008)
1072 ===============================================================================
1073
1074  • List of changes between 0.7.6 and 0.8.0
1075
1076    » Assume that non-power-of-two sized textures are always supported
1077      if texture-from-pixmap support is present.
1078
1079    » Increase documentation coverage.
1080
1081    » Disable the XINPUT support by default.
1082
1083    » Improve the behaviour of clutter_actor_get_transformed_size().
1084
1085    » Fix a copy-and-paste bug which broke the vertex shaders.
1086
1087  • List of bugs fixed since 0.7.6
1088
1089    » #983 - cogl-bitmap-fallback.c compiler error/warning due to cast issue
1090    » #985 - MSC math.h / M_PI issue
1091    » #998 - clutter always captures X input events
1092    » #1000 - clutter-x11 should define gtypes for its enumerations
1093    » #1004 - Fix "edge-detect" shader
1094    » #1007 - Fix TFP fallback mechanism
1095    » #1008 - tfp still a bit borked
1096    » #1010 - ClutterLabel does not update the layout
1097    » #1011 - Fix TFP fallback mechanism (take 2)
1098    » #1012 - clutter_stage_read_pixels() has incorrect alpha data
1099              on some (most?) cards"
1100    » #1013 - Per device grabs are not obeyed in pointer device propagation.
1101    » #1015 - Cloning unparented actors with FBOs doesn't work with new
1102              layout code
1103    » #1016 - Changing window-redirect-automatic property after creating
1104              ClutterX11TexturePixmap doesn't work
1105    » #1019 - clutter-frame-source.h not included by clutter.h
1106    » #1022 - extern inline functions in clutter-fixed.h
1107    » #1033 - Manually parsing command line options prevents initializing
1108              Clutter
1109
1110 Clutter 0.7.6 (27/06/2008)
1111 ===============================================================================
1112
1113  • List of changes between 0.7.4 and 0.7.6
1114
1115    » Removed the ClutterBackend::get_display_size() and wrappers.
1116
1117    » Verify that the vertex shaders are successfully compiled when binding
1118      them.
1119
1120    » Increase safety of the ClutterGLXTexturePixmap
1121
1122  • List of bugs fixed since 0.7.4
1123
1124    » #993 - Underline colors are sometimes wrong
1125
1126 Clutter 0.7.4 (25/06/2008), "Killer Koi"
1127 ===============================================================================
1128
1129  • List of changes between 0.7.2 and 0.7.4
1130
1131    » Fix the ClutterEntry actor after the clip API changes in COGL.
1132
1133    » Update the shaders generated for GLES 2.0.
1134
1135    » Add the ability to add search paths and look up files from
1136      ClutterScript. This allows defining directories to store the
1137      images to be loaded by a ClutterTexture.
1138
1139    » Fix the GLES 1.1 support.
1140
1141    » Warn if no usable pointer device are available on X11 backends.
1142
1143    » Improve the request for the best pixel format on win32.
1144
1145    » Fix a regression when sizing the ClutterStage on backends that
1146      only support fixed size stages; now setting any size will result
1147      in Clutter ignoring the request, like it happened in Clutter 0.6.
1148
1149    » Add a method to ClutterBackend to retrieve the display size.
1150
1151    » Fix clutter_sinx() for angles > CFX_2PI - CFX_ONE.
1152
1153  • List of bugs fixed
1154
1155    » #833 - ClutterEntry should clip glyphs rather than itself
1156    » #858 - Support for multiple devices (using XINPUT)
1157    » #879 - sampler2DRect used by test-shader.c doen't work with non-rect textures
1158    » #979 - Wrong call convension for SwapIntervalProc in win32 backend
1159    » #987 - clutter-event.c c99 variable declaration
1160    » #988 - cursor position wrong with multibyte invisible char
1161    » #989 - Add a search path for clutter script assets
1162
1163 Clutter 0.7.2 (23/06/2008), "Kedoke"
1164 ===============================================================================
1165
1166  • List of changes between 0.7.0 and 0.7.2
1167
1168    » ClutterTexture has a new :keep-aspect-ratio property; when it is set
1169      to TRUE the texture will return a preferred width maintaining the
1170      aspect ratio with the given height and a preferred height maintaining
1171      the aspect ratio with the given width. This allows to set the width or
1172      the height and have the texture automatically request the height or the
1173      width respectively while maintaining the aspect ratio of the original
1174      image.
1175
1176    » Added XINPUT support on the X11 backends; this provides an initial
1177      support for multiple input devices. The API is X11-specific, and
1178      provides support for querying at run-time support for XINPUT, for
1179      getting a list of input devices and for getting the type of each
1180      input device. 
1181  
1182    » The 'fruity' backend also features multiple device support.
1183
1184  • List of bugs fixed
1185
1186    » #816 - clutter_actor_request_coords() should take a const box.
1187    » #836 - Optimize clutter_label_query_coords()
1188    » #905 - Paint cursor directly
1189    » #918 - Group doesn't clip if it's children are clipped
1190    » #953 - Actors are not hidden before unrealized or disposed
1191    » #960 - PangoContext creation code should not be duplicated
1192    » #970 - clutter_actor_get_paint_area confusion
1193    » #971 - Minor ClutterActor cleanups
1194    » #972 - Better parenting
1195    » #973 - unreffing ClutterScore may segfault
1196    » #981 - clutter_stage_read_pixels temprow fix
1197    » #982 - __COGL_GET_CONTEXT MS compiler issue
1198    » #984 - pango_clutter_render_layout() declared void
1199
1200 Clutter 0.7.0 (13/06/2008), "Booska"
1201 ===============================================================================
1202
1203  • List of changes between 0.6 and 0.7.0
1204
1205    » COGL, the underlying GL abstraction layer in Clutter, has been
1206      completely rewritten from the ground up. Its no longer a conceptual
1207      hack but a documented, fully featured library pretty much in its
1208      own right. COGL abstracts over Open GL, Open GL ES 1.1 and now
1209      OpenGL ES 2.0, providing a smart uniform API over these libraries
1210      with various utility features such as texture tiling abstractions,
1211      paths and primitive rendering, FBO, shaders, etc.
1212
1213    » Clutter now provides an experimental backend for the Apple(tm)
1214      iPhone and iPod Touch families of products.
1215
1216    » The Windows platform is now natively supported instead of
1217      relying on the SDL libraries. The win32 backend is still
1218      experimental.
1219
1220    » The X11 based backends now feature support for Actors that wrap
1221      external X drawables (i.e the texture-from-pixmap extension and
1222      fallbacks)
1223
1224    » Clutter now seamlessly supports multiple stages on the backends
1225      that allow this feature.
1226
1227    » The custom Pango renderer has been completely rewritten, now using
1228      the more modern and maintained PangoCairo (instead of FT2), and avoids
1229      nasty subclassing hacks, supports smooth fast scaling of text, has
1230      many edge case issues fixed and it still is very efficient (using
1231      a texture glyph cache). It is even a little bit faster.
1232
1233    » Better texture support, timeline improvements, ClutterLabel and
1234      ClutterEntry improvements, and container child properties are among
1235      the new features - too many to fit in the NEWS file.
1236
1237  • List of bug fixes
1238
1239    » #358 - "window resizing doesn't show scaled stage"
1240    » #425 - "COGL enhancements"
1241    » #439 - "timing related pong lockup due to timeline_rewind somtimes
1242             being ignored by timeline_timeout_func"
1243    » #450 - "ClutterScore API enhancements"
1244    » #641 - "add markers to timelines"
1245    » #666 - "Large font size leads to missing ""W"" and wrong ""J"" character"
1246    » #713 - "texture from pixmap"
1247    » #791 - "default actors to visible"
1248    » #800 - "CLUTTER_ALPHA_EXP_INC overflows"
1249    » #804 - "clutter_actor_get_opacity returns composited alpha"
1250    » #810 - "100 % CPU load with clutter_main()"
1251    » #815 - "Split up request
1252    » #816 - "clutter_actor_request_coords() should take a const box."
1253    » #822 - "Fix clutter_actor_lower()"
1254    » #823 - "Clean-up GLism's in clutter-core (below cogl)"
1255    » #824 - "ClutterEntry should handle its own key events"
1256    » #825 - "Removes GLisms from clutter-main.c"
1257    » #831 - "configure.ac missing osx flavour help"
1258    » #834 - "add ability to set anchor in json"
1259    » #836 - "Optimize clutter_label_query_coords()"
1260    » #839 - "Crash if put cursor over topmost pixel"
1261    » #840 - "Implement prepare-paint and finish-paint signals."
1262    » #848 - "Events dispatch doesn't work in GLX Xephyr"
1263    » #850 - "Impossible to set ClutterRectangle border opacity to a value
1264             different from the surface opacity"
1265    » #857 - "cogl_color doesn't work in PowerVR PC Viewer"
1266    » #860 - "ClutterAlpha leaks"
1267    » #864 - "Allow instantiating and subclassing of ClutterStage"
1268    » #871 - "Two problems with closing stages"
1269    » #873 - "clutter_x11/glx_texture_pixmap issues"
1270    » #874 - "Clipping on GL ES"
1271    » #875 - "Clutter Label Issues"
1272    » #881 - "Timelines require precise system timing"
1273    » #882 - "Allow child properties for containers implementing the
1274             ClutterContainer interface"
1275    » #884 - "Add clutter_alpha_set_closure"
1276    » #889 - "Error when building clutter-ivan with eglx"
1277    » #891 - "assertion failed when test-behave exits"
1278    » #892 - "Incorrect results using  rotation-[center|angle] properties"
1279    » #894 - "Artifacts with the pango renderer"
1280    » #900 - "clutter_actor_lower() and friends do not queue redraw"
1281    » #906 - "Implement timing of the events"
1282    » #908 - "Support transform from G_TYPE_INT to ClutterUnit"
1283    » #909 - "OSX: missing NULL pointer handling"
1284    » #910 - "OSX: missing memory pool"
1285    » #911 - "OSX: add multistage support"
1286    » #912 - "Invalid use of int• as parameter for glGetIntegerv"
1287    » #913 - "cogl fails to build on OSX"
1288    » #914 - "ClutterEntry is confused about characters vs. bytes"
1289    » #915 - "clutter_entry_set_max_length(-1) misbehaves"
1290    » #916 - "ClutterKeyEvent:unicode_value is ignored"
1291    » #919 - "Replacement pango renderer"
1292    » #927 - "Created ports for clutter
1293    » #928 - "Reparenting a child that itself is a container doesn't work"
1294    » #930 - "add support for quartz imagebackend"
1295    » #931 - "suspicious size allocation for pixel data"
1296    » #933 - ""X Error of failed request" when attempting to call
1297             clutter_actor_request_coords()"
1298    » #934 - "Update clutter-tutorial to build with clutter from svn trunk."
1299    » #947 - "Destroying a stage is messy"
1300    » #948 - "Remove texture rectangle support"
1301    » #950 - "AltGr not handled"
1302    » #951 - "Fix clutter_entry_init() in trunk"
1303    » #952 - "Fix test-textures in trunk"
1304    » #953 - "Actors are not hidden before unrealized or disposed"
1305    » #955 - "ClutterLabel is missing fallback resolution handling"
1306    » #959 - "Multiple minor improvements"
1307    » #960 - "PangoContext creation code should not be duplicated"
1308    » #961 - "Fails to build on OSX (query/request_coords is gone)"
1309    » #964 - """unrealized"" signal of ClutterActor wrongly named"
1310
1311 Clutter 0.6.0 (18/02/2008)
1312 ==========================
1313
1314  • List of changes between 0.5.6 and 0.6.0
1315
1316    » New documentation sections inside the API reference, describing
1317      the animation framework.
1318
1319    » New API in ClutterActor for computing the actor's vertices in
1320      the plane of a given ancestor and accessors to query whether an
1321      actor is scaled or rotated
1322
1323  • List of bug fixed
1324
1325    » #613 - Extend point transformation API
1326    » #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
1327    » #787 - tiled textures are broken
1328    » #796 - segmentation fault when setting label text
1329
1330 Clutter 0.5.6 (11/02/2008)
1331 ==========================
1332
1333  • List of changes between 0.5.4 and 0.5.6
1334
1335    » Reverted a last minute change in the depth sorting function of
1336      ClutterGroup.
1337
1338    » Added the clutter_actor_move_anchor_point() family of functions,
1339      which will set the anchor point at the given coordinates while
1340      adjusting the actor postion so that the relative position of the
1341      actor toward its parent remains the same.
1342
1343    » Provide a fallback for finding the Clutter alpha functions inside
1344      a UI definition for ClutterScript in case g_module_open() fails.
1345
1346    » Add initial Frame Buffer Objects support in ClutterTexture; using
1347      FBOs, where supported by the hardware and drivers, it's possible to
1348      create a ClutterTexture from any actor.
1349
1350  • List of bugs fixed
1351
1352    » #386 - Stage is white unless a timeline is present
1353    » #439 - timing related pong lockup due to timeline rewind...
1354    » #440 - 1 pixel line flickering
1355    » #442 - Shader support
1356    » #451 - Improve font rendering quality (Pango)
1357    » #452 - Textures are shown with distortion on Solaris/SPARC
1358    » #526 - OSX backend
1359    » #533 - Clutter stage is not shown under some conditions
1360    » #540 - ClutterStage isn't always respecting requests to change size
1361    » #549 - Backend offscreen API is broken
1362    » #613 - Extend point transformation API
1363    » #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
1364      Beauchesne]
1365    » #643 - Superfluous "filter-quality" setting in texture_upload_data()?
1366      [Gwenole Beauchesne]
1367    » #689 - Rotating actor through layers does not handle opacity
1368      correctly [Josh Stewart]
1369    » #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
1370    » #719 - X11 backend does not check window field in events [Havoc
1371      Pennington]
1372    » #724 - ClutterLabel reports wrong height when lines > 1
1373    » #749 - "reactive" property does not change
1374    » #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
1375      Pennington]
1376    » #756 - clutter_actor_get_abs_size returns bogus values
1377    » #769 - OSX backend fails to build
1378    » #770 - OSX: passing incompatible pointer type
1379
1380 Clutter 0.5.4 (25/01/2008)
1381 ==========================
1382
1383  • List of changes between 0.5.2 and 0.5.4
1384
1385    » A clutter-x11-<major>.<minor> pkg-config file is installed along
1386      with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
1387      ones, for libraries and applications depending on the X11-based
1388      backends (GLX and EGLX).
1389
1390    » Textures are correctly unrealized before changing and freeing the
1391      main GL context.
1392
1393    » It is now possible to block the automatic call to clutter_main_quit()
1394      when closing the stage window using the frame controls by connecting
1395      an handler for the ::event signal on the Clutter stage and checking
1396      for the CLUTTER_DELETE event type and returning TRUE. This allows
1397      the usage of other main loops with GLib reactors (like Python's twisted)
1398      with Clutter without triggering assertions by closing the stage window.
1399
1400  • List of bugs fixed
1401
1402    » #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
1403    » #614 - ClutterActor API inconsistencies
1404    » #640 - ClutterTexture unrealized with no GL context
1405    » #654 - Under heavy load clutter sometimes drops the last frame of
1406      a timeline [Johan Bilien]
1407    » #672 - Event handling in osx backend is broken [Tommi Komulainen]
1408    » #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
1409    » #695 - clutter-shader: Invalid format string for
1410      gssize [Tommi Komulainen]
1411    » #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
1412    » #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
1413    » #714 - clutter_event_copy for enter/leave event generates
1414      extra unref [Neil Roberts]
1415    » #715 - Type errors in test-shader
1416    » #720 - BehaviourScale not working in python after recent
1417      API change [Josh Stewart]
1418
1419 Clutter 0.5.2 (14/01/2008)
1420 ==========================
1421
1422  • List of changes between 0.5.0 and 0.5.2
1423
1424    » ClutterModelDefault has been renamed to ClutterListModel
1425
1426    » ClutterModel now has vector-based variants for append, prepend and
1427      insert methods; these methods are useful for bindings
1428
1429    » Add units-based variant for clutter_actor_move_by()
1430
1431  • List of bugs fixed
1432
1433    » #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
1434    » #700 - Fix for clutter_effect_rotate() [Neil Roberts]
1435
1436 Clutter 0.5.0 (02/01/2008)
1437 ==========================
1438
1439  • List of changes between 0.4.2 and 0.5.0
1440
1441    » New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
1442      flag set will receive events from the underlying backend; the event
1443      propagation chain will be walked in two directions (from the actor to
1444      the top-level container and back) with the ability to block it in
1445      both phases.
1446
1447    » ClutterShader, an abstraction over the programmable OpenGL pipeline.
1448
1449    » ClutterScore, an object for controlling timelines; using a score
1450      instance is possible to start multiple timelines at once, or start
1451      a timeline after another has emitted the ::complete signal.
1452
1453    » ClutterScript, an object for parsing a scene from an external file or
1454      a buffer; the scene is described using JSON (JavaScript Object Notation):
1455      every object is defined using its class and properties, and container
1456      objects can have their children defined as well. It is also possible
1457      do describe top-level objects such as timelines and behaviours, and to
1458      automatically connect signal handlers to signal names.
1459
1460    » ClutterTimelines duration can now be set in milliseconds using the
1461      :duration property; the default framerate will be used to compute the
1462      actual duration in frames. The default framerate will be set by the
1463      backend, and can be overridden by the application.
1464
1465    » ClutterTimelines direction can now be set using the :direction
1466      property; a timeline can be set to proceed forward or backward,
1467      and the direction can also be change while the timeline is still
1468      running.
1469
1470    » New, experimental OSX backend.
1471
1472    » Build environment for MS VisualStudio 2005.
1473
1474    » ClutterModel, a generic list-based model object that can be used to
1475      implement actors following the Model-Viewer-Controller design pattern.
1476      Clutter provides a default implementation of ClutterModel, called
1477      ClutterModelDefault and using the GSequence data structure from GLib
1478      to optimize insertion and look up.
1479
1480    » Add the ability to grab pointer and keyboard events: if an actor
1481      is set to have a grab it'll be the only one receiving events until
1482      it releases the grab.
1483
1484    » Add the ability for an actor to receive the key focus; an actor
1485      with key focus will always receive the key events, even if it did
1486      not acquire the keyboard grab.
1487
1488    » It is now possible to set the GL "fog" (also known as "depth cueing")
1489      effect on the ClutterStage; if the fog is enabled, actors farther
1490      away from the view point will fade into the stage background color.
1491
1492    » Each actor now has an "anchor point", a point defined in the actor's
1493      coordinate space that will be used as the origin when scaling and
1494      rotation transformations.
1495
1496    » Every pixel-based API has been doubled with a corresponding
1497      ClutterUnits-based function (postfixed with a '-u'), for instance:
1498
1499        clutter_actor_set_position() - clutter_actor_set_positionu()
1500        clutter_actor_set_size()     - clutter_actor_set_sizeu()
1501        clutter_actor_set_depth()    - clutter_actor_set_depthu()
1502
1503      This allows sub-pixel precision and device independence.
1504
1505    » The ClutterLabel actor now tries very hard to provide a sane
1506      default size, if no bounding box has been requested; this fixes
1507      the :alignment property and allows the addition of the :justify
1508      property.
1509
1510    » The SDL backend can now be compiled under win32 with MingW; this
1511      backend is still marked as experimental.
1512
1513    » The OSX backend allows the compilation of Clutter under OS X; this
1514      backend is experimental.
1515
1516  • List of bugs fixed
1517
1518    » #423 - All actors should emit events rather than just the stage
1519    » #424 - Interface definition files
1520    » #443 - ClutterModel implementation
1521    » #480 - Uninitialized variable in
1522      path_alpha_to_position() [Gwenole Beauchesne]
1523    » #511 - clutter_stage_get_actor_at_pos problem
1524    » #512 - clutter window moves when stage actor is scaled
1525    » #518 - XEMBED not supported in eglx backend
1526    » #519 - Should have an Atom cache initialized on start up
1527    » #520 - Delete after multibyte unicode chars in
1528      ClutterEntry [Tommi Komulainen]
1529    » #522 - Array out of bounds indexing [Tommi Komulainen]
1530    » #523 - cogl portability fixes [Tommi Komulainen]
1531    » #524 - missing config.h includes [Tommi Komulainen]
1532    » #525 - Redundant include in cogl/gl [Tommi Komulainen]
1533    » #531 - Extraneous "new-frame" signal generated
1534    » #532 - clutter_actor_set_scale_with_gravityx()
1535      precision [Gwenole Beauchesne]
1536    » #544 - clutter_color_to_hlsx is broken [Neil Roberts]
1537    » #546 - ClutterStageState doesn't make sense
1538    » #550 - Wanted: Set Actor's position based on center or other
1539      edges/corners of quadrangle
1540    » #557 - ClutterScript should support complex properties for third
1541      party classes
1542    » #558 - Unmerge UI definitions
1543    » #566 - ClutterEntry does not scroll the text to the
1544      right [Gwenole Beauchesne]
1545    » #577 - Inconsistent naming of behaviour properties
1546    » #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
1547    » #582 - api naming inconsistence between
1548             clutter_behaviour_path_append_knots and
1549             clutter_behaviour_bspline_append
1550    » #584 - Typo on clutter_effect_rotate_x documentation page
1551    » #592 - Fix build on trunk [Gwenole Beauchesne]
1552    » #596 - ClutterTexture tileing logic is a little borked
1553    » #597 - ClutterGroups not pickable
1554    » #600 - fix ClutterLabel layout computing when no box has been set
1555    » #604 - Color param for Label constructor should be
1556      const [Jonathon Jongsma]
1557    » #606 - enable depth test in GL
1558    » #608 - Control motion events frequency
1559    » #614 - ClutterActor API inconsistencies
1560    » #616 - ClutterTexture doesn't respect width set from clutterscript
1561    » #617 - ClutterEffect Improvements
1562    » #618 - ClutterScript name/id confusion
1563    » #619 - clutter_behavior_rotate angle properties should accept
1564      negative values
1565    » #628 - clutter_actor_rotate_x() is a setter, not a modifier
1566    » #629 - There is no clutter_actor_get_position()
1567    » #634 - clutter_behaviour_path_new() documentation unclear
1568    » #637 - add depth cueing support to the stage
1569    » #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
1570    » #647 - Cannot hide the stage
1571    » #648 - Hidden fullscreen stage doesn't come back as fullscreen
1572    » #652 - reference needed on actor being source of last motion_event
1573    » #661 - clutter_actor_set_width() documentation is vague
1574    » #662 - clutter_actor_set_opacity() documentation doesn't describe values
1575    » #665 - ClutterBehaviourEllipse tilts are broken
1576    » #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
1577    » #673 - ClutterActor "captured-events" signal documentation wrong
1578    » #674 - ClutterActor::get_depth() and set_depth() vfuncs not
1579      used [Murray Cumming]
1580    » #675 - update subregions of cluttertextures
1581    » #678 - ClutterLabel size allocation still bogus
1582
1583 Clutter 0.4.0 (07/08/2007)
1584 ========================
1585
1586  • List of changes between 0.3.1 and 0.4.0
1587
1588    » Many documentation additions and improvements.
1589
1590    » Display DPI now honours on backends its can be queried.
1591
1592    » Various big endian related fixes.
1593
1594    » ClutterBehaviourEllipse and ClutterBehaviourRotate API and
1595    internals improvements.
1596
1597    » Add basic tslib support to eglnative backend (for touchscreen events)
1598
1599    » clutter_stage_get_actor_at_pos should now work on 16bpp displays.
1600
1601    » New ClutterEffect rotation calls.
1602
1603    » Allowing user resizing of the stage now optional.
1604     (implemented by glx backend only currently)
1605
1606    » ClutterEntry UTF8 fixes and improved automatic initial sizing.
1607
1608    » Make ClutterActor GInitiallyUnowned.
1609
1610    » New ClutterBox API: each box has now a colour and a margin (distance
1611      between the inner-border and the children); plus, each packed child
1612      has a padding. Margins and paddings are expressed in ClutterUnits,
1613      to ease the transition to the device independent units. You can use
1614      clutter_box_set_default_padding() if you want the same padding for
1615      each child.
1616
1617  • List of bug fixed
1618    » #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
1619    » #398 - inconsistent type for return value of clutter_event_get_state
1620    » #403 - Critical error when removing texture actor
1621    » #404 - Solaris build error with OpenGL, missing
1622             GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
1623    » #409 - depth mismatch between visual (32) and window (24)
1624    » #407 - metadata-available signal #ifdef'ed out
1625    » #413 - Clutter compile error with Sun Studio C compiler
1626    » #426 - typo in sdl_backend
1627    » #414 - ClutterEntry invisible if size not set
1628    » #434 - clutter_color_from_pixel incorrectly interprets alpha value
1629    » #435 - clutter_color_subtract does the opposite of its documentation
1630    » #436 - clutter-behaviour-depth always perform "from deep to shallow"
1631
1632 Clutter 0.3.1 (06/07/2007)
1633 ========================
1634
1635  • List of changes between 0.3 and 0.3.1
1636    » EGL. There are now 2 experimental EGL backends;
1637      - 'eglx', the former EGL on X11 implementation (now renamed)
1638      - 'eglnative', a new EGL 'native' backend which supporting non
1639        X11 EGL implementations (i.e framebuffer).
1640
1641    » ClutterGroup now returns correct size when a child is removed.
1642
1643    » Missing redhand.png added to distro tarball (fixing tests that require
1644      it)
1645
1646    » Fix picking in ClutterBox
1647
1648    » Rectangle border creation fixed.
1649
1650    » Fix overflow in Exponential Alpha funcs.
1651
1652    » Many API documentation fixes and improvements.
1653
1654    » ClutterEffect cleanups.
1655
1656    » ClutterEntry cleanups.
1657
1658    » Check for versioned XFixes library (GLX backend).
1659
1660    » More X error traps in GLX backend.
1661
1662 Clutter 0.3 (29/06/2007)
1663 ========================
1664
1665  • List of changes between 0.2.3 and 0.3
1666    » Clutter now supports both switchable windowing system and GL backends.
1667      Window systems supported include GLX, EGL and SDL.
1668
1669      GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
1670      provided by a small basic abstraction layer 'cogl.h'. Cogl is not
1671      yet documented - usage external to Clutter is not yet advised.
1672
1673      Backends may provide specific command line options.
1674
1675      Notes;
1676
1677      GLX
1678      ---
1679      The GLX backend is built by default and is currently the most
1680      developed, supported and featured windowing system backend. Only
1681      OpenGL is supported via GLX.
1682
1683      SDL
1684      ---
1685      Clutter has experimental support for using SDL. Open GL is supported as
1686      is OpenGL ES via Dogles (very experimental).
1687
1688      EGL
1689      ---
1690      Clutter has experimental support for using EGL. Only Open GL ES
1691      is supported by EGL.
1692
1693      EGL support assumes an EGL implementation running atop X Windows.
1694
1695      Open GL ES.
1696      -----------
1697
1698      Clutter now has experimental support for Open GL ES.
1699      Current known issues;
1700
1701      + Unrealising a ClutterTexture will not move pixel data from video
1702        into system memory but simply destroy it.
1703      + BGRA, YUV Texture data not currently supported.
1704
1705      (Use the clutter_feature API to probe for above at runtime)
1706
1707      Open Source ES implementations this has been tested against
1708      include `Vincent' and `dgles'.  Support for commerical
1709      implementations may require modifications to the configure.ac
1710      script.
1711
1712      vincent: http://ogl-es.sourceforge.net/
1713               (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
1714
1715      dgles: http://developer.hybrid.fi/dgles/index.html
1716
1717    » New ClutterEffect class provides a simplified (and thus less flexible)
1718      API wrapping around behaviours, alphas and timelines.
1719    » New Behaviours - bspline, ellipsis, rotation.
1720    » New built in Alpha functions;
1721       CLUTTER_ALPHA_SINE_INC
1722       CLUTTER_ALPHA_SINE_DEC
1723       CLUTTER_ALPHA_SINE_HALF
1724       CLUTTER_ALPHA_SQUARE
1725       CLUTTER_ALPHA_SMOOTHSTEP_INC
1726       CLUTTER_ALPHA_SMOOTHSTEP_DEC
1727       CLUTTER_ALPHA_EXP_INC
1728       CLUTTER_ALPHA_EXP_DEC
1729    » New Actors and interfaces
1730      + ClutterLayout, for writing extended layout support in actors
1731      + ClutterContainer, for generic container actors
1732      + ClutterBox, ClutterVBox and ClutterHBox layout actors.
1733      + ClutterEntry, text entry actor
1734    » ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
1735    » All internal math now fixed point based.
1736    » Clutter now has it own internal event queue.
1737    » ClutterStage new features;
1738      + Title property for naming in window decorations.
1739      + Perspective setting - The stages perspective can now be modified.
1740    » New Clutter_actor •project API calls allow for querying of tranformed
1741      actor vertices and points.
1742    » New Clutter Feature checks.
1743    » Initial ClutterUnit implementation for device independant positioning.
1744  • List of Bugs fixed
1745    » Various issues with very poor performance and Intel drivers.
1746    » #138 Fix typo in x rotation transform.
1747
1748 Clutter 0.2.3 (2007-04-11)
1749 ==========================
1750
1751  • List of changed between 0.2.2 and 0.2.3
1752    » Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
1753    » Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
1754
1755 Clutter 0.2.2 (2007-03-22)
1756 ==========================
1757
1758  • List of changed between 0.2.1 and 0.2.2
1759    » Addition of basic XEMBED support for clutter stage. [Matthew]
1760    » Fixes to clutter_texture_get_pixbuf(). [Matthew]
1761    » Export clutter_group_remove_all and add associated fixes. [Matthew]
1762
1763 Clutter 0.2.1 (2007-02-07)
1764 ==========================
1765
1766  • List of changed between 0.2.0 and 0.2.1
1767    » Add even faster double to integer (and back) conversion
1768      functions. [Tomas]
1769    » Fix some errors in the fixed point sine waveform
1770      function. [Tomas]
1771    » Use fixed point math in the Pango renderer. [Tomas]
1772    » Improve the GL version check. [Matthew]
1773    » Add a square waveform function. [Emmanuele]
1774  • List of bugs fixed
1775    » #215 - macro CLUTTER_MARK() not disabled for non-debug builds
1776
1777 Clutter 0.2 (18-01-2007)
1778 ========================
1779
1780  • List of changes between 0.2 and 0.1
1781    » Bindings, GStreamer and GTK+ dependencies moved out of tree:
1782      now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
1783    » Actors now have an initial floating reference; this means you
1784      don't have to explicitely unref them: every memory an actor
1785      allocates will be freed when the group containing the actor will
1786      be destroyed.
1787    » Add basic run-time detection of GL features.
1788      + Use GL_TEXTURE_RECTANGLE_ARB if available.
1789      + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
1790    » Add API for behaviours. A ClutterBehaviour is an object which
1791      drives a set of actors using one or more properties depending
1792      on the value of an "alpha" function.
1793      + Provide simple behaviours: ClutterBehaviourOpacity,
1794        ClutterBehaviourPath and ClutterBehaviourScale.
1795      + Provide simple alpha functions for ramps and sine waveforms.
1796    » Add fixed point API for embedded platforms with no FPU.
1797    » Add support for command line switches to Clutter, like debug
1798      flags and abort on warnings; also allow application to hook up
1799      into the initialisation sequence to add their own command line
1800      switches.
1801    » Add Pango GL renderer for Clutter, and use it to render text
1802      inside the ClutterLabel actor; this decrease texture memory
1803      usage.
1804    » Redo Clutter Label widget, using the new Pango renderer.
1805    » Clutter Textures do not store local pixbuf copy (of texture).
1806    » Redo group and actor scale/sizing API and functionality.
1807    » Add memory management API for ClutterColor, and string parsing.
1808  • List of bug fixed
1809    » #199 - Little group handling fix?
1810    » #198 - Detect NPOT support on more systems
1811    » #197 - Tiled textures are broken
1812    » #196 - Rebuild the examples when the library changes
1813    » #156 - clutter_actor_set_position not using the absolute size
1814    » #155 - Don't test for XInitThreads [Bastien Nocera]
1815    » #154 - Key presses not working in super-oh example [Bastien Nocera]
1816    » #152 - Misc fixes [Bastien Nocera]
1817    » #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
1818    » #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
1819    » #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
1820    »  #98 - Enabling trails in super-oh crashes
1821
1822 Clutter 0.1 (22/06/2006)
1823 ========================
1824
1825  • First 'official' release, expect bugs aplenty.
1826  • Contains:
1827    » Hopefully enough functionality to build things.
1828    » Basic gstreamer 0.10 video playback support.
1829    » Fairly stable API, though in no way totally stable.
1830      Expect CHANGES in future versions.
1831    » Some simple examples ( also see OPT ).
1832    » An experimental GTK-Clutter widget.
1833    » Fairly complete Python bindings.
1834    » Non complete but hopefully useful API documentation.
1835  • If you want to help out see the TODO file.