Release Clutter 1.9.8 (snapshot)
[profile/ivi/clutter.git] / NEWS
1 Clutter 1.9.8                                                        2012-01-24
2 ===============================================================================
3
4   • List of changes since Clutter 1.9.6
5
6     - Fix regressions in users of deprecated API
7     Also, allow to mix the new Actor API with the old Container API without
8     breaking.
9
10     - Add GResource support in ClutterScript
11     GResource is a new infrastructure in GIO that allows to compile resources
12     like UI builder files and image data into a shared library or an
13     executable. A newly added method to ClutterScript makes it possible to
14     load a UI definition from a resource, like it's done for files and
15     data.
16
17     - Update the Wayland client backend
18     The SHM transport API has changed upstream, and the Clutter backend has
19     been updated to reflect it.
20
21 Many thanks to:
22
23   Rob Bradford, Fran Diéguez
24
25 Clutter 1.9.6                                                        2012-01-19
26 ===============================================================================
27
28   • List of changes since Clutter 1.9.4
29
30     - Deprecate clutter_actor_show_all() and clutter_actor_hide_all()
31     The latter never did make a lot of sense: hiding the parent will
32     effectively hide the children as well; the former was there only for
33     convenience, but Actors are visible by default.
34
35     - Gracefully handle existing code
36     The changes in ClutterActor introduced regressions in existing code
37     because of the new functionaly that was introduced to replace deprecated
38     classes like Box and Group. These regressions have hopefully been fixed;
39     Clutter 1.9.6 has been tested with a project as complex as the GNOME
40     Shell.
41
42     - Fix build with binutils-gold
43     The private dependencies were not used when building Clutter, and this
44     made the Gold linker angry.
45
46     - Allow tracking of an actor's first and last child
47     ClutterActor has two new properties, :first-child and :last-child; these
48     are read-only properties that can be used by toolkits based on Clutter
49     to track the first and last child whenever they change.
50
51     - Bump the Cogl dependency
52     The 1.9.4 release depended on Cogl ≥ 1.9.4, but the minimum required
53     version was not bumped along with the changes.
54
55   • List of bugs fixed since Clutter 1.9.4
56
57     [bugzilla.gnome.org]
58     #668137 - FTBFS: pangoft2 check seems to be broken
59
60 Clutter 1.9.4                                                        2012-01-17
61 ===============================================================================
62
63   • List of changes since Clutter 1.9.2
64
65     - New scene graph API in ClutterActor
66     ClutterActor now provides the API for adding, removing, and iterating
67     over the list of children; this deprecates most of the ClutterContainer
68     API. ClutterActor implements ClutterContainer as well, which means that
69     all actors can be containers.
70
71     - Layout management updates
72     ClutterActor now have an horizontal and vertical alignment properties
73     that will be used when added to a parent; a margin has also been added
74     to the ClutterActor class. Both margin and alignment will be automatically
75     managed during the allocation, so they will work out of the box. It is
76     also possible to set a ClutterLayoutManager delegate object on any
77     ClutterActor instance: the LayoutManager will take care of the layout
78     policy for the children of an actor.
79
80     - Add ClutterTextBuffer
81     The ClutterTextBuffer class provides a storage for the contents of
82     a ClutterText actor; the same instance can be shared across different
83     actors as well. The main use for ClutterTextBuffer is implementing
84     secure memory storage for the contents of a ClutterText in password
85     mode.
86
87     - Deprecations
88     ClutterGroup, ClutterBox, and ClutterRectangle have been deprecated; their
89     functionality is now available directly in ClutterActor. The old child
90     actor management API in ClutterActor and ClutterContainer has been
91     deprecated as well. Other deprecations include the ClutterStage
92     fog-related properties and API; the ClutterContainer.sort_depth_order(),
93     raise(), and lower() virtual functions; the internal child push and
94     pop methods on ClutterActor.
95
96     - ClutterTimeline can parse markers from ClutterScript
97     Markers can now be defined inside ClutterScript, and a ClutterTimeline
98     will be able to automatically add them from a UI definition.
99
100     - Add a diagnostic mode
101     Similar to the GLib diagnostic mode, Clutter now supports an environment
102     variable that will print out diagnostic messages for deprecations and
103     warnings that can only be detected at run-time.
104
105     - Wayland backend updates
106     The wayland backend now tracks the latest API changes in the client API,
107     and Clutter now provides a Wayland surface actor that allows to write
108     Wayland compositors, similarly to the X11TexturePixmap actor for the
109     X11 backend.
110
111   • List of bugs fixed since Clutter 1.9.2
112
113     [bugzilla.gnome.org]
114     #665040 - The offscreen effect always recreates the texture if
115               create_texture() is overridden to change the size
116     #665052 - The internal effects should queue a repaint on the effect not
117               on the actor when a property changes
118     #664996 - clutter_state_set_key (allow-none)
119     #664336 - path: Fix introspection annotations
120     #664252 - in case GLSL shader fails to compile clutter-shader-effect.c
121               should print out position in source code
122     #664582 - lookingGlass: Fix global key press handler
123     #660997 - Make _clutter_actor_queue_redraw_with_clip or an equivalent
124               public
125
126 Many thanks to:
127
128   Chun-wei Fan, Robert Bragg, Rob Bradford, Neil Roberts, Bastian Winkler,
129   Fran Diéguez, Jasper St. Pierre, Matej Urbančič, Piotr Drąg,
130   Alexander Shopov, Bastien Nocera, Daniel Mustieles, Jeremy Moles,
131   Jovan Naumovski, Kjartan Maraas, Lucian Adrian Grijincu, Manuel Osdoba,
132   Ryan Lortie
133
134 Clutter 1.9.2                                                        2011-11-22
135 ===============================================================================
136
137   • List of changes since Clutter 1.8
138
139     - Multi-backend build, and run-time backend selection
140     Clutter can be built with support for multiple backends in the same
141     shared library; the backend singleton is determined at run-time,
142     either with the default backend for the platform, or using the value
143     of the CLUTTER_BACKEND environment variable.
144
145     - GDK windowing system backend
146     A new backend has been added, which uses the GDK API for creating the
147     drawing surface, as well as receiving the windowing system and input
148     events.
149
150     - Show a hint when ClutterText is in password mode
151     If the password-hint-time ClutterSettings property is set to a non
152     zero value, the last character entered inside a ClutterText actor when
153     in password mode will be shown in plain for the duration of the timeout,
154     before being replaced by the glyph chosen as the password character.
155
156     - Improve Windows build support
157     Clutter now provides project files to build the library using Visual
158     Studio 9 and Visual Studio 10. Also, the scripts to build Clutter using
159     MinGW have been improved.
160
161     - Remove the requirement for using clutter_threads_init()
162     Threads are initialized by default (depending on the platform), so there
163     is no need to call clutter_threads_init().
164
165     - Deprecate the default ClutterStage
166     The semantics of the default Stage were not obvious, and had the tendency
167     to confuse the user.
168
169     - Move the deprecated headers into their own directory
170     This should help developers identify the deprecated API.
171
172     - Change deprecation policy
173     Deprecated functions are now marked using compiler annotations, instead
174     of being forcibly disabled through pre-processor directives from the
175     headers. Deprecations will cause compiler warnings, and thus are enabled
176     by default. If you're building your project with compiler flags that
177     consider every warning a fatal error, you can use the symbol
178     CLUTTER_DISABLE_DEPRECATION_WARNINGS to disable the deprecation warnings.
179
180     - Translation updates
181     Portuguese, Assamese, Punjabi, Tamil, Oriya, Telugu, French, German,
182     Danish, Traditional Chinese (Hong Kong and Taiwan), Catalan, Esperanto,
183     Lithuanian, Galician, Norwegian bokmål, Slovenian, Hebrew, Bulgarian.
184
185   • List of bugs fixed since Clutter 1.8
186
187     652588 - add support for password hint in ClutterText
188     659625 - mingw32: Update the build script to compile 1.8.0
189     659601 - offscreen effects on children of containers also with an
190              offscreen effect get a wrong viewport
191     659928 - Two strings are not marked as translatable
192     659893 - clutter-main: Reword translator comment for default:LTR
193     656663 - Remove internal usage of ClutterGeometry in StageWindow
194     660354 - Add paint-deform-tiles option to CLUTTER_DEBUG
195     660471 - ClutterActor: Add clutter_actor_has_effects
196     660512 - ClutterShaderEffect recompiles the shader for every instance
197     660623 - clutter-actor-meta: Fix _clutter_meta_group_has_metas_no_internal
198     660985 - memory leak in clutter_box_layout.c
199     661015 - Add clutter_unicode_to_keyval function
200     660786 - Deprecate clutter_[sg]et_font_flags()
201     661887 - auto-resize of ClutterCairoTexture does not work correctly
202     657434 - Add a GDK backend to Clutter
203     663332 - orca reads my password in gnome-shell policykit dialogs
204     663594 - Minor whitespace parsing bug in clutter_color_from_string
205     663733 - clutter-stage-x11: Make sure to set geometry x and y
206     651718 - Make tests work on platforms supporting only a single stage
207     663999 - The removal of per-backend CLUTTER_VBLANK envvar had unwanted
208              cruft in the Win32 backend
209     663720 - DeformEffect: Avoid redrawing actors on vertices invalidation
210     663636 - Use newer Cogl API in ClutterDeformEffect
211
212 Special thanks to
213
214   Chun-wei Fan, for building, testing, and keeping up to date the Visual
215   Studio project files.
216
217 Many thanks to:
218
219   Neil Roberts, Rico Tzschichholz, Robert Bragg, Adel Gadllah,
220   Lionel Landwerlin, Alexandre Franke, Colin Walters, Daniel Mustieles,
221   Giovanni Campagna, Piotr Drąg, krishnababu k, A S Alam, Alexander Shopov,
222   Algimantas Margevičius, Ask H. Larsen, Bruno Brouard, Carles Ferrando,
223   Chao-Hsiung Liao, Craig R. Hughes, Damien Lespiau, Duarte Loreto,
224   Florian Müllner, Fran Dieguez, Fran Diéguez, Håkon Løvdal, I Felix,
225   Jasper St. Pierre, Jorge González, Joseph Scheuhammer, Kjartan Maraas,
226   Kristjan SCHMIDT, Manoj Kumar Giri, Marc-André Lureau, Mario Blättermann,
227   Matej Urbančič, Matthias Clasen, Nilamdyuti Goswami, Sunjin Yang,
228   Tomeu Vizoso, Yaron Shahrabani, Zan Dobersek, Мирослав Николић.
229
230 Clutter 1.7.90                                                       2011-09-12
231 ===============================================================================
232
233   • List of changes since Clutter 1.7.14
234
235     - Make sure that setting :use-markup does not depend on the order
236     Setting the :use-markup property should yield the same results regardless
237     of whether the :text property is also set before or after. This applies to
238     ClutterText defined using ClutterScript as well.
239
240     - Protect against multiple unrealize call on ClutterStage
241     This should fix a segmentation fault in clutter-gtk when unrealize() is
242     called multiple times on an already unrealized stage.
243
244     - Fortify ATK event listener
245     Make sure that we subscribe only to the events we want to, and avoid
246     warnings caused by AT-SPI, as well as a leak.
247
248     - Documentation fixes
249
250     - Translation updates
251     Indonesian, British English, Brazilian Portuguese, Oriya, Polish,
252     Latvian, Hindi, Danish, Chinese (Simplified), Lithuanian, Turkish,
253     Russian, Spanish, Asturian.
254
255   • List of bugs fixed since Clutter 1.7.14
256
257     [bugzilla.gnome.org]
258
259     #651940 - "use-markup" is ignored when set after "text"
260     #658721 - cally: Fix up event listener registration minimally
261
262     [bugzilla.clutter-project.org]
263
264     #2629 - ClutterText thinks priv->text can be NULL, but it can't
265
266 Many thanks to:
267
268   Muhammet Kara, Andika Triwidada, Manoj Kumar Giri, Piotr Drąg,
269   Aurimas Černius, Bruce Cowan, Edvaldo de Souza Cruz, Jorge González,
270   Kenneth Nielsen, Matthias Clasen, Neil Roberts, Og B. Maciel,
271   Rajesh Ranjan, Ray Wang, Rudolfs Mazurs, Xandru Armesto, Yuri Myasoedov
272
273 Clutter 1.7.14                                                       2011-09-05
274 ===============================================================================
275
276   • List of changes since Clutter 1.7.12
277
278     - Use newer version of ATK
279     Cally now depends on the latest version of ATK, to reduce the amount of
280     ad hoc code needed and to use newer features that simplify the
281     implementation of accessible objects in Clutter.
282
283     - Allow using Layout Managers with generic containers
284     Layout managers should not assume that they are allocating the whole
285     area available from the Actor using them; this allows actors that
286     support concepts like padding or margin to use a LayoutManager internally
287     for its children.
288
289     - Cookbook updates
290     Add a recipe on how to bind a ClutterState to the signals of objects
291     defined in ClutterScript. We also install the cookbook examples inside
292     the $datadir/clutter-1.0/cookbook/examples directory.
293
294     - Improve examples in the API reference
295     Some of the interactive test suite units are actually good examples of
296     how to use the Clutter API; we can use the XInclude tags to include the
297     source code inside the API reference.
298
299     - Ensure thread safety of the repaint functions add/removal
300     Fix a long standing issue where adding or removing repaint functions
301     was not acquiring a lock; now it's safe to manipulate the repaint
302     functions list from different threads.
303
304     - Make the ClutterText:line-wrap property work again
305     In 1.2 the :line-wrap property was broken, and ClutterText would paint
306     a PangoLayout wrapping until it fit the height of the allocation
307     regardless of whether the :line-wrap property was set to FALSE or
308     TRUE. Now we clip the PangoLayout before rendering it, if the :line-wrap
309     property is set to FALSE and there is no ellipsization policy set.
310
311     - Disable redirection to offscreen buffer by default
312     Whenever a ClutterActor with children was not fully opaque, the actor
313     was redirected to an FBO, to perform correct opacity computations.
314     Sadly, this can lead to 3x slowdowns, given the amount of framebuffer
315     objects created and the state changes that have to be performed. We
316     decided to turn off this feature by default, to avoid the performance
317     hit. It is still possible to enable this feature on a per-actor basis,
318     though, and will work to reduce the hit in future versions of Cogl,
319     Clutter and the drivers.
320
321   • List of bugs fixed since Clutter 1.7.12
322
323     [bugzilla.gnome.org]
324
325     #657681 - Crash when destroying an actor while dragging it
326
327     [bugzilla.clutter-project.org]
328
329     #2339 - ClutterText in 1.4 line-wraps even if line-wrap is disabled
330
331 Many thanks to:
332
333   Alejandro Piñeiro, Shankar Prasad, Chao-Hsiung Liao, Dan Winship,
334   Daniel Mustieles, Daniel Nylander, Fran Dieguez, Marek Černocký,
335   Robert Bragg
336
337 Clutter 1.7.12                                                       2011-08-29
338 ===============================================================================
339
340   • List of changes since Clutter 1.7.10
341
342     - Reload the font caches on X11 when the user installs a new font
343     Whenever the user installs a new font inside one of the directories that
344     ware being watched by a session daemon, or changes the fontconfig
345     configuration, the toolkits using FontConfig (either directly or indirectly
346     e.g. through Pango, like Clutter) should listen to the Fontconfig/Timestamp
347     XSETTINGS key and release all the font configuration caches. This allows
348     selecting the newly installed fonts without requiring the user to restart
349     the application.
350
351     - Allow using "font-description" as a ClutterScript alias for "font-name"
352     ClutterText:font-description allows passing a PangoFontDescription
353     directly to a ClutterText; when defining a ClutterText instance inside a
354     ClutterScript file, :font-description should be an alias for :font-name,
355     which takes a string and converts it to a PangoFontDescription.
356
357     - Make sure that LayoutManager subclasses take the allocation origin
358       into account when allocating the children
359     A LayoutManager should be resilient against allocations with an origin
360     not positioned at (0, 0); this allows actors using a layout manager
361     instance to munge the box and implement things like margin and padding
362     without the layout manager having knowledge of those concepts.
363
364     - Build fixes
365     Always link against libm when building Clutter (and its tests); don't
366     rely on libraries lower on the stack to do so.
367
368     - Documentation fixes
369
370   • List of bugs fixed since Clutter 1.7.10
371
372   [bugzilla.gnome.org]
373
374   #657529 - Build failure
375
376 Many thanks to:
377
378   Robert Bragg, Daniel Mustieles, Fran Dieguez, Kjartan Maraas
379
380 Clutter 1.7.10                                                       2011-08-15
381 ===============================================================================
382
383   • List of changes since Clutter 1.7.8
384
385     - Do not update the last paint volume when picking
386     Last minute fix for an issue that was most prominently manifesting itself
387     when using GNOME Shell with Clutter 1.7; this should resolve the issue
388     that dragging icons from the dash left around some stale pixels.
389
390     - Fix building the tests
391     The performance and micro-benchmark tests did not pick up changes in
392     local dependencies, e.g. under a JHBuild root.
393
394   • List of bugs fixed since Clutter 1.7.8
395
396     [bugzilla.gnome.org]
397
398     #656588 - Outdated FSF Address in code files
399
400 Many thanks to:
401
402   Alejandro Piñeiro, Robert Bragg
403
404 Clutter 1.7.8                                                        2011-08-15
405 ===============================================================================
406
407   • List of changes since Clutter 1.7.6
408
409     - Various fixes in Cally
410     Make sure to use Clutter's API and remove old workarounds that were put
411     into place when Cally was a separate project and targeting pre-1.0 API
412     versions of Clutter.
413
414     - Add ClutterCairoTexture:auto-resize
415     This property makes it easier to create 2D canvas surfaces by tracking
416     the actor's allocation in a backward compatible way.
417
418     - Add ClutterAnimatable.interpolate_value()
419     This new virtual function deprecates the animate_property() virtual of the
420     Animatable interface, which was sub-optimal in different ways.
421
422     - Allow using Animatable implementations with ClutterState
423     Thanks to the new interpolate_value() virtual it is now possible to use
424     the Animatable interface with ClutterState; this allows animating
425     action, constraint and effect properties using the same "@" syntax also
426     used by ClutterAnimation and clutter_actor_animate().
427
428     - Improve ClutterModel's implementation
429     Avoid a bunch of needless checks, and make sure that the ::row-changed
430     signal is emitted in all cases when a row has been changed through the
431     ClutterModelIter API. The conformance test unit for ClutterModel has
432     also been improved to avoid future regressions.
433
434     - Improve ClutterStage behaviour on OS X
435     Make sure that the fullscreen, multi-screen and key focusing are
436     well-behaved on OS X, by implementing the correct delegate methods.
437
438   • List of bugs fixed since Clutter 1.7.6
439
440   [bugzilla.gnome.org]
441
442   #655387 - Missing GObject introspection annotations
443   #655306 - Added windowDidChangeScreen delegate to fix pick errors when
444             window moved to different screen
445   #655311 - Prevent hiding of unrelated application windows when stage returns
446             from fullscreen
447   #655307 - Fix resource leak on subsequent calls to clutter_stage_osx_realize
448   #648633 - gnome-shell notification pop-ups do not emit
449             object:state-changed:showing
450
451 Many thanks to:
452
453   Kirk A. Baker, Neil Roberts, Alejandro Piñeiro, Alejo Pacin,
454   Daniel Mustieles, Evan Nemerson, Marek Černocký, Philippe Normand,
455   Robert Bragg
456
457
458 Clutter 1.7.6                                                        2011-07-26
459 ===============================================================================
460
461   • List of changes since Clutter 1.7.4
462
463     - Accessibility fixes in Cally
464     Fix the implementation of the AtkText interface for ClutterText.
465
466     - Depend on the new Cogl windowing system API.
467
468     - Add functions for retrieving the clip boundaries on the Stage
469     The clutter_stage_get_redraw_clip_bounds() function is useful for
470     window managers (like Mutter) that need to retrieve the clipped
471     region used on the Stage.
472
473     - Auto-detect the default flavour when building
474     The default flavour used when building should be set depending
475     on the platform.
476
477     - Mark the OSX backend as non-experimental
478     The OSX backend is being developed, and maintained, so it should
479     not be considered experimental.
480
481     - Make sure that Gestures are cancelled when missing release events
482
483     - Correct the rounding for paint volumes
484     Try to provide stable results against potential floating point rounding
485     margins when projecting 3D paint volumes into screen bounding boxes;
486     this should avoid re-creating FBOs and always correctly handle clipped
487     redraws.
488
489     - Do not clobber XI2 events data
490     This allows to play along with other toolkits using XI2.
491
492     - Fix ClutterSnapConstraint's right edge snapping
493
494     - Deprecations
495     ClutterScore, clutter_texture_new_from_actor(),
496     clutter_cairo_texture_create*()
497
498   • List of bugs fixed since Clutter 1.7.4
499
500     [bugzilla.gnome.org]
501
502     #653959 - clutter-actor: Don't apply shaders during picking
503     #654361 - uprof: Rename timers to remove the EGL specific bits
504     #654363 - uprof: Add the units in the name of the "Per Frame"
505               timer attribute
506     #654103 - Fixed typo
507     #654656 - Improve XGenericEventCookie allocation wrt other toolkits
508     #654024 - snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT
509     #654066 - ClutterTimeline new-frame signal not working correctly on
510               some platforms
511     #654718 - clutter-1.6.16 compile issues
512     #654726 - text: Fix the default value of "editable"
513     #654727 - alpha: Don't use the GClosure to compute the alpha when
514               possible
515     #655342 - memory leak in clutter_bin_layout_get_preferred_width/height
516
517     [bugzilla.clutter-project.org]
518
519     #1733 - AtkText implementation on CallyText is not complete
520     #2421 - Way to get current repaint bounds
521
522 Many thanks to:
523
524   Robert Bragg, Philippe Normand, Neil Roberts, Damien Lespiau, Tomeu Vizoso,
525   Gil Forcada, Alejandro Piñeiro, Bastian Winkler, Carlos Garnacho,
526   Christian Kirbach, Daniel Mustieles, Dinh Bowman, Kjartan Maraas,
527   Marek Černocký, Mario Blättermann, Matej Urbančič, Piotr Drąg
528
529 Clutter 1.7.4                                                        2011-07-04
530 ===============================================================================
531
532   • List of changes since Clutter 1.7.2
533
534     - Unify the GLX and EGL backends to be a single code base
535     The GLX and EGL backends shared most of their code, and with the split
536     out Cogl, we can unify the code base into a single backend. The API as
537     well as the ABI are preserved.
538
539     - Restore a wider range of Z values for actors
540     The computation for the near and far planes given the perspective
541     transformation used to set up the viewport was broken in 1.7.2, and
542     the distance from the focal point was greatly reduced. This has now
543     been fixed.
544
545     - Bump up the dependency of Cogl
546     New windowing system API in Cogl required bumping the minimum version
547     to the latest development snapshot, 1.7.2.
548
549     - Add ClutterDropAction
550     The ClutterDropAction is an action for allowing ClutterActors to react
551     when an actor being dragged through ClutterDragAction crosses, or is
552     dropped over, them.
553
554     - Add a performance test suite
555     This suite is an addition to our conformance and interactive test
556     suites; the infrastructure can be used by buildbots and report tools
557     to track performance regressions across various commits.
558
559     - Documentation and annotation fixes
560
561     - Build fixes
562
563   • List of bug fixes since Clutter 1.7.2
564
565     [bugzilla.gnome.org]
566
567     #650329 - ClutterModifierType: Port fix from GDK to clutter's GDK copy
568     #652566 - Clutter-CRITICAL **: _clutter_stage_get_window: assertion
569               `CLUTTER_IS_STAGE (stage)' failed
570     #651784 - transition=spin / transition=spin-text is broken in pinpoint
571               with Clutter master
572     #652842 - Add a Drop action
573     #653066 - ClutterDragAction does not support multiple pointers
574     #653307 - Change the signature of ClutterTexture::load-finished to give
575               a GError, instead of a gpointer
576     #653607 - Arrays not annotated as such for introspection bindings
577     #651079 - ClutterText "blinks" when deleting text after going out of
578               bounds
579     #650675 - clutter-media: mention the asynchronous behavior of
580               set_playing()
581
582     [buzgilla.clutter-project.org]
583
584     #2625 - The furthest visible z value is really low
585
586 Many thanks to:
587
588   Robert Bragg, Neil Roberts, Peter Ward, Colin Walters, Daniel Mustieles,
589   Jasper St. Pierre, Samuel Degrande, Øyvind Kolås
590
591 Clutter 1.7.2                                                        2011-06-13
592 ===============================================================================
593
594   • List of changes since Clutter 1.6.0
595
596     - Cogl moved out of tree
597     The Clutter OpenGL abstraction library has been moved to a separate
598     repository and can be used as a stand-alone shared library. Clutter
599     has been modified to depend on Cogl's experimental API.
600
601     - Correctly composite non fully opaque children
602     Non fully opauqe actors with non fully opaque children will automatically
603     redirect children paint operations to offscreen buffers, which allow
604     correct composition taking into account the overall opacity of the scene's
605     sub-graph. The same mechanism can be used to create a paint cache, and
606     paint that cache when the actor or its children do not change, instead of
607     painting the whole sub-graph again.
608
609     - Allow connecting signals to ClutterState states in ClutterScript
610     When defining a scene using ClutterScript it's possible to directly
611     connect a state inside a ClutterState object (both defined in
612     ClutterScript or in code) to an object's signal, without using an
613     explicit signal handler in the code.
614
615     - Long-press handling in ClutterClickAction
616     ClutterClickAction will detect a long-press gesture and emit signals
617     to query, activation and cancellation.
618
619     - Added ClutterGestureAction and ClutterSwipeAction
620     ClutterGestureAction is a generic "pointer gesture" action; it doesn't
621     provide an implementation: it's up to the developer to add the gesture
622     recognition code. ClutterSwipeAction is a GestureAction sub-class that
623     implement the "swipe" gesture. The GestureAction API is already future
624     proof for multi-device/multi-touch, even though the multi-touch isn't
625     currently implemented.
626
627     - Allow Effects to influence picking
628     Effects that change the geometry of a ClutterActor should also be
629     allowed to change the picking code to make sure that event handling
630     keeps working. ClutterEffect has a new pick() virtual function for
631     these cases.
632
633   • List of bugs fixes since Clutter 1.6.0
634
635     [bugzilla.clutter-project.org]
636     #2257 - clutter fails to link on OS X (10.6)
637     #2447 - atkevents example crashes is the accessibility is disabled
638     #2482 - Cally should avoid to provide a default name and description
639     #2484 - It would be nice to have the old cally Changelog
640     #2553 - new ClutterText API to access the Pango layout offsets
641     #2555 - Per-framebuffer journal causes corruptions
642     #2562 - Crash upon running Clutter-based programs
643     #2585 - add ClutterAction for slide gestures
644     #2588 - Assertion failure in _cogl_pipeline_set_layer_texture_target
645     #2595 - clutter-text: Add a selected-text-color
646     #2597 - CallyStage doesn't have a proper parent
647     #2599 - The paint volume for ClutterText is wrong
648     #2602 - Expose events ignored when doing clipped redraws
649     #2610 - Add recipe about implementing a ClutterEffect
650     #2619 - Removes the addition of the .exe extension to unit-test scripts,
651             on win32.
652     #2620 - _cogl_offscreen_new_to_texture_full() leaks reference when failing
653     #2621 - Clutter segfaults if you queue a redraw of an unmapped actor inside
654             the notify::mapped callback
655     #2631 - [PATCH] Enable evdev ClutterInputDevice objects on creation, as the
656             other backends do
657     #2632 - [PATCH] GL_IMG_TEXTURE_NPOT enables non-power-of-two features
658     #2633 - Make the pick id pool a per-Stage resource
659     #2640 - [patch] allow single-bit imprecision in some conformance tests
660     #2644 - Quartz backend: "Bare" modifier keypresses not generating events
661     #2652 - clutter_actor_queue_redraw() on destroyed stage
662     #2655 - segfault when disposing a slave device without a master
663     #2656 - Clutter can crash when destroying a stage from an event
664     #2667 - git head won't build under Win32
665
666     [bugzilla.gnome.org]
667     #650665 - CallyActor shouldn't add by default "press", "release"
668               and "click"
669     #647875 - Use Cairo to dump the pick buffers
670     #647876 - Make the pick if pool a per-Stage resource
671     #650487 - Sync allocation in ClutterBoxLayout with the one in GtkBox
672     #650597 - clutter-id-pool: fix warning on bad pick
673     #650650 - clutter-offscreen-effect: use target size when setting up
674               the viewport
675     #651700 - Give a chance to effects for running when picking
676     #652129 - Use "const" instead of G_CONST_RETURN
677
678 Many thanks to:
679
680   Neil Roberts, Robert Bragg, nobled, Daniel Mustieles, Elliot Smith,
681   Matej Urbančič, Alejandro Piñeiro, Chris Lord, Marek Černocký,
682   Tomeu Vizoso, Jasper St. Pierre, James Athey, Piotr Drąg, Øyvind Kolås,
683   Adam Jackson, Andrej Žnidaršič, Kjartan Maraas, Adel Gadllah,
684   Alexandre Franke, Christian Kirbach, Craig R. Hughes, Dan Winship,
685   Dioselin, Kristjan SCHMIDT, Mario Blättermann, Miguel Bouzada, Peter Ward,
686   Philippe Normand, Samuel Degrande, Viatcheslav Gachkaylo
687
688 Clutter 1.6.6                                                        2011-02-21
689 ===============================================================================
690
691   • List of changes since Clutter 1.6.4
692
693     » Add four mechanisms for migrating textures inside a Cogl atlas; it
694       is possible to change the default by using the environment variable
695       COGL_ATLAS_DEFAULT_BLIT_MODE.
696
697     » Use the offscreen buffer size to compute the vertices of
698       ClutterDeformEffect.
699
700     » Make the FPS counter displayed using CLUTTER_SHOW_FPS per-stage.
701
702     » Documentation fixes.
703
704     » Annotation fixes for introspection.
705
706   • List of bugs fixes since Clutter 1.6.4
707
708     #2538 - crash in gnome-shell
709     #2558 - backend-glx: Remove redundant glFlush()
710     #2561 - Updates to COGL sources regarding non-standard code usage
711     #2571 - DeformEffect should use the FBO size
712
713 Many thanks to:
714
715   Neil Roberts
716
717 Clutter 1.6.4                                                        2011-02-14
718 ===============================================================================
719
720   • List of changes since Clutter 1.6.2
721
722     » Fix handling of opacity in ClutterOffscreenEffect.
723
724     » Fix partially off-stage actors in ClutterOffscreenEffect.
725
726     » Add a recipe in the Cookbook for animating an actor on a path.
727
728     » Refresh key mapping when notified by X11.
729
730     » Clean up the ClutterStageWindow redraw implementations.
731
732     » Update the Wayland backend to match upstream API changes:
733       • allow using shared buffers if DRM fails;
734       • improve checks for the required extensions.
735
736     » Documentation fixes.
737
738     » Introspection annotations fixes.
739
740     » Fix setting the matrix for a pipeline layer.
741
742     » Fix flushing the framebuffer when switching to it.
743
744     » Make sure to call glFlush when blitting a stage region to the
745       front buffer, to avoid the driver batching the command for an
746       undefined amount of time.
747
748     » Fix the windowing system defines for non-X11 platforms.
749
750     » Fix the location of the shared objects in the Cally pkg-config
751       file.
752
753   • List of bugs fixed since Clutter 1.6.2
754
755     #1024 - test-multistage.c assertion failure
756     #1025 - test-paint-wrapper.c assertion failure
757     #1028 - test-random-text.c hangs with spinning beach ball
758     #1029 - test-cogl-primitives.c hangs with spinning beach ball
759     #1358 - scroll events not handled
760     #2373 - OSX Backend fix
761     #2525 - [PATCH] x11: Handle key map changes
762     #2541 - ClutterOffscreenEffect with multiply the actor's opacity
763     #2546 - [PATCH, git branch] update wayland backend
764     #2549 - Fix lib locations in *.pc.in
765     #2550 - offscreen effects are always clipped to stage boundaries
766     #2551 - Slight drawing lag with larger windows on Intel x3100 (i965)
767     #2554 - Add recipe per animating an actor on a curved path
768     #2555 - Per-framebuffer journal causes corruptions
769     #2558 - backend-glx: Remove redundant glFlush()
770     #2559 - x11: segfault on closing non-default stage window
771
772 Many thanks to:
773
774   nobled, Chris Lord, Neil Roberts, Robert Bragg, Adel Gadllah, Elliot Smith
775
776 Clutter 1.6.2                                                        2011-02-07
777 ===============================================================================
778
779   • List of changes since Clutter 1.6.0
780
781     » Fix building the Clutter Cookbook from the released tarballs.
782
783     » Set the input device field in ClutterEvent even when they
784       have been allocated by Clutter.
785
786     » Fix the color comparison when setting the layer combine constant.
787
788     » Fix memory corruption when removing the last reference on a
789       Cogl vertex buffer object.
790
791     » Fixes for the OSX backend.
792
793   • List of bugs fixed since Clutter 1.6.0
794
795     #2540 - coobook examples do not build from tarball
796     #2544 - Using vertex buffers causes memory corruption when you unref
797             the CoglHandle
798     #2545 - Broken event handling in OS X backend
799     #2549 - Fix lib locations in *.pc.in
800
801 Many thanks to:
802
803   Neil Roberts, Viatcheslav Gachkaylo
804
805 Clutter 1.6.0                                                        2011-01-31
806 ===============================================================================
807
808   • List of changes since Clutter 1.5.14
809
810     » Remove more private symbols from the X11 backend.
811
812     » Add CLUTTER_BIND_POSITION and CLUTTER_BIND_SIZE values to the
813       ClutterBindCoordinate enumeration; these are short-hand values
814       for binding both X and Y, or width and height, instead of
815       requiring two ClutterBindConstraint instances.
816
817     » Clean up in the X11 backend to reduce indirection.
818
819     » Small clean ups in the Win32 backend.
820
821     » Make Shift+Backspace behave like Backspace in ClutterText.
822
823     » Emit the ::new-frame signal even on the first frame of
824       ClutterTimeline, to allow setting up the initial state of an
825       animation.
826
827     » Fix an invalid memory access in ClutterAnimator.
828
829     » Flush the per-framebuffer journal when switching between
830       framebuffers.
831
832     » Generalize updating GLES2 uniforms.
833
834     » Add debug code for tracing clipping in Cogl.
835
836     » Improve the OSX event loop, re-using the same implementation
837       as GDK. Also, provide simple, core-like device support.
838
839   • Bugs fixed since Clutter 1.5.14
840
841     #2490 - OS X backend event loop improved
842     #2530 - animator: Animator uses key after freeing it
843     #2534 - Incorrect description of function 'clutter_actor_pop_internal'
844     #2535 - Add recipe about creating a composite actor
845
846 Many thanks to:
847
848   Neil Roberts, Robert Bragg, Elliot Smith, Rob Bradford,
849   Viatcheslav Gachkaylo
850
851 Clutter 1.5.14                                                       2011-01-24
852 ===============================================================================
853
854   • List of changes since Clutter 1.5.12
855
856     » Allow getting the state modifiers from a ClutterClickAction.
857
858     » Fix ClutterDragAction to never leave the event delivery in
859       an unwanted state.
860
861     » Optimize state changes for texture and data states.
862
863     » Enable VBO support in Cogl for GLES2.
864
865     » Fix compilation on GLES1.1.
866
867     » Documentation fixes.
868
869     » ClutterGLXTexturePixmap has been deprecated; its parent class
870       ClutterX11TexturePixmap and the low level CoglTexturePixmapX11
871       API provide access to the same features.
872
873     » Be more resilient against timelines controlling the state of
874       other timelines during the clock tick.
875
876     » Provide defines for the windowing platforms, to allow portable
877       applications to include the correct header and select the
878       correct API depending on the target.
879
880     » Introduce a fast path for cogl_read_pixels() that uses the journal
881       to determine the position of a single pixel on the stage; this
882       fast path gracefully degrades to the usual render-based approach,
883       and should speed up picking considerably in the case of opaque
884       quads batched together.
885
886     » Support XInput axis data on valuator devices, and introduce XInput2
887       support for event translation and device hotplugging. The support
888       for XI and XI2 must still be explicitly enabled by the developer,
889       but it is now compiled in by default. It can be disabled at compile
890       time by passing --disable-xinput to the configure script.
891
892     » Clean up the unintentionally leaked internal symbols in the X11
893       and GLX backends.
894
895     » Allow defining the contents of the rows of a ListModel using
896       ClutterScript. This completes the ability to fully define a
897       ClutterListModel inside a UI definition file.
898
899   • Bugs fixed since Clutter 1.5.12
900
901     #1422, key input handler for eglnative
902     #1456, Hinting mishandling
903     #1721, XInput2 support
904     #2268, EGL backend dependent on X11 headers
905     #2400, Don't enable GL_POINT_SPRITE on GLES
906     #2497, should not throw away a program when just the texture
907            object has changed
908     #2512, shader: Don't notify properties when finalizing shaders
909     #2513, script-parser: Also honor properties of type GType
910     #2516, [PATCH] Fails to compile with --with-gles=1.1
911     #2518, introspection: Add missing (out) annotations for get_color()
912     #2520, Add API to get modifier type in ClutterClickAction
913     #2522, ClutterDragAction might indefinitely disable motion events
914     #2524, It's possible to receive a new-frame signal after stopping
915            a timeline
916     #2526, model: Fix some GObject-Introspection annotations
917     #2527, model: Change the column argument type to gint for
918            clutter_model_set_sort
919     #2528, model: Add support to define rows in ClutterScript
920
921 Many thanks to:
922
923   Robert Bragg, Neil Roberts, Bastian Winkler, Lucas Rocha, Adel Gadllah,
924   Chris Lord, Damien Lespiau
925
926 Clutter 1.5.12                                                       2011-01-11
927 ===============================================================================
928
929   • List of changes since Clutter 1.5.10
930
931     » Allow disabling the focus when showing a ClutterStage; this also
932       makes Clutter more compliant to the X11 window manager
933       specifications.
934
935     » Avoid state corruption in relayout cycles.
936
937     » Do not crash when destroying actors during CLUTTER_LEAVE events.
938
939     » Remove signal handlers when disposing constraints.
940
941     » Keep the pixel alignment for ClutterAlignConstraint.
942
943     » Do not release compiled ClutterShader during their finalization to
944       avoid a warning.
945
946     » Revert an ABI break on the ClutterContainer pre-requisites.
947
948     » Fix the name of the cogl_normal_in attribute.
949
950     » Do not assume CoglBitmaps are allocated to height * rowstride.
951
952     » Fix the core device list creation on X11.
953
954     » Avoid enabling blending in the Cogl journal, if possible.
955
956     » Documentation fixes.
957
958     » Build fixes for mixed autotools version environment.
959
960     » Improve the performance of getting the number of rows of a
961       ClutterListModel.
962
963     » Don't use obsolete API internally.
964
965     » Build fix for compiling EGL backend with OpenGL under X11.
966
967     » Parse GType object properties in ClutterScript.
968
969 Many thanks to:
970
971   Neil Roberts, Johan Bilien, nobled, Adel Gadllah, Damien Lespiau,
972   Kristian Høgsberg, Nguyễn Thái Ngọc Duy, Tomeu Vizoso, Bastian Winkler
973
974 Clutter 1.5.10                                                       2010-12-17
975 ===============================================================================
976
977   • List of changes since Clutter 1.5.8
978
979     » Add an evdev input backend; this adds support for input devices
980       on Linux when using the EGL-based backends.
981
982     » Update the build scripts for compiling the Windows backend.
983
984     » Updates for the Cookbook and the API references.
985
986     » Fix ClutterModel::get_iter_at_row() for filtered ClutterListModels.
987
988     » Scores of fixes to the pipeline state object for GLES2.
989
990     » Add code that tries to perform manual clipping to avoid breaking
991       up batches of primitives.
992
993     » Keep a cache of ARBfp programs indexed by the pipeline state that
994       led to their generation.
995
996     » Accept G_TYPE_DOUBLE values in ClutterShaderEffect uniforms.
997
998     » Update the Wayland client backend.
999
1000     » Update the build for Windows.
1001
1002     » Rename the ClutterTimeline:reverse property introduced in
1003       Clutter 1.5.6 to ClutterTimeline:auto-reverse.
1004
1005     » Clean up the interactive tests suite.
1006
1007 Many thanks to:
1008
1009   Neil Roberts, Damien Lespiau, Robert Bragg, Elliot Smith,
1010   Jussi Kukkonen, nobled, Alexandre Quessy, Mike Owens,
1011   Tomeu Vizoso
1012
1013 Clutter 1.5.8                                                        2010-11-29
1014 ===============================================================================
1015
1016   • List of changes since Clutter 1.5.6
1017
1018     » Add a migration guide for code using Behaviours.
1019
1020     » Allow parsing rgb(), rgba(), hls() and hlsa() color definitions.
1021
1022     » Performance improvements for the ClutterX11TexturePixmap.
1023
1024     » For caching purposes, do not discard the Material or the compiled
1025       shaders for Offscreen and Shader effects.
1026
1027     » Fix image height in 3D Cogl textures.
1028
1029     » Create a GLSL generation backend for materials, similar to the
1030       ARBfp one; this backend is the default for GLES2.
1031
1032     » Use FBOs and cogl_read_pixels() to efficiently read back partial
1033       texture data.
1034
1035     » Various fixes in paint volumes computation and caching.
1036
1037     » Use the internal scene graph walk API to remove the map/unmap
1038       implementation requirement for composite actors and for
1039       containers with internal children.
1040
1041     » Simplify the backend notification of layer changes.
1042
1043     » Queue clipped redraws for Expose events on X11.
1044
1045     » Plug leaks.
1046
1047     » Include a porting guide from Behaviours.
1048
1049     » Add a recipe on scaling animations in the Cookbook.
1050
1051 Many thanks to:
1052
1053   Neil Roberts, Robert Bragg, Owen W. Taylor, Tomeu Vizoso, Chris Lord,
1054   Alexandre Quessy, Evan Nemerson, Elliot Smith
1055
1056 Clutter 1.5.6                                                        2010-11-19
1057 ===============================================================================
1058
1059   • List of changes since Clutter 1.5.4
1060
1061     » Deprecate ClutterBehaviour and its sub-classes: the same functionality
1062       is available using the animation framework.
1063
1064     » Add ClutterSnapConstraint, a constraint implementation that snaps
1065       together the edges of two actors.
1066
1067     » Add ClutterPathConstraint::node-reached.
1068
1069     » Deprecate ClutterTimeoutPool and ClutterFrameSource: this API is
1070       not used internally any more, and since it's not integrated with
1071       the master clock it's of relative use.
1072
1073     » Add a named, global color palette.
1074
1075     » Add the ClutterTimeline:reverse property, for automatically
1076       reversing the direction of a timeline after the emission of
1077       the ::completed signal.
1078
1079     » Performance improvements in the clip stack.
1080
1081     » Do not use pointer grabs in ClutterClickAction.
1082
1083     » Improve the internally used Cogl API for primitives, paths and
1084       buffers; this is the first step towards Cogl 2.0.
1085
1086     » Allow using the COGL_DEBUG environment variable to disable the
1087       NPOTs support.
1088
1089     » Plug a nasty infinite loop in the XSETTINGS implementation.
1090
1091     » Internally rename CoglMaterial to CoglPipeline; this should make
1092       it clearer that the API refers to the state of the GPU pipeline.
1093
1094     » Add support for clipped redraws on EGL using the NOK_swap_region
1095       extension.
1096
1097     » Build fixes.
1098
1099     » Use the monotonic clock API if compiling against GLib ≥ 2.27.3.
1100
1101     » Update examples in the Cookbook.
1102
1103     » Add a Cookbook recipe for looping animations.
1104
1105     » Add more documentation on Constraints.
1106
1107     » Documentation fixes.
1108
1109 Translation updates:
1110
1111   Italian, Polish
1112
1113 Many thanks to:
1114
1115   Robert Bragg, Neil Roberts, Elliot Smith, Owen W. Taylor,
1116   Damien Lespiau, Lucas Rocha, Maxim Ermilov, Piotr Drąg,
1117   Tomeu Vizoso, muflone
1118
1119 Clutter 1.5.4
1120 ===============================================================================
1121
1122   • List of changes since Clutter 1.5.2
1123
1124     » Add a backend for Wayland.
1125
1126     » Depend on GLib ≥ 2.26, Cairo ≥ 1.10.
1127
1128     » Do not generate the conformance tests list using the test-conformance
1129       binary.
1130
1131     » Implement interval progress functions for ActorBox, Vertex, Geometry,
1132       Color and Units.
1133
1134     » Allow overriding the surface creation in Clutter.CairoTexture.
1135
1136     » Add interpolate() method to Clutter.Color.
1137
1138     » Add ClutterPathConstraint, a simple constraint that sets the origin
1139       of an actor's allocation to follow a ClutterPath.
1140
1141     » Plug some memory leaks.
1142
1143     » Fix build of the CEx100 and EGL backends.
1144
1145     » Fixes for the OSX backend.
1146
1147     » Documentation consistency and spell checking fixes.
1148
1149     » Build fixes.
1150
1151 Translation updates:
1152
1153   Andika Triwidada (id), Damien Lespiau (fr), Piotr Drąg (po)
1154
1155 Many thanks to:
1156
1157   Damien Lespiau, Neil Roberts, Kristian Høgsberg, Andika Triwidada,
1158   Ole André Vadla Ravnås, Robert Bragg, Owen W. Taylor, Piotr Drąg,
1159   Roland Peffer
1160
1161 Clutter 1.5.2  (04/10/2010)
1162 ===============================================================================
1163
1164   • List of changes since Clutter 1.4.0
1165
1166     » Add API to ClutterActor to allow any actor to define its 3D paint
1167       volume and its stage-relative 2D bounding box; the paint volume is
1168       the 3D space occupied by an actor during the paint sequence. This
1169       allows better sizing of the FBOs, and opens the door to scenegraph
1170       culling and accurate clipped redraws. The mechanism is opt-in: actors
1171       have to implement the get_paint_volume() virtual function. Callbacks
1172       attached to the ::paint signal will also disable any culling and
1173       clipped redraw in place internally.
1174
1175     » Plug a leak in ClutterActor by disposing all constraints.
1176
1177     » Rework the build system to be as non-recursive as possible; this should
1178       speed up the build of Clutter, and makes the build layout easier to
1179       understand and update.
1180
1181     » Remove the internal copy of JSON-GLib; the internal copy was falling
1182       behind at a spectacular level, and it was actually making the build
1183       rather complicated - also by adding an unwanted, but needed,
1184       introspection data generation. The required JSON-GLib has also been
1185       bumped to the new stable release, 0.12.0.
1186
1187     » Use g_object_install_properties() with GLib 2.26.
1188
1189     » Implement ClutterContainer::child-notify, which slipped through the
1190       cracks of many development cycles without anyone noticing.
1191
1192     » Document and test clutter_actor_contains(), especially the corner
1193       cases.
1194
1195     » Plug a leak in CoglTexture2DSliced.
1196
1197     » Plug a leak in ClutterAnimator's handling of timelines.
1198
1199     » Trap glXDestroyPixmap() in CoglTexturePixmapX11 to avoid BadDrawable
1200       errors when the GLX pixmap is destroyed behind Cogl's back.
1201
1202 Many thanks to:
1203
1204   Robert Bragg
1205   Neil Roberts
1206   Elliot Smith
1207   Alejandro Piñeiro
1208   Aron Xu
1209   Colin Walters
1210   Ray Strode
1211   Stephen Kennedy
1212
1213 Clutter 1.4.0  (24/09/2010)
1214 ===============================================================================
1215
1216   • List of changes since Clutter 1.3.14
1217
1218     » Add support for describing ClutterState states using ClutterAnimators
1219       in ClutterScript.
1220
1221     » Build fixes
1222
1223     » Include ClutterConstraints into the allocation phase, to avoid layout
1224       cycles and improve the performance.
1225
1226     » Add new recipes to the Cookbook to illustrate constraints-based
1227       layouts.
1228
1229     » Fix the request mode of ClutterBoxLayout.
1230
1231     » Fix the handling of transformations in ClutterOffscreenEffect.
1232
1233     » Documentation and introspection fixes.
1234
1235 Many thanks to:
1236
1237   Elliot Smith
1238   Robert Bragg
1239   Neil Roberts
1240   Bastian Winkler
1241   Dominique Leuenberger
1242   Frederik Hahne
1243   Jammy Zhou
1244   Øyvind Kolås
1245
1246 Clutter 1.3.14 (15/09/2010)
1247 ===============================================================================
1248
1249   • List of changes since Clutter 1.3.12
1250
1251     » Fix applying layout properties from ClutterScript definitions in case
1252       of multiple children.
1253
1254     » Add a Clutter EGL backend for Intel CEx100 platforms.
1255
1256     » Add new recipes in the Cookbook:
1257       - texture cross-fading
1258       - ClutterScript definitions
1259       - event handling
1260       - ClutterAnimator
1261       - reusing complex animations
1262
1263     » Add methods to retrieve the clicked button and to force a release
1264       in ClickAction.
1265
1266     » Documentation fixes in the API reference.
1267
1268     » Cache a full pick buffer and re-use it in case the scene does not change
1269       between events.
1270
1271     » Fix a Valgrind report of memory corruption in ClutterState.remove_key().
1272
1273     » Allow detaching animations created with clutter_actor_animate().
1274
1275     » Depend on GObject-Introspection >= 0.9.5.
1276
1277     » Provide introspection data for the X11-specific API, like
1278       ClutterX11TexturePixmap
1279
1280     » Use a template material for ClutterTexture to minimize the creation of
1281       new materials.
1282
1283     » Split ClutterDragAction:drag-threshold into two, per-axis properties:
1284       :x-drag-threshold and :y-drag-threshold.
1285
1286     » Allow disabling the -Bsymbolic flag when linking.
1287
1288     » Use gettext >= 0.17 to handle the localization.
1289
1290     » Flush the framebuffer earlier when drawing the vertex buffers, to fix
1291       a crash when dealing with clip stacks.
1292
1293     » Make sure ClutterX11TexturePixmap removes the Cogl texture handle before
1294       freeing the X11 Pixmap to avoid an error.
1295
1296     » Avoid regenerating the CoglMaterial programs too many times.
1297
1298 Many thanks to:
1299
1300   Elliot Smith
1301   Robert Bragg
1302   Damien Lespiau
1303   Neil Roberts
1304   Colin Walters
1305   Owen W. Taylor
1306   Bastian Winkler
1307   Alejandro Piñeiro
1308   Alexandros Frantzis
1309   Chris Kühl
1310   Luca Invernizzi
1311   Henrik Hedberg
1312   Javier Jardón
1313   Lucas Rocha
1314   Murray Cumming
1315   Øyvind Kolås
1316
1317 Clutter 1.3.12 (16/08/2010)
1318 ===============================================================================
1319
1320   • List of changes since Clutter 1.3.10
1321
1322     » New recipes in the Cookbook:
1323       - create and animate sub-textures
1324       - layout managers
1325       - scroll events
1326
1327     » Set the ClutterTexture:filename property to also be readable.
1328
1329     » Avoid layout cycles when creating ClutterLayoutMeta objects
1330       during the ::allocate implementation
1331
1332     » Add a ClutterTableLayout, a layout manager for tabular layouts.
1333
1334     » Capture ENTER and LEAVE events on the stage within the DragAction.
1335
1336     » Plug memory leaks.
1337
1338     » Use g_object_notify_by_pspec(), if available, to speed up the
1339       emission of the ::notify signal on property changes.
1340
1341     » Re-use the Cogl texture atlas for the CoglPango glyphs cache,
1342       and improve the performance with large font sizes.
1343
1344     » Various fixes in the Materials comparison and inheritance.
1345
1346     » Add the ability to associate a user program to a material.
1347
1348 Many thanks to:
1349
1350   Neil Roberts
1351   Elliot Smith
1352   Robert Bragg
1353   Damien Lespiau
1354   José Dapena Paz
1355   Owen W. Taylor
1356
1357 Clutter 1.3.10 (04/08/2010)
1358 ===============================================================================
1359
1360   • List of changes since Clutter 1.3.8
1361
1362     » Fix a locale-dependent conversion from double to string when
1363       generating ARBfp programs for the materials.
1364
1365     » Use the XKB extension on X11 platforms to convert between hardware
1366       keys to key symbols.
1367
1368     » Documentation fixes in the API reference.
1369
1370     » More recipes, with videos and full examples, in the Cookbook.
1371
1372     » Add localization support and initial translations of error messages
1373       that might be visualized in a user interface.
1374
1375     » Improve debugging output.
1376
1377     » Fix build of the GLX backend on OSX.
1378
1379     » Multiple fixes to the native OSX backend.
1380
1381     » Add support for 3D textures in Cogl.
1382
1383     » Fix shader-related issues and leaks in the new Material code.
1384
1385     » Unify GLSL support in the GL and GLES 2.0 drivers.
1386
1387     » Allow specifying an hint to disable clearing the stage before each
1388       paint cycle.
1389
1390 Many thanks to:
1391
1392   Neil Roberts
1393   Roman Kudiyarov
1394   Elliot Smith
1395   Robert Bragg
1396   Chris Kühl
1397   Chris Leick
1398   Nate Stedman
1399   happyaron
1400   raven
1401   Øyvind Kolås
1402
1403 Clutter 1.3.8 (12/07/2010)
1404 ===============================================================================
1405
1406   • List of changes since Clutter 1.3.6
1407
1408     » Merge Cally, the Clutter Accessibility Library, in the Clutter tree.
1409
1410     » Take into consideration the source actor's position in the
1411       AlignConstraint logic.
1412
1413     » Update the internal COGL tesselator with the latest GLU code.
1414
1415     » Fix CoglTexture data readback.
1416
1417     » Use GL_MAX_TEXTURE_SIZE on GLES when checking the supported texture size.
1418
1419     » Add missing public functions from COGL headers.
1420
1421     » Fix GLES build after the Cogl material changes.
1422
1423     » Rename the experimental CoglPixelBuffer API to CoglPixelArray.
1424
1425     » Split the clutter_state_change() method into two:
1426     clutter_state_set_state(), for animated state changes; and
1427     clutter_state_warp_to_state() for immediate state changes.
1428
1429     » Documentation and introspection fixes.
1430
1431     » Build fixes
1432
1433 Many thanks to:
1434
1435   Robert Bragg
1436   Neil Roberts
1437   Elliot Smith
1438   Alejandro Piñeiro
1439   Øyvind Kolås
1440   Damien Lespiau
1441   Alexandros Frantzis
1442
1443 Clutter 1.3.6 (30/06/2010)
1444 ===============================================================================
1445
1446   • List of changes since Clutter 1.3.4
1447
1448     » Provide a fallback on GLX if the MESA_copy_sub_buffer extension is not
1449       available, by using EXT_framebuffer_blit. Both mechanisms are also
1450       throttled to avoid taking all resources when using them in a compositor
1451       like Mutter.
1452
1453     » Use (and cache) fragment shaders instead of texture combiners inside
1454       Cogl materials. Cogl will automatically fall back from GLSL to ARBfp
1455       to fixed functions depending on the level of support of the underlying
1456       GL implementation.
1457
1458     » Implement a new design for materials; this allows scaling up the
1459       number of materials in a scene, and also makes copying materials
1460       less expensive.
1461
1462     » Make Cogl materials responsible for depth testing, and add new
1463       experimental API.
1464
1465     » Use the (modified) GLU tesselator to draw paths to a vertex buffer
1466       object instead of using the stencil buffer, or the scanline rasterizer
1467       on platforms without a stencil buffer.
1468
1469     » Add ClutterDeformEffect, a base class for effects that deform an
1470       actor's geometry when painting it; ClutterPageTurnEffect is an
1471       implementation of a "page curl" deformation using the DeformEffect
1472       API.
1473
1474     » Always use scissoring when clipping, to reduce the amount of buffer
1475       that has to be cleared.
1476
1477     » Allow ClutterShaderEffect sub-classes to use vertex shaders by setting
1478       a constructor property; the default remains fragment shader.
1479
1480     » Remove the button of the press event from the DragAction::drag-begin
1481       and DragAction::drag-end signals. This is an API break from 1.3.4.
1482
1483     » Do not promote clipped redraws to full redraws.
1484
1485     » Improve the consistency of the default state name in ClutterState,
1486       both in the API and in the serialization format.
1487
1488     » Fix a rounding error with the Text layout size.
1489
1490     » Add utility functions for CoglMatrix and CoglColor.
1491
1492     » Avoid a re-allocation cycle warning when resizing the surface of
1493       a CairoTexture actor from within the allocate() implementation.
1494
1495     » Do not add the GL libraries for the EGL X11 backend.
1496
1497     » Add more checks for size of data passed to the shader types GValue
1498       functions.
1499
1500     » Add width and height to the BindConstraint.
1501
1502     » Parse actions, constraints and effects inside an actor definition
1503       for ClutterScript.
1504
1505     » Merge the code of native and x11 backends for EGL into a single
1506       backend; also allow creating GL context with the EGL backend.
1507
1508     » Use XSETTINGS to set up the backend configuration options, like
1509       the font name, resolution, font options and double click options,
1510       on X11; this also allows ClutterText actors created using the
1511       default font name to be updated when the font name and options
1512       change; similarly, this allows ClutterUnits to be updated when
1513       the screen resolution changes.
1514
1515     » Implement the texture_from_pixmap extension support inside Cogl
1516       itself, and unify ClutterX11TexturePixmap and ClutterGLXTexturePixmap.
1517
1518     » Documentation improvements in the API reference and in the cookbook.
1519
1520     » Use the -Bsymbolic-functions linker option on supported platforms
1521       to avoid intra-library PLT jumps.
1522
1523     » Fix painting transparent stages on X11 using the :use-alpha property
1524       of ClutterStage.
1525
1526     » Fix emission of scroll events on Windows.
1527
1528 Many thanks to:
1529
1530   Robert Bragg
1531   Neil Roberts
1532   Øyvind Kolås
1533   Damien Lespiau
1534   Elliot Smith
1535   Chris Lord
1536   Johan Bilien
1537   Richard Hughes
1538   Adel Gadllah
1539   Alejandro Piñeiro
1540   Colin Walters
1541   Dan Winship
1542   Kristian Høgsberg
1543   Sunil Sadasivan
1544
1545 Clutter 1.3.4 (07/06/2010)
1546 ===============================================================================
1547
1548   • List of changes since Clutter 1.3.2
1549
1550     » Add ClutterEffect, a ClutterActorMeta sub-class that affects the
1551       way an actor paints itself.
1552
1553         » Clutter provides a base class for effects painting to an
1554           offscreen buffer, and a base class for effects using the
1555           GL programmable pipeline (through the GLSL shader language).
1556
1557         » Clutter also provides some simple, shader-based effects:
1558           ClutterBlurEffect, ClutterColorizeEffect and
1559           ClutterDesaturateEffect.
1560
1561         » Effects can be applied to any actor, and can also be stacked.
1562
1563     » Add ClutterClickAction, an action that provides "button-like"
1564       semantics for any ClutterActor.
1565
1566     » ClutterDragAction now moves the actor to which it has been applied
1567       by default, using a class handler for the ::drag-motion signal.
1568
1569     » Add the :pick-with-alpha property to ClutterTexture; this property
1570       allows using the alpha channel of a texture when picking it.
1571
1572     » Regenerate the mipmaps on COGL textures when a texture is modified.
1573
1574     » Documentation and build fixes.
1575
1576 Many thanks to:
1577
1578   Robert Bragg
1579   Damien Lespiau
1580   Neil Roberts
1581   Colin Walters
1582
1583 Clutter 1.3.2 (24/05/2010)
1584 ===============================================================================
1585
1586   • List of changes since Clutter 1.2
1587
1588     » Add ActorMeta, a class for run-time composition of actions and
1589       constraints on a ClutterActor:
1590
1591         » Add ClutterAction, a class for implementing business logic
1592           related to event handling.
1593
1594         » Add ClutterConstraint, a class for implementing business
1595           logic related to sizing and positioning.
1596
1597         » ClutterDragAction is an Action sub-class that implements
1598           signals and properties for dragging actors.
1599
1600         » ClutterAlignConstraint and ClutterBindConstraint are two
1601           Constraint sub-classes that allow relative positioning
1602           with fixed layout managers.
1603
1604     » Add ClutterState, an object for defining state transitions.
1605
1606     » Add ClutterBoxLayout:homogeneous property.
1607
1608     » Implement retained clip stacks.
1609
1610     » Support retained paths.
1611
1612     » Add an experimental vector3 API.
1613
1614     » Require GLib >= 2.18.
1615
1616     » Require Atk >= 1.7.
1617
1618     » Make ClutterActor implement AtkImplementor, and allow retrieving
1619       an AtkObject from a ClutterActor.
1620
1621     » Improve ClutterText's Pango layout caching mechanism.
1622
1623     » Fix set up of the GLX_SGI_swap_control extension.
1624
1625     » Fix EGLX backend.
1626
1627     » Documentation fixes for Clutter and COGL.
1628
1629     » Fix the conformance test suite by executing every test unit in
1630       a separate process.
1631
1632     » Add platform-dependent defines for Cogl.
1633
1634     » Update the MingW cross-compilation script.
1635
1636     » New recipe in the Cookbook.
1637
1638 Many thanks to:
1639
1640   Neil Roberts
1641   Robert Bragg
1642   Øyvind Kolås
1643   Owen W. Taylor
1644   Brian Tarricone
1645   Damien Lespiau
1646   Adel Gadllah
1647   Chris Lord
1648   Fridrich Strba
1649   José Dapena Paz
1650   Jussi Kukkonen
1651   Rob Bradford
1652
1653 Clutter 1.2.2 (15/03/2010)
1654 ===============================================================================
1655
1656   • List of changes since Clutter 1.2.0
1657
1658     » Fix introspection annotations for ClutterBox
1659
1660     » Compilation fixes for the EGL native backend
1661
1662     » Fix ClutterX11TexturePixmap ::queue-damage-redraw default handler
1663       registration to avoid a run-time warning
1664
1665     » Handle TEXTURE_RECTANGLE_ARB in the 2D sliced textures, and add
1666       a test case for that extension to avoid regressions
1667
1668     » Improve the strictness of the JSON parser in the internal copy
1669       of JSON-GLib to which we fall back in the absence of the system
1670       one
1671
1672     » Fix a crasher on NVidia drivers when enabling the ARGB visuals
1673       by default on GLX.
1674
1675 Many thanks to:
1676
1677   José Dapena Paz
1678   Neil Roberts
1679   Owen W. Taylor
1680   Øyvind Kolås
1681
1682 Clutter 1.2.0 (02/03/2010)
1683 ===============================================================================
1684
1685   • List of changes since Clutter 1.1.14
1686
1687     » Improve the Animator API for consistency, and the implementation
1688       to match the intended behaviour, as documented
1689
1690     » Add initial (and internal) support for queueing clipped region updates
1691       and let the GLX texture-from-pixmap actor take advantage of it
1692
1693     » Support any pixel format in cogl_read_pixels()
1694
1695     » Conditionally use G_VALUE_COLLECT_INIT() in functions using variadic
1696       arguments lists
1697
1698     » Consistently use :min-width and :min-height inside the Stage to define
1699       the minimum size of the Stage window
1700
1701     » Implement the Scriptable interface for ClutterModel sub-classes; this
1702       allows setting ClutterModel columns (both types and names) in
1703       ClutterScript definitions
1704
1705     » Add support for unsigned integer indices in the VertexBuffer API
1706
1707     » Documentation fixes for Clutter: the coverage is now 100%
1708
1709     » Fixes for the EGL native backend
1710
1711     » Require libtool >= 2.2.6
1712
1713     » Improve tests coverage
1714
1715 Many thanks to:
1716
1717   Neil Roberts
1718   Øyvind Kolås
1719   Robert Bragg
1720   Bastian Winkler
1721   Chris Lord
1722   Owen W. Taylor
1723
1724 Clutter 1.1.14 (24/02/2010)
1725 ===============================================================================
1726
1727   • List of changes since Clutter 1.1.12
1728
1729     » Fix interaction between user resizable Stages and fullscreen on X11
1730
1731     » Define the semantics of ENTER and LEAVE events when actors are on the
1732       border of the Stage window
1733
1734     » Take the InputDevice of an event into consideration when throttling
1735       MOTION events
1736
1737     » Round the coordinates when clipping to a rectangle in window coordinates
1738
1739     » Always trust the user-provided coordinates when creating a CoglTexture
1740       from a foreign GL texture
1741
1742     » Split Clutter's debug annotations from the pick and paint mode
1743       behavioural modifiers
1744
1745     » Improve the usage of the CLUTTER_ACTOR_NO_LAYOUT flag so that every
1746       actor using a ClutterFixedLayout manager will automatically benefit
1747       from it
1748
1749     » Fix the packing order of ClutterBox so that the convention of
1750       first-in-first-painted is maintained
1751
1752     » Documentation fixes
1753
1754 Many thanks to:
1755
1756   Robert Bragg
1757   Chris Lord
1758   Neil Roberts
1759
1760 Clutter 1.1.12 (16/02/2010)
1761 ===============================================================================
1762
1763   • List of changes since Clutter 1.1.10
1764
1765     » Fix compilation on 64bit platforms
1766
1767     » Fix some races of the Stage resizing on X11
1768
1769     » Documentation fixes for Cogl: the coverage is now 100%
1770
1771     » Fix rounding errors in the preferred height of the ClutterText
1772       actor
1773
1774     » Remove redundant type checks in clutter_actor_get_paint_opacity()
1775
1776     » Add support for the GLX_INTEL_swap_event extension; when using this
1777       extension on GLX the glXSwapBuffers() call becomes non-blocking and
1778       Clutter will use an event to control the master clock.
1779
1780     » Improve consistency between ClutterBox and ClutterGroup.
1781
1782     » On X11, do not set the _NET_WM_PID and WM_TITLE properties on a
1783       Stage X window if the window was not created by Clutter itself
1784
1785     » Improve caching of GL constant values
1786
1787     » Optimize creating sub-textures of sub-textures
1788
1789     » Various fixes for the atlas and the journal
1790
1791     » Disable the atlas if FBOs are not supported
1792
1793 Many thanks to:
1794
1795   Robert Bragg
1796   Neil Roberts
1797   Damien Lespiau
1798   Bastian Winkler
1799   Chris Lord
1800
1801 Clutter 1.1.10 (09/02/2010)
1802 ===============================================================================
1803
1804   • List of changes since Clutter 1.1.8
1805
1806     » Fixed a regression in textures that caused all the textures to be
1807       drawn as white rectangles.
1808
1809     » Fixed compilation with the Sun C compiler.
1810
1811     » Use SSE2 instructions to premultiply RGBA images, if available.
1812
1813     » Improve readability of ClutterActor::raise/::lower warnings.
1814
1815 Many thanks to:
1816
1817   Neil Roberts
1818   Halton Huo
1819
1820 Clutter 1.1.8 (08/02/2010)
1821 ===============================================================================
1822
1823   • List of changes since Clutter 1.1.6
1824
1825     » Added ClutterAnimator, a class that allows defining complex
1826       implicit animations involving multiple actors and states; this
1827       class is mostly meant to be used through the ClutterScript
1828       definition format, but it provides a convenience C API for
1829       easily building animations.
1830
1831     » New experimental COGL API to expose "hardware" buffers such as PBOs or
1832       drm surfaces. This API can be used, for instance, to make texture
1833       uploading faster.
1834
1835     » Fixed the issues with resizable stages getting a 1x1 window with
1836       the X11 backends
1837
1838     » Expose input devices for every event; by default, X11 and Windows
1839       backends expose the core devices only.
1840
1841     » Add the ClutterStage:key-focus property, for key focus tracking.
1842
1843     » Allow setting transformable value types in ClutterAnimation when
1844       calling clutter_animation_bind() and clutter_animation_update().
1845
1846     » Delay the creation of the default Stage until clutter_stage_get_default()
1847       is actually called; this reduces the work of clutter_init().
1848
1849     » Implement Ctrl+Delete and Ctrl+Backspace in ClutterText
1850
1851     » Improve the extendability of CoglTexture with internal backends.
1852
1853     » Add implicit texture atlasing; Cogl will try to put every texture
1854       inside the same texture atlas by default, to avoid state changes
1855       in the driver and (hopefully) improve performance.
1856
1857     » Fix notification of the cursor and selection changes in ClutterText;
1858       this improves the usage of Clutter from A11Y toolkits.
1859
1860     » Do not wait for a frame if the system clock goes backwards.
1861
1862     » Fix the dirtying of the clip state; this unbreaks cogl_path_fill().
1863
1864     » Documentation and build fixes.
1865
1866 Many thanks to:
1867
1868   Neil Roberts
1869   Chris Lord
1870   Damien Lespiau
1871   Alejandro Piñeiro
1872   Jussi Kukkonen
1873   Kristian Høgsberg
1874   Robert Bragg
1875   Øyvind Kolås
1876
1877 Clutter 1.1.6 (18/01/2010)
1878 ===============================================================================
1879
1880   • List of changes since Clutter 1.1.4
1881
1882     » Some fixes for the Win32 backend (bug #1905).
1883
1884     » Profiling support via the UProf library. Configure with
1885       --enable-profile to get a report after each Clutter application is
1886       run.
1887
1888     » Improved conformance tests with coverage reports via gcov.
1889
1890     » ClutterTexture no longer tries to read back texture data into
1891       g_malloc'd memory on unrealize (bug #1842).
1892
1893     » The CGL_• defines from cogl-defines.h have been removed. These
1894       should not have been used by any applications, but if they were
1895       being used then please replace them either with the Cogl enums or
1896       with the appropriate GL_• enum if you are using GL directly.
1897
1898     » Added a delete-event signal to the stage.
1899
1900     » Fix for using cogl_rectangle with different texture coordinates
1901       for multiple layers (bug #1937).
1902
1903     » Fix for using stencil and depth buffers in FBOs on Intel drivers
1904       in Mesa (bug #1873).
1905
1906     » Support for subtitles in ClutterMedia.
1907
1908     » ClutterGLX will now use an RGB visual by default. For
1909       applications (and toolkit integration libraries) that want to
1910       enable the ClutterStage:use-alpha property there is a new
1911       function: clutter_x11_set_use_argb_visual().
1912
1913     » Fix ClutterText to allow using Pango markup and attributes in
1914       the same actor (bug #1940).
1915
1916 Many thanks to:
1917
1918      Alejandro Piñeiro
1919      Damien Lespiau
1920      Emmanuele Bassi
1921      Gord Allot
1922      Halton Huo
1923      Robert Bragg
1924      Samuel Degrande
1925
1926 Clutter 1.1.4 (03/01/2010)
1927 ===============================================================================
1928
1929   • List of changes since Clutter 1.1.2
1930
1931     » Update the ClutterScript parser to be more resilient, and support
1932       constructor and ChildMeta properties. The parser also respects the
1933       order of the properties in the UI definitions when applying them,
1934       and will apply the properties of an Actor after building the scene
1935       graph.
1936
1937     » Simplified the implementation of LayoutManager sub-classes, and added
1938       support for animating a layout manager.
1939
1940     » Allow short-circuiting some layout operations by setting a specific
1941       flag on ClutterActor.
1942
1943     » Improve caching of the preferred size of a ClutterActor.
1944
1945     » Allow declaring "internal children" for a ClutterContainer
1946       implementation: the memory management of these actors will be deferred
1947       entirely to the Container.
1948
1949     » Let the ClutterStage honour the :opacity property and the alpha component
1950       of the stage color. This requires support in the Clutter backend used.
1951
1952     » Improve Windows and OSX backends.
1953
1954     » Simplify the feature detection code for OpenGL; this also reduced the
1955       required OpenGL version to 1.2.
1956
1957     » Improve the matrix stack handling code. The matrices can be debugged by
1958       using the COGL_DEBUG environment variable, assuming that Clutter was
1959       compiled with the right configure-time switch.
1960
1961     » Improve COGL API for draw buffers, and for offscreen buffer support.
1962
1963     » Add support for text direction to ClutterActor.
1964
1965     » Documentation, introspection and build fixes.
1966
1967 Many thanks to:
1968
1969   Robert Bragg
1970   Neil Roberts
1971   Damien Lespiau
1972   Joshua Lock
1973   Bastian Winkler
1974   Rob Bradford
1975   Samuel Degrande
1976   Christian Persch
1977   Colin Walters
1978   Johan Bilien
1979   Raymond Liu
1980   Tim Horton
1981
1982 Clutter 1.1.2 (23/10/2009)
1983 ===============================================================================
1984
1985   • List of changes since Clutter 1.0
1986
1987     » Add ClutterLayoutManager, an abstract proxy class for easily
1988       writing layout management policies; also add ClutterLayoutMeta,
1989       a class for storing layout properties.
1990
1991     » Add ClutterBox, a generic container actor that relies on a
1992       ClutterLayoutManager instance to manage the layout of its
1993       children.
1994
1995     » Add the following layout managers:
1996
1997       - ClutterFixedLayout - a layout manager implementing the
1998         policy used by ClutterGroup
1999
2000       - ClutterBinLayout - a layout manager for packing actors
2001         as layers inside the same area, with per-actor alignment
2002
2003       - ClutterFlowLayout - a layout manager arranging actors as
2004         a reflowing grid
2005
2006       - ClutterBoxLayout - a layout manager arranging actors as
2007         a single line
2008
2009     » Remove the requirement for the backend-specific implementation
2010       of ClutterStage to be a ClutterActor: a Stage implementation must
2011       only implement the ClutterStageWindow interface. This cleans up
2012       the backend code.
2013
2014     » COGL source tree clean up and rationalization; COGL now
2015       knows the platform, and not only the driver (GL or GLES) so
2016       we can migrate part of the low-level backend code from Clutter
2017       to COGL where it makes sense.
2018
2019     » Remove code duplication across whole COGL.
2020
2021     » The GLES 2.0 driver for COGL, and the EGLX backend for Clutter
2022       have been fixed and confirmed working.
2023
2024     » Add "dump-pick-buffer" to CLUTTER_DEBUG: this debug options
2025       dumps the contents of each pick() buffer into a PNG file, for
2026       debugging purposes.
2027
2028     » Allow interpolating intervals of ClutterUnits for animating
2029       unit-based properties.
2030
2031     » Increase strictness and correctness of the ClutterUnits
2032       grammar parser.
2033
2034     » Add GValue transformation functions for ClutterPath to and
2035       from a string.
2036
2037     » Fix word movement in ClutterText; implement GObject getter for
2038       :use-markup; emit notification for :position; decouple the
2039       :text property from the :use-markup property.
2040
2041     » Do not queue redraws or relayouts on actors currently being
2042       destroyed. 
2043
2044     » Support #rrggbb and #rgb notations for ClutterColor.
2045
2046     » Multiple bug fixes.
2047
2048     » Provide _NET_WM_PID on the X11 stage implementation.
2049
2050     » Documentation and Introspection annotation fixes.
2051
2052     » Add test units for the ClutterActor size requesition.
2053
2054     » Build fixes.
2055
2056     » Use AM_SILENT_RULES if Automake 1.11 is detected, and fall
2057       back to Shave on older Automake versions.
2058
2059 Many thanks to:
2060
2061   Robert Bragg
2062   Damien Lespiau
2063   Neil Roberts
2064   Thomas Wood
2065   Owen W. Taylor
2066   Øyvind Kolås
2067   Götz Waschk
2068   Zhou Jiangwei
2069   Colin Walters
2070   Jonas Bonn
2071   Joshua Lock
2072   Jussi Kukkonen
2073   Samuel Degrande
2074   Vladimir Nadvornik
2075   Xu Li
2076
2077 Clutter 1.0.0 (28/07/2009)
2078 ===============================================================================
2079
2080   • List of changes since 0.9.8
2081
2082     » Allow per-stage disabling of motion event throttling; this should allow
2083       platforms or applications that require all the motion events not for
2084       drawing purposes to get them exactly like Clutter gets them from the
2085       windowing system.
2086
2087     » Various documentation fixes.
2088
2089     » Add per-word key navigation inside ClutterText.
2090
2091     » Fix the RGB<->HLS conversion.
2092
2093     » Various fixes for the OSX backend.
2094
2095     » Various build-related fixes.
2096
2097 Many thanks to:
2098
2099   Geoff Gustafson
2100   Michael Mortensen
2101   Owen W. Taylor
2102
2103 Clutter 0.9.8 (17/07/2009)
2104 ===============================================================================
2105
2106   • List of changes since 0.9.6
2107
2108     » Add more introspection annotations for language bindings.
2109
2110     » Fix a bug in clutter_animation_set_alpha(), which also broke the
2111       clutter_actor_animate_with_alpha() function.
2112
2113     » Check if the stage requires a relayout before showing it; this fixes
2114       a bug in the X11-based backends, especially under compositing window
2115       managers, where a 640x480 window would flicker before the default
2116       stage was shown for the first time.
2117
2118     » Performance fixes for Cogl.
2119
2120     » Sliced textures were broken by the COGL journalling.
2121
2122     » Use the redraw cycle when asynchronously loading textures from
2123       files.
2124
2125     » Miscellaneous compilation fixes for the OS X and Windows backends.
2126
2127     » Allow querying from within the paint function of an Actor whether
2128       the actor is currently being directly painted or by a Clone actor.
2129
2130     » In the GLX backend, when using the non-implicit sync-to-vblank inside
2131       glXSwapBuffers(), call glFinish() to avoid potential tearing.
2132
2133 Many thanks to:
2134
2135   Colin Walters
2136   Evan Martin
2137   Marcos
2138   Owen W. Taylor
2139   Xu Li
2140
2141 Clutter 0.9.6 (01/07/2009)
2142 ===============================================================================
2143
2144   • List of changes since 0.9.4:
2145
2146     » Allow the manipulation of the actor's transformation matrix, so that is
2147       is possible to apply additional transformations in a way that is
2148       compatible with the transformations already applied by the scene graph.
2149
2150     » Fix a race in the X11 backend that happened between resizing the stage
2151       drawable and the call to glViewport().
2152
2153     » Merge the cogl-journal-batching branch; this branch implements batching
2154       the geometry of the elements of the scene graph before sending it to
2155       OpenGL, thus minimizing the number of state changes and improving the
2156       overall performance of Clutter-based applications.
2157
2158     » Add more debugging states for Clutter and COGL, which allow the developer
2159       to track the state of the journal; to check the VBO fallback paths; to
2160       disable picking for reliable profiling; to disable software-side matrix
2161       transformations in favour of the driver/GPU ones.
2162
2163     » Improve the ability to "break out" of COGL by using gl_begin/gl_end
2164       semantics; applications that drop into raw GL are, though, ignoring all
2165       the caching performed by COGL and might incur in performance issues.
2166
2167     » Fixed the :load-async and :load-data-async properties of Texture by
2168       removing the unneeded G_PARAM_CONSTRUCT flag.
2169
2170     » Added an initial migration guide that shows the porting process from
2171       older releases of Clutter to the 1.0 API; the first chapter deals with
2172       the migration from ClutterEffect to the new implicit animations API.
2173
2174     » Fixed MT-safety for the master clock.
2175
2176 Many thanks to:
2177
2178   Ole André Vadla Ravnås
2179   Tim Horton
2180
2181 Clutter 0.9.4 (19/06/2009)
2182 ===============================================================================
2183
2184   • List of changes since 0.9.2:
2185
2186     » Set the layout height in ClutterText, so that wrapping and ellipsization
2187       work correctly to fill all the allocated area.
2188
2189     » Remove all the units-based API, and migrate all the positional and
2190       dimensional accessors to use floating point values when dealing with
2191       pixels. All the properties dealing with pixels now that a floating
2192       point value as well.
2193
2194     » Add the ability to track wether an actor is going to be painted or not,
2195       using the "mapped" flag. This also allows Clutter to be more strict
2196       in the handling of the scenegraph, ensuring correctness and avoiding
2197       wasting resources on nodes that won't be painted.
2198
2199     » Add debugging facilities for COGL, similar to those of Clutter; through
2200       them is also possible to have an on screen debugging mode that shows the
2201       boundaries of each rectangle sent to the GPU.
2202
2203     » Rework "units" into real logical distance units that can be converted
2204       between millimeters, typographic points and ems into pixels.
2205
2206     » Simplify the Animation class to avoid redundancy and the possibility
2207       of it going out of sync with the Timeline and Alpha instances it uses.
2208
2209     » Move every operation into a single "master clock" source that advances
2210       the timelines, dispatches events and redraws the stages in a predictable
2211       sequence, thus avoiding unneeded redraws. The default is to follow the
2212       sync-to-vblank cycle, if it is supported by the drivers.
2213
2214     » Cache the glyphs geometry into a vertex buffer object to avoid
2215       resubmitting too much information to the GPU.
2216
2217     » Rework the behaviour of ClutterModel when a filter is applied.
2218
2219     » Allow submitting premultiplied texture data; this removes the need
2220       for unpremultiplying data in CairoTexture.
2221
2222     » Add a simple API for submitting blending and texture combining modes
2223       through a string description.
2224
2225     » Move Timelines to pure time-based objects.
2226
2227     » Lots of performance improvements.
2228
2229     » Removal of all the deprecated API.
2230
2231     » Removal of all the fixed point entry points.
2232
2233     » Lots of documentation fixes - the coverage is now 99% of the exported
2234       1600 symbols for Clutter and 80%+ of the 300 exported symbols for COGL.
2235
2236     » Generate the GObject Introspection data for both Clutter and COGL
2237       at build time.
2238
2239     » Build environment fixes.
2240
2241 Many thanks to:
2242
2243     Owen W. Taylor <otaylor@fishsoup.net>
2244     Thomas Wood <thomas.wood@intel.com>
2245     Havoc Pennington <hp@pobox.com>
2246     Bastian Winkler <buz@netbuz.org>
2247     Chris Lord <chris@linux.intel.com>
2248     Garry Bodsworth <gjb@camvine.com>
2249     Rob Bradford <rob@linux.intel.com>
2250     Johan Bilien <jobi@litl.com>
2251     Jonas Bonn <jonas@southpole.se>
2252     Raymond Liu <raymond.liu@intel.com>
2253     Damien Lespiau <damien.lespiau@gmail.com>
2254     Dan Winship <danw@gnome.org>
2255     Marc-André Lureau <marcandre.lureau@gmail.com>
2256     Robert Staudinger <robsta@gnome.org>
2257     Tommi Komulainen <tko@litl.com>
2258
2259 Clutter 0.9.2 (16/03/2009)
2260 ===============================================================================
2261
2262 Bastian Winkler (2):
2263       [media] Fix the interface cast macro
2264       Remove redundant declaration in clutter-text.h
2265
2266 Chris Lord (1):
2267       [actor] Force a relayout on set_parent()
2268
2269 Christian Persch (1):
2270       Bug 1429 - Redundant declaration in clutter-x11.h
2271
2272 Colin Walters (3):
2273       Bug 1491 - Fix hardcoded lib path in .pc files
2274       Typo in clutter-win32.pc.in introduced by commit 24ce19383
2275       [animation] Enhance the bind API
2276
2277 Damien Lespiau (6):
2278       [gitignore] update gitignore files for tests/
2279       [build] Beautify autotools' output
2280       [build] Add dolt
2281       [build] Fix interaction between shave, gtk-doc and libtool 1.x
2282       [build] Fix dist for the newly introduced m4 macro directory
2283       Update shave
2284
2285 Emmanuele Bassi (111):
2286       Post-release bump to 0.9.1
2287       [text] Merge the attributes with markup enabled
2288       [tests] Update the text-field interactive test
2289       Add Actor::create_pango_layout()
2290       [docs] Add clutter_text_set_markup()
2291       [clone] Allow cloning unparented actors
2292       [text] Use create_pango_layout()
2293       [text] Rename :alignment to :line-alignment
2294       [texture] Consolidate the quality to filter conversions
2295       [texture] Check if the material is valid
2296       [event] Extend KeyEvent for multi-input support
2297       [actor] Check out parameters before setting them
2298       [list-model] Make ClutterListModel subclassable
2299       Bug 1440 - Add clutter_get_current_event_time()
2300       [tests] Add TEST_CONFORM_SKIP() macro
2301       [tests] Add conformance tests for ClutterModel
2302       [ignore] Add the newly created conformance units
2303       [actor] Revert part of commit 402e022c
2304       [animation] Do not bind construct-only properties
2305       [x11] Add backend-specific get_current_event_time()
2306       Initialize a variable to avoid warnings
2307       [cogl] Add cogl_is_material to cogl-material.h
2308       [cogl] Provide GTypes for COGL types
2309       [texture] Use COGL_TYPE_HANDLE for the handle properties
2310       [docs] Clarify the set_cogl_texture() documentation
2311       Merge branch 'build-enhancements'
2312       [docs] Add a missing "return" annotation
2313       [build] Pass the -s switch to cmp
2314       Remove type functions for removed types
2315       [docs] Update the sections file
2316       [tests] Add TEST_CONFORM_TODO macro
2317       [build] Show pkg-config file being generated
2318       [build] Reference the headers with their full path
2319       [docs] Update build for COGL API reference
2320       [build] Update the EXTRA_DIST list
2321       [build] Fix the ChangeLog generation rule
2322       [build] Do not overwrite BUILT_SOURCES
2323       [behaviour] Do not notify empty behaviours
2324       [path] Do not accept NULL descriptions
2325       [timeline] Set the n_markers out paramater
2326       Do not use GL types in Clutter headers
2327       [docs] Require gtk-doc 1.11
2328       [docs] Use the --name-space option
2329       [docs] Add the 1.0 symbols index
2330       [docs] Rename cogl-docs from sgml to xml
2331       Add build machinery for gobject-introspection data
2332       [backend] Update the viewport when updating the GL context
2333       [build] Move all the compiler flags to AM_CFLAGS
2334       [ignore] Update with the introspection files
2335       Add runtime debug messages for COGL
2336       [actor] Remove usage of ClutterFixed
2337       Make disable text mipmapping a command line switch
2338       Make fuzzy picking a command line switch
2339       [docs] Document envvars and command line switches
2340       Remove stray fixed point macro usage
2341       Use a dynamic array for the actors when delivering events
2342       [media] Add sub-second resolution for the duration
2343       [build] Put the X11 pc dependencies in another variable
2344       [build] Do not shave typelib generation
2345       Intern the ClutterScriptable type name
2346       [backend] Constify font options
2347       [cogl] Add a PANGO debug flag for CoglPango use
2348       Clean up of the ClutterColor API
2349       [shader] Unify code paths
2350       Add pkg-config file for COGL
2351       [build] Various fixes for distcheck
2352       [docs] Clarify clutter_actor_animate() behaviour
2353       [docs] Note that grabs are evil
2354       [cogl-fixed] Add a double-to-fixed conversion macro
2355       Move BehaviourScale to CoglFixed
2356       Move ClutterBehaviourEllipse to CoglFixed
2357       Move ClutterBehaviourRotate to CoglFixed
2358       Move ClutterTimeline to CoglFixed
2359       [cogl-fixed] Implement the CoglFixed fundamental GType
2360       [tests] Test CoglFixed, not ClutterFixed
2361       [interval] Update fixed-point handling
2362       [stage] Coalesce fog and perspective API
2363       [texture] Fix ClutterFixed usage
2364       [text] Convert units to the right type
2365       [tests] Use floats, not ClutterFixed
2366       [units] Add more conversion functions
2367       [fixed] Remove ClutterFixed API
2368       [cogl] Fix hardcoded paths in the pc file
2369       [docs] Remove ClutterFixed from the documentation
2370       [docs] Update API reference
2371       [animation] Add vector variants for ::animate()
2372       [cogl] Initialize boolean flag in CoglContext
2373       [cogl] Initialize all members of CoglContext
2374       [color] Fixed HLS to RGB conversion
2375       [docs] Calling g_object_ref() will not dispose an object
2376       [docs] Document the commit message format
2377       [tests] Animate the color during easing
2378       [docs] Reword some of the coding practices
2379       [docs] Add a bindings coding practices
2380       Add more deprecation notices
2381       [deprecated] Add Effect deprecation
2382       Do not cause more size requisitions than necessary
2383       [cogl] Avoid shadowing math.h symbols
2384       [docs] Clarify Animation memory management
2385       [animation] Add an emitter for ::completed
2386       [animation] Add Animation getter
2387       [tests] Remove unused variables
2388       [docs] Add description of queue_redraw
2389       [docs] Update after Animation API changes
2390       [animation] Enhance consistency of the Animation API
2391       [docs] Bring down the undocumented symbols to 2%
2392       Fix release date of 0.9.0
2393       Update release notes
2394       [docs] Fix naming of the interval parameter
2395       [docs] Ignore the TimeoutInterval internal API
2396       Update release notes
2397
2398 Geoff Gustafson (1):
2399       [animation] Broken fixed:: properties
2400
2401 Gordon Williams (1):
2402       [group] Output the group name when debugging paint
2403
2404 Havoc Pennington (4):
2405       Virtualize GL matrix operations and use a client-side matrix when GL is indirect
2406       [actor] Add :clip-to-allocation property
2407       [actor] Add ::queue-redraw signal
2408       [cogl] Flush matrix before clip planes
2409
2410 Jonathan Matthew (1):
2411       Declare the EnumValues for PixelFormat static
2412
2413 Neil Roberts (36):
2414       [cogl-material] Always bind the new texture handle
2415       Fix building GLES 2 after the material branch merge
2416       [cogl-texture] Fix the count for the number of enabled arrays
2417       [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color
2418       [clutter-clone] Override the parent opacity to self not self->parent
2419       [clutter-texture] Release the temporary ref taken when setting a texture
2420       [clutter-texture] Unref the Cogl material on dispose
2421       [clutter-texture] Fix the no_slice property
2422       [cogl-texture] Fix offset to next quad when flushing the log
2423       [cogl-texture] Move the destruction of the material to _finalize
2424       [cogl-texture] Fix uninitialised priv var in texture_finalize
2425       Added a test for non-power-of-two sized textures
2426       Emit CLUTTER_LEAVE events when the pointer leaves the stage
2427       Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address
2428       [win32] Track mouse leave messages
2429       [clutter-main] Fix the input device passed to set_motion_last_actor
2430       Override the opacity when painting a clone instead of combining
2431       Allow rotation angle properties to be negative
2432       [ClutterBehaviourRotate] Fix up some breakage from the cogl-float branch merge
2433       [tests/conform] Copy in redhand.png
2434       Replaced ClutterFixed constants in color_{darken,lighten} with float
2435       [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array
2436       [cogl-gles2-wrapper] Actually call glActiveTexture
2437       Add an environment variable to disable mipmapped text
2438       [tests/tools] Don't install libdisable-npots.so
2439       [clutter-texture] Use a GThreadPool for loading async textures
2440       [cogl-pango-glyph-cache] Fix compiler warning on 64-bit
2441       Fix warning in clutter-backend-sdl
2442       [eglnative] Add -I flags for the clutter dir in the src and build dirs
2443       Set the mapped flag on the stage in the SDL and eglnative backends
2444       Fix out of tree builds
2445       Remove use of $(builddir)
2446       [README] Small typo fix
2447       Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2
2448       [cogl-path] Minor fix to gtk-doc
2449       Count timeline frames using the FPS instead of an integer interval
2450
2451 Owen W. Taylor (7):
2452       Honor ACLOCAL_FLAGS in autogen.sh
2453       Add gobject-introspection annotations
2454       Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
2455       Use COGL to establish GL state for ClutterGLXTexturePixmap
2456       Add (out) annotations for ClutterActor
2457       Allow NULL for clutter_text_set_text()
2458       Avoid drawing twice if relayout queues a draw
2459
2460 Raymond Liu (2):
2461       [text] Crash when multi-byte utf8 text exceeds max_length
2462       [text] Insertion of multi-byte characters broken
2463
2464 Robert Bragg (28):
2465       [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency
2466       [cogl-material] Fixes some dirty flag checks
2467       [cogl-vertex-buffer] Some fixes for texturing and color arrays
2468       [docs] Various gtk-doc updates for Cogl
2469       [tests] Some improvements for test-pixmap
2470       [Cogl] cogl_clip_{set•,unset} renamed to cogl_clip_{push*,pop}
2471       [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function
2472       [cogl-color.c] #include fix for the cogl_set_source_color prototype
2473       [Cogl] the cogl_get_•_matrix functions now work with CoglMatrix types
2474       [Cogl] Fixes automatic handling of the GL blend enable state.
2475       [cogl-material] Always glBindTexture when flushing material state
2476       [Cogl] Remove a debugging assert that was triggering on false positives
2477       [test-vertex-buffer-contiguous] Improves the texturing test
2478       [cogl-matrix] Adds padding to CoglMatrix
2479       [cogl-matrix] Documents that CoglMatrix members should be considered read only
2480       Removes need for casting (const float •) to (GLfloat *) in _cogl_set_clip_planes
2481       80 char fix
2482       Avoid casting CoglMatrix to a GLfloat • when calling glGetFloatv
2483       Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
2484       Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc}
2485       Finish GLES{1,2} support for client side matrix stacks
2486       Maintain the Cogl assumption that the modelview matrix is normally current
2487       Merge branch 'cogl-client-matrix-stacks'
2488       [cogl-vertex-buffer] Add a flush of attribute changes in the •_draw() functions
2489       [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents
2490       [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype
2491       [tests] Adds an interactive cogl vertex buffer unit test
2492       [cogl] Don't endlessly print the same warning regarding layer fallbacks
2493
2494 Robert Staudinger (1):
2495       [build] Add cogl.h to the built sources list
2496
2497 Shane Bryan (1):
2498       Bug 1434 - _NET_WM_NAME not set before realize
2499
2500 Tomas Frydrych (3):
2501       Fixed handling of enter and leave events in clutter_x11_handle_event()
2502       Fix clutter_x11_texture_pixmap_get/set_property() following change of PROP_WINDOW type
2503       [x11] Only update cached last event time if we have a real timestamp.
2504
2505 Øyvind Kolås (11):
2506       Added a mutex for clutter asynchronous textures threads.
2507       Bail early in clutter_texture_paint if opacity == 0
2508       Add a warning for recursive emit_event
2509       Change the default size of thread pool from 3 to 1
2510       [tests] Added test-texture-async
2511       [clutter-texture] add option to not block on size for loaded images
2512       [clutter-texture] remove load-size-async property
2513       Merge commit 'origin/async-texture-thread-pool' into async-size
2514       [clutter-texture] updated documentation.
2515       [clutter-texture] fixed gtk-doc formatting, and init threads in test.
2516       Merge branch 'async-texture-thread-pool'
2517
2518 Clutter 0.9.0 (30/01/2009)
2519 ===============================================================================
2520
2521  • List of changes between 0.8.6 and 0.9.0
2522
2523    » ClutterText is a new actor allowing text display, text editing
2524      both in multi-line and single-line modes, and text selection using
2525      the pointer devices and the keyboard. ClutterText supercedes both
2526      ClutterLabel and ClutterEntry.
2527    » ClutterClone is a new actor that allows cloning of other actors,
2528      both simple and composite. ClutterClone supercedes ClutterCloneTexture.
2529    » ClutterBindingPool is a new API that allows to easily add key bindings
2530      to an actor.
2531    » ClutterAnimation is a new API for implicit animations, similar to
2532      the tweening API used in toolkits like jQuery, Tween and Flash. This
2533      new API supercedes the ClutterEffect API.
2534    » ClutterAlpha uses "animation modes" instead of raw function
2535      pointers; it is still possible to pass alpha functions. The alpha
2536      functions provided by Clutter have been removed from the public
2537      API. It is possible to register global alpha functions and use
2538      them though a logical id.
2539    » The interval of the ClutterAlpha:alpha property has been changed
2540      to a floating point value in the [ -1.0, 2.0 ] range; this allowed
2541      the addition of "overshooting" easing modes.
2542    » COGL now supports backface culling.
2543    » The COGL-based Pango renderer is public API and it is accessible
2544      to developers. It is also possible to access the PangoContext used
2545      by Clutter in order to create PangoLayouts to render text.
2546    » The ClutterFixed API has been moved to COGL.
2547    » COGL does not depend on Clutter data types anymore.
2548    » The ClutterMedia interface has been overhauled: implementations
2549      now must only override the interface properties. The ranges of
2550      some properties have been changed to normalized values.
2551    » COGL now exposes only floating point entry points, and reserves
2552      the eventual conversion to fixed point only when needed. The
2553      fixed point type and macros are publicly available for developers
2554      concerned about floating point operations.
2555    » COGL has a new Vertex Attribues API that allows submitting an
2556      extensible number of vertex attributes to OpenGL in a way that
2557      does not require format conversions and allows fast re-use.
2558    » COGL has a new Material API that decouples paths from fills; it
2559      is possible to create an arbitrary path and fill it with a COGL
2560      texture. The Material API also allows setting multiple texture
2561      layers and defining the blend modes and colors.
2562    » ClutterTexture has the ability to use a worker thread to asynchronously
2563      load an image from a file, as long as the GLib threading support has
2564      been enabled prior to calling clutter_init().
2565    » Clutter now supports localization of the help output, and it
2566      also supports globally setting the text direction for non left to
2567      right locales.
2568    » ClutterCairoTexture is a new actor that allows using Cairo
2569      to draw on a ClutterTexture; since Cairo does not have an OpenGL
2570      backend, the drawing is not hardware accelerated.
2571    » Clutter has a unit testing suite, based on the GLib unit test
2572      framework, which can be used to track regressions.
2573    » A ClutterPath object has been added, and it is used by the
2574      BehaviourPath. The Path object allows defining paths using a set
2575      of coordinates and operations. A Path can be "painted" either using
2576      COGL primitives or using Cairo primitives, allowing an easier way
2577      to paint non-rectangular shaped actors.
2578    » ClutterInterval is a simple object, used by ClutterAnimation, that
2579      describes an interval between two values, and interpolates between
2580      the initial and final values of the interval.
2581
2582  • List of bugs fixed since 0.8.6
2583
2584    » #835 - Optimize clutter_actor_real_pick()
2585    » #851 - setting anchor point causes picking problem
2586    » #883 - Outstanding COGL merge issues
2587    » #1003 - Add clutter_actor_take_key_focus
2588    » #1014 - Clutter Animation API Improvements.
2589    » #1049 - Clutter doesn't support most GLSL uniforms
2590    » #1051 - WebKit/Clutter product/component?
2591    » #1058 - Build clutter-box2d with Clutter 0.8
2592    » #1066 - Clipping regression in 0.8
2593    » #1086 - virtualize stage_queue_redraw
2594    » #1105 - low level access to PangoClutter
2595    » #1106 - ClutterText instead of ClutterLabel and ClutterEntry
2596    » #1108 - Enter/Leave events logics wrt. skipped motion events
2597    » #1109 - clutter-0.8.0 fails to compile
2598    » #1123 - Crash when FBO actor is used and the stage is MINIMIZED
2599    » #1144 - Provide an option to load images asynchronously in ClutterTexture
2600    » #1162 - Add unit testing for Clutter
2601    » #1164 - Mesh API
2602    » #1172 - Disjoint paths and clip to path
2603    » #1189 - Backface culling
2604    » #1209 - Move fixed point API in COGL
2605    » #1210 - Add CoglColor API
2606    » #1211 - Drop ClutterFeatureFlags usage from COGL
2607    » #1212 - Allow only a single include file for Clutter
2608    » #1215 - Move the Pango renderer to the public API
2609    » #1219 - Clean up cogl.h
2610    » #1231 - Build fails in gles flavour in revision 3442
2611    » #1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
2612    » #1251 - Merge the Cairo texture actor in core
2613    » #1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
2614    » #1261 - [patch] Minimize differences between gl/cogl-texture.c and
2615      gles/cogl-texture.c
2616    » #1269 - mingw32 building failed at clutter-media.c
2617    » #1270 - Update to mingw-cross-compile.sh
2618    » #1271 - mingw compiling failed:  undefined reference to
2619      `_glDrawRangeElements@24'
2620    » #1284 - Return something reasonable from clutter_x11_handle_event()
2621    » #1300 - clutter_score_remove and clutter_score_remove_all  are different
2622      in object remove
2623    » #1310 - font rendering problem
2624    » #1313 - Fix computation of camera distance
2625    » #1314 - clutter_sinx() is more inaccurate than it needs to be
2626    » #1321 - Get Matrix in float
2627    » #1323 - ClutterBehaviorDepth conflicts with other behaviors
2628    » #1325 - ClutterPath to cairo_path_t conversion functions
2629    » #1330 - We should not queue redraw for non-visible actors
2630    » #1334 - Default value for ClutterLabel::text should be "" instead of NULL
2631    » #1344 - clutter_actor_transform_stage_point gives invalid coordinates
2632      for big actors
2633    » #1352 - Weird cogl-pango.h includes in clutter-[entry|label].c
2634    » #1354 - Floating point exception when set fps>1000 and start timeline
2635    » #1361 - Unused ClutterStage::get_resolution() methods
2636    » #1365 - ClutterEntry doesn't get the cursor when it should
2637    » #1366 - disable-npots fails to build on mac
2638    » #1380 - Return booleans from CLUTTER_ACTOR_IS_• macros
2639    » #1386 - Wrong clipping dimensions for larger actors
2640    » #1387 - Clarify new-frame signal emission with advance()
2641    » #1388 - Clarify signal emission for advance_to_marker()
2642    » #1395 - behaviour_apply and behaviour_get_nth_actor are opposite on
2643      actors sequence
2644    » #1397 - clutter command line is not localized.
2645    » #1402 - Change default tile-waste from 64 to 63
2646    » #1403 - ClutterMedia::get_uri() should return allocated string
2647    » #1404 - ClutterMedia issues
2648    » #1405 - Fix properties that have X11 types to be 'long'
2649    » #1409 - Use G_SIGNAL_RUN_LAST with ::queue-redraw signal
2650    » #1410 - [patch] Implements a generic ClutterActorClone class without fbos
2651    » #1414 - avoid relayout of ClutterTexture if not syncing size
2652    » #1415 - short-circuit setting same clip again
2653
2654 Clutter 0.8.2 (25/09/2008)
2655 ===============================================================================
2656
2657  • List of changes between 0.8.0 and 0.8.2
2658
2659    » Add constructor-only properties for the :container and :actor
2660      properties of ClutterChildMeta
2661    » Resync the Clutter keysyms with X.org ones.
2662    » Documentation fixes and improvements
2663    » Allow defining ClutterColor as an object or an array inside
2664      ClutterScript UI definitions
2665    » Added the missing :perspective property to ClutterStage
2666    » Fixed the upper and lower boundaries for ClutterUnit and
2667      ClutterFixed properties
2668    » Fix a bug that prevented disabling sorting on ClutterModel
2669    » Fix a bug in clutter_timeline_list_markers()
2670    » Queue a redraw when the clip is changed
2671    » Optimize calls to push and pop the matrix when painting
2672    » Add a variable to the pkgconfig file for extracting the
2673      COGL backend, for configure-time checks
2674    » Fix a typo in cogl_path_rel_curve_to()
2675    » Fix showing the cursor after it being hidden once
2676    » Add a function for obtaining Clutter's option group without
2677      initializing Clutter
2678
2679  • List of bugs fixed since 0.8.0
2680
2681    » #856 - Teardown sequence is borked
2682    » #945 - Clipping+fbo cloning bugs
2683    » #1010 - ClutterLabel does not update the layout (again)
2684    » #1020 - TFP resyncing on MapNotify/ConfigureNotify [Andy Wingo]
2685    » #1033 - Manually parsing command line options prevents
2686      initializing clutter
2687    » #1034 - Picking doesn't work on Eee PC
2688    » #1038 - Clutter 0.8 won't build due to redefined functions
2689    » #1044 - cogl_get_viewport error
2690    » #1047 - API documentation from release tarball is not
2691      installed by "make install" [Mirco Müller]
2692    » #1048 - SIGFPE in cogl_texture_set_region() with
2693      nvidia [Gwenole Beauchesne]
2694    » #1062 - clutter_actor_query_coords() replacement in
2695      0.8 [Gwenole Beauchesne]
2696    » #1069 - Warnings with ClutterScore
2697    » #1071 - clutter_timeline_get_duration doesn't always work
2698    » #1075 - Difficult to bind clutter_stage_new
2699    » #1080 - clutter_stage_read_pixels has upside-down y coordinate
2700    » #1082 - Texture bitmap is destroyed in wrong way
2701    » #1085 - Cursor is in wrong position on ClutterEntry if set
2702      x-align property
2703    » #1090 - Label somtimes returns natural_width < min_width [Johan Bilien]
2704    » #1091 - WM_MOUSEWHEEL (scroll-event) not handled
2705      correctly [Roman Yazmin]
2706    » #1099 - No ClutterScript API to get a list of IDs in a given
2707      file [Noah Gibbs]
2708    » #1100 - WM_SIZE not handled correctly, user_resize and
2709      window_style correction
2710    » #1103 - Two typos in clutter documentation
2711    » #1121 - Setting anchor point doesn't work if set too early
2712    » #1124 - Clutter causes an additional size request in each
2713      allocation [Johan Bilien]
2714    » #1125 - Save an extra pango_layout_get_size in many
2715      cases [Johan Bilien]
2716    » #1130 - CLUTTER_MOTION is not emitted when time goes
2717      backwards. [Pierce Liu]
2718    » #1137 - Setting the anchor point does not trigger a re-paint
2719    » #1145 - Flicker on resize the window
2720    » #1154 - clutter_timeout_pool_new() documentation doesn't say
2721      how to free [Murray Cumming]
2722
2723 Clutter 0.8.0 (10/07/2008)
2724 ===============================================================================
2725
2726  • List of changes between 0.7.6 and 0.8.0
2727
2728    » Assume that non-power-of-two sized textures are always supported
2729      if texture-from-pixmap support is present.
2730
2731    » Increase documentation coverage.
2732
2733    » Disable the XINPUT support by default.
2734
2735    » Improve the behaviour of clutter_actor_get_transformed_size().
2736
2737    » Fix a copy-and-paste bug which broke the vertex shaders.
2738
2739  • List of bugs fixed since 0.7.6
2740
2741    » #983 - cogl-bitmap-fallback.c compiler error/warning due to cast issue
2742    » #985 - MSC math.h / M_PI issue
2743    » #998 - clutter always captures X input events
2744    » #1000 - clutter-x11 should define gtypes for its enumerations
2745    » #1004 - Fix "edge-detect" shader
2746    » #1007 - Fix TFP fallback mechanism
2747    » #1008 - tfp still a bit borked
2748    » #1010 - ClutterLabel does not update the layout
2749    » #1011 - Fix TFP fallback mechanism (take 2)
2750    » #1012 - clutter_stage_read_pixels() has incorrect alpha data
2751              on some (most?) cards"
2752    » #1013 - Per device grabs are not obeyed in pointer device propagation.
2753    » #1015 - Cloning unparented actors with FBOs doesn't work with new
2754              layout code
2755    » #1016 - Changing window-redirect-automatic property after creating
2756              ClutterX11TexturePixmap doesn't work
2757    » #1019 - clutter-frame-source.h not included by clutter.h
2758    » #1022 - extern inline functions in clutter-fixed.h
2759    » #1033 - Manually parsing command line options prevents initializing
2760              Clutter
2761
2762 Clutter 0.7.6 (27/06/2008)
2763 ===============================================================================
2764
2765  • List of changes between 0.7.4 and 0.7.6
2766
2767    » Removed the ClutterBackend::get_display_size() and wrappers.
2768
2769    » Verify that the vertex shaders are successfully compiled when binding
2770      them.
2771
2772    » Increase safety of the ClutterGLXTexturePixmap
2773
2774  • List of bugs fixed since 0.7.4
2775
2776    » #993 - Underline colors are sometimes wrong
2777
2778 Clutter 0.7.4 (25/06/2008), "Killer Koi"
2779 ===============================================================================
2780
2781  • List of changes between 0.7.2 and 0.7.4
2782
2783    » Fix the ClutterEntry actor after the clip API changes in COGL.
2784
2785    » Update the shaders generated for GLES 2.0.
2786
2787    » Add the ability to add search paths and look up files from
2788      ClutterScript. This allows defining directories to store the
2789      images to be loaded by a ClutterTexture.
2790
2791    » Fix the GLES 1.1 support.
2792
2793    » Warn if no usable pointer device are available on X11 backends.
2794
2795    » Improve the request for the best pixel format on win32.
2796
2797    » Fix a regression when sizing the ClutterStage on backends that
2798      only support fixed size stages; now setting any size will result
2799      in Clutter ignoring the request, like it happened in Clutter 0.6.
2800
2801    » Add a method to ClutterBackend to retrieve the display size.
2802
2803    » Fix clutter_sinx() for angles > CFX_2PI - CFX_ONE.
2804
2805  • List of bugs fixed
2806
2807    » #833 - ClutterEntry should clip glyphs rather than itself
2808    » #858 - Support for multiple devices (using XINPUT)
2809    » #879 - sampler2DRect used by test-shader.c doen't work with non-rect textures
2810    » #979 - Wrong call convension for SwapIntervalProc in win32 backend
2811    » #987 - clutter-event.c c99 variable declaration
2812    » #988 - cursor position wrong with multibyte invisible char
2813    » #989 - Add a search path for clutter script assets
2814
2815 Clutter 0.7.2 (23/06/2008), "Kedoke"
2816 ===============================================================================
2817
2818  • List of changes between 0.7.0 and 0.7.2
2819
2820    » ClutterTexture has a new :keep-aspect-ratio property; when it is set
2821      to TRUE the texture will return a preferred width maintaining the
2822      aspect ratio with the given height and a preferred height maintaining
2823      the aspect ratio with the given width. This allows to set the width or
2824      the height and have the texture automatically request the height or the
2825      width respectively while maintaining the aspect ratio of the original
2826      image.
2827
2828    » Added XINPUT support on the X11 backends; this provides an initial
2829      support for multiple input devices. The API is X11-specific, and
2830      provides support for querying at run-time support for XINPUT, for
2831      getting a list of input devices and for getting the type of each
2832      input device. 
2833  
2834    » The 'fruity' backend also features multiple device support.
2835
2836  • List of bugs fixed
2837
2838    » #816 - clutter_actor_request_coords() should take a const box.
2839    » #836 - Optimize clutter_label_query_coords()
2840    » #905 - Paint cursor directly
2841    » #918 - Group doesn't clip if it's children are clipped
2842    » #953 - Actors are not hidden before unrealized or disposed
2843    » #960 - PangoContext creation code should not be duplicated
2844    » #970 - clutter_actor_get_paint_area confusion
2845    » #971 - Minor ClutterActor cleanups
2846    » #972 - Better parenting
2847    » #973 - unreffing ClutterScore may segfault
2848    » #981 - clutter_stage_read_pixels temprow fix
2849    » #982 - __COGL_GET_CONTEXT MS compiler issue
2850    » #984 - pango_clutter_render_layout() declared void
2851
2852 Clutter 0.7.0 (13/06/2008), "Booska"
2853 ===============================================================================
2854
2855  • List of changes between 0.6 and 0.7.0
2856
2857    » COGL, the underlying GL abstraction layer in Clutter, has been
2858      completely rewritten from the ground up. Its no longer a conceptual
2859      hack but a documented, fully featured library pretty much in its
2860      own right. COGL abstracts over Open GL, Open GL ES 1.1 and now
2861      OpenGL ES 2.0, providing a smart uniform API over these libraries
2862      with various utility features such as texture tiling abstractions,
2863      paths and primitive rendering, FBO, shaders, etc.
2864
2865    » Clutter now provides an experimental backend for the Apple(tm)
2866      iPhone and iPod Touch families of products.
2867
2868    » The Windows platform is now natively supported instead of
2869      relying on the SDL libraries. The win32 backend is still
2870      experimental.
2871
2872    » The X11 based backends now feature support for Actors that wrap
2873      external X drawables (i.e the texture-from-pixmap extension and
2874      fallbacks)
2875
2876    » Clutter now seamlessly supports multiple stages on the backends
2877      that allow this feature.
2878
2879    » The custom Pango renderer has been completely rewritten, now using
2880      the more modern and maintained PangoCairo (instead of FT2), and avoids
2881      nasty subclassing hacks, supports smooth fast scaling of text, has
2882      many edge case issues fixed and it still is very efficient (using
2883      a texture glyph cache). It is even a little bit faster.
2884
2885    » Better texture support, timeline improvements, ClutterLabel and
2886      ClutterEntry improvements, and container child properties are among
2887      the new features - too many to fit in the NEWS file.
2888
2889  • List of bug fixes
2890
2891    » #358 - "window resizing doesn't show scaled stage"
2892    » #425 - "COGL enhancements"
2893    » #439 - "timing related pong lockup due to timeline_rewind somtimes
2894             being ignored by timeline_timeout_func"
2895    » #450 - "ClutterScore API enhancements"
2896    » #641 - "add markers to timelines"
2897    » #666 - "Large font size leads to missing ""W"" and wrong ""J"" character"
2898    » #713 - "texture from pixmap"
2899    » #791 - "default actors to visible"
2900    » #800 - "CLUTTER_ALPHA_EXP_INC overflows"
2901    » #804 - "clutter_actor_get_opacity returns composited alpha"
2902    » #810 - "100 % CPU load with clutter_main()"
2903    » #815 - "Split up request
2904    » #816 - "clutter_actor_request_coords() should take a const box."
2905    » #822 - "Fix clutter_actor_lower()"
2906    » #823 - "Clean-up GLism's in clutter-core (below cogl)"
2907    » #824 - "ClutterEntry should handle its own key events"
2908    » #825 - "Removes GLisms from clutter-main.c"
2909    » #831 - "configure.ac missing osx flavour help"
2910    » #834 - "add ability to set anchor in json"
2911    » #836 - "Optimize clutter_label_query_coords()"
2912    » #839 - "Crash if put cursor over topmost pixel"
2913    » #840 - "Implement prepare-paint and finish-paint signals."
2914    » #848 - "Events dispatch doesn't work in GLX Xephyr"
2915    » #850 - "Impossible to set ClutterRectangle border opacity to a value
2916             different from the surface opacity"
2917    » #857 - "cogl_color doesn't work in PowerVR PC Viewer"
2918    » #860 - "ClutterAlpha leaks"
2919    » #864 - "Allow instantiating and subclassing of ClutterStage"
2920    » #871 - "Two problems with closing stages"
2921    » #873 - "clutter_x11/glx_texture_pixmap issues"
2922    » #874 - "Clipping on GL ES"
2923    » #875 - "Clutter Label Issues"
2924    » #881 - "Timelines require precise system timing"
2925    » #882 - "Allow child properties for containers implementing the
2926             ClutterContainer interface"
2927    » #884 - "Add clutter_alpha_set_closure"
2928    » #889 - "Error when building clutter-ivan with eglx"
2929    » #891 - "assertion failed when test-behave exits"
2930    » #892 - "Incorrect results using  rotation-[center|angle] properties"
2931    » #894 - "Artifacts with the pango renderer"
2932    » #900 - "clutter_actor_lower() and friends do not queue redraw"
2933    » #906 - "Implement timing of the events"
2934    » #908 - "Support transform from G_TYPE_INT to ClutterUnit"
2935    » #909 - "OSX: missing NULL pointer handling"
2936    » #910 - "OSX: missing memory pool"
2937    » #911 - "OSX: add multistage support"
2938    » #912 - "Invalid use of int• as parameter for glGetIntegerv"
2939    » #913 - "cogl fails to build on OSX"
2940    » #914 - "ClutterEntry is confused about characters vs. bytes"
2941    » #915 - "clutter_entry_set_max_length(-1) misbehaves"
2942    » #916 - "ClutterKeyEvent:unicode_value is ignored"
2943    » #919 - "Replacement pango renderer"
2944    » #927 - "Created ports for clutter
2945    » #928 - "Reparenting a child that itself is a container doesn't work"
2946    » #930 - "add support for quartz imagebackend"
2947    » #931 - "suspicious size allocation for pixel data"
2948    » #933 - ""X Error of failed request" when attempting to call
2949             clutter_actor_request_coords()"
2950    » #934 - "Update clutter-tutorial to build with clutter from svn trunk."
2951    » #947 - "Destroying a stage is messy"
2952    » #948 - "Remove texture rectangle support"
2953    » #950 - "AltGr not handled"
2954    » #951 - "Fix clutter_entry_init() in trunk"
2955    » #952 - "Fix test-textures in trunk"
2956    » #953 - "Actors are not hidden before unrealized or disposed"
2957    » #955 - "ClutterLabel is missing fallback resolution handling"
2958    » #959 - "Multiple minor improvements"
2959    » #960 - "PangoContext creation code should not be duplicated"
2960    » #961 - "Fails to build on OSX (query/request_coords is gone)"
2961    » #964 - """unrealized"" signal of ClutterActor wrongly named"
2962
2963 Clutter 0.6.0 (18/02/2008)
2964 ==========================
2965
2966  • List of changes between 0.5.6 and 0.6.0
2967
2968    » New documentation sections inside the API reference, describing
2969      the animation framework.
2970
2971    » New API in ClutterActor for computing the actor's vertices in
2972      the plane of a given ancestor and accessors to query whether an
2973      actor is scaled or rotated
2974
2975  • List of bug fixed
2976
2977    » #613 - Extend point transformation API
2978    » #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
2979    » #787 - tiled textures are broken
2980    » #796 - segmentation fault when setting label text
2981
2982 Clutter 0.5.6 (11/02/2008)
2983 ==========================
2984
2985  • List of changes between 0.5.4 and 0.5.6
2986
2987    » Reverted a last minute change in the depth sorting function of
2988      ClutterGroup.
2989
2990    » Added the clutter_actor_move_anchor_point() family of functions,
2991      which will set the anchor point at the given coordinates while
2992      adjusting the actor postion so that the relative position of the
2993      actor toward its parent remains the same.
2994
2995    » Provide a fallback for finding the Clutter alpha functions inside
2996      a UI definition for ClutterScript in case g_module_open() fails.
2997
2998    » Add initial Frame Buffer Objects support in ClutterTexture; using
2999      FBOs, where supported by the hardware and drivers, it's possible to
3000      create a ClutterTexture from any actor.
3001
3002  • List of bugs fixed
3003
3004    » #386 - Stage is white unless a timeline is present
3005    » #439 - timing related pong lockup due to timeline rewind...
3006    » #440 - 1 pixel line flickering
3007    » #442 - Shader support
3008    » #451 - Improve font rendering quality (Pango)
3009    » #452 - Textures are shown with distortion on Solaris/SPARC
3010    » #526 - OSX backend
3011    » #533 - Clutter stage is not shown under some conditions
3012    » #540 - ClutterStage isn't always respecting requests to change size
3013    » #549 - Backend offscreen API is broken
3014    » #613 - Extend point transformation API
3015    » #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
3016      Beauchesne]
3017    » #643 - Superfluous "filter-quality" setting in texture_upload_data()?
3018      [Gwenole Beauchesne]
3019    » #689 - Rotating actor through layers does not handle opacity
3020      correctly [Josh Stewart]
3021    » #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
3022    » #719 - X11 backend does not check window field in events [Havoc
3023      Pennington]
3024    » #724 - ClutterLabel reports wrong height when lines > 1
3025    » #749 - "reactive" property does not change
3026    » #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
3027      Pennington]
3028    » #756 - clutter_actor_get_abs_size returns bogus values
3029    » #769 - OSX backend fails to build
3030    » #770 - OSX: passing incompatible pointer type
3031
3032 Clutter 0.5.4 (25/01/2008)
3033 ==========================
3034
3035  • List of changes between 0.5.2 and 0.5.4
3036
3037    » A clutter-x11-<major>.<minor> pkg-config file is installed along
3038      with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
3039      ones, for libraries and applications depending on the X11-based
3040      backends (GLX and EGLX).
3041
3042    » Textures are correctly unrealized before changing and freeing the
3043      main GL context.
3044
3045    » It is now possible to block the automatic call to clutter_main_quit()
3046      when closing the stage window using the frame controls by connecting
3047      an handler for the ::event signal on the Clutter stage and checking
3048      for the CLUTTER_DELETE event type and returning TRUE. This allows
3049      the usage of other main loops with GLib reactors (like Python's twisted)
3050      with Clutter without triggering assertions by closing the stage window.
3051
3052  • List of bugs fixed
3053
3054    » #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
3055    » #614 - ClutterActor API inconsistencies
3056    » #640 - ClutterTexture unrealized with no GL context
3057    » #654 - Under heavy load clutter sometimes drops the last frame of
3058      a timeline [Johan Bilien]
3059    » #672 - Event handling in osx backend is broken [Tommi Komulainen]
3060    » #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
3061    » #695 - clutter-shader: Invalid format string for
3062      gssize [Tommi Komulainen]
3063    » #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
3064    » #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
3065    » #714 - clutter_event_copy for enter/leave event generates
3066      extra unref [Neil Roberts]
3067    » #715 - Type errors in test-shader
3068    » #720 - BehaviourScale not working in python after recent
3069      API change [Josh Stewart]
3070
3071 Clutter 0.5.2 (14/01/2008)
3072 ==========================
3073
3074  • List of changes between 0.5.0 and 0.5.2
3075
3076    » ClutterModelDefault has been renamed to ClutterListModel
3077
3078    » ClutterModel now has vector-based variants for append, prepend and
3079      insert methods; these methods are useful for bindings
3080
3081    » Add units-based variant for clutter_actor_move_by()
3082
3083  • List of bugs fixed
3084
3085    » #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
3086    » #700 - Fix for clutter_effect_rotate() [Neil Roberts]
3087
3088 Clutter 0.5.0 (02/01/2008)
3089 ==========================
3090
3091  • List of changes between 0.4.2 and 0.5.0
3092
3093    » New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
3094      flag set will receive events from the underlying backend; the event
3095      propagation chain will be walked in two directions (from the actor to
3096      the top-level container and back) with the ability to block it in
3097      both phases.
3098
3099    » ClutterShader, an abstraction over the programmable OpenGL pipeline.
3100
3101    » ClutterScore, an object for controlling timelines; using a score
3102      instance is possible to start multiple timelines at once, or start
3103      a timeline after another has emitted the ::complete signal.
3104
3105    » ClutterScript, an object for parsing a scene from an external file or
3106      a buffer; the scene is described using JSON (JavaScript Object Notation):
3107      every object is defined using its class and properties, and container
3108      objects can have their children defined as well. It is also possible
3109      do describe top-level objects such as timelines and behaviours, and to
3110      automatically connect signal handlers to signal names.
3111
3112    » ClutterTimelines duration can now be set in milliseconds using the
3113      :duration property; the default framerate will be used to compute the
3114      actual duration in frames. The default framerate will be set by the
3115      backend, and can be overridden by the application.
3116
3117    » ClutterTimelines direction can now be set using the :direction
3118      property; a timeline can be set to proceed forward or backward,
3119      and the direction can also be change while the timeline is still
3120      running.
3121
3122    » New, experimental OSX backend.
3123
3124    » Build environment for MS VisualStudio 2005.
3125
3126    » ClutterModel, a generic list-based model object that can be used to
3127      implement actors following the Model-Viewer-Controller design pattern.
3128      Clutter provides a default implementation of ClutterModel, called
3129      ClutterModelDefault and using the GSequence data structure from GLib
3130      to optimize insertion and look up.
3131
3132    » Add the ability to grab pointer and keyboard events: if an actor
3133      is set to have a grab it'll be the only one receiving events until
3134      it releases the grab.
3135
3136    » Add the ability for an actor to receive the key focus; an actor
3137      with key focus will always receive the key events, even if it did
3138      not acquire the keyboard grab.
3139
3140    » It is now possible to set the GL "fog" (also known as "depth cueing")
3141      effect on the ClutterStage; if the fog is enabled, actors farther
3142      away from the view point will fade into the stage background color.
3143
3144    » Each actor now has an "anchor point", a point defined in the actor's
3145      coordinate space that will be used as the origin when scaling and
3146      rotation transformations.
3147
3148    » Every pixel-based API has been doubled with a corresponding
3149      ClutterUnits-based function (postfixed with a '-u'), for instance:
3150
3151        clutter_actor_set_position() - clutter_actor_set_positionu()
3152        clutter_actor_set_size()     - clutter_actor_set_sizeu()
3153        clutter_actor_set_depth()    - clutter_actor_set_depthu()
3154
3155      This allows sub-pixel precision and device independence.
3156
3157    » The ClutterLabel actor now tries very hard to provide a sane
3158      default size, if no bounding box has been requested; this fixes
3159      the :alignment property and allows the addition of the :justify
3160      property.
3161
3162    » The SDL backend can now be compiled under win32 with MingW; this
3163      backend is still marked as experimental.
3164
3165    » The OSX backend allows the compilation of Clutter under OS X; this
3166      backend is experimental.
3167
3168  • List of bugs fixed
3169
3170    » #423 - All actors should emit events rather than just the stage
3171    » #424 - Interface definition files
3172    » #443 - ClutterModel implementation
3173    » #480 - Uninitialized variable in
3174      path_alpha_to_position() [Gwenole Beauchesne]
3175    » #511 - clutter_stage_get_actor_at_pos problem
3176    » #512 - clutter window moves when stage actor is scaled
3177    » #518 - XEMBED not supported in eglx backend
3178    » #519 - Should have an Atom cache initialized on start up
3179    » #520 - Delete after multibyte unicode chars in
3180      ClutterEntry [Tommi Komulainen]
3181    » #522 - Array out of bounds indexing [Tommi Komulainen]
3182    » #523 - cogl portability fixes [Tommi Komulainen]
3183    » #524 - missing config.h includes [Tommi Komulainen]
3184    » #525 - Redundant include in cogl/gl [Tommi Komulainen]
3185    » #531 - Extraneous "new-frame" signal generated
3186    » #532 - clutter_actor_set_scale_with_gravityx()
3187      precision [Gwenole Beauchesne]
3188    » #544 - clutter_color_to_hlsx is broken [Neil Roberts]
3189    » #546 - ClutterStageState doesn't make sense
3190    » #550 - Wanted: Set Actor's position based on center or other
3191      edges/corners of quadrangle
3192    » #557 - ClutterScript should support complex properties for third
3193      party classes
3194    » #558 - Unmerge UI definitions
3195    » #566 - ClutterEntry does not scroll the text to the
3196      right [Gwenole Beauchesne]
3197    » #577 - Inconsistent naming of behaviour properties
3198    » #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
3199    » #582 - api naming inconsistence between
3200             clutter_behaviour_path_append_knots and
3201             clutter_behaviour_bspline_append
3202    » #584 - Typo on clutter_effect_rotate_x documentation page
3203    » #592 - Fix build on trunk [Gwenole Beauchesne]
3204    » #596 - ClutterTexture tileing logic is a little borked
3205    » #597 - ClutterGroups not pickable
3206    » #600 - fix ClutterLabel layout computing when no box has been set
3207    » #604 - Color param for Label constructor should be
3208      const [Jonathon Jongsma]
3209    » #606 - enable depth test in GL
3210    » #608 - Control motion events frequency
3211    » #614 - ClutterActor API inconsistencies
3212    » #616 - ClutterTexture doesn't respect width set from clutterscript
3213    » #617 - ClutterEffect Improvements
3214    » #618 - ClutterScript name/id confusion
3215    » #619 - clutter_behavior_rotate angle properties should accept
3216      negative values
3217    » #628 - clutter_actor_rotate_x() is a setter, not a modifier
3218    » #629 - There is no clutter_actor_get_position()
3219    » #634 - clutter_behaviour_path_new() documentation unclear
3220    » #637 - add depth cueing support to the stage
3221    » #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
3222    » #647 - Cannot hide the stage
3223    » #648 - Hidden fullscreen stage doesn't come back as fullscreen
3224    » #652 - reference needed on actor being source of last motion_event
3225    » #661 - clutter_actor_set_width() documentation is vague
3226    » #662 - clutter_actor_set_opacity() documentation doesn't describe values
3227    » #665 - ClutterBehaviourEllipse tilts are broken
3228    » #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
3229    » #673 - ClutterActor "captured-events" signal documentation wrong
3230    » #674 - ClutterActor::get_depth() and set_depth() vfuncs not
3231      used [Murray Cumming]
3232    » #675 - update subregions of cluttertextures
3233    » #678 - ClutterLabel size allocation still bogus
3234
3235 Clutter 0.4.0 (07/08/2007)
3236 ========================
3237
3238  • List of changes between 0.3.1 and 0.4.0
3239
3240    » Many documentation additions and improvements.
3241
3242    » Display DPI now honours on backends its can be queried.
3243
3244    » Various big endian related fixes.
3245
3246    » ClutterBehaviourEllipse and ClutterBehaviourRotate API and
3247    internals improvements.
3248
3249    » Add basic tslib support to eglnative backend (for touchscreen events)
3250
3251    » clutter_stage_get_actor_at_pos should now work on 16bpp displays.
3252
3253    » New ClutterEffect rotation calls.
3254
3255    » Allowing user resizing of the stage now optional.
3256     (implemented by glx backend only currently)
3257
3258    » ClutterEntry UTF8 fixes and improved automatic initial sizing.
3259
3260    » Make ClutterActor GInitiallyUnowned.
3261
3262    » New ClutterBox API: each box has now a colour and a margin (distance
3263      between the inner-border and the children); plus, each packed child
3264      has a padding. Margins and paddings are expressed in ClutterUnits,
3265      to ease the transition to the device independent units. You can use
3266      clutter_box_set_default_padding() if you want the same padding for
3267      each child.
3268
3269  • List of bug fixed
3270    » #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
3271    » #398 - inconsistent type for return value of clutter_event_get_state
3272    » #403 - Critical error when removing texture actor
3273    » #404 - Solaris build error with OpenGL, missing
3274             GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
3275    » #409 - depth mismatch between visual (32) and window (24)
3276    » #407 - metadata-available signal #ifdef'ed out
3277    » #413 - Clutter compile error with Sun Studio C compiler
3278    » #426 - typo in sdl_backend
3279    » #414 - ClutterEntry invisible if size not set
3280    » #434 - clutter_color_from_pixel incorrectly interprets alpha value
3281    » #435 - clutter_color_subtract does the opposite of its documentation
3282    » #436 - clutter-behaviour-depth always perform "from deep to shallow"
3283
3284 Clutter 0.3.1 (06/07/2007)
3285 ========================
3286
3287  • List of changes between 0.3 and 0.3.1
3288    » EGL. There are now 2 experimental EGL backends;
3289      - 'eglx', the former EGL on X11 implementation (now renamed)
3290      - 'eglnative', a new EGL 'native' backend which supporting non
3291        X11 EGL implementations (i.e framebuffer).
3292
3293    » ClutterGroup now returns correct size when a child is removed.
3294
3295    » Missing redhand.png added to distro tarball (fixing tests that require
3296      it)
3297
3298    » Fix picking in ClutterBox
3299
3300    » Rectangle border creation fixed.
3301
3302    » Fix overflow in Exponential Alpha funcs.
3303
3304    » Many API documentation fixes and improvements.
3305
3306    » ClutterEffect cleanups.
3307
3308    » ClutterEntry cleanups.
3309
3310    » Check for versioned XFixes library (GLX backend).
3311
3312    » More X error traps in GLX backend.
3313
3314 Clutter 0.3 (29/06/2007)
3315 ========================
3316
3317  • List of changes between 0.2.3 and 0.3
3318    » Clutter now supports both switchable windowing system and GL backends.
3319      Window systems supported include GLX, EGL and SDL.
3320
3321      GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
3322      provided by a small basic abstraction layer 'cogl.h'. Cogl is not
3323      yet documented - usage external to Clutter is not yet advised.
3324
3325      Backends may provide specific command line options.
3326
3327      Notes;
3328
3329      GLX
3330      ---
3331      The GLX backend is built by default and is currently the most
3332      developed, supported and featured windowing system backend. Only
3333      OpenGL is supported via GLX.
3334
3335      SDL
3336      ---
3337      Clutter has experimental support for using SDL. Open GL is supported as
3338      is OpenGL ES via Dogles (very experimental).
3339
3340      EGL
3341      ---
3342      Clutter has experimental support for using EGL. Only Open GL ES
3343      is supported by EGL.
3344
3345      EGL support assumes an EGL implementation running atop X Windows.
3346
3347      Open GL ES.
3348      -----------
3349
3350      Clutter now has experimental support for Open GL ES.
3351      Current known issues;
3352
3353      + Unrealising a ClutterTexture will not move pixel data from video
3354        into system memory but simply destroy it.
3355      + BGRA, YUV Texture data not currently supported.
3356
3357      (Use the clutter_feature API to probe for above at runtime)
3358
3359      Open Source ES implementations this has been tested against
3360      include `Vincent' and `dgles'.  Support for commerical
3361      implementations may require modifications to the configure.ac
3362      script.
3363
3364      vincent: http://ogl-es.sourceforge.net/
3365               (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
3366
3367      dgles: http://developer.hybrid.fi/dgles/index.html
3368
3369    » New ClutterEffect class provides a simplified (and thus less flexible)
3370      API wrapping around behaviours, alphas and timelines.
3371    » New Behaviours - bspline, ellipsis, rotation.
3372    » New built in Alpha functions;
3373       CLUTTER_ALPHA_SINE_INC
3374       CLUTTER_ALPHA_SINE_DEC
3375       CLUTTER_ALPHA_SINE_HALF
3376       CLUTTER_ALPHA_SQUARE
3377       CLUTTER_ALPHA_SMOOTHSTEP_INC
3378       CLUTTER_ALPHA_SMOOTHSTEP_DEC
3379       CLUTTER_ALPHA_EXP_INC
3380       CLUTTER_ALPHA_EXP_DEC
3381    » New Actors and interfaces
3382      + ClutterLayout, for writing extended layout support in actors
3383      + ClutterContainer, for generic container actors
3384      + ClutterBox, ClutterVBox and ClutterHBox layout actors.
3385      + ClutterEntry, text entry actor
3386    » ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
3387    » All internal math now fixed point based.
3388    » Clutter now has it own internal event queue.
3389    » ClutterStage new features;
3390      + Title property for naming in window decorations.
3391      + Perspective setting - The stages perspective can now be modified.
3392    » New Clutter_actor •project API calls allow for querying of tranformed
3393      actor vertices and points.
3394    » New Clutter Feature checks.
3395    » Initial ClutterUnit implementation for device independant positioning.
3396  • List of Bugs fixed
3397    » Various issues with very poor performance and Intel drivers.
3398    » #138 Fix typo in x rotation transform.
3399
3400 Clutter 0.2.3 (2007-04-11)
3401 ==========================
3402
3403  • List of changed between 0.2.2 and 0.2.3
3404    » Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
3405    » Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
3406
3407 Clutter 0.2.2 (2007-03-22)
3408 ==========================
3409
3410  • List of changed between 0.2.1 and 0.2.2
3411    » Addition of basic XEMBED support for clutter stage. [Matthew]
3412    » Fixes to clutter_texture_get_pixbuf(). [Matthew]
3413    » Export clutter_group_remove_all and add associated fixes. [Matthew]
3414
3415 Clutter 0.2.1 (2007-02-07)
3416 ==========================
3417
3418  • List of changed between 0.2.0 and 0.2.1
3419    » Add even faster double to integer (and back) conversion
3420      functions. [Tomas]
3421    » Fix some errors in the fixed point sine waveform
3422      function. [Tomas]
3423    » Use fixed point math in the Pango renderer. [Tomas]
3424    » Improve the GL version check. [Matthew]
3425    » Add a square waveform function. [Emmanuele]
3426  • List of bugs fixed
3427    » #215 - macro CLUTTER_MARK() not disabled for non-debug builds
3428
3429 Clutter 0.2 (18-01-2007)
3430 ========================
3431
3432  • List of changes between 0.2 and 0.1
3433    » Bindings, GStreamer and GTK+ dependencies moved out of tree:
3434      now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
3435    » Actors now have an initial floating reference; this means you
3436      don't have to explicitely unref them: every memory an actor
3437      allocates will be freed when the group containing the actor will
3438      be destroyed.
3439    » Add basic run-time detection of GL features.
3440      + Use GL_TEXTURE_RECTANGLE_ARB if available.
3441      + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
3442    » Add API for behaviours. A ClutterBehaviour is an object which
3443      drives a set of actors using one or more properties depending
3444      on the value of an "alpha" function.
3445      + Provide simple behaviours: ClutterBehaviourOpacity,
3446        ClutterBehaviourPath and ClutterBehaviourScale.
3447      + Provide simple alpha functions for ramps and sine waveforms.
3448    » Add fixed point API for embedded platforms with no FPU.
3449    » Add support for command line switches to Clutter, like debug
3450      flags and abort on warnings; also allow application to hook up
3451      into the initialisation sequence to add their own command line
3452      switches.
3453    » Add Pango GL renderer for Clutter, and use it to render text
3454      inside the ClutterLabel actor; this decrease texture memory
3455      usage.
3456    » Redo Clutter Label widget, using the new Pango renderer.
3457    » Clutter Textures do not store local pixbuf copy (of texture).
3458    » Redo group and actor scale/sizing API and functionality.
3459    » Add memory management API for ClutterColor, and string parsing.
3460  • List of bug fixed
3461    » #199 - Little group handling fix?
3462    » #198 - Detect NPOT support on more systems
3463    » #197 - Tiled textures are broken
3464    » #196 - Rebuild the examples when the library changes
3465    » #156 - clutter_actor_set_position not using the absolute size
3466    » #155 - Don't test for XInitThreads [Bastien Nocera]
3467    » #154 - Key presses not working in super-oh example [Bastien Nocera]
3468    » #152 - Misc fixes [Bastien Nocera]
3469    » #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
3470    » #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
3471    » #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
3472    »  #98 - Enabling trails in super-oh crashes
3473
3474 Clutter 0.1 (22/06/2006)
3475 ========================
3476
3477  • First 'official' release, expect bugs aplenty.
3478  • Contains:
3479    » Hopefully enough functionality to build things.
3480    » Basic gstreamer 0.10 video playback support.
3481    » Fairly stable API, though in no way totally stable.
3482      Expect CHANGES in future versions.
3483    » Some simple examples ( also see OPT ).
3484    » An experimental GTK-Clutter widget.
3485    » Fairly complete Python bindings.
3486    » Non complete but hopefully useful API documentation.
3487  • If you want to help out see the TODO file.