1Clutter 1.26.4                                                       2020-03-09
2===============================================================================
3
4  • List of changes since Clutter 1.26.2
5
6    - Require GLib 2.54
7
8    - Build fixes
9
10    - Add an experimental Meson build
11
12    - Documentation fixes
13
14    - Handle 8 and 10 bits colour depth in picking code
15
16  • List of bugs fixed since Clutter 1.26.2
17
18    #792716 - Don't declare functions in AC_TRY_LINK and AC_TRY_COMPILE
19    #772213 - Take advantage of Unicode
20    #769190 - Clutter stage is too big and events wrong under hidpi gnome
21              on wayland
22
23    #8 - actor-offscreen-redirect test has uninitialized stack data,
24         hangs when the obvious fix is applied
25    #11 - Handle 10 bits colour bit depth in actor picking
26    !8 - docs: Add missing settings.ini Environment group keys
27    !9 - meson: Don't use undocumented -export-dynamic option
28    !11 - clutter/actor: Mark implicit transitions as remove-on-complete
29
30Many thanks to:
31
32  Floris Van den Abeele, Jonas Ådahl, Ting-Wei Lan, Chris Mayo, Sjoerd Simons,
33  Bastien Nocera, Rico Tzschichholz, Piotr Drąg.
34
35Clutter 1.26.2                                                       2017-05-12
36===============================================================================
37
38  • List of changes since Clutter 1.26.0
39
40    - Accept upper case 'A' when selecting all content in a Text actor
41    This is similar to what GTK+ allows, and makes it easier to select text
42    with Caps Lock enabled.
43
44    - Use GDK API when using Wayland sub-surfaces
45    The GDK backend on Wayland uses sub-surfaces to allow Cogl to manage the
46    rendering surface; now that GDK exposes the necessary API, we can avoid
47    using the Wayland API directly, and instead let GDK manage the surface
48    for us.
49
50    - Documentation fixes
51
52    - Translation updates
53    Danish, Basque, Chinese (Traditional), Occitan, Indonesian, Polish,
54    Spanish, Slovak, Kazakh, British English, Croatian, Hungarian, Norwegian
55    bokmål, Belarusian.
56
57  • List of bugs fixed since Clutter 1.26.0
58
59    #766326 - text: Bind <ctrl>A in addition to <ctrl>a
60    #768243 - Don't create the Cogl GLib source multiple times
61    #768734 - actor: Clarify that add_effect() sinks floating references
62              on the effect
63    #781975 - Under Wayland, Totem spawns a new window without controls for
64              some files and then gnome-shell crashes
65    #759085 - seg fault in actor-graph test
66    #774546 - [Wayland][gdk][stage] Use GDK API instead of Wayland directly
67    #762888 - [PATCH] backend: check for wayland before x11
68    #772412 - clutter-script: Document support for top-level arrays
69    #770288 - clutter-script: Add an example of translation in ClutterScript
70    #768898 - clutter: Fix typo in docs for ClutterActor::queue-relayout
71
72Many thanks to:
73
74  Piotr Drąg, Philip Withnall, Olivier Fourdan, Cédric Valmary, Fabio Tomat,
75  Andika Triwidada, Ask Hjorth Larsen, Baurzhan Muftakhidinov, David King,
76  Dušan Kazik, Florian Müllner, Gustavo Noronha Silva, Gábor Kelemen,
77  Inaki Larranaga Murgoitio, Jeff Bai, Jeremy Bicha, Kjartan Maraas,
78  Marc-Antoine Perennou, Nigel Taylor, Owen W. Taylor, Peter Mráz,
79  Yuras Shumovich, gogo
80
81
82Clutter 1.26.0                                                       2016-03-21
83===============================================================================
84
85  • List of changes since Clutter 1.25.6
86
87    - Avoid spamming accessibility state changes in clones
88    Clones of unmapped actors will cause a temporary mapping of their source,
89    which will result in spurious accessibility events.
90
91    - Ignore GDK deprecation compiler warnings
92
93    - Resync build configuration for Windows
94
95    - Translation updates
96    Serbian, Swedish, Catalan, Occitan, Greek, Latvian, Russian, Danish
97
98  • List of bugs fixed since Clutter 1.25.6
99
100    #756371 - Accessible event spam in Overview
101
102Many thanks to:
103
104  Jordi Mas, Anders Jonsson, Ask Hjorth Larsen, Chun-wei Fan, Cédric Valmary,
105  Efstathios Iosifidis, Rūdolfs Mazurs, Stas Solovey, Марко Костић,
106  Мирослав Николић
107
108Clutter 1.25.6                                                       2016-02-18
109===============================================================================
110
111  • List of changes since Clutter 1.25.4
112
113    - Enable swap throttling for fullscreen windows with GDK
114    Avoids performance penalties with the GDK backend on constrained devices
115    running full screen Clutter and Clutter-GTK applications.
116
117    - Add platform-specific data for the libinput input backend
118    This allows implementing high level functionality when writing Wayland
119    compositors based on Clutter.
120
121    - Translation updates
122    Hungarian, Bulgarian, Polish, Slovak, French, Chinese (Taiwan), Galician,
123    Italian
124
125  • List of bugs fixed since Clutter 1.25.4
126
127    #752752 - Patches needed for relative pointer and pointer confinement
128              in mutter
129    #755849 - evdev: Recycle device ids after devices are removed
130
131Many thanks to:
132
133  Jonas Ådahl, Alexander Shopov, Alexandre Franke, Chao-Hsiung Liao,
134  Dušan Kazik, Fran Dieguez, Gábor Kelemen, Milo Casagrande, Piotr Drąg
135
136Clutter 1.25.4                                                       2016-01-21
137===============================================================================
138
139  • List of changes since Clutter 1.25.2
140
141    - Add more scrolling information inside ClutterScrollEvent
142    This allows to receive the type of device that generate the scroll event,
143    as well as the notification that a scroll motion finished; we can use this
144    information to implement kinetic scrolling. Currently, only libinput
145    provides us with these fields.
146
147    - Translation updates
148    Spanish, Lithuanian, Czech, German, Hebrew, Brazilian Portuguese
149
150  • List of bugs fixed since Clutter 1.25.2
151
152     #757026 - Add scroll source / axis stop information to scroll events
153
154Many thanks to:
155
156  Aurimas Černius, Carlos Garnacho, Daniel Mustieles, Marek Černocký,
157  Mario Blättermann, Rafael Fontenelle, Yosef Or Boczko
158
159Clutter 1.25.2                                                       2015-12-17
160===============================================================================
161
162  • List of changes since Clutter 1.24
163
164    - Set event code on button and key events in the evdev input backend
165    This allows users of the evdev input backend to retrieve the event
166    code without doing ad hoc calculations based on event-specific fields.
167
168    - Take scaling factor into account on Wayland with GDK
169    This brings the Wayland support inside the GDK backend on par to the X11
170    side.
171
172    - Decouple selectability from editability in ClutterText
173    It's possible to create selectable ClutterText actors without enabling
174    editability; this may cause unexpected cursors to appear in reactive
175    label-like actors using non-editable ClutterText, so feedback from users
176    is appreciated.
177
178    - Allow overriding the Cogl driver used by Clutter
179    On systems with multiple OpenGL and OpenGL ES implementations available,
180    it should be possible to explicitly set the Cogl driver (OpenGL 3.2 core
181    profile context; OpenGL legacy context; OpenGL ES 2.0 context) used by
182    Clutter when creating its drawing context. It's also possible to define
183    a list of drivers to try sequentially until one succeeds.
184
185    - Rework the windowing system backend selection
186    The windowing system backend initialization has been reworked to allow
187    setting the default windowing system backend using the configuration
188    file under $XDG_CONFIG_DIRS/clutter-1.0/settings.ini. The selection of
189    the backend also supports the ability to specify a list of backends to
190    try sequentially until one succeeds, for systems with multiple windowing
191    systems available.
192
193    - Documentation fixes
194
195    - Translation updates
196    Portuguese, Slovenian
197
198  • List of bugs fixed since Clutter 1.24
199
200    #758238 - [evdev] Add evdev-specific API to get event codes from
201              ClutterEvents
202    #755245 - only shows a 4th of the screen under wayland
203    #757470 - Allow selectability without editability
204    #752752 - Patches needed for relative pointer and pointer confinement
205              in mutter
206    #759074 - Port cairo test to ClutterCanvas
207    #759191 - should use pkg-config for GL
208    #742678 - gl: Prefer gl3 over the gl driver
209
210Many thanks to:
211
212  Carlos Garnacho, Lionel Landwerlin, Jonas Ådahl, Pedro Albuquerque,
213  Matej Urbančič
214
215Clutter 1.24.2                                                       2015-10-12
216===============================================================================
217
218  • List of changes since Clutter 1.24.0
219
220    - Emulate discrete scrolling on evdev
221
222    - Improve animation smoothness under the GDK backend
223
224    - Updated translations
225    Russian, Latvian, Danish, Swedish, Brazilian Portuguese, Serbian,
226    Serbian Latin, Ukrainian, Hindi, Kannada, Finnish, Portuguese.
227
228  • List of bugs fixed since Clutter 1.24.0
229
230    #755357 - timeline: Minor fixes for debuggability with
231              ClutterMasterClockGdk
232    #745517 - gnome-shell crashed with SIGABRT in g_assertion_message()
233    #756284 - Unable to use two finger scroll on Wayland
234
235Many thanks to:
236
237  Philip Withnall, Owen W. Taylor, Piotr Drąg, Милош Поповић, Anders Jonsson,
238  Ask Hjorth Larsen, Carlos Garnacho, Jiri Grönroos, Lionel Landwerlin,
239  Pedro Albuquerque, Rafael Fontenelle, Rūdolfs Mazurs, Stas Solovey
240
241Clutter 1.24.0                                                       2015-09-15
242===============================================================================
243
244  • List of changes since Clutter 1.23.6
245
246    - Fix ClutterGridLayout's preferred size computation
247    The preferred height of the ClutterGridLayout is correctly taking into
248    account the height and span of each cell.
249
250    - Improve embeddability of Clutter in foreign toolkits
251    Embedding Clutter inside other toolkits, like GTK+, on Wayland and X11
252    has been fixed.
253
254    - Updated translations
255    French, Portuguese, Spanish, Galician, Chinese (Taiwan), Polish,
256    Indonesian, Greek, Slovak, Hebrew, Hungarian, Lithuanian, Italian,
257    Slovenian, German, Czech.
258
259  • List of bugs fixed since Clutter 1.23.6
260
261    #755014 - Fix Clutter-Gtk on x11
262    #754993 - notify Cogl immediately of a foreign window resize in GDK/X11
263              backend
264    #754938 - Setup sync_to_vblank before ClutterStage creation
265    #754890 - Fix Mesa warning when unrealizing/rerealizing foreign stage
266              windows
267    #754889 - Fix compositor synchronization in GDK backend
268    #754766 - "actor: Clean up transform_stage_point()" broke HiDPI mutter
269    #754697 - Use a wayland subsurface when dealing with foreign windows
270              on GDK/wayland
271    #754671 - Improve dealing with foreign stages on GDK
272    #754134 - A few gdk backend fixes
273
274Many thanks to:
275
276  Lionel Landwerlin, Dušan Kazik, Alexandre Franke, Andika Triwidada,
277  Aurimas Černius, Balázs Úr, Bernd Homuth, Chao-Hsiung Liao,
278  Daniel Mustieles, Fran Dieguez, Jonas Ådahl, Marek Černocký,
279  Matej Urbančič, Milo Casagrande, Pedro Albuquerque, Piotr Drąg,
280  Tom Tryfonidis, Yosef Or Boczko
281
282Clutter 1.23.6                                                       2015-08-21
283===============================================================================
284
285  • List of changes since Clutter 1.23.4
286
287    - Require Cogl 1.21.2
288
289    - Prefer the OpenGL 3.x Cogl driver
290    The GL3 driver drops legacy API, and should bring a slight performance
291    improvement, as well as lower memory overhead. If GL3 is not supported,
292    Clutter falls back to the older GL driver transparently.
293
294    - Updated translations
295   Catalan, Indonesian, Portuguese, Lithuanian, Spanish, French, Galician
296
297  • List of bugs fixed since Clutter 1.23.4
298
299    #742678 - gl: Prefer gl3 over the gl driver
300    #746279 - Typo (textues) in translatable string
301    #753895 - Incorrect plural form of child
302
303Many thanks to:
304
305  Adel Gadllah, Alexandre Franke, Anders Jonsson, Andika Triwidada,
306  Aurimas Černius, Carlos Garnacho, Daniel Mustieles, Fran Dieguez,
307  Jordi Mas, Pedro Albuquerque, Sebastian Rasmussen
308
309Clutter 1.23.4                                                       2015-07-22
310===============================================================================
311
312  • List of changes since Clutter 1.23.2
313
314    - Add functions for binding a GListModel to a ClutterActor
315    The bind_model() and bind_model_with_propertis() methods on ClutterActor
316    allow binding objects inside a GListModel implementation to children or
317    an actor.
318
319    - Add event types for touchpad gestures
320    Currently, the libinput input backend is the only one that will generate
321    the touchpad events for swipe and pinch/zoom/rotate, but support for other
322    backends is planned in the future.
323
324    - Documentation fixes
325
326  • List of bugs fixed since Clutter 1.23.2
327
328    #752272 - _CLUTTER_DEPRECATED_MACRO_FOR is not defined when not compiling
329              with gcc
330    #752056 - Check for NULL pointer for pspec returned by
331              g_object_class_find_property, before dereferencing
332    #752104 - Automatic wayland detect support causes error when wayland is
333              not installed
334    #751472 - Don't create libinput properties
335
336Many thanks to:
337
338  Carlos Garnacho, Ting-Wei Lan, Kalev Lember, Nitin Sharma,
339  Pedro Albuquerque, Peter Hutterer, Stefan Sauer
340
341Clutter 1.23.2                                                       2015-06-18
342===============================================================================
343
344  • List of changes since Clutter 1.22
345
346    - Add accessor functions for ClutterActor state
347    Currently, actor state is accessible only via GObject properties and via
348    pre-processor macros; the former are not very friendly for C developers,
349    while the latter are not usable from language bindings. New functions have
350    been added to fill in the gap; the macros have a "soft" deprecation, since
351    compiler warnings cannot be used to detect their use.
352
353    - Merge the Cally API reference into Clutter's
354    The Cally API is part of the Clutter shared library; it makes sense to
355    have the API references merged.
356
357    - Improve visual handling with the GDK backend running on X11
358    Cogl has its own visual, based on its preferred GLXFBConfig; this means
359    that Clutter should use and expose the correct GdkVisual instance when
360    creating the GdkWindow used for drawing the contents of the stage.
361
362    - Improve input device handling in the GDK backend
363    Properly detect touchpad devices; translate touch events.
364
365  • List of bugs fixed since Clutter 1.22
366
367    #707982 - Add PanAxis mode that automatically pins scroll based on initial
368              movement
369    #750496 - Touch events not correctly propagated through gdk backend
370    #747489 - No access to the Visual used to build the CoglOnscreen
371    #747951 - Tablet calibration targets do not respond to clicks
372    #749739 - prepare ClutterSwipeAction for multi-finger swipes
373    #749482 - x11: Fix touchpad detection
374    #749256 - clutter-backend-gdk: Only set setting on successful
375              gdk_screen_get_setting call
376    #747436 - Clutter should use the same heuristics as gtk+ to determine
377              touchpads
378
379Many thanks to:
380
381  Carlos Garnacho, Dima Ryazanov, Gustavo Noronha Silva, Jasper St. Pierre,
382  Marek Černocký, Matthieu Bouron, Rui Matos
383
384Clutter 1.22.0                                                       2015-03-23
385===============================================================================
386
387  • List of changes since Clutter 1.21.8
388
389    - Improve pointer tracking in the evdev input backend
390    Do not use the events after the queue processing, to avoid dropping events
391    due to compression.
392
393    - Fix handling of multiple stages with the GDK backend
394    A regression introduced when the GDK backend implemented its own master
395    clock using GdkFrameClock prevented applications with multiple stages to
396    be updated properly.
397
398    - Updated translations
399    Kazakh, Aragonese, Indonesian, Danish, Turkish.
400
401  • List of bugs fixed since Clutter 1.21.8
402
403    #746575 - cally-actor: Don't assume X11 backend is used when supported
404    #746328 - evdev: Keep track of the pointer coordinate ourself
405
406Many thanks to:
407
408  Muhammet Kara, Andika Triwidada, Ask H. Larsen, Baurzhan Muftakhidinov,
409  Daniel Martinez, Florian Müllner, Jonas Ådahl
410
411Clutter 1.21.8                                                       2015-03-15
412===============================================================================
413
414  • List of changes since Clutter 1.21.6
415
416    - Documentation updates
417    The messages for most of the deprecated API list the intended replacement
418    classes or approaches to be used when porting code.
419
420    - Update the MSVC build files
421
422    - Improve damage tracking on ClutterStage
423    This should improve performance, especially when paired with the
424    buffer_age extension.
425
426    - Updated translations
427    Greek, Polish, Ukrainian, Italian, Slovak, Latvian, Bosnian.
428
429  • List of bugs fixed since Clutter 1.21.6
430
431    #745512 - Improve damage tracking and use swap_buffers_with_damage
432
433Many thanks to:
434
435  Chun-wei Fan, Chris Wilson, Daniel Korostil, Dušan Kazik, Milo Casagrande,
436  Piotr Drąg, Rūdolfs Mazurs, Samir Ribic, Tom Tryfonidis.
437
438Clutter 1.21.6                                                       2015-03-03
439===============================================================================
440
441  • List of changes since Clutter 1.21.4
442
443    - Support quad-buffer stereo displays on X11/GLX
444    This allows using Clutter to draw on GLX framebuffers with the stereo
445    bit set.
446
447    - Add a Mir windowing system backend
448    This allows using Clutter applications natively on systems using the
449    Mir display server.
450
451    - Depend on Cogl ≥ 1.19 and Cairo ≥ 1.12
452    Cogl 1.19 is needed for the newly added Mir windowing system backend,
453    as well as the quad-buffer stereo display on X11. Cairo 1.12 is needed
454    for dropping the ad hoc check for the device scale parameter used with
455    ClutterStage implementations as well as the ClutterCanvas content.
456
457    - Improvements in the evdev input backend
458
459    - Use the GdkFrameClock to drive the ClutterMasterClock
460    When using the GDK backend, we want the ClutterMasterClock to be driven
461    by the GdkFrameClock, as the latter is automatically frame limited by
462    the compositor, which gives better results for client applications.
463
464    - Updated translations
465    Spanish, Hebrew, Hungarian, Czech, Basque, Russian, Slovenian, Galician,
466    Chinese (Taiwan), French, Brazilian Portuguese, Lithuanian, Serbian.
467
468  • List of bugs fixed since Clutter 1.21.4
469
470    #743355 - gdk: report an error when initialization fails
471    #743615 - evdev: Ignore non seat wide button or key events
472    #744058 - gdk: Disable cogl wayland event dispatching if requested
473    #743865 - MetaSurfaceActorWayland: unset the surface when it goes away
474    #744604 - stage: Process state update event immediately
475    #744668 - GDK: integrate the MasterClock mechanism with GdkFrameClock
476    #732706 - Allow setting up quad-buffer stereo output
477
478Many thanks to:
479
480  Lionel Landwerlin, Jonas Ådahl, Alexandre Franke, Aurimas Černius,
481  Balázs Úr, Chao-Hsiung Liao, Daniel Mustieles, Fran Dieguez,
482  Giovanni Campagna, Inaki Larranaga Murgoitio, Jasper St. Pierre,
483  Marco Trevisan (Treviño), Marek Černocký, Matej Urbančič, Owen W. Taylor,
484  Rafael Ferreira, Rui Matos, Yosef Or Boczko, Yuri Myasoedov,
485  Мирослав Николић
486
487Clutter 1.21.4                                                       2015-01-22
488===============================================================================
489
490  • List of changes since Clutter 1.21.2
491
492    - Use the GDK backend by default when possible
493    Instead of using the X11 or the Wayland backend by default, Clutter now
494    uses the GDK backend for both input and output. This improves the
495    integration with the windowing system. Backends can still be selected
496    programmatically, or via environment variables. On Windows and MacOS, we
497    still prefer the native backend, if available, because of asymmetries in
498    the GDK API.
499
500    - Use libinput 0.8
501    For the evdev input backend, the dependency for libinput has been bumped
502    to the newly released 0.8, which improves wheel and scroll events.
503
504    - Allow access to vendor and product ID for input devices
505
506    - Allow ClutterConstraint implementations to change the preferred size
507    ClutterConstraint classes can now update an actor's preferred size,
508    along with its allocation; this means that querying the preferred size
509    of actors using constraints will take constraints into consideration, and
510    improves the integration of constraints inside the layout system.
511
512    - Improve the GDK backend
513    Properly support high DPI displays, as well as Wayland.
514
515    - Updated translations
516    Czech, Basque, Spanish, Hungarian.
517
518  • List of bugs fixed since Clutter 1.21.2
519
520    #730815 - Mouse events limited to upper left rectangle
521    #740759 - Add getters for input device vendor/product IDs
522    #734587 - Position gdk backend before x11/wayland/egl ones
523    #742829 - Update to new libinput API for pointer_axis events
524
525Many thanks to:
526
527  Jonas Danielsson, Carlos Garnacho, Peter Hutterer, Marek Černocký,
528  Inaki Larranaga Murgoitio, Daniel Mustieles, Balázs Úr.
529
530Clutter 1.21.2                                                       2014-12-15
531===============================================================================
532
533  • List of changes since Clutter 1.20.0
534
535    - Improve input device handling
536    Both on the evdev input backend, and the XInput2 backend for X11.
537
538    - Allow content implementations to drive actors preferred size
539    If a ClutterActor is only used to paint a ClutterContent implementation,
540    it should be possible to allow the actor to have the same preferred size
541    of its content. We use a ClutterRequestMode to specify this behaviour.
542
543    - Documentation fixes
544
545  • List of bugs fixed since Clutter 1.20.0
546
547    #738520 - evdev: Flush event queue before removing device(s)
548    #739050 - Fix some weird graphical glitches in RTL
549    #741350 - Improve touchpad detection on libinput
550    #740997 - Easing modes are not used when computing the value of a
551              KeyframeTransition
552    #676326 - actor: Add a :request-content-size property
553    #711182 - Incorrect drawing behaviour with clutter content centered
554    #709252 - ensure that all deprecated symbols are correctly annotated for
555              gtk-doc
556    #669743 - ObjectInfo property is_actor not correctly set when updating
557              existing actor using ClutterScriptParser
558    #719962 - clutter/osx: add clutter_osx_disable_event_retrieval
559    #681300 - Miss CLUTTER_INPUT_BACKEND description in doc
560    #729462 - DeviceManagerXi2: Update cached core pointer in getter if NULL
561
562Many thanks to:
563
564  Carlos Garnacho, Jasper St. Pierre, Jonas Ådahl, Rico Tzschichholz,
565  Samuel Degrande, Sjoerd Simons, cee1.
566
567Clutter 1.20.0                                                       2014-09-22
568===============================================================================
569
570  • List of changes since Clutter 1.19.10
571
572    - Translations updated
573    Greek
574
575  • List of bugs fixed since Clutter 1.19.10
576
577    - #736826 - clutter_text_set_font_name invalid example using "pt"
578
579Clutter 1.19.10                                                      2014-09-17
580===============================================================================
581
582  • List of changes since Clutter 1.19.8
583
584    - Honour the desktop window scaling factor in the GDK backend
585    The GDK backend will become the default backend in the next cycle, so we
586    need to improve its functionality out of the box.
587
588    - Ensure accessibility support is correctly initialized
589    We need to make sure that the accessibility implementation that Clutter
590    relies on is initialized the way we expect it to.
591
592    - Improve default paint volume computation
593    We should reduce the cases that lead to an invalid paint volume.
594
595    - Improve input handling on Wayland and X11
596
597    - Translations updates
598    Hebrew
599
600  • List of bugs fixed since Clutter 1.19.8
601
602    #736682 - clutter-actor: Don't ask children that have no allocation for
603              a paint volume
604    #736413 - USB mouse doesn't register slow movements to the right or down
605              in Gnome on Wayland
606    #734480 - Handle CLUTTER_SCALE envvar
607    #734115 - Deprecated property crashes /actor/transforms/anchor-point
608    #735388 - xi2 device manager gets a "0" client pointer if queried very
609              early in app lifetime
610    #735244 - shell forgets the DPI of screen sometimes
611
612Many thanks to:
613
614  Bastien Nocera, Adel Gadllah, Alejandro Piñeiro, Carlos Garnacho, Jonas
615  Ådahl, Yosef Or Boczko
616
617Clutter 1.19.8                                                       2014-08-21
618===============================================================================
619
620  • List of changes since Clutter 1.19.6
621
622    - Improve the GDK backend
623    The GDK backend is now reporting touch events, as well as supporting
624    foreign Wayland surfaces for the Stage window. The goal is to make the
625    GDK backend the preferred one in the next development cycle.
626
627    - Fix drawing transparent Canvas content inside transparent actors
628
629    - Translation updates
630    German, Assamese
631
632  • List of bugs fixed since Clutter 1.19.6
633
634    #733202 - evdev: Add API to set the xkb layout index
635    #734934 - Add touch event translation code to GDK backend
636    #734935 - Add support for wayland foreign windows in GDK backend
637    #734761 - Memory leak in implicit transition
638
639Many thanks to:
640
641  Lionel Landwerlin Christian Kirbach, Rui Matos, Tom Beckmann, ngoswami,
642  Sunjin Yang
643
644Clutter 1.19.6                                                       2014-07-24
645===============================================================================
646
647  • List of changes since Clutter 1.19.4
648
649    - Add a signal for the end of the frame on ClutterStage
650    The ::after-paint signal is useful to execute custom code after all the
651    painting on a specific ClutterStage has been performend, but before the
652    frame contents have been presented on the screen.
653
654    - Improvements in the reliability of the evdev input backend
655
656    - Improvements in the GestureAction implementation
657
658  • List of bugs fixed since Clutter 1.19.4
659
660    #732342 - ClutterStage: Add an ::after-paint signal
661    #732907 - Allow for calling clutter_gesture_action_cancel() within the
662              ::gesture-end handler
663    #733062 - Evdev: set button state in input devices
664    #733300 - ClutterAnimation: fix memory leak
665    #733561 - Make a GType for ClutterEventSequence
666    #733562 - evdev: update xkb_state when resuming input
667    #733560 - Touch events trigger enter events on press, but no leave events
668              on release
669
670Many thanks to:
671
672  Carlos Garnacho, Giovanni Campagna, Owen W. Taylor
673
674Clutter 1.19.4                                                       2014-06-25
675===============================================================================
676
677  • List of changes since Clutter 1.19.2
678
679    - Depend on libinput 0.4
680    The evdev input backend now depends on libinput 0.4.0.
681
682  • List of bugs fixed since Clutter 1.19.2
683
684    #731268 - Events being clamped to the pre-fullscreen window size when
685              stage goes fullscreen
686    #731178 - evdev: Used floating point instead of fixed point numbers
687    #731254 - evdev: Follow libinput enum rename
688    #731536 - evdev: Add clutter_evdev_warp_pointer
689    #732234 - Touch events may leave a stage-less device, or happen on one
690    #732235 - clutter gesture actions may mistakenly handle enter/leave events
691
692Many thanks to:
693
694  Jonas Ådahl, Chun-wei Fan, Gustavo Noronha Silva, Jasper St. Pierre,
695  Carlos Garnacho.
696
697Clutter 1.19.2                                                       2014-05-28
698===============================================================================
699
700  • List of changes since Clutter 1.18
701
702    - Improve event handling on evdev input backend
703    Clutter now allows writing applications and compositors that can respond
704    to eventts from touch devices, as well as reporting correct smooth
705    scrolling deltas.
706
707  • List of bugs fixed since Clutter 1.18
708
709    #723560 - wayland: Generate better smooth scroll deltas
710    #730577 - Do not compress touch events so eagerly
711    #728968 - evdev: Implement touch support
712    #728967 - evdev: Add libinput-specific helpers
713    #730215 - Add a way to pause the ClutterMasterClock
714
715Many thanks to:
716
717  Carlos Garnacho, Jasper St. Pierre, Jonas Ådahl.
718
719Clutter 1.18.2                                                       2014-04-14
720===============================================================================
721
722  • List of changes since Clutter 1.18.0
723
724    - Fix the list of dependencies
725    Clutter 1.18 depends on Cogl 1.17.5 when building the EGL/KMS backend.
726
727    - Fixes for the Visual Studio build files
728    Use the new symbol visibility annotations when building with MSVC.
729
730    - Fix event handling on Windows
731    An optimization led to a crash on the Windows backend when delivering
732    events without an associated ClutterStage.
733
734    - Ensure that set_child_above/below work on the Stage
735    ClutterStage should respect the paint order when using the Actor API.
736
737    - Skip conformance test suite on X11 when DISPLAY is unset
738    Instead of bailing out when initializing the test suite we should just
739    tell the test suite API to skip the units. This allows the TAP driver
740    to catch the skipped tests and avoid warnings.
741
742    - Translation updates
743    Danish, French, Indonesian, Greek.
744
745  • List of bugs fixed since Clutter 1.18.0
746
747    #728177 - Cannot collect coverage with lcov 1.10
748    #727020 - wayland: Add missing CLUTTER_AVAILABLE annotations
749    #711645 - clutter_actor_set_child_above_sibling() not working in
750              ClutterStage
751    #726762 - Fix Import of Clutter Version Constants
752    #726703 - build error: undefined reference to
753              `cogl_kms_renderer_set_kms_fd'
754
755Many thanks to:
756
757  Chun-wei Fan, Adel Gadllah, Andika Triwidada, Ask H. Larsen, David Warman,
758  Emilio Pozuelo Monfort, Vadim Rutkovsky, maria thukididu, teuf.
759
760Clutter 1.18.0                                                       2014-03-18
761===============================================================================
762
763  • List of changes since Clutter 1.17.6
764
765    - Update build environment for Visual Studio
766
767    - Improve the API for implementing Wayland compositors
768    Allow integrating with logind and KMS; provide clipped redraws on both
769    Wayland clients, and direct KMS.
770
771    - Port the documentation to MarkDown
772
773    - Use symbol annotations to ensure the public ABI
774
775    - Translations updates
776    Korean, Traditional Chinese (Hong Kong and Taiwan), Chinese, Portuguese,
777    Latvian, Russian, French.
778
779  • List of bugs fixed since Clutter 1.17.6
780
781    #725716 - Fix build of clutter-test-utils.c on Windows
782    #725873 - Fix the Win32 backend for newer Visual Studio Versions
783    #725722 - Grid layout actor width/height swapped
784    #726199 - evdev changes needed for logind integration work
785    #726341 - eglnative: Add clutter-stage-window implementation
786    #726315 - clutter-stage-wayland: Enable clipped redraws
787    #726313 - stage-cogl: Fix feature check in clutter_stage_cogl_redraw
788    #726198 - egl: Add a way to set the KMS FD
789    #708781 - wayland: Keep track of button modifier state
790    #711857 - Avoid needless event copies when queueing from a backend
791              to a stage
792
793Many thanks to:
794
795  Jasper St. Pierre, Chun-wei Fan, Adel Gadllah, Bastian Winkler, Changwoo Ryu,
796  Chao-Hsiung Liao, Duarte Loreto, Jonas Ådahl, Rui Matos, Rūdolfs Mazurs,
797  Wylmer Wang, Yuri Myasoedov, teuf.
798
799Clutter 1.17.6                                                       2014-03-03
800===============================================================================
801
802  • List of changes since Clutter 1.17.4
803
804    - Use libinput instead of libevdev
805    The evdev input backend is now based on libinput instead of directly
806    using the evdev API; this allows for shared input behaviour with
807    different toolkits.
808
809    - Improvements in the X11 input handling
810    Remove the chance of input devices going out of sync; avoid excessive
811    round trips when asking for the client pointer; retrieve the text
812    direction for the current keymap.
813
814    - Improve RTL handling in ClutterText
815    Try to use the correct text direction based on the contents, keymap,
816    and actor's direction instead of just the latter.
817
818    - Translation updates
819    Brazilian Portuguese, Lithuanian, Czech, Hungarian, Serbian, Polish,
820    Galician.
821
822  • List of bugs fixed
823
824    #
825    #724788 - stage-cogl: Fix buffer_age code path
826    #724971 - Avoid stale ClutterInputDevice pointers in the device list
827    #720566 - [RFC] evdev: Port evdev input backend to libinput
828    #725102 - Patches to rework the evdev backend's keymap handling
829    #725103 - evdev: Set the initial core pointer coordinates to a sane value
830    #705779 - The text in the search-entry isn't aligned to right in RTL text
831    #725561 - DeviceManagerXi2: Cache the client pointer
832
833Many thanks to:
834
835  Rui Matos, Adel Gadllah, Jasper St. Pierre, Aurimas Černius, Balázs Úr,
836  Carlos Garnacho, Fran Diéguez, Jonas Ådahl, Marek Černocký, Piotr Drąg,
837  Rafael Ferreira, Мирослав Николић.
838
839Clutter 1.17.4                                                       2014-02-19
840===============================================================================
841
842  • List of changes since Clutter 1.17.2
843
844    - Add per-gesture thresholds
845    It is possible to give horizontal and vertical thresholds to each
846    ClutterGestureAction instance; if unset, the default is to use the
847    dnd threshold from ClutterSettings.
848
849    - Allow negative factors in ClutterActor scale properties
850    The functions already accepted these values, but the properties did not.
851
852    - Depend on Cogl 1.17.3
853
854    - Translation updates
855    Spanish, Hebrew, Czech, Brazilian Portuguese, Traditional Chinese (Hong
856    Kong and Taiwan), Serbian, Galician, Indonesian, Italian, Aragonese,
857    Norwegian bokmål, Ukranian.
858
859  • List of bugs fixed since Clutter 1.17.2
860
861    #711540 - Fix bad logic in checks
862    #662818 - Fix documentation of 'hsla()' parsing
863    #710232 - Mention that ClutterTransition is abstract in the documentation
864    #706311 - Extend :scale-[xyz] factors in the negative range
865    #724242 - Add per-action thresholds
866
867Many thanks to:
868
869  Bastien Nocera, Daniel Mustieles, Kjartan Maraas, Milo Casagrande, Adel
870  Gadllah, Andika Triwidada, Chao-Hsiung Liao, Daniel Korostil, Fran Diéguez,
871  Jorge Pérez Pérez, Marek Černocký, Rafael Ferreira, Yosef Or Boczko,
872  Мирослав Николић
873
874
875Clutter 1.17.2                                                       2014-01-22
876===============================================================================
877
878  • List of changes since Clutter 1.16.0
879
880    - Allow ClutterScript definitions for Interval and Transition classes
881    ClutterInterval instances can be defined, and used, in ClutterScript
882    UI definition files.
883
884    - Add generic API for event filtering
885    Event filtering is meant to be used to intercept events before they
886    reach the scene graph.
887
888    - Deprecated ClutterTableLayout
889    The Table layout manager is fully superceded by ClutterGridLayout, which
890    supports dynamic grid layouts, RTL flipping, expansion and alignment of
891    children using the ClutterActor flags, and implicit animations using the
892    actor's easing state.
893
894    - Allow GestureAction subclasses to change the trigger edge
895    GestureAction can emit the ::gesture-begin signal depending on the
896    value of the :threshold-trigger-edge property. Using this property it
897    is possible to specify whether the gesture begins after a certain
898    threshold is passed; before a certain threshold is passed; or
899    immediately.
900
901    - Use the window scaling factor when creating Cairo surfaces
902    ClutterCanvas will use the window scaling factor setting when creating
903    Cairo surfaces; it is also possible to set the scaling factor on a
904    per-instance basis, for future compatibility.
905
906    - Detect window scaling factor automatically on X11
907    Use the XSETTING exposed by the environment to change the window
908    scaling factor.
909
910    - Support ClutterStage cursor visibility in the Wayland backend
911    It is possible to show and hide the cursor on the Stage on Wayland.
912
913    - Translations updates
914    Czech, Greek, Hebrew, Chinese simplified, Brazilian Portuguese,
915    Galician, Italian, Spanish.
916
917  • List of bugs fixed since Clutter 1.16.0
918
919    705915 - Support high dpi displays
920    722322 - check coordinate validity in do_pick()
921    722220 - Incorrect string reported in accessible text-changed events
922             when text is removed
923    722188 - atk_text_get_n_selections() should return 0 when no text is
924             selected
925    710229 - Restore initial ClutterGestureAction behavior
926    710227 - ClutterGestureAction memory corruption
927    719901 - ClutterStageCogl: Ignore a clip the size of the stage
928    719900 - ClutterStageCogl: Clip in the right coordinate system
929    719747 - ClutterStage: Don't add empty actors to the stage clip
930    719716 - Make test-clip friendly for people with only one mouse button
931    719563 - input-device: Guard against double free
932    719368 - Don't queue redraws when reallocating actor that haven't moved
933    719367 - Bind constraints: Don't force redraws on source relayout
934    712816 - device-manager-evdev: Stop using deprecated libevdev API
935    712812 - Crash and memory leak fixes for device removals
936    712563 - Fixes for cogl journal usage when picking
937    707560 - Event filter
938    712322 - input-device-xi2: Calculate the correct state for button events
939    707071 - Remove use of XFixes for showing/hiding the cursor
940    709762 - ClutterDragAction can mix pointer and touch events
941    709590 - wayland: Implement support for 'cursor-visible' stage property
942
943Many thanks to:
944
945  Jasper St. Pierre, Rui Matos, Owen W. Taylor, Alejandro Piñeiro, Lionel
946  Landwerlin, Bastian Winkler, Neil Roberts, Rafael Ferreira, Chun-wei Fan,
947  Daniel Mustieles, Dimitris Spingos, Enrico Nicoletto, Florian Müllner, Fran
948  Diéguez, Jonas Ådahl, Marek Černocký, Milo Casagrande, Piotr Drąg, Robert
949  Bragg, Sphinx Jiang, Yosef Or Boczko
950
951Clutter 1.16.0                                                       2013-09-23
952===============================================================================
953
954  • List of changes since Clutter 1.15.96
955
956    - Fix a division by zero in the X11 backend
957
958    - Translation updates
959    Portuguese, Danish
960
961  • List of bugs fixed since Clutter 1.15.96
962
963    #707033 - Hidden division by zero in examples/basic-actor.c
964
965Many thanks to:
966
967  Duarte Loreto, Kenneth Nielsen.
968
969Clutter 1.15.96                                                      2013-09-20
970===============================================================================
971
972  • List of changes since Clutter 1.15.94
973
974    - Fix a crasher bug happening on X11
975    Some events coming from the system would result in a segmentation fault.
976
977  • List of bugs fixed since Clutter 1.15.94
978
979    #708439 - clutter-xi2: don't access the stage if we don't have one
980
981Clutter 1.15.94                                                      2013-09-19
982===============================================================================
983
984  • List of changes since Clutter 1.15.92
985
986    - Improve the evdev input backend
987    The evdev input backend is used when writing applications and compositors
988    that directly drive the frame buffer on Linux. By ensuring that the evdev
989    input backend works correctly it is possible to manage input sources like
990    pointers, keyboards, and touch devices using the raw evdev device nodes.
991    Clutter now depends on libevdev in order to poll the evdev interfaces.
992
993    - Allow scaling windowing surfaces
994    The main part of the work to support high resolution displays is to make
995    sure that windowing surfaces can be created with a scaling factor, while
996    trasparently handling the new size from an application's perspective. The
997    scaling factor is currently set manually, but it in the near future it will
998    be automatically set by the environment.
999
1000    - Translation updates
1001    Serbian, Aragonese, Russian, Latvian, Belarusian, Assamese, Indonesian,
1002    German, Hebrew.
1003
1004  • List of bugs fixed since Clutter 1.15.92
1005
1006    #706652 - evdev: add callback to constrain the pointer position
1007    #706543 - evdev: use monotonic times for the events
1008    #706494 - an assortment of wayland and evdev related changes
1009    #707377 - wayland: Check for NULL surface on pointer leave events
1010    #707808 - box-layout: Fix floating point truncation when calculating a
1011              child's size
1012    #707774 - ClutterClickAction can trigger a crash if disposes at
1013              inappropriate time
1014    #707869 - Add API to restrict the windowing backend to load
1015    #708079 - Clutter clutter-1.16 branch fails to commit after commit
1016              da3e6988
1017    #708383 - ClutterEvent: preserve extended state across
1018              clutter_event_copy()
1019
1020Many thanks to:
1021
1022  Giovanni Campagna, Emmanuele Bassi, Lionel Landwerlin, Andika Triwidada,
1023  Chun-wei Fan, Florian Müllner, Ihar Hrachyshka, Jasper St. Pierre, Jorge
1024  Pérez Pérez, Nilamdyuti Goswami, Rob Bradford, Rūdolfs Mazurs, Yuri
1025  Myasoedov, Мирослав Николић.
1026
1027Clutter 1.15.92                                                      2013-09-02
1028===============================================================================
1029
1030  • List of changes since Clutter 1.15.90
1031
1032    - Fix regression in BoxLayout for RTL text direction
1033
1034    - Update Visual Studio build files
1035
1036    - Translation updates
1037    Polish, French, Slovak, Lithuanian, Catalan
1038
1039  • List of bugs fixed since Clutter 1.15.90
1040
1041    #706450 - box-layout: Fix RTL layout swapping with non-zero container
1042              offsets
1043
1044Many thanks to:
1045
1046  Chun-wei Fan, Jasper St. Pierre, Alexandre Franke, Aurimas Černius, Gil
1047  Forcada, Ján Kyselica, Piotr Drąg
1048
1049Clutter 1.15.90                                                      2013-08-19
1050===============================================================================
1051
1052  • List of changes since Clutter 1.15.2
1053
1054    - Update the Wayland backend
1055    Use the new 1.2 behaviour and API, and improve the coverage of windowing
1056    system features, alongside a slew of bugs.
1057
1058    - Drop support for XInput 1.x
1059    The XInput 1.x extension was never really used after the introduction of
1060    the 2.x version.
1061
1062    - Fix event and device handling when using evdev
1063
1064    - Allow using ClutterContent on a ClutterStage
1065
1066    - Fixes for the Windows backend
1067    The build script has also been updated with the required dependencies.
1068
1069    - Documentation fixes
1070
1071    - Translations updated
1072
1073  • List of bugs fixed since Clutter 1.15.2
1074
1075    #703809 - Some LayoutManager fixes
1076    #704625 - Cannot assign a ClutterContent to a stage
1077    #698836 - Add interactive test for ClutterZoomAction/ClutterRotateAction
1078    #705739 - Crash when removing a ClutterActor from a scene at the end of
1079              an animation
1080    #705710 - evdev: fix X11 to evdev keycode translation
1081    #704269 - evdev: add a way for applications to tweak how devices are
1082              opened
1083    #704457 - Setting the size of the stage causes it to not be shown on
1084              wayland
1085    #699578 - Implement foreign surface support for stages
1086    #704279 - wayland: Add API for disabling the event dispatching
1087    #703336 - clutter-actor: Make clutter_actor_has_mapped_clones public
1088    #701356 - Update the windows backend to work with latest Cogl
1089    #703969 - Select for events with XIAllMasterDevices under XI2
1090    #703878 - wayland: Don't pass the shell and compositor down to Cogl
1091    #703608 - Update ClutterWaylandSurface to use a resource instead of
1092              wl_buffer
1093    #703877 - Bump the required Cogl version to 1.15.1
1094
1095Many thanks to:
1096
1097  Giovanni Campagna, Neil Roberts, Florian Müllner, Jasper St. Pierre, Rob
1098  Bradford, Matej Urbančič, Adel Gadllah, Chao-Hsiung Liao, Chris Cummins,
1099  Chun-wei Fan, Lionel Landwerlin, Rafael Ferreira
1100
1101Clutter 1.15.2                                                       2013-07-10
1102===============================================================================
1103
1104  • List of changes since Clutter 1.14
1105
1106    - Improve state tracking and short circuiting
1107    ClutterActor now tracks clones and unmapped actors more aggressively, to
1108    reduce the amount of work necessary when updating the scene graph.
1109
1110    - Wayland backend improvements and updates
1111
1112    - Documentation updates
1113    Clean up the API reference for readability, and improve the comments in
1114    the inlined example code. Also, include the cookbook in the distribution
1115    tarball.
1116
1117    - Allow installation of conformance tests
1118    Clutter now allows installing its conformance tests into a well-known
1119    location; this allows running the conformance test suite against an
1120    installed version of Clutter.
1121
1122    - Add ClutterFlowLayout:snap-to-grid
1123    ClutterFlowLayout users can now ask the layout manager to not align the
1124    actors to a grid.
1125
1126    - Improve gesture recognizers
1127
1128    - Deprecations
1129    ClutterText::cursor-event has been replaced by ClutterText::cursor-changed;
1130    ClutterGeometry has been deprecated; ClutterActor::realize and ::unrealize,
1131    along with their virtual functions, have been deprecated.
1132
1133  • List of bugs fixed since Clutter 1.14
1134
1135    #682789 - Deprecate ClutterGeometry (and remove it for 2.0)
1136    #698668 - A few improvements to ClutterGestureAction
1137    #698669 - Fix "trigger edge after" behavior with more than 1 touch point
1138    #698671 - Refactor event handling code in ClutterGestureAction
1139    #698674 - Improve ClutterZoomAction behavior
1140    #698783 - Add a paint callback for ClutterStage
1141    #698766 - Implicit transitions queued on invisible actors should be ignored
1142    #648873 - Feature request: ClutterFlowLayout not aligning on a grid
1143    #699675 - Offscreen effects allocating too much memory
1144    #692706 - Frequent crash in cally_stage_notify_key_focus_cb
1145    #701974 - x11: trap errors when calling XIQueryDevice
1146    #696813 - clutter_actor_set_child_above/below_sibling leaking a reference
1147              on the actor
1148    #701208 - deform-effect: correctly set the cull-face mode of the back
1149              pipeline
1150    #700980 - Tap action now longer works
1151    #702016 - ClutterText reset font when dpi changes and font was set using
1152              a pango description
1153    #702610 - text: relayout on cursor visibility change
1154    #702941 - Install conformance tests
1155    RH#975171 - gnome-shell: screen magnifier can cause crash with Cogl error
1156    #702202 - conform tests hang on wayland
1157    #703188 - Stage doesn't appear when running under Wayland
1158    #703476 - tests/actor-offscreen-redirect: Fix race condition
1159    #703566 - Need to be able to share Wayland display between GTK and Clutter
1160    #697285 - Inconsistent setting of the time member on the events
1161    #703882 - Prevent buffer/text/max-length properties notification in the
1162              allocation cycle
1163
1164Many thanks to:
1165
1166  Lionel Landwerlin, Chris Cummins, Matthias Clasen, Rob Bradford, Alejandro
1167  Piñeiro, Jasper St. Pierre, Bastian Winkler, Colin Walters, Craig R. Hughes,
1168  Daniel Mustieles, Marek Černocký, Adel Gadllah, Ask H. Larsen, Bastien
1169  Nocera, Cosimo Cecchi, Dimitris Spingos, Duarte Loreto, Emanuele Aina, Fran
1170  Diéguez, Gil Forcada, Matej Urbančič, Milo Casagrande, Neil Roberts, Rui
1171  Matos, Samuel Degrande, Sebastian Keller, Sjoerd Simons.
1172
1173Clutter 1.13.2                                                       2012-12-18
1174===============================================================================
1175
1176  • List of changes since Clutter 1.12
1177
1178    - Add ClutterTapAction, a gesture recogniser for single touch taps.
1179
1180    - Add ClutterSwipeAction::swipe
1181    This new signal has a boolean return value, and brings the SwipeAction in
1182    line with the rest of the GestureAction sub-classes. The ::swept signal
1183    has also been deprecated.
1184
1185    - Enable XInput 2.x support by default
1186    Instead of using Xlib core events. The clutter_x11_enable_xinput() function
1187    now does not do anything; it's possible to disable XInput support by using
1188    the CLUTTER_DISABLE_XINPUT environment variable.
1189
1190    - Documentation fixes
1191
1192  • List of bugs fixed since 1.12
1193
1194    #679439 - Single-threaded clutter programs fail on platforms which don't
1195              permit unlocking an already unlocked mutex
1196    #685589 - Off-stage touch events are not delivered
1197    #685554 - Assertion failure when trying to cancel an already started gesture
1198    #685028 - Let users and subclasses set a custom threshold on GestureAction
1199    #685221 - Points get stuck in th tracking array when returning FALSE from
1200              ::gesture-progress
1201    #683948 - Add TapAction as subclass of GestureAction to deprecate
1202              ClickAction
1203    #685737 - Export the last event for each touch point on GestureAction
1204    #686776 - Shouldn't annotate constructor of GInitiallyUnowned subclasses
1205    #689073 - Fix clutter_actor_allocate_align_fill() with actors exactly
1206              between 2 pixels
1207    #685186 - tests: Print touch sequences in test-events
1208    #689258 - xi2: Reset the correct scroll axes on DeviceChanged
1209    #689061 - Some fixes and API additions for ClutterPanAction
1210    #689316 - Strange issues with margins
1211    #689399 - text: Prevent a relayout if font descriptions or attrs are equal
1212    #689496 - Fixes for Coverity
1213    #690214 - clutter_actor_apply_transform() fails to rollback the pivot
1214              translation if an explicit transform has been set
1215    #673838 - Enable XInput support by default
1216    #686692 - Clutter 1.12.2 compilation fails in evdev backend
1217    #685982 - ClutterActor::transitions-completed isn't called for implicit
1218              transitions
1219    #688457 - clutter_get_current_event() returns NULL on TOUCH_BEGIN
1220    #689392 - swipe-action: Introduce new ::swipe signal
1221
1222Many thanks to:
1223
1224  Emanuele Aina, Jasper St. Pierre, Emmanuele Bassi, Daniel Stone, Chun-wei
1225  Fan, Rob Bradford, Tomeu Vizoso, Wolfgang Stöggl, Alejandro Piñeiro,
1226  Christian Kirbach, Guillaume Desmottes, Lionel Landwerlin, Marek Černocký,
1227  Milo Casagrande, Nishio Futoshi, OKANO Takayoshi, Piotr Drąg, Rūdolfs Mazurs,
1228  Tristan Van Berkom.
1229
1230Clutter 1.12.0                                                       2012-09-24
1231===============================================================================
1232
1233  • List of changes since Clutter 1.11.16
1234
1235    - Fix the device tracking for core X11 pointers
1236    If a master input device can emit both touch and pointer events we end up
1237    in an inconsistent state; we should account for this case when tracking
1238    the stage that contains the events of each input device.
1239
1240    - Respect text direction in BinLayout
1241    The text direction of the children of an actor using the BinLayout layout
1242    manager should be taken into account, both when using the Actor's align
1243    flags and when using the legacy BinAlignment flags.
1244
1245    - Translations updates
1246    Hindi, Telugu, Catalan, Malayalam, Japanese, Bulgarian, Kannada.
1247
1248  • List of bugs fixed since Clutter 1.11.16
1249
1250    #684214 - messageTray: Fix summary position in RTL locales
1251    #684552 - Track coordinates and device ids in test-events
1252    #684530 - Print device number in debug messages from input-device
1253    #684509 - Mouse events lost after touch event from virtual core pointer
1254
1255Many thanks to:
1256
1257  Emanuele Aina, Emmanuele Bassi, Alexander Shopov, Ani Peter,
1258  Carles Ferrando, Chandan Kumar, Gil Forcada, Krishnababu Krothapalli,
1259  Nishio Futoshi, Shankar Prasad.
1260
1261Clutter 1.11.16                                                      2012-09-17
1262===============================================================================
1263
1264  • List of changes since Clutter 1.11.14
1265
1266    - Fixes for gesture-based actions
1267    Ensure that the ClutterPanAction::pan-stopped signal is emitted before
1268    the ClutterGestureAction::gesture-begin signal, in case a new gesture
1269    starts; this requires adding a new state to ClutterGestureAction, the
1270    gesture-prepare state.
1271
1272    - Ensure modified Enter keys do not end up in the Text buffer
1273    For single-line ClutterText actors.
1274
1275    - Add touch event support to ClutterClickAction
1276
1277    - Updated translations
1278    British English, Indonesian, Traditional Chinese (Hong Kong and Taiwan),
1279    French, Serbian, Russian, German, Slovenian, Brazilian Portuguese, Greek,
1280    Portuguese, Belarusian, Assamese, Danish.
1281
1282  • List of bugs fixed since Clutter 1.11.14
1283
1284    #683301 - stage: Normalize key focus setting
1285    #683430 - CLUTTER_GESTURE_ACTION_GET_CLASS() calls
1286              G_TYPE_INSTANCE_GET_PRIVATE() instead of
1287              G_TYPE_INSTANCE_GET_CLASS()
1288    #683431 - PanAction::pan-stopped sometimes is emitted before
1289              ::gesture-begin
1290    #683471 - All gestures get cancelled after missing a button release event
1291    #682161 - ClutterImage overflows beyond its actor's allocation
1292    #623344 - Search incorrectly handles input
1293    #683869 - test-events does not track touch events
1294    #683870 - test-events only reports up/down scrolls
1295    #683936 - ClickAction doesn't support touch events
1296    #683937 - Wrong format identifiers in debug messages in
1297              clutter_stage_allocate()
1298
1299Many thanks to:
1300
1301  Emanuele Aina, Emmanuele Bassi, Alexandre Franke, Ask H. Larsen, Bruce Cowan,
1302  Chao-Hsiung Liao, Christian Kirbach, Debarshi Ray, Dirgita, Duarte Loreto,
1303  Enrico Nicoletto, Ihar Hrachyshka, Jasper St. Pierre, Martin Srebotnjak,
1304  Matej Urbančič, Nilamdyuti Goswami, Rui Matos, Tom Tryfonidis, Yuri Myasoedov,
1305  Мирослав Николић.
1306
1307Clutter 1.11.14                                                      2012-09-03
1308===============================================================================
1309
1310  • List of changes since Clutter 1.11.12
1311
1312    - Fixes for the touch sequence handling
1313    The stage associated with an input device is now set when a touch sequence
1314    begins, and cleared when the last touch sequence ends.
1315
1316    - Add interpolation for matrices
1317    Using the CSS3 Transforms specification for decomposing matrices and
1318    interpolating the resulting transformations. This allows animating
1319    properties like ClutterActor:transform and ClutterActor:child-transform.
1320
1321    - Add ClutterPanAction
1322    The PanAction is a gesture recogniser that allows panning children of
1323    a "scrollable" viewport.
1324
1325    - Add more accessors to GestureAction for its subclasses
1326    GestureAction now allows retrieving the velocity and delta of pointer,
1327    as well as the event sequences and devices involved in the gesture. This
1328    allows writing more complex gesture recognisers. It is also possible, now,
1329    to ask a GestureAction to cancel the current gesture programmatically,
1330    e.g. from a timer.
1331
1332    - Fix ClutterTableLayout.pack() with negative row/column
1333    Using a negative number to appen an actor into a TableLayout was causing
1334    additional rows and columns to be appended, due to an off by one error.
1335
1336    - Fix press coordinates when using ClutterDragAction with a drag handle
1337    The transformation of the coordinates is now done using the drag actor,
1338    as it was supposed to be.
1339
1340    - Documentation and annotation fixes
1341
1342    - Deprecate the ClutterActor::pick signal
1343    Similarly to the ClutterActor::paint signal, it's now discouraged to
1344    connect to the ClutterActor::pick signal; connecting to the pick signal
1345    will raise a warning when using the CLUTTER_ENABLE_DIAGNOSTIC environment
1346    variable.
1347
1348    - Updated translations
1349    Lithuanian, Indonesian, Traditional Chinese (Hong Kong and Taiwan),
1350    Polish, Spanish, Assamese, Greek, Spanish, Polish, Galician,
1351    Belarusian.
1352
1353  • List of bugs fixed since Clutter 1.11.12
1354
1355    #682795 - Annotation problem for clutter_actor_iter_next() and
1356              clutter_actor_iter_prev()
1357    #682754 - ClutterRotateAction wrong marshaller usage
1358    #681746 - Drag handle misplacemente in examples/drag-action
1359    #679990 - clutter_table_layout_pack increments column/row count by two
1360    #681648 - add Pan action
1361    #683219 - Build failure with old (?) XI2
1362    #683066 - brightness-contrast-effect: Don't actually run if it will have
1363              no effect
1364    #683090 - gesture-action: Add API for cancelling a gesture
1365    #683126 - Remove tracking of input devices and sequences from the stage
1366    #682362 - Multi touch events skipped
1367    #683113 - Bug in ClutterGestureAction documentation
1368    #680255 - The middle and right mouse buttons are swapped when using the
1369              evdev backend
1370
1371Many thanks to:
1372
1373  Emanuele Aina Piotr Drąg, Lionel Landwerlin, Aurimas Černius,
1374  Daniel Mustieles, Jasper St. Pierre, Neil Roberts, Nilamdyuti Goswami,
1375  Tomeu Vizoso, Andika Triwidada, Andre Kuehne, Chao-Hsiung Liao, Chun-wei Fan,
1376  Fran Diéguez, Ihar Hrachyshka, Tom Tryfonidis.
1377
1378
1379Clutter 1.11.12                                                      2012-08-20
1380===============================================================================
1381
1382  • List of changes since Clutter 1.11.10
1383
1384    - ClutterBinLayout honours the fixed-position of actors
1385    The ClutterBinLayout now checks if the :fixed-position-set property of a
1386    ClutterActor is set, and will use the fixed position when computing the
1387    allocation, without requiring an explicit CLUTTER_BIN_ALIGNMENT_FIXED
1388    alignment policy.
1389
1390    - Soft-deprecation of ClutterGeometry
1391    The ClutterGeometry boxed type is a bad rectangle type, with known issues
1392    when used for unioning and intersecting; Clutter uses the type in signals
1393    and properties, so we cannot fully deprecate it. The documentation has
1394    been amended, and API using ClutterGeometry has been deprecated where it
1395    makes sense.
1396
1397    - Deprecate the ClutterActor::paint signal
1398    The class handler for ClutterActor::paint is still available, but
1399    connecting to the ::paint signal directly is strongly discouraged, and
1400    will emit warnings if the CLUTTER_ENABLE_DIAGNOSTIC environment variable
1401    is set. Notifications of a full paint for the Stage should happen only
1402    through the repaint functions.
1403
1404    - Ensure we associate input devices to the stage on touch events
1405    Like we do for crossing events for pointer devices, beginning and ending
1406    a touch sequence should associate the input device to the stage.
1407
1408    - Allow constraining a DragAction to an area
1409    Similarly to how we allow constraining the dragging to an axis, we can
1410    also constrain the dragging to a specific area, expressed in
1411    parent-relative coordinates.
1412
1413    - Do not handle events on ClutterText if :selectable is FALSE
1414    If the ClutterText:selectable property is FALSE we should only reposition
1415    the cursor, and avoid the whole drag-to-select event handling.
1416
1417    - Add ClutterActor:child-transform
1418    The :child-transform property allows applying an initial transformation
1419    to the children of an actor, but not to the actor itself.
1420
1421    - Fix height-for-width policy in ClutterBinLayout
1422
1423    - Add ClutterZoomAction
1424    An action that implements the pinch gesture to scale an actor up or
1425    down through two touch points.
1426
1427    - Documentation fixes
1428
1429    - Translations update
1430    Assamese, Indonesian, Ukranian, Traditional Chinese translation (Hong
1431    Kong and Taiwan), Spanish, Galician, Serbian.
1432
1433  • List of bugs fixed since Clutter 1.11.10
1434
1435    [bugzilla.gnome.org]
1436    #681584 - clutter touch events tests slows down a lot after some use
1437    #681074 - Call clutter_input_device_update_from_event from
1438              clutter_x11_handle_event
1439    #681168 - ClutterDragAction: allow constraining the movement of the
1440              dragged actor
1441    #682070 - clutter-text: Make sure to paint the background of a text actor
1442    #682265 - ClutterBinLayout not honoring ClutterActor position set through
1443              clutter_actor_set_position
1444    #679483 - ClutterBoxLayout does not do height-for-width properly
1445    #678427 - Zoom action
1446    #681814 - ClutterDragAction causes crashes when drag actor is destroyed
1447              at drag-end time
1448
1449Many thanks to:
1450
1451  Nilamdyuti Goswami, Daniel Mustieles, Fran Diéguez, Chao-Hsiung Liao,
1452  Daniel Korostil, Dirgita, Duarte Loreto, Giovanni Campagna,
1453  Jasper St. Pierre, Lionel Landwerlin, Sjoerd Simons, Tristan Van Berkom,
1454  Мирослав Николић.
1455
1456Clutter 1.11.10                                                      2012-08-07
1457===============================================================================
1458
1459  • List of changes since Clutter 1.11.8
1460
1461    - Add support for multiple touch points in GestureAction
1462    GestureAction subclasses can now define the number of touch points they
1463    require in order to start recognising a gesture.
1464
1465    - Add a RotateAction
1466    A GestureAction subclass that requires two touch points to rotate the
1467    actor to which it has been applied.
1468
1469    - Generate crossing events for touch devices
1470
1471    - Respect ClutterStage.set_motion_events_enabled() for touch events
1472
1473    - Fix a regression in discrete scroll events emission
1474    When using XInput 2, the scroll events generated through buttons (e.g.
1475    mouse wheel) should only be emitted on ButtonPress, to match the semantics
1476    of the X11 core device handling.
1477
1478    - Add progress functions defined in CSS3-Transitions
1479    The CSS3 Transitions specification defines various timing functions:
1480
1481      steps                     cubic-bezier
1482      step-start                ease
1483      step-end                  ease-in
1484                                ease-out
1485                                ease-in-out
1486
1487    These are now available to be used with ClutterTimeline.
1488
1489    - Add ClutterActor::transition-stopped
1490    The ::transition-stopped signal is emitted each time a Transition
1491    associated to an actor is stopped (using the same sematincs as the
1492    ClutterTimeline::stopped signal); it is also a detailed signal, so that
1493    it's possible to connect a handler for a specific Transition name.
1494
1495    - Add ClutterActor.transform
1496    The :transform property allows overriding all the decomposed
1497    transformations of an actor, like scale and rotate; the transformation
1498    is applied relative to the actor's allocated origin and pivot point.
1499
1500    - Documentation and build fixes
1501
1502    - Translations update
1503     Traditional Chinese (Hong Kong and Taiwan), Spanish, Galician,
1504     Serbian, Greek.
1505
1506  • List of bugs fixed since Clutter 1.11.8
1507
1508    [bugzilla.gnome.org]
1509    #678586 - Modifiy ClutterGestureAction to support multi touch and multiple
1510              points
1511    #680088 - Duplicate mouse wheel scroll events with xinput enabled
1512    #678587 - Add ClutterRotationAction
1513    #679797 - Missing enter/leave events generation for touch events
1514    #680174 - Add clutter_event_is_pointer_emulated() to distinguish emulated
1515              scroll events
1516    #680751 - clutter_stage_set_motion_events_enabled() is not honoured with
1517              CLUTTER_TOUCH_UPDATE events
1518    #680752 - Touch cancel events are not processed by Clutter
1519
1520Many thanks to:
1521
1522  Lionel Landwerlin, Chao-Hsiung Liao, Tom Tryfonidis, Мирослав Николић,
1523  Daniel Mustieles, Emanuele Aina, Fran Diéguez, Piotr Drąg.
1524
1525Clutter 1.11.8                                                       2012-07-16
1526===============================================================================
1527
1528  • List of changes since Clutter 1.11.6
1529
1530    - Bump the dependency of ATK
1531    Use the newly released 2.5.3 to rely on the generci event listeners
1532    that have been added to ATK; this avoids reimplementing our own.
1533
1534    - Ensure validity of iterators
1535    Even when they are copied.
1536
1537    - Rounding error fixes for allocations
1538    Constraints and other code adjusting the allocation of an actor should
1539    round the origin and size of the ClutterActorBox in a consistent way.
1540
1541    - Updates for the VisualStudio build files
1542
1543    - Add ClutterDragAction::drag-progress
1544    The ::drag-progress signal allows controlling the emission of the
1545    ::drag-motion signal. Overriding the default behaviour of a DragAction
1546    is now possible without calling g_signal_stop_emission_by_name().
1547
1548    - Add ClutterActor:pivot-point
1549    The pivot point of ClutterActor provides a center, in normalized
1550    coordinate space, for the transformations of an actor (scaling, rotation,
1551    translation).
1552
1553    - Deprecations
1554    ClutterText:position has been deprecated by ClutterText:cursor-position,
1555    for consistency with other ClutterText properties, as well as to avoid
1556    shadowing the ClutterActor:position property. ClutterActor:depth has
1557    been deprecated by ClutterActor:z-position. ClutterTexture has been
1558    deprecated in favour of ClutterImage. ClutterActor:anchor-[xy] and the
1559    transformation centers for rotation and scaling have been deprecated
1560    in favour of the ClutterActor:pivot-point. The clutter_threads_enter()
1561    and clutter_threads_leave() functions have been deprecated.
1562
1563    - Removal of the experimental ClutterLayoutManager easing state API
1564    The easing state API for ClutterLayoutManager was added in 1.11.2, but
1565    with the introduction of a default easing state for ClutterActor it is
1566    now redundant and not necessary; to animate the allocation of an actor
1567    during layout it's simply necessary to set its easing state. All layout
1568    managers provided by Clutter have been updated.
1569
1570  • List of bugs fixed since Clutter 1.11.6
1571
1572    [bugzilla.gnome.org]
1573    #679451 - Add ::drag-progress signal
1574    #679457 - Add :cursor-position and deprecate :position
1575    #679465 - Add :z-position and deprecate :depth
1576    #677853 - Use a single transformation center for rotation and scaling
1577
1578Many thanks to:
1579
1580  Chun-wei Fan, Alejandro Piñeiro, Alexander Shopov, Andika Triwidada,
1581  Chao-Hsiung Liao, Daniel Mustieles, Fran Diéguez, Ihar Hrachyshka,
1582  Kjartan Maraas, Piotr Drąg, Sasi Bhushan Boddepalli.
1583
1584Clutter 1.11.6                                                       2012-06-23
1585===============================================================================
1586
1587  • List of changes since Clutter 1.11.4
1588
1589    - Accessibility fixes
1590    Clean up key listeners; implement AtkText missing methods for getting text
1591    before and after a given offset.
1592
1593    - Ensure that ClutterBinLayout honours the fixed positioning
1594
1595    - Improvements in GridLayout
1596
1597    - Improve debugging messages
1598    We now print out the name, type, and pointer address of each actor when
1599    emitting debugging messages; also, all messages within one second are
1600    grouped together and show the delta instead of a full timestamp, to
1601    improve readability.
1602
1603    - Add ClutterActor:content-repeat
1604    The content-repeat property can be used by a ClutterContent implementation
1605    to control the repeating of the content's data or pattern. ClutterImage
1606    and ClutterCanvas honour this property.
1607
1608    - Explicit animation API improvements
1609    ClutterTransition will now ask the ClutterAnimatable associated to it
1610    for its initial or final state, in case either is missing; also, the
1611    interpolated value will be coerced to the correct property type instead
1612    of generating a warning.
1613
1614    - Switch to lcov for test coverage
1615
1616    - Remove an extra reference on ClutterStage
1617    The reference added during dispose introduced a leak in case a stage was
1618    destroyed.
1619
1620    - Improve touch event support
1621    New API to install a grab on a specific event sequence of an input device;
1622    ClutterText now responds to touch events; ClutterDragAction and
1623    ClutterDropAction also use touch events as well as pointer events. The
1624    conformance and interactive test suites now have units for checking touch
1625    event handling.
1626
1627  • List of bugs fixed since Clutter 1.11.4
1628
1629    #677659 - add user_data parameter to ClutterBindingActionFunc
1630    #677778 - Assorted introspection fixes from Vala
1631    #677921 - tests: link test-conformance against libm
1632    #675183 - Duplicate accessible key events
1633    #678391 - tests: no return in non-void function
1634    #678423 - 1.10.8 needs fix on osx ... clutter_x11_enable_xinput not
1635              available
1636    #678439 - crash in event translation
1637    #678264 - actor: Make margin properties animatable
1638    #677221 - Orca does not present run dialog text
1639    #678047 - Add touch events vfunc on ClutterActor
1640    #678049 - Add touch events support to Drag & Drop actions
1641    #678279 - Add grab API on touch sequences
1642    #678278 - Add touch events support to ClutterText
1643
1644Many thanks to:
1645
1646  Alejandro Piñeiro, Alexander Larsson, Lionel Landwerlin, Bastian Winkler,
1647  Tomeu Vizoso, Evan Nemerson, Andy Wingo, Daniel Mustieles, Danielle Madeley,
1648  Dimitris Spingos, Fran Diéguez, Frédéric Péters, Ihar Hrachyshka,
1649  Jasper St. Pierre, Matthias Clasen, Sasi Bhushan Boddepalli, Tom Tryfonidis
1650
1651Clutter 1.11.4                                                       2012-06-05
1652===============================================================================
1653
1654  • List of changes since Clutter 1.11.2
1655
1656    - Multi-touch support fixes
1657    The clutter_event_copy() code was copying the wrong axis data; the correct
1658    touch device was not used when translating axis data from XInput2 to the
1659    ClutterInputDevice; touch events were not delivered to the correct actors.
1660
1661    - Add ClutterDropAction::drop-cancel signal
1662    The ::drop-cancel does what it says on the tin: it allows handling a
1663    cancelled drop action, instead of relying on the drag end signal on
1664    the ClutterDragAction.
1665
1666    - Add examples in the repository
1667    Clutter has been using some interactive tests as examples of idiomatic
1668    usage, both as standalone code and for inclusion inside the API reference
1669    documentation; this is sub-optimal, as the interactive tests are meant to
1670    exercise the API and its behaviour, not as an example of how to write
1671    proper Clutter code. For this reason, we now have an examples/ directory
1672    that contains example code that can be used to learn Clutter.
1673
1674    - Allow disabling the tests and examples when building Clutter
1675    This should help cross-compilation and testing.
1676
1677    - Fix the preferred size to always include the actor's margin
1678
1679    - Fix picking of the ClutterScrollActor
1680
1681    - Add implicit animations for the color properties of ClutterText
1682    Changing any color-related properties of a ClutterText actor will result
1683    in a transition, if the easing state has a non-zero duration.
1684
1685    - Layout managers should respect the child expand and align properties
1686    ClutterBinLayout, ClutterBoxLayout, and ClutterTableLayout should use the
1687    ClutterActor [xy]-expand and [xy]-align properties, and deprecate their
1688    own.
1689
1690    - Make all layout managers respect the child easing state when allocating
1691    ClutterLayoutManager also has properties that can be set to control all
1692    the children's default easing state.
1693
1694    - Add ClutterTimeline::stopped signal
1695    The ::stopped signal is emitted either when a Timeline reaches full
1696    completion, including eventual repeats; or when the Timeline has been
1697    stopped through clutter_timeline_stop(). A boolean argument passed to
1698    the signal handlers should be used to distinguish the two cases.
1699
1700    - Add ClutterGridLayout
1701    This layout manager implements the same layout policy of GtkGrid.
1702
1703    - Fixes for ClutterKeyframeTransition
1704
1705    - Documentation fixes
1706
1707    - Fixes for building Clutter with Visual Studio
1708    Including the GDK backend.
1709
1710    - Fixes for the Mac backend
1711    Chain up to get a Cogl context after creating a GL context; this seems
1712    to be enough to make the interactive tests run.
1713
1714  • List of bugs fixed since Clutter 1.11.2
1715
1716    [bugzilla.gnome.org]
1717    #675336 - ClutterDropAction needs a ::drop-cancel signal
1718    #675371 - Asserts when getting touch events
1719    #676088 - Fixing picking in scroll-actor "breaks" gnome-control-center
1720    #676032 - keyframe-transition: Documentation fixes
1721    #676031 - keyframe-transition: Create a new interval if necessary
1722    #676158 - table-layout: Remove unused animation helpers
1723    #676334 - scroll-actor: Fix ->transition not being reset
1724    #675890 - Passing NULL buffer to clutter_text_set_text() will not reset
1725              the buffer and segfault
1726    #676367 - actor: Add a custom scriptable "margin" property
1727    #676068 - Setting size on ClutterFlowLayout container crashes
1728    #676963 - text: Enable implicit color animations
1729    #675396 - Possible bug in _clutter_paint_volume_axis_align
1730    #674365 - Race during parallel build in tests/interactive/
1731    #676827 - layout-manager: Add a new animation API
1732    #677085 - examples: Allow optional animations in flow-layout
1733    #677086 - box-layout: Remove unused BoxChild members
1734    #677098 - Ensure we stop transitions on remove_child()
1735    #676854 - timeline: Add a new "finished" signal
1736    #677039 - Wrong allocation for WIDTH_FOR_HEIGHT actors
1737    #675998 - Example 4.2 mixes up height and width
1738    #677384 - doc: Add ClutterLayoutManagerPrivate to doc sections
1739    #677284 - table-layout: Honor actors expand and alignment settings
1740    #677283 - box-layout: Honor actor expand and alignment
1741    #677372 - Add ClutterGridLayout
1742    #677390 - events: Deliver touch events to actors
1743
1744Many thanks to:
1745
1746  Bastian Winkler, Chun-wei Fan, Bastien Nocera, Daniel Mustieles, Fran
1747  Diéguez, Tomeu Vizoso, Tristan Van Berkom, Alexander Larsson, Alexandre
1748  Franke, Bruno Brouard, Debarshi Ray, Dominique Bureau, Emanuele Aina, Matej
1749  Urbančič, Mike Ruprecht, Piotr Drąg
1750
1751Clutter 1.11.2                                                       2012-04-30
1752===============================================================================
1753
1754  • List of changes since Clutter 1.10
1755
1756    - Add ClutterScrollActor
1757    An actor that can display a portion of its children, as well as
1758    transitioning between visible regions.
1759
1760    - Make clutter_actor_allocate() respect the easing state of the actor
1761    This allows animating allocations in layout managers.
1762
1763    - Add automatic expansion flags for ClutterActor
1764    Actors can be marked to by allocated extra space by their parent, or
1765    by the layout manager used by their parent; the expansion flags are also
1766    recursive, so they can be set on a leaf node of the actor tree, and
1767    propagate further up automatically.
1768
1769    - Add ClutterTransitionGroup and ClutterKeyframeTransition
1770    Two ClutterTransition implementation that allow creating complex
1771    transitions.
1772
1773    - Provide more C convenience API to ClutterTransition
1774    Instead of dealing with ClutterInterval instances, it's possible to
1775    define the starting and final values of a transition.
1776
1777    - Provide base geometric types: point, size, rectangle
1778    Along with commodity API.
1779
1780    - New round of deprecations
1781    ClutterMedia, ClutterCairoTexture, clutter_actor_animate(),
1782    ClutterAnimation, ClutterAnimator, ClutterState, ClutterLayoutManager's
1783    animation API.
1784
1785    - Return a valid default PaintVolume in more cases
1786    For actors not overriding paint() or get_paint_volume() we can already
1787    infer enough information on the area thatis going to be painted, and return
1788    a valid paint volume. We specifically ignore any painting going on inside
1789    a ClutterActor::paint signal handler, as that is considered legacy and on
1790    its way to deprecation. People overriding the paint sequence of an actor
1791    from within a paint signal handler, and painting outside the allocation,
1792    are evil anyway.
1793
1794    - Depend on Pango 1.30
1795
1796    - Report distance as an axis on X11 with XInput 2 support enabled
1797    Proximity information with XInput 2+ is reported as axis data on devices
1798    with valuator classes.
1799
1800    - Documentation fixes
1801
1802  • List of bugs fixed since Clutter 1.10
1803
1804    #674510 - Changing a hidden child's position with new API shows the
1805              actor
1806    #672994 - Orca sometimes presents previously-entered text in GNOME
1807              Shell Alt+F2 dialog
1808    #652521 - get_length fails in Clutter.Path when length is greater
1809              than 46340
1810    #673644 - Scroll not working in document overview
1811
1812Many thanks to:
1813
1814  Jasper St. Pierre, Neil Roberts, Robert Bragg, Cosimo Cecchi, Rob Bradford,
1815  Jonh Wendell, Piotr Drąg, Rico Tzschichholz, Alejandro Piñeiro,
1816  Carles Ferrando, Christian Kirbach, Daniel Korostil, Daniel Mustieles,
1817  Daniel Nylander, Fran Diéguez, Ihar Hrachyshka, Jordi Serratosa,
1818  Kenneth Nielsen, Owen W. Taylor, Peter Hutterer, Rajesh Ranjan,
1819  Rudolfs Mazurs, Stefano Facchini, Tristan Van Berkom, Viktor Nyberg,
1820  Yuri Myasoedov, kkrothap@redhat.com.
1821
1822Clutter 1.9.16                                                       2012-03-19
1823===============================================================================
1824
1825  • Clutter 1.10.0, release-candidate 1
1826
1827  • List of changes since Clutter 1.9.14
1828
1829    - Support implicit animatable properties
1830    Various properties of ClutterActor can now be implicitly animated when
1831    using the public setters, instead of going through the animation API;
1832    this is an opt-in mechanism for the 1.x API series.
1833
1834    - Introduce paint nodes
1835    ClutterPaintNode is an element of the render tree; it is used to store
1836    the pipeline state and the geometry to be drawn. Actors have the ability
1837    to be painted using the paint nodes by overriding the paint_node() virtual
1838    function instead of the paint() virtual function. For the 1.x API series
1839    the render tree will be consumed per-actor, but the plan is to build a
1840    full tree as the authoritative source for the 2.x API series.
1841
1842    - Support Content delegates
1843    ClutterContent is an interface that allows creating classes that will
1844    painted in place of an actor's paint() virtual function. Clutter provides
1845    two content types: Canvas, a Cairo-based immediate canvas for drawing the
1846    contents of an actor; and Image, a content that will paint image data.
1847
1848    - ClutterText improvements
1849    The caret of editable text actors is now centered, and the background
1850    color will be respected when painting the actor.
1851
1852    - Support for the XInput 2.2 extension
1853    Clutter will now relay touch events coming from the X server, as well
1854    as precise scrolling delta, for devices with those two capabilities.
1855    The support is still experimental, and limited to the X11 platform for
1856    the time being.
1857
1858    - Translation updates
1859    Slovenian, Assamese, Bulgarian, Spanish, Galician, Belarusian, Traditional
1860    Chinese (Hong Kong and Taiwan), British English, Hebrew, Polish, Catalan,
1861    Khmer, Russian, Finnish, Odia, Brazilian Portuguese, Danish, Lithuanian,
1862    Portuguese, Czech, Swedish, French.
1863
1864  • List of bugs fixes since Clutter 1.9.14
1865
1866    [bugzilla.gnome.org]
1867    #655491 - Text cursor/caret theming
1868    #668801 - [NSApp finishLaunching]; missing in OSX backend
1869    #656156 - Add lightness, brightness, and contrast effects
1870    #671736 - Provide translations for "default:LTR" for RTL locales
1871    #671779 - gdk: add new device types (GDK_SOURCE_TOUCHSCREEN,
1872              GDK_SOURCE_TOUCHPAD)
1873    #672316 - Flickering/redraw issues in multi stage
1874
1875Many thanks to:
1876
1877  Piotr Drąg, Chun-wei Fan, Daniel Mustieles, Fran Diéguez, Matej Urbančič,
1878  Nilamdyuti Goswami, Alexander Shopov, Bruce Cowan, Florian Müllner,
1879  Gil Forcada, Ihar Hrachyshka, Stefano Facchini, Мирослав Николић,
1880  Adam Matoušek, Antonio Fernandes C. Neto, Aurimas Černius, Bruno Brouard,
1881  Carles Ferrando, Chao-Hsiung Liao, Daniel Nylander,  Duarte Loreto,
1882  Jasper St. Pierre, Joseph Scheuhammer, Kenneth Nielsen, Khoem Sokhem,
1883  Lionel Landwerlin, ManojKumar Giri, Marek Černocký, Timo Jyrinki,
1884  Tristan Van Berkom, Yuri Myasoedov
1885
1886Clutter 1.9.14                                                       2012-03-05
1887===============================================================================
1888
1889  • List of changes since Clutter 1.9.12
1890
1891    - Support custom versioning boundaries for the API
1892    Now that GLib provides macros for changing the minimum required and
1893    maximum allowed version of a library, Clutter can respect the
1894    boundaries expressed using CLUTTER_VERSION_MIN_REQUIRED and
1895    CLUTTER_VERSION_MAX_ALLOWED.
1896
1897    - Add version information to deprecations
1898
1899    - Move all deprecated symbols to separate header files
1900
1901    - Documentation and annotation fixes.
1902
1903    - Accessibility fixes in Cally
1904    Do not use ClutterActor:name as the accessible name, and do not
1905    provide the extents of an accessible object if the actor to which
1906    it refers is not on screen.
1907
1908    - Updates to the Wayland compositor and client support
1909    Clutter now allows being used for creating hybrid Wayland/X11
1910    compositors, working with KMS and evdev directly.
1911
1912    - Translation updates: Bulgarian, Ukranian, Galician, Uyghur, Belarusian,
1913    Brazilian Portuguese, Telugu, Slovenian, Assamese, Serbian.
1914
1915  • List of bug fixes since Clutter 1.9.12
1916
1917    [bugzilla.gnome.org]
1918    #670680 - "make check" assumes gdk backend will be built
1919
1920Many thanks to:
1921
1922  Robert Bragg, Neil Roberts, Alejandro Piñeiro, Chun-wei Fan,
1923  Alexander Shopov, Daniel Korostil, Daniel Mustieles, Fran Diéguez,
1924  Gheyret Kenji, Giovanni Campagna, Ihar Hrachyshka, Jonh Wendell,
1925  Krishnababu Krothapalli, Matej Urbančič, Nilamdyuti Goswami,
1926  Мирослав Николић
1927
1928Clutter 1.9.12                                                       2012-02-23
1929===============================================================================
1930
1931  • List of changes since Clutter 1.9.10
1932
1933    - Add ClutterTimeline:repeat-count and deprecate :loop
1934    The :repeat-count property supercedes the :loop property, and it
1935    provides a way to specify the number of repeats that a timeline
1936    should perform - with the option of specifying an "infinity" value.
1937
1938    - Add a progress mode for ClutterTimeline
1939    This begins the "soft deprecation" of ClutterAlpha. Instead of
1940    requiring a full object to compute an easing function out of a
1941    linear progress coming from ClutterTimeline, we should have this
1942    functionality on ClutterTimeline itself. Since ClutterAlpha is
1943    still exposed in API that we cannot deprecate (such as virtual
1944    functions) we cannot deprecate it fully, and we'll have to wait
1945    until the 2.0 API bump to get rid of it.
1946
1947    - Fix ClutterBoxLayout allocation
1948    Since the update of the box layout algorithm there have been a
1949    bunch of regressions; now the layout works as intended.
1950
1951    - Improve the performance of the shader-based effect in Clutter
1952    The effects shipped with Clutter now use the CoglSnippet API
1953    internally, which allows efficient generation of the shader code;
1954    they also ensure that the shader is generated once per class, and
1955    shared across instances. These changes should improve performance
1956    when using effects provided by Clutter.
1957
1958    - Update the internal usage of Cogl API
1959    Clutter should strive to use the Cogl 2.0 API internally and not
1960    mix the 1.0 and 2.0 API.
1961
1962    - Allow accessing Wayland input devices
1963    This is a change that allows Clutter-based toolkits to interact
1964    with Wayland in a meaningful way for operations like resize and
1965    move.
1966
1967    - Add a convenience CLUTTER_BIND_ALL enumeration
1968    This allows binding both position and size of an actor when using
1969    a ClutterBindConstraint.
1970
1971    - Cally updates
1972    Use the newly added API to reimplement focus tracking.
1973
1974    - Visual Studio project updates
1975
1976    - Add clutter_text_coords_to_position()
1977    This method roundtrips the position_to_coords() one, and allows
1978    retrieving the index of the character at the given actor-relative
1979    coordinates.
1980
1981    - Documentation updates.
1982
1983    - Introspection annotation fixes.
1984
1985  • List of bugs fixed since Clutter 1.9.10
1986
1987    [bugzilla.gnome.org]
1988    #669730 - actor: Fix and improve add_child_at_index()
1989    #669291 - box layout bug when callin the clutter_actor_hide() function
1990    #667540 - Desynchronized size between ClutterStageCogl and ClutterStageX11
1991    #670433 - clutter-drop-action: annotation fixes for some signals
1992    #670402 - CRITICAL warning when ClutterDragAction has threshold > 0
1993
1994    [bugzilla.clutter-project.org]
1995    #2515 - Setting a non-default stage fullscreen before showing it doesn't work
1996
1997
1998Clutter 1.9.10                                                       2012-02-06
1999===============================================================================
2000
2001  • List of changes since Clutter 1.9.8
2002
2003    - Provide symbolic names for pointer buttons
2004    The primary, middle, and secondary pointer buttons now have simple and
2005    easy to remember constants that can be used in place of the "magic"
2006    numbers.
2007
2008    - Add ClutterActorIter
2009    A simple API, using a stack allocated opaque structure, for safely and
2010    efficiently traverse the children of a ClutterActor.
2011
2012    - Fix regression introduced by the default FixedLayout layout manager
2013    Existing ClutterActor subclasses using their own layout management should
2014    now work exactly like in Clutter 1.8.
2015
2016    - Documentation fixes
2017    Including introspection annotations fixes.
2018
2019    - Updates to the Wayland backend
2020    The Wayland client backend is now up to date with the 0.85 release of
2021    the Wayland protocol.
2022
2023  • Bugs fixed since Clutter 1.9.8
2024
2025    [bugzilla.gnome.org]
2026    #668692 - Add symbolic names for left, right and middle buttons
2027    #668669 - Add iterator API for ClutterActor
2028    #667840 - Add annotations from Vala bindings
2029    #669360 - clutter-backend-eglnative.h missing in disted tarball
2030    #668951 - Fix warnings when weak_unreffing a finalized object
2031
2032Many thanks to:
2033
2034  Rob Bradford, Tristan Van Berkom, Chao-Hsiung Liao, Evan Nemerson,
2035  Kerrick Staley, Matej Urbančič
2036
2037Clutter 1.9.8                                                        2012-01-24
2038===============================================================================
2039
2040  • List of changes since Clutter 1.9.6
2041
2042    - Fix regressions in users of deprecated API
2043    Also, allow to mix the new Actor API with the old Container API without
2044    breaking.
2045
2046    - Add GResource support in ClutterScript
2047    GResource is a new infrastructure in GIO that allows to compile resources
2048    like UI builder files and image data into a shared library or an
2049    executable. A newly added method to ClutterScript makes it possible to
2050    load a UI definition from a resource, like it's done for files and
2051    data.
2052
2053    - Update the Wayland client backend
2054    The SHM transport API has changed upstream, and the Clutter backend has
2055    been updated to reflect it.
2056
2057Many thanks to:
2058
2059  Rob Bradford, Fran Diéguez
2060
2061Clutter 1.9.6                                                        2012-01-19
2062===============================================================================
2063
2064  • List of changes since Clutter 1.9.4
2065
2066    - Deprecate clutter_actor_show_all() and clutter_actor_hide_all()
2067    The latter never did make a lot of sense: hiding the parent will
2068    effectively hide the children as well; the former was there only for
2069    convenience, but Actors are visible by default.
2070
2071    - Gracefully handle existing code
2072    The changes in ClutterActor introduced regressions in existing code
2073    because of the new functionaly that was introduced to replace deprecated
2074    classes like Box and Group. These regressions have hopefully been fixed;
2075    Clutter 1.9.6 has been tested with a project as complex as the GNOME
2076    Shell.
2077
2078    - Fix build with binutils-gold
2079    The private dependencies were not used when building Clutter, and this
2080    made the Gold linker angry.
2081
2082    - Allow tracking of an actor's first and last child
2083    ClutterActor has two new properties, :first-child and :last-child; these
2084    are read-only properties that can be used by toolkits based on Clutter
2085    to track the first and last child whenever they change.
2086
2087    - Bump the Cogl dependency
2088    The 1.9.4 release depended on Cogl ≥ 1.9.4, but the minimum required
2089    version was not bumped along with the changes.
2090
2091  • List of bugs fixed since Clutter 1.9.4
2092
2093    [bugzilla.gnome.org]
2094    #668137 - FTBFS: pangoft2 check seems to be broken
2095
2096Clutter 1.9.4                                                        2012-01-17
2097===============================================================================
2098
2099  • List of changes since Clutter 1.9.2
2100
2101    - New scene graph API in ClutterActor
2102    ClutterActor now provides the API for adding, removing, and iterating
2103    over the list of children; this deprecates most of the ClutterContainer
2104    API. ClutterActor implements ClutterContainer as well, which means that
2105    all actors can be containers.
2106
2107    - Layout management updates
2108    ClutterActor now have an horizontal and vertical alignment properties
2109    that will be used when added to a parent; a margin has also been added
2110    to the ClutterActor class. Both margin and alignment will be automatically
2111    managed during the allocation, so they will work out of the box. It is
2112    also possible to set a ClutterLayoutManager delegate object on any
2113    ClutterActor instance: the LayoutManager will take care of the layout
2114    policy for the children of an actor.
2115
2116    - Add ClutterTextBuffer
2117    The ClutterTextBuffer class provides a storage for the contents of
2118    a ClutterText actor; the same instance can be shared across different
2119    actors as well. The main use for ClutterTextBuffer is implementing
2120    secure memory storage for the contents of a ClutterText in password
2121    mode.
2122
2123    - Deprecations
2124    ClutterGroup, ClutterBox, and ClutterRectangle have been deprecated; their
2125    functionality is now available directly in ClutterActor. The old child
2126    actor management API in ClutterActor and ClutterContainer has been
2127    deprecated as well. Other deprecations include the ClutterStage
2128    fog-related properties and API; the ClutterContainer.sort_depth_order(),
2129    raise(), and lower() virtual functions; the internal child push and
2130    pop methods on ClutterActor.
2131
2132    - ClutterTimeline can parse markers from ClutterScript
2133    Markers can now be defined inside ClutterScript, and a ClutterTimeline
2134    will be able to automatically add them from a UI definition.
2135
2136    - Add a diagnostic mode
2137    Similar to the GLib diagnostic mode, Clutter now supports an environment
2138    variable that will print out diagnostic messages for deprecations and
2139    warnings that can only be detected at run-time.
2140
2141    - Wayland backend updates
2142    The wayland backend now tracks the latest API changes in the client API,
2143    and Clutter now provides a Wayland surface actor that allows to write
2144    Wayland compositors, similarly to the X11TexturePixmap actor for the
2145    X11 backend.
2146
2147  • List of bugs fixed since Clutter 1.9.2
2148
2149    [bugzilla.gnome.org]
2150    #665040 - The offscreen effect always recreates the texture if
2151              create_texture() is overridden to change the size
2152    #665052 - The internal effects should queue a repaint on the effect not
2153              on the actor when a property changes
2154    #664996 - clutter_state_set_key (allow-none)
2155    #664336 - path: Fix introspection annotations
2156    #664252 - in case GLSL shader fails to compile clutter-shader-effect.c
2157              should print out position in source code
2158    #664582 - lookingGlass: Fix global key press handler
2159    #660997 - Make _clutter_actor_queue_redraw_with_clip or an equivalent
2160              public
2161
2162Many thanks to:
2163
2164  Chun-wei Fan, Robert Bragg, Rob Bradford, Neil Roberts, Bastian Winkler,
2165  Fran Diéguez, Jasper St. Pierre, Matej Urbančič, Piotr Drąg,
2166  Alexander Shopov, Bastien Nocera, Daniel Mustieles, Jeremy Moles,
2167  Jovan Naumovski, Kjartan Maraas, Lucian Adrian Grijincu, Manuel Osdoba,
2168  Ryan Lortie
2169
2170Clutter 1.9.2                                                        2011-11-22
2171===============================================================================
2172
2173  • List of changes since Clutter 1.8
2174
2175    - Multi-backend build, and run-time backend selection
2176    Clutter can be built with support for multiple backends in the same
2177    shared library; the backend singleton is determined at run-time,
2178    either with the default backend for the platform, or using the value
2179    of the CLUTTER_BACKEND environment variable.
2180
2181    - GDK windowing system backend
2182    A new backend has been added, which uses the GDK API for creating the
2183    drawing surface, as well as receiving the windowing system and input
2184    events.
2185
2186    - Show a hint when ClutterText is in password mode
2187    If the password-hint-time ClutterSettings property is set to a non
2188    zero value, the last character entered inside a ClutterText actor when
2189    in password mode will be shown in plain for the duration of the timeout,
2190    before being replaced by the glyph chosen as the password character.
2191
2192    - Improve Windows build support
2193    Clutter now provides project files to build the library using Visual
2194    Studio 9 and Visual Studio 10. Also, the scripts to build Clutter using
2195    MinGW have been improved.
2196
2197    - Remove the requirement for using clutter_threads_init()
2198    Threads are initialized by default (depending on the platform), so there
2199    is no need to call clutter_threads_init().
2200
2201    - Deprecate the default ClutterStage
2202    The semantics of the default Stage were not obvious, and had the tendency
2203    to confuse the user.
2204
2205    - Move the deprecated headers into their own directory
2206    This should help developers identify the deprecated API.
2207
2208    - Change deprecation policy
2209    Deprecated functions are now marked using compiler annotations, instead
2210    of being forcibly disabled through pre-processor directives from the
2211    headers. Deprecations will cause compiler warnings, and thus are enabled
2212    by default. If you're building your project with compiler flags that
2213    consider every warning a fatal error, you can use the symbol
2214    CLUTTER_DISABLE_DEPRECATION_WARNINGS to disable the deprecation warnings.
2215
2216    - Translation updates
2217    Portuguese, Assamese, Punjabi, Tamil, Oriya, Telugu, French, German,
2218    Danish, Traditional Chinese (Hong Kong and Taiwan), Catalan, Esperanto,
2219    Lithuanian, Galician, Norwegian bokmål, Slovenian, Hebrew, Bulgarian.
2220
2221  • List of bugs fixed since Clutter 1.8
2222
2223    652588 - add support for password hint in ClutterText
2224    659625 - mingw32: Update the build script to compile 1.8.0
2225    659601 - offscreen effects on children of containers also with an
2226             offscreen effect get a wrong viewport
2227    659928 - Two strings are not marked as translatable
2228    659893 - clutter-main: Reword translator comment for default:LTR
2229    656663 - Remove internal usage of ClutterGeometry in StageWindow
2230    660354 - Add paint-deform-tiles option to CLUTTER_DEBUG
2231    660471 - ClutterActor: Add clutter_actor_has_effects
2232    660512 - ClutterShaderEffect recompiles the shader for every instance
2233    660623 - clutter-actor-meta: Fix _clutter_meta_group_has_metas_no_internal
2234    660985 - memory leak in clutter_box_layout.c
2235    661015 - Add clutter_unicode_to_keyval function
2236    660786 - Deprecate clutter_[sg]et_font_flags()
2237    661887 - auto-resize of ClutterCairoTexture does not work correctly
2238    657434 - Add a GDK backend to Clutter
2239    663332 - orca reads my password in gnome-shell policykit dialogs
2240    663594 - Minor whitespace parsing bug in clutter_color_from_string
2241    663733 - clutter-stage-x11: Make sure to set geometry x and y
2242    651718 - Make tests work on platforms supporting only a single stage
2243    663999 - The removal of per-backend CLUTTER_VBLANK envvar had unwanted
2244             cruft in the Win32 backend
2245    663720 - DeformEffect: Avoid redrawing actors on vertices invalidation
2246    663636 - Use newer Cogl API in ClutterDeformEffect
2247
2248Special thanks to
2249
2250  Chun-wei Fan, for building, testing, and keeping up to date the Visual
2251  Studio project files.
2252
2253Many thanks to:
2254
2255  Neil Roberts, Rico Tzschichholz, Robert Bragg, Adel Gadllah,
2256  Lionel Landwerlin, Alexandre Franke, Colin Walters, Daniel Mustieles,
2257  Giovanni Campagna, Piotr Drąg, krishnababu k, A S Alam, Alexander Shopov,
2258  Algimantas Margevičius, Ask H. Larsen, Bruno Brouard, Carles Ferrando,
2259  Chao-Hsiung Liao, Craig R. Hughes, Damien Lespiau, Duarte Loreto,
2260  Florian Müllner, Fran Dieguez, Fran Diéguez, Håkon Løvdal, I Felix,
2261  Jasper St. Pierre, Jorge González, Joseph Scheuhammer, Kjartan Maraas,
2262  Kristjan SCHMIDT, Manoj Kumar Giri, Marc-André Lureau, Mario Blättermann,
2263  Matej Urbančič, Matthias Clasen, Nilamdyuti Goswami, Sunjin Yang,
2264  Tomeu Vizoso, Yaron Shahrabani, Zan Dobersek, Мирослав Николић.
2265
2266Clutter 1.7.90                                                       2011-09-12
2267===============================================================================
2268
2269  • List of changes since Clutter 1.7.14
2270
2271    - Make sure that setting :use-markup does not depend on the order
2272    Setting the :use-markup property should yield the same results regardless
2273    of whether the :text property is also set before or after. This applies to
2274    ClutterText defined using ClutterScript as well.
2275
2276    - Protect against multiple unrealize call on ClutterStage
2277    This should fix a segmentation fault in clutter-gtk when unrealize() is
2278    called multiple times on an already unrealized stage.
2279
2280    - Fortify ATK event listener
2281    Make sure that we subscribe only to the events we want to, and avoid
2282    warnings caused by AT-SPI, as well as a leak.
2283
2284    - Documentation fixes
2285
2286    - Translation updates
2287    Indonesian, British English, Brazilian Portuguese, Oriya, Polish,
2288    Latvian, Hindi, Danish, Chinese (Simplified), Lithuanian, Turkish,
2289    Russian, Spanish, Asturian.
2290
2291  • List of bugs fixed since Clutter 1.7.14
2292
2293    [bugzilla.gnome.org]
2294
2295    #651940 - "use-markup" is ignored when set after "text"
2296    #658721 - cally: Fix up event listener registration minimally
2297
2298    [bugzilla.clutter-project.org]
2299
2300    #2629 - ClutterText thinks priv->text can be NULL, but it can't
2301
2302Many thanks to:
2303
2304  Muhammet Kara, Andika Triwidada, Manoj Kumar Giri, Piotr Drąg,
2305  Aurimas Černius, Bruce Cowan, Edvaldo de Souza Cruz, Jorge González,
2306  Kenneth Nielsen, Matthias Clasen, Neil Roberts, Og B. Maciel,
2307  Rajesh Ranjan, Ray Wang, Rudolfs Mazurs, Xandru Armesto, Yuri Myasoedov
2308
2309Clutter 1.7.14                                                       2011-09-05
2310===============================================================================
2311
2312  • List of changes since Clutter 1.7.12
2313
2314    - Use newer version of ATK
2315    Cally now depends on the latest version of ATK, to reduce the amount of
2316    ad hoc code needed and to use newer features that simplify the
2317    implementation of accessible objects in Clutter.
2318
2319    - Allow using Layout Managers with generic containers
2320    Layout managers should not assume that they are allocating the whole
2321    area available from the Actor using them; this allows actors that
2322    support concepts like padding or margin to use a LayoutManager internally
2323    for its children.
2324
2325    - Cookbook updates
2326    Add a recipe on how to bind a ClutterState to the signals of objects
2327    defined in ClutterScript. We also install the cookbook examples inside
2328    the $datadir/clutter-1.0/cookbook/examples directory.
2329
2330    - Improve examples in the API reference
2331    Some of the interactive test suite units are actually good examples of
2332    how to use the Clutter API; we can use the XInclude tags to include the
2333    source code inside the API reference.
2334
2335    - Ensure thread safety of the repaint functions add/removal
2336    Fix a long standing issue where adding or removing repaint functions
2337    was not acquiring a lock; now it's safe to manipulate the repaint
2338    functions list from different threads.
2339
2340    - Make the ClutterText:line-wrap property work again
2341    In 1.2 the :line-wrap property was broken, and ClutterText would paint
2342    a PangoLayout wrapping until it fit the height of the allocation
2343    regardless of whether the :line-wrap property was set to FALSE or
2344    TRUE. Now we clip the PangoLayout before rendering it, if the :line-wrap
2345    property is set to FALSE and there is no ellipsization policy set.
2346
2347    - Disable redirection to offscreen buffer by default
2348    Whenever a ClutterActor with children was not fully opaque, the actor
2349    was redirected to an FBO, to perform correct opacity computations.
2350    Sadly, this can lead to 3x slowdowns, given the amount of framebuffer
2351    objects created and the state changes that have to be performed. We
2352    decided to turn off this feature by default, to avoid the performance
2353    hit. It is still possible to enable this feature on a per-actor basis,
2354    though, and will work to reduce the hit in future versions of Cogl,
2355    Clutter and the drivers.
2356
2357  • List of bugs fixed since Clutter 1.7.12
2358
2359    [bugzilla.gnome.org]
2360
2361    #657681 - Crash when destroying an actor while dragging it
2362
2363    [bugzilla.clutter-project.org]
2364
2365    #2339 - ClutterText in 1.4 line-wraps even if line-wrap is disabled
2366
2367Many thanks to:
2368
2369  Alejandro Piñeiro, Shankar Prasad, Chao-Hsiung Liao, Dan Winship,
2370  Daniel Mustieles, Daniel Nylander, Fran Dieguez, Marek Černocký,
2371  Robert Bragg
2372
2373Clutter 1.7.12                                                       2011-08-29
2374===============================================================================
2375
2376  • List of changes since Clutter 1.7.10
2377
2378    - Reload the font caches on X11 when the user installs a new font
2379    Whenever the user installs a new font inside one of the directories that
2380    ware being watched by a session daemon, or changes the fontconfig
2381    configuration, the toolkits using FontConfig (either directly or indirectly
2382    e.g. through Pango, like Clutter) should listen to the Fontconfig/Timestamp
2383    XSETTINGS key and release all the font configuration caches. This allows
2384    selecting the newly installed fonts without requiring the user to restart
2385    the application.
2386
2387    - Allow using "font-description" as a ClutterScript alias for "font-name"
2388    ClutterText:font-description allows passing a PangoFontDescription
2389    directly to a ClutterText; when defining a ClutterText instance inside a
2390    ClutterScript file, :font-description should be an alias for :font-name,
2391    which takes a string and converts it to a PangoFontDescription.
2392
2393    - Make sure that LayoutManager subclasses take the allocation origin
2394      into account when allocating the children
2395    A LayoutManager should be resilient against allocations with an origin
2396    not positioned at (0, 0); this allows actors using a layout manager
2397    instance to munge the box and implement things like margin and padding
2398    without the layout manager having knowledge of those concepts.
2399
2400    - Build fixes
2401    Always link against libm when building Clutter (and its tests); don't
2402    rely on libraries lower on the stack to do so.
2403
2404    - Documentation fixes
2405
2406  • List of bugs fixed since Clutter 1.7.10
2407
2408  [bugzilla.gnome.org]
2409
2410  #657529 - Build failure
2411
2412Many thanks to:
2413
2414  Robert Bragg, Daniel Mustieles, Fran Dieguez, Kjartan Maraas
2415
2416Clutter 1.7.10                                                       2011-08-15
2417===============================================================================
2418
2419  • List of changes since Clutter 1.7.8
2420
2421    - Do not update the last paint volume when picking
2422    Last minute fix for an issue that was most prominently manifesting itself
2423    when using GNOME Shell with Clutter 1.7; this should resolve the issue
2424    that dragging icons from the dash left around some stale pixels.
2425
2426    - Fix building the tests
2427    The performance and micro-benchmark tests did not pick up changes in
2428    local dependencies, e.g. under a JHBuild root.
2429
2430  • List of bugs fixed since Clutter 1.7.8
2431
2432    [bugzilla.gnome.org]
2433
2434    #656588 - Outdated FSF Address in code files
2435
2436Many thanks to:
2437
2438  Alejandro Piñeiro, Robert Bragg
2439
2440Clutter 1.7.8                                                        2011-08-15
2441===============================================================================
2442
2443  • List of changes since Clutter 1.7.6
2444
2445    - Various fixes in Cally
2446    Make sure to use Clutter's API and remove old workarounds that were put
2447    into place when Cally was a separate project and targeting pre-1.0 API
2448    versions of Clutter.
2449
2450    - Add ClutterCairoTexture:auto-resize
2451    This property makes it easier to create 2D canvas surfaces by tracking
2452    the actor's allocation in a backward compatible way.
2453
2454    - Add ClutterAnimatable.interpolate_value()
2455    This new virtual function deprecates the animate_property() virtual of the
2456    Animatable interface, which was sub-optimal in different ways.
2457
2458    - Allow using Animatable implementations with ClutterState
2459    Thanks to the new interpolate_value() virtual it is now possible to use
2460    the Animatable interface with ClutterState; this allows animating
2461    action, constraint and effect properties using the same "@" syntax also
2462    used by ClutterAnimation and clutter_actor_animate().
2463
2464    - Improve ClutterModel's implementation
2465    Avoid a bunch of needless checks, and make sure that the ::row-changed
2466    signal is emitted in all cases when a row has been changed through the
2467    ClutterModelIter API. The conformance test unit for ClutterModel has
2468    also been improved to avoid future regressions.
2469
2470    - Improve ClutterStage behaviour on OS X
2471    Make sure that the fullscreen, multi-screen and key focusing are
2472    well-behaved on OS X, by implementing the correct delegate methods.
2473
2474  • List of bugs fixed since Clutter 1.7.6
2475
2476  [bugzilla.gnome.org]
2477
2478  #655387 - Missing GObject introspection annotations
2479  #655306 - Added windowDidChangeScreen delegate to fix pick errors when
2480            window moved to different screen
2481  #655311 - Prevent hiding of unrelated application windows when stage returns
2482            from fullscreen
2483  #655307 - Fix resource leak on subsequent calls to clutter_stage_osx_realize
2484  #648633 - gnome-shell notification pop-ups do not emit
2485            object:state-changed:showing
2486
2487Many thanks to:
2488
2489  Kirk A. Baker, Neil Roberts, Alejandro Piñeiro, Alejo Pacin,
2490  Daniel Mustieles, Evan Nemerson, Marek Černocký, Philippe Normand,
2491  Robert Bragg
2492
2493
2494Clutter 1.7.6                                                        2011-07-26
2495===============================================================================
2496
2497  • List of changes since Clutter 1.7.4
2498
2499    - Accessibility fixes in Cally
2500    Fix the implementation of the AtkText interface for ClutterText.
2501
2502    - Depend on the new Cogl windowing system API.
2503
2504    - Add functions for retrieving the clip boundaries on the Stage
2505    The clutter_stage_get_redraw_clip_bounds() function is useful for
2506    window managers (like Mutter) that need to retrieve the clipped
2507    region used on the Stage.
2508
2509    - Auto-detect the default flavour when building
2510    The default flavour used when building should be set depending
2511    on the platform.
2512
2513    - Mark the OSX backend as non-experimental
2514    The OSX backend is being developed, and maintained, so it should
2515    not be considered experimental.
2516
2517    - Make sure that Gestures are cancelled when missing release events
2518
2519    - Correct the rounding for paint volumes
2520    Try to provide stable results against potential floating point rounding
2521    margins when projecting 3D paint volumes into screen bounding boxes;
2522    this should avoid re-creating FBOs and always correctly handle clipped
2523    redraws.
2524
2525    - Do not clobber XI2 events data
2526    This allows to play along with other toolkits using XI2.
2527
2528    - Fix ClutterSnapConstraint's right edge snapping
2529
2530    - Deprecations
2531    ClutterScore, clutter_texture_new_from_actor(),
2532    clutter_cairo_texture_create*()
2533
2534  • List of bugs fixed since Clutter 1.7.4
2535
2536    [bugzilla.gnome.org]
2537
2538    #653959 - clutter-actor: Don't apply shaders during picking
2539    #654361 - uprof: Rename timers to remove the EGL specific bits
2540    #654363 - uprof: Add the units in the name of the "Per Frame"
2541              timer attribute
2542    #654103 - Fixed typo
2543    #654656 - Improve XGenericEventCookie allocation wrt other toolkits
2544    #654024 - snap-constraint: Fix allocation for CLUTTER_SNAP_EDGE_RIGHT
2545    #654066 - ClutterTimeline new-frame signal not working correctly on
2546              some platforms
2547    #654718 - clutter-1.6.16 compile issues
2548    #654726 - text: Fix the default value of "editable"
2549    #654727 - alpha: Don't use the GClosure to compute the alpha when
2550              possible
2551    #655342 - memory leak in clutter_bin_layout_get_preferred_width/height
2552
2553    [bugzilla.clutter-project.org]
2554
2555    #1733 - AtkText implementation on CallyText is not complete
2556    #2421 - Way to get current repaint bounds
2557
2558Many thanks to:
2559
2560  Robert Bragg, Philippe Normand, Neil Roberts, Damien Lespiau, Tomeu Vizoso,
2561  Gil Forcada, Alejandro Piñeiro, Bastian Winkler, Carlos Garnacho,
2562  Christian Kirbach, Daniel Mustieles, Dinh Bowman, Kjartan Maraas,
2563  Marek Černocký, Mario Blättermann, Matej Urbančič, Piotr Drąg
2564
2565Clutter 1.7.4                                                        2011-07-04
2566===============================================================================
2567
2568  • List of changes since Clutter 1.7.2
2569
2570    - Unify the GLX and EGL backends to be a single code base
2571    The GLX and EGL backends shared most of their code, and with the split
2572    out Cogl, we can unify the code base into a single backend. The API as
2573    well as the ABI are preserved.
2574
2575    - Restore a wider range of Z values for actors
2576    The computation for the near and far planes given the perspective
2577    transformation used to set up the viewport was broken in 1.7.2, and
2578    the distance from the focal point was greatly reduced. This has now
2579    been fixed.
2580
2581    - Bump up the dependency of Cogl
2582    New windowing system API in Cogl required bumping the minimum version
2583    to the latest development snapshot, 1.7.2.
2584
2585    - Add ClutterDropAction
2586    The ClutterDropAction is an action for allowing ClutterActors to react
2587    when an actor being dragged through ClutterDragAction crosses, or is
2588    dropped over, them.
2589
2590    - Add a performance test suite
2591    This suite is an addition to our conformance and interactive test
2592    suites; the infrastructure can be used by buildbots and report tools
2593    to track performance regressions across various commits.
2594
2595    - Documentation and annotation fixes
2596
2597    - Build fixes
2598
2599  • List of bug fixes since Clutter 1.7.2
2600
2601    [bugzilla.gnome.org]
2602
2603    #650329 - ClutterModifierType: Port fix from GDK to clutter's GDK copy
2604    #652566 - Clutter-CRITICAL **: _clutter_stage_get_window: assertion
2605              `CLUTTER_IS_STAGE (stage)' failed
2606    #651784 - transition=spin / transition=spin-text is broken in pinpoint
2607              with Clutter master
2608    #652842 - Add a Drop action
2609    #653066 - ClutterDragAction does not support multiple pointers
2610    #653307 - Change the signature of ClutterTexture::load-finished to give
2611              a GError, instead of a gpointer
2612    #653607 - Arrays not annotated as such for introspection bindings
2613    #651079 - ClutterText "blinks" when deleting text after going out of
2614              bounds
2615    #650675 - clutter-media: mention the asynchronous behavior of
2616              set_playing()
2617
2618    [buzgilla.clutter-project.org]
2619
2620    #2625 - The furthest visible z value is really low
2621
2622Many thanks to:
2623
2624  Robert Bragg, Neil Roberts, Peter Ward, Colin Walters, Daniel Mustieles,
2625  Jasper St. Pierre, Samuel Degrande, Øyvind Kolås
2626
2627Clutter 1.7.2                                                        2011-06-13
2628===============================================================================
2629
2630  • List of changes since Clutter 1.6.0
2631
2632    - Cogl moved out of tree
2633    The Clutter OpenGL abstraction library has been moved to a separate
2634    repository and can be used as a stand-alone shared library. Clutter
2635    has been modified to depend on Cogl's experimental API.
2636
2637    - Correctly composite non fully opaque children
2638    Non fully opauqe actors with non fully opaque children will automatically
2639    redirect children paint operations to offscreen buffers, which allow
2640    correct composition taking into account the overall opacity of the scene's
2641    sub-graph. The same mechanism can be used to create a paint cache, and
2642    paint that cache when the actor or its children do not change, instead of
2643    painting the whole sub-graph again.
2644
2645    - Allow connecting signals to ClutterState states in ClutterScript
2646    When defining a scene using ClutterScript it's possible to directly
2647    connect a state inside a ClutterState object (both defined in
2648    ClutterScript or in code) to an object's signal, without using an
2649    explicit signal handler in the code.
2650
2651    - Long-press handling in ClutterClickAction
2652    ClutterClickAction will detect a long-press gesture and emit signals
2653    to query, activation and cancellation.
2654
2655    - Added ClutterGestureAction and ClutterSwipeAction
2656    ClutterGestureAction is a generic "pointer gesture" action; it doesn't
2657    provide an implementation: it's up to the developer to add the gesture
2658    recognition code. ClutterSwipeAction is a GestureAction sub-class that
2659    implement the "swipe" gesture. The GestureAction API is already future
2660    proof for multi-device/multi-touch, even though the multi-touch isn't
2661    currently implemented.
2662
2663    - Allow Effects to influence picking
2664    Effects that change the geometry of a ClutterActor should also be
2665    allowed to change the picking code to make sure that event handling
2666    keeps working. ClutterEffect has a new pick() virtual function for
2667    these cases.
2668
2669  • List of bugs fixes since Clutter 1.6.0
2670
2671    [bugzilla.clutter-project.org]
2672    #2257 - clutter fails to link on OS X (10.6)
2673    #2447 - atkevents example crashes is the accessibility is disabled
2674    #2482 - Cally should avoid to provide a default name and description
2675    #2484 - It would be nice to have the old cally Changelog
2676    #2553 - new ClutterText API to access the Pango layout offsets
2677    #2555 - Per-framebuffer journal causes corruptions
2678    #2562 - Crash upon running Clutter-based programs
2679    #2585 - add ClutterAction for slide gestures
2680    #2588 - Assertion failure in _cogl_pipeline_set_layer_texture_target
2681    #2595 - clutter-text: Add a selected-text-color
2682    #2597 - CallyStage doesn't have a proper parent
2683    #2599 - The paint volume for ClutterText is wrong
2684    #2602 - Expose events ignored when doing clipped redraws
2685    #2610 - Add recipe about implementing a ClutterEffect
2686    #2619 - Removes the addition of the .exe extension to unit-test scripts,
2687            on win32.
2688    #2620 - _cogl_offscreen_new_to_texture_full() leaks reference when failing
2689    #2621 - Clutter segfaults if you queue a redraw of an unmapped actor inside
2690            the notify::mapped callback
2691    #2631 - [PATCH] Enable evdev ClutterInputDevice objects on creation, as the
2692            other backends do
2693    #2632 - [PATCH] GL_IMG_TEXTURE_NPOT enables non-power-of-two features
2694    #2633 - Make the pick id pool a per-Stage resource
2695    #2640 - [patch] allow single-bit imprecision in some conformance tests
2696    #2644 - Quartz backend: "Bare" modifier keypresses not generating events
2697    #2652 - clutter_actor_queue_redraw() on destroyed stage
2698    #2655 - segfault when disposing a slave device without a master
2699    #2656 - Clutter can crash when destroying a stage from an event
2700    #2667 - git head won't build under Win32
2701
2702    [bugzilla.gnome.org]
2703    #650665 - CallyActor shouldn't add by default "press", "release"
2704              and "click"
2705    #647875 - Use Cairo to dump the pick buffers
2706    #647876 - Make the pick if pool a per-Stage resource
2707    #650487 - Sync allocation in ClutterBoxLayout with the one in GtkBox
2708    #650597 - clutter-id-pool: fix warning on bad pick
2709    #650650 - clutter-offscreen-effect: use target size when setting up
2710              the viewport
2711    #651700 - Give a chance to effects for running when picking
2712    #652129 - Use "const" instead of G_CONST_RETURN
2713
2714Many thanks to:
2715
2716  Neil Roberts, Robert Bragg, nobled, Daniel Mustieles, Elliot Smith,
2717  Matej Urbančič, Alejandro Piñeiro, Chris Lord, Marek Černocký,
2718  Tomeu Vizoso, Jasper St. Pierre, James Athey, Piotr Drąg, Øyvind Kolås,
2719  Adam Jackson, Andrej Žnidaršič, Kjartan Maraas, Adel Gadllah,
2720  Alexandre Franke, Christian Kirbach, Craig R. Hughes, Dan Winship,
2721  Dioselin, Kristjan SCHMIDT, Mario Blättermann, Miguel Bouzada, Peter Ward,
2722  Philippe Normand, Samuel Degrande, Viatcheslav Gachkaylo
2723
2724Clutter 1.6.6                                                        2011-02-21
2725===============================================================================
2726
2727  • List of changes since Clutter 1.6.4
2728
2729    » Add four mechanisms for migrating textures inside a Cogl atlas; it
2730      is possible to change the default by using the environment variable
2731      COGL_ATLAS_DEFAULT_BLIT_MODE.
2732
2733    » Use the offscreen buffer size to compute the vertices of
2734      ClutterDeformEffect.
2735
2736    » Make the FPS counter displayed using CLUTTER_SHOW_FPS per-stage.
2737
2738    » Documentation fixes.
2739
2740    » Annotation fixes for introspection.
2741
2742  • List of bugs fixes since Clutter 1.6.4
2743
2744    #2538 - crash in gnome-shell
2745    #2558 - backend-glx: Remove redundant glFlush()
2746    #2561 - Updates to COGL sources regarding non-standard code usage
2747    #2571 - DeformEffect should use the FBO size
2748
2749Many thanks to:
2750
2751  Neil Roberts
2752
2753Clutter 1.6.4                                                        2011-02-14
2754===============================================================================
2755
2756  • List of changes since Clutter 1.6.2
2757
2758    » Fix handling of opacity in ClutterOffscreenEffect.
2759
2760    » Fix partially off-stage actors in ClutterOffscreenEffect.
2761
2762    » Add a recipe in the Cookbook for animating an actor on a path.
2763
2764    » Refresh key mapping when notified by X11.
2765
2766    » Clean up the ClutterStageWindow redraw implementations.
2767
2768    » Update the Wayland backend to match upstream API changes:
2769      • allow using shared buffers if DRM fails;
2770      • improve checks for the required extensions.
2771
2772    » Documentation fixes.
2773
2774    » Introspection annotations fixes.
2775
2776    » Fix setting the matrix for a pipeline layer.
2777
2778    » Fix flushing the framebuffer when switching to it.
2779
2780    » Make sure to call glFlush when blitting a stage region to the
2781      front buffer, to avoid the driver batching the command for an
2782      undefined amount of time.
2783
2784    » Fix the windowing system defines for non-X11 platforms.
2785
2786    » Fix the location of the shared objects in the Cally pkg-config
2787      file.
2788
2789  • List of bugs fixed since Clutter 1.6.2
2790
2791    #1024 - test-multistage.c assertion failure
2792    #1025 - test-paint-wrapper.c assertion failure
2793    #1028 - test-random-text.c hangs with spinning beach ball
2794    #1029 - test-cogl-primitives.c hangs with spinning beach ball
2795    #1358 - scroll events not handled
2796    #2373 - OSX Backend fix
2797    #2525 - [PATCH] x11: Handle key map changes
2798    #2541 - ClutterOffscreenEffect with multiply the actor's opacity
2799    #2546 - [PATCH, git branch] update wayland backend
2800    #2549 - Fix lib locations in *.pc.in
2801    #2550 - offscreen effects are always clipped to stage boundaries
2802    #2551 - Slight drawing lag with larger windows on Intel x3100 (i965)
2803    #2554 - Add recipe per animating an actor on a curved path
2804    #2555 - Per-framebuffer journal causes corruptions
2805    #2558 - backend-glx: Remove redundant glFlush()
2806    #2559 - x11: segfault on closing non-default stage window
2807
2808Many thanks to:
2809
2810  nobled, Chris Lord, Neil Roberts, Robert Bragg, Adel Gadllah, Elliot Smith
2811
2812Clutter 1.6.2                                                        2011-02-07
2813===============================================================================
2814
2815  • List of changes since Clutter 1.6.0
2816
2817    » Fix building the Clutter Cookbook from the released tarballs.
2818
2819    » Set the input device field in ClutterEvent even when they
2820      have been allocated by Clutter.
2821
2822    » Fix the color comparison when setting the layer combine constant.
2823
2824    » Fix memory corruption when removing the last reference on a
2825      Cogl vertex buffer object.
2826
2827    » Fixes for the OSX backend.
2828
2829  • List of bugs fixed since Clutter 1.6.0
2830
2831    #2540 - coobook examples do not build from tarball
2832    #2544 - Using vertex buffers causes memory corruption when you unref
2833            the CoglHandle
2834    #2545 - Broken event handling in OS X backend
2835    #2549 - Fix lib locations in *.pc.in
2836
2837Many thanks to:
2838
2839  Neil Roberts, Viatcheslav Gachkaylo
2840
2841Clutter 1.6.0                                                        2011-01-31
2842===============================================================================
2843
2844  • List of changes since Clutter 1.5.14
2845
2846    » Remove more private symbols from the X11 backend.
2847
2848    » Add CLUTTER_BIND_POSITION and CLUTTER_BIND_SIZE values to the
2849      ClutterBindCoordinate enumeration; these are short-hand values
2850      for binding both X and Y, or width and height, instead of
2851      requiring two ClutterBindConstraint instances.
2852
2853    » Clean up in the X11 backend to reduce indirection.
2854
2855    » Small clean ups in the Win32 backend.
2856
2857    » Make Shift+Backspace behave like Backspace in ClutterText.
2858
2859    » Emit the ::new-frame signal even on the first frame of
2860      ClutterTimeline, to allow setting up the initial state of an
2861      animation.
2862
2863    » Fix an invalid memory access in ClutterAnimator.
2864
2865    » Flush the per-framebuffer journal when switching between
2866      framebuffers.
2867
2868    » Generalize updating GLES2 uniforms.
2869
2870    » Add debug code for tracing clipping in Cogl.
2871
2872    » Improve the OSX event loop, re-using the same implementation
2873      as GDK. Also, provide simple, core-like device support.
2874
2875  • Bugs fixed since Clutter 1.5.14
2876
2877    #2490 - OS X backend event loop improved
2878    #2530 - animator: Animator uses key after freeing it
2879    #2534 - Incorrect description of function 'clutter_actor_pop_internal'
2880    #2535 - Add recipe about creating a composite actor
2881
2882Many thanks to:
2883
2884  Neil Roberts, Robert Bragg, Elliot Smith, Rob Bradford,
2885  Viatcheslav Gachkaylo
2886
2887Clutter 1.5.14                                                       2011-01-24
2888===============================================================================
2889
2890  • List of changes since Clutter 1.5.12
2891
2892    » Allow getting the state modifiers from a ClutterClickAction.
2893
2894    » Fix ClutterDragAction to never leave the event delivery in
2895      an unwanted state.
2896
2897    » Optimize state changes for texture and data states.
2898
2899    » Enable VBO support in Cogl for GLES2.
2900
2901    » Fix compilation on GLES1.1.
2902
2903    » Documentation fixes.
2904
2905    » ClutterGLXTexturePixmap has been deprecated; its parent class
2906      ClutterX11TexturePixmap and the low level CoglTexturePixmapX11
2907      API provide access to the same features.
2908
2909    » Be more resilient against timelines controlling the state of
2910      other timelines during the clock tick.
2911
2912    » Provide defines for the windowing platforms, to allow portable
2913      applications to include the correct header and select the
2914      correct API depending on the target.
2915
2916    » Introduce a fast path for cogl_read_pixels() that uses the journal
2917      to determine the position of a single pixel on the stage; this
2918      fast path gracefully degrades to the usual render-based approach,
2919      and should speed up picking considerably in the case of opaque
2920      quads batched together.
2921
2922    » Support XInput axis data on valuator devices, and introduce XInput2
2923      support for event translation and device hotplugging. The support
2924      for XI and XI2 must still be explicitly enabled by the developer,
2925      but it is now compiled in by default. It can be disabled at compile
2926      time by passing --disable-xinput to the configure script.
2927
2928    » Clean up the unintentionally leaked internal symbols in the X11
2929      and GLX backends.
2930
2931    » Allow defining the contents of the rows of a ListModel using
2932      ClutterScript. This completes the ability to fully define a
2933      ClutterListModel inside a UI definition file.
2934
2935  • Bugs fixed since Clutter 1.5.12
2936
2937    #1422, key input handler for eglnative
2938    #1456, Hinting mishandling
2939    #1721, XInput2 support
2940    #2268, EGL backend dependent on X11 headers
2941    #2400, Don't enable GL_POINT_SPRITE on GLES
2942    #2497, should not throw away a program when just the texture
2943           object has changed
2944    #2512, shader: Don't notify properties when finalizing shaders
2945    #2513, script-parser: Also honor properties of type GType
2946    #2516, [PATCH] Fails to compile with --with-gles=1.1
2947    #2518, introspection: Add missing (out) annotations for get_color()
2948    #2520, Add API to get modifier type in ClutterClickAction
2949    #2522, ClutterDragAction might indefinitely disable motion events
2950    #2524, It's possible to receive a new-frame signal after stopping
2951           a timeline
2952    #2526, model: Fix some GObject-Introspection annotations
2953    #2527, model: Change the column argument type to gint for
2954           clutter_model_set_sort
2955    #2528, model: Add support to define rows in ClutterScript
2956
2957Many thanks to:
2958
2959  Robert Bragg, Neil Roberts, Bastian Winkler, Lucas Rocha, Adel Gadllah,
2960  Chris Lord, Damien Lespiau
2961
2962Clutter 1.5.12                                                       2011-01-11
2963===============================================================================
2964
2965  • List of changes since Clutter 1.5.10
2966
2967    » Allow disabling the focus when showing a ClutterStage; this also
2968      makes Clutter more compliant to the X11 window manager
2969      specifications.
2970
2971    » Avoid state corruption in relayout cycles.
2972
2973    » Do not crash when destroying actors during CLUTTER_LEAVE events.
2974
2975    » Remove signal handlers when disposing constraints.
2976
2977    » Keep the pixel alignment for ClutterAlignConstraint.
2978
2979    » Do not release compiled ClutterShader during their finalization to
2980      avoid a warning.
2981
2982    » Revert an ABI break on the ClutterContainer pre-requisites.
2983
2984    » Fix the name of the cogl_normal_in attribute.
2985
2986    » Do not assume CoglBitmaps are allocated to height * rowstride.
2987
2988    » Fix the core device list creation on X11.
2989
2990    » Avoid enabling blending in the Cogl journal, if possible.
2991
2992    » Documentation fixes.
2993
2994    » Build fixes for mixed autotools version environment.
2995
2996    » Improve the performance of getting the number of rows of a
2997      ClutterListModel.
2998
2999    » Don't use obsolete API internally.
3000
3001    » Build fix for compiling EGL backend with OpenGL under X11.
3002
3003    » Parse GType object properties in ClutterScript.
3004
3005Many thanks to:
3006
3007  Neil Roberts, Johan Bilien, nobled, Adel Gadllah, Damien Lespiau,
3008  Kristian Høgsberg, Nguyễn Thái Ngọc Duy, Tomeu Vizoso, Bastian Winkler
3009
3010Clutter 1.5.10                                                       2010-12-17
3011===============================================================================
3012
3013  • List of changes since Clutter 1.5.8
3014
3015    » Add an evdev input backend; this adds support for input devices
3016      on Linux when using the EGL-based backends.
3017
3018    » Update the build scripts for compiling the Windows backend.
3019
3020    » Updates for the Cookbook and the API references.
3021
3022    » Fix ClutterModel::get_iter_at_row() for filtered ClutterListModels.
3023
3024    » Scores of fixes to the pipeline state object for GLES2.
3025
3026    » Add code that tries to perform manual clipping to avoid breaking
3027      up batches of primitives.
3028
3029    » Keep a cache of ARBfp programs indexed by the pipeline state that
3030      led to their generation.
3031
3032    » Accept G_TYPE_DOUBLE values in ClutterShaderEffect uniforms.
3033
3034    » Update the Wayland client backend.
3035
3036    » Update the build for Windows.
3037
3038    » Rename the ClutterTimeline:reverse property introduced in
3039      Clutter 1.5.6 to ClutterTimeline:auto-reverse.
3040
3041    » Clean up the interactive tests suite.
3042
3043Many thanks to:
3044
3045  Neil Roberts, Damien Lespiau, Robert Bragg, Elliot Smith,
3046  Jussi Kukkonen, nobled, Alexandre Quessy, Mike Owens,
3047  Tomeu Vizoso
3048
3049Clutter 1.5.8                                                        2010-11-29
3050===============================================================================
3051
3052  • List of changes since Clutter 1.5.6
3053
3054    » Add a migration guide for code using Behaviours.
3055
3056    » Allow parsing rgb(), rgba(), hls() and hlsa() color definitions.
3057
3058    » Performance improvements for the ClutterX11TexturePixmap.
3059
3060    » For caching purposes, do not discard the Material or the compiled
3061      shaders for Offscreen and Shader effects.
3062
3063    » Fix image height in 3D Cogl textures.
3064
3065    » Create a GLSL generation backend for materials, similar to the
3066      ARBfp one; this backend is the default for GLES2.
3067
3068    » Use FBOs and cogl_read_pixels() to efficiently read back partial
3069      texture data.
3070
3071    » Various fixes in paint volumes computation and caching.
3072
3073    » Use the internal scene graph walk API to remove the map/unmap
3074      implementation requirement for composite actors and for
3075      containers with internal children.
3076
3077    » Simplify the backend notification of layer changes.
3078
3079    » Queue clipped redraws for Expose events on X11.
3080
3081    » Plug leaks.
3082
3083    » Include a porting guide from Behaviours.
3084
3085    » Add a recipe on scaling animations in the Cookbook.
3086
3087Many thanks to:
3088
3089  Neil Roberts, Robert Bragg, Owen W. Taylor, Tomeu Vizoso, Chris Lord,
3090  Alexandre Quessy, Evan Nemerson, Elliot Smith
3091
3092Clutter 1.5.6                                                        2010-11-19
3093===============================================================================
3094
3095  • List of changes since Clutter 1.5.4
3096
3097    » Deprecate ClutterBehaviour and its sub-classes: the same functionality
3098      is available using the animation framework.
3099
3100    » Add ClutterSnapConstraint, a constraint implementation that snaps
3101      together the edges of two actors.
3102
3103    » Add ClutterPathConstraint::node-reached.
3104
3105    » Deprecate ClutterTimeoutPool and ClutterFrameSource: this API is
3106      not used internally any more, and since it's not integrated with
3107      the master clock it's of relative use.
3108
3109    » Add a named, global color palette.
3110
3111    » Add the ClutterTimeline:reverse property, for automatically
3112      reversing the direction of a timeline after the emission of
3113      the ::completed signal.
3114
3115    » Performance improvements in the clip stack.
3116
3117    » Do not use pointer grabs in ClutterClickAction.
3118
3119    » Improve the internally used Cogl API for primitives, paths and
3120      buffers; this is the first step towards Cogl 2.0.
3121
3122    » Allow using the COGL_DEBUG environment variable to disable the
3123      NPOTs support.
3124
3125    » Plug a nasty infinite loop in the XSETTINGS implementation.
3126
3127    » Internally rename CoglMaterial to CoglPipeline; this should make
3128      it clearer that the API refers to the state of the GPU pipeline.
3129
3130    » Add support for clipped redraws on EGL using the NOK_swap_region
3131      extension.
3132
3133    » Build fixes.
3134
3135    » Use the monotonic clock API if compiling against GLib ≥ 2.27.3.
3136
3137    » Update examples in the Cookbook.
3138
3139    » Add a Cookbook recipe for looping animations.
3140
3141    » Add more documentation on Constraints.
3142
3143    » Documentation fixes.
3144
3145Translation updates:
3146
3147  Italian, Polish
3148
3149Many thanks to:
3150
3151  Robert Bragg, Neil Roberts, Elliot Smith, Owen W. Taylor,
3152  Damien Lespiau, Lucas Rocha, Maxim Ermilov, Piotr Drąg,
3153  Tomeu Vizoso, muflone
3154
3155Clutter 1.5.4
3156===============================================================================
3157
3158  • List of changes since Clutter 1.5.2
3159
3160    » Add a backend for Wayland.
3161
3162    » Depend on GLib ≥ 2.26, Cairo ≥ 1.10.
3163
3164    » Do not generate the conformance tests list using the test-conformance
3165      binary.
3166
3167    » Implement interval progress functions for ActorBox, Vertex, Geometry,
3168      Color and Units.
3169
3170    » Allow overriding the surface creation in Clutter.CairoTexture.
3171
3172    » Add interpolate() method to Clutter.Color.
3173
3174    » Add ClutterPathConstraint, a simple constraint that sets the origin
3175      of an actor's allocation to follow a ClutterPath.
3176
3177    » Plug some memory leaks.
3178
3179    » Fix build of the CEx100 and EGL backends.
3180
3181    » Fixes for the OSX backend.
3182
3183    » Documentation consistency and spell checking fixes.
3184
3185    » Build fixes.
3186
3187Translation updates:
3188
3189  Andika Triwidada (id), Damien Lespiau (fr), Piotr Drąg (po)
3190
3191Many thanks to:
3192
3193  Damien Lespiau, Neil Roberts, Kristian Høgsberg, Andika Triwidada,
3194  Ole André Vadla Ravnås, Robert Bragg, Owen W. Taylor, Piotr Drąg,
3195  Roland Peffer
3196
3197Clutter 1.5.2  (04/10/2010)
3198===============================================================================
3199
3200  • List of changes since Clutter 1.4.0
3201
3202    » Add API to ClutterActor to allow any actor to define its 3D paint
3203      volume and its stage-relative 2D bounding box; the paint volume is
3204      the 3D space occupied by an actor during the paint sequence. This
3205      allows better sizing of the FBOs, and opens the door to scenegraph
3206      culling and accurate clipped redraws. The mechanism is opt-in: actors
3207      have to implement the get_paint_volume() virtual function. Callbacks
3208      attached to the ::paint signal will also disable any culling and
3209      clipped redraw in place internally.
3210
3211    » Plug a leak in ClutterActor by disposing all constraints.
3212
3213    » Rework the build system to be as non-recursive as possible; this should
3214      speed up the build of Clutter, and makes the build layout easier to
3215      understand and update.
3216
3217    » Remove the internal copy of JSON-GLib; the internal copy was falling
3218      behind at a spectacular level, and it was actually making the build
3219      rather complicated - also by adding an unwanted, but needed,
3220      introspection data generation. The required JSON-GLib has also been
3221      bumped to the new stable release, 0.12.0.
3222
3223    » Use g_object_install_properties() with GLib 2.26.
3224
3225    » Implement ClutterContainer::child-notify, which slipped through the
3226      cracks of many development cycles without anyone noticing.
3227
3228    » Document and test clutter_actor_contains(), especially the corner
3229      cases.
3230
3231    » Plug a leak in CoglTexture2DSliced.
3232
3233    » Plug a leak in ClutterAnimator's handling of timelines.
3234
3235    » Trap glXDestroyPixmap() in CoglTexturePixmapX11 to avoid BadDrawable
3236      errors when the GLX pixmap is destroyed behind Cogl's back.
3237
3238Many thanks to:
3239
3240  Robert Bragg
3241  Neil Roberts
3242  Elliot Smith
3243  Alejandro Piñeiro
3244  Aron Xu
3245  Colin Walters
3246  Ray Strode
3247  Stephen Kennedy
3248
3249Clutter 1.4.0  (24/09/2010)
3250===============================================================================
3251
3252  • List of changes since Clutter 1.3.14
3253
3254    » Add support for describing ClutterState states using ClutterAnimators
3255      in ClutterScript.
3256
3257    » Build fixes
3258
3259    » Include ClutterConstraints into the allocation phase, to avoid layout
3260      cycles and improve the performance.
3261
3262    » Add new recipes to the Cookbook to illustrate constraints-based
3263      layouts.
3264
3265    » Fix the request mode of ClutterBoxLayout.
3266
3267    » Fix the handling of transformations in ClutterOffscreenEffect.
3268
3269    » Documentation and introspection fixes.
3270
3271Many thanks to:
3272
3273  Elliot Smith
3274  Robert Bragg
3275  Neil Roberts
3276  Bastian Winkler
3277  Dominique Leuenberger
3278  Frederik Hahne
3279  Jammy Zhou
3280  Øyvind Kolås
3281
3282Clutter 1.3.14 (15/09/2010)
3283===============================================================================
3284
3285  • List of changes since Clutter 1.3.12
3286
3287    » Fix applying layout properties from ClutterScript definitions in case
3288      of multiple children.
3289
3290    » Add a Clutter EGL backend for Intel CEx100 platforms.
3291
3292    » Add new recipes in the Cookbook:
3293      - texture cross-fading
3294      - ClutterScript definitions
3295      - event handling
3296      - ClutterAnimator
3297      - reusing complex animations
3298
3299    » Add methods to retrieve the clicked button and to force a release
3300      in ClickAction.
3301
3302    » Documentation fixes in the API reference.
3303
3304    » Cache a full pick buffer and re-use it in case the scene does not change
3305      between events.
3306
3307    » Fix a Valgrind report of memory corruption in ClutterState.remove_key().
3308
3309    » Allow detaching animations created with clutter_actor_animate().
3310
3311    » Depend on GObject-Introspection >= 0.9.5.
3312
3313    » Provide introspection data for the X11-specific API, like
3314      ClutterX11TexturePixmap
3315
3316    » Use a template material for ClutterTexture to minimize the creation of
3317      new materials.
3318
3319    » Split ClutterDragAction:drag-threshold into two, per-axis properties:
3320      :x-drag-threshold and :y-drag-threshold.
3321
3322    » Allow disabling the -Bsymbolic flag when linking.
3323
3324    » Use gettext >= 0.17 to handle the localization.
3325
3326    » Flush the framebuffer earlier when drawing the vertex buffers, to fix
3327      a crash when dealing with clip stacks.
3328
3329    » Make sure ClutterX11TexturePixmap removes the Cogl texture handle before
3330      freeing the X11 Pixmap to avoid an error.
3331
3332    » Avoid regenerating the CoglMaterial programs too many times.
3333
3334Many thanks to:
3335
3336  Elliot Smith
3337  Robert Bragg
3338  Damien Lespiau
3339  Neil Roberts
3340  Colin Walters
3341  Owen W. Taylor
3342  Bastian Winkler
3343  Alejandro Piñeiro
3344  Alexandros Frantzis
3345  Chris Kühl
3346  Luca Invernizzi
3347  Henrik Hedberg
3348  Javier Jardón
3349  Lucas Rocha
3350  Murray Cumming
3351  Øyvind Kolås
3352
3353Clutter 1.3.12 (16/08/2010)
3354===============================================================================
3355
3356  • List of changes since Clutter 1.3.10
3357
3358    » New recipes in the Cookbook:
3359      - create and animate sub-textures
3360      - layout managers
3361      - scroll events
3362
3363    » Set the ClutterTexture:filename property to also be readable.
3364
3365    » Avoid layout cycles when creating ClutterLayoutMeta objects
3366      during the ::allocate implementation
3367
3368    » Add a ClutterTableLayout, a layout manager for tabular layouts.
3369
3370    » Capture ENTER and LEAVE events on the stage within the DragAction.
3371
3372    » Plug memory leaks.
3373
3374    » Use g_object_notify_by_pspec(), if available, to speed up the
3375      emission of the ::notify signal on property changes.
3376
3377    » Re-use the Cogl texture atlas for the CoglPango glyphs cache,
3378      and improve the performance with large font sizes.
3379
3380    » Various fixes in the Materials comparison and inheritance.
3381
3382    » Add the ability to associate a user program to a material.
3383
3384Many thanks to:
3385
3386  Neil Roberts
3387  Elliot Smith
3388  Robert Bragg
3389  Damien Lespiau
3390  José Dapena Paz
3391  Owen W. Taylor
3392
3393Clutter 1.3.10 (04/08/2010)
3394===============================================================================
3395
3396  • List of changes since Clutter 1.3.8
3397
3398    » Fix a locale-dependent conversion from double to string when
3399      generating ARBfp programs for the materials.
3400
3401    » Use the XKB extension on X11 platforms to convert between hardware
3402      keys to key symbols.
3403
3404    » Documentation fixes in the API reference.
3405
3406    » More recipes, with videos and full examples, in the Cookbook.
3407
3408    » Add localization support and initial translations of error messages
3409      that might be visualized in a user interface.
3410
3411    » Improve debugging output.
3412
3413    » Fix build of the GLX backend on OSX.
3414
3415    » Multiple fixes to the native OSX backend.
3416
3417    » Add support for 3D textures in Cogl.
3418
3419    » Fix shader-related issues and leaks in the new Material code.
3420
3421    » Unify GLSL support in the GL and GLES 2.0 drivers.
3422
3423    » Allow specifying an hint to disable clearing the stage before each
3424      paint cycle.
3425
3426Many thanks to:
3427
3428  Neil Roberts
3429  Roman Kudiyarov
3430  Elliot Smith
3431  Robert Bragg
3432  Chris Kühl
3433  Chris Leick
3434  Nate Stedman
3435  happyaron
3436  raven
3437  Øyvind Kolås
3438
3439Clutter 1.3.8 (12/07/2010)
3440===============================================================================
3441
3442  • List of changes since Clutter 1.3.6
3443
3444    » Merge Cally, the Clutter Accessibility Library, in the Clutter tree.
3445
3446    » Take into consideration the source actor's position in the
3447      AlignConstraint logic.
3448
3449    » Update the internal COGL tesselator with the latest GLU code.
3450
3451    » Fix CoglTexture data readback.
3452
3453    » Use GL_MAX_TEXTURE_SIZE on GLES when checking the supported texture size.
3454
3455    » Add missing public functions from COGL headers.
3456
3457    » Fix GLES build after the Cogl material changes.
3458
3459    » Rename the experimental CoglPixelBuffer API to CoglPixelArray.
3460
3461    » Split the clutter_state_change() method into two:
3462    clutter_state_set_state(), for animated state changes; and
3463    clutter_state_warp_to_state() for immediate state changes.
3464
3465    » Documentation and introspection fixes.
3466
3467    » Build fixes
3468
3469Many thanks to:
3470
3471  Robert Bragg
3472  Neil Roberts
3473  Elliot Smith
3474  Alejandro Piñeiro
3475  Øyvind Kolås
3476  Damien Lespiau
3477  Alexandros Frantzis
3478
3479Clutter 1.3.6 (30/06/2010)
3480===============================================================================
3481
3482  • List of changes since Clutter 1.3.4
3483
3484    » Provide a fallback on GLX if the MESA_copy_sub_buffer extension is not
3485      available, by using EXT_framebuffer_blit. Both mechanisms are also
3486      throttled to avoid taking all resources when using them in a compositor
3487      like Mutter.
3488
3489    » Use (and cache) fragment shaders instead of texture combiners inside
3490      Cogl materials. Cogl will automatically fall back from GLSL to ARBfp
3491      to fixed functions depending on the level of support of the underlying
3492      GL implementation.
3493
3494    » Implement a new design for materials; this allows scaling up the
3495      number of materials in a scene, and also makes copying materials
3496      less expensive.
3497
3498    » Make Cogl materials responsible for depth testing, and add new
3499      experimental API.
3500
3501    » Use the (modified) GLU tesselator to draw paths to a vertex buffer
3502      object instead of using the stencil buffer, or the scanline rasterizer
3503      on platforms without a stencil buffer.
3504
3505    » Add ClutterDeformEffect, a base class for effects that deform an
3506      actor's geometry when painting it; ClutterPageTurnEffect is an
3507      implementation of a "page curl" deformation using the DeformEffect
3508      API.
3509
3510    » Always use scissoring when clipping, to reduce the amount of buffer
3511      that has to be cleared.
3512
3513    » Allow ClutterShaderEffect sub-classes to use vertex shaders by setting
3514      a constructor property; the default remains fragment shader.
3515
3516    » Remove the button of the press event from the DragAction::drag-begin
3517      and DragAction::drag-end signals. This is an API break from 1.3.4.
3518
3519    » Do not promote clipped redraws to full redraws.
3520
3521    » Improve the consistency of the default state name in ClutterState,
3522      both in the API and in the serialization format.
3523
3524    » Fix a rounding error with the Text layout size.
3525
3526    » Add utility functions for CoglMatrix and CoglColor.
3527
3528    » Avoid a re-allocation cycle warning when resizing the surface of
3529      a CairoTexture actor from within the allocate() implementation.
3530
3531    » Do not add the GL libraries for the EGL X11 backend.
3532
3533    » Add more checks for size of data passed to the shader types GValue
3534      functions.
3535
3536    » Add width and height to the BindConstraint.
3537
3538    » Parse actions, constraints and effects inside an actor definition
3539      for ClutterScript.
3540
3541    » Merge the code of native and x11 backends for EGL into a single
3542      backend; also allow creating GL context with the EGL backend.
3543
3544    » Use XSETTINGS to set up the backend configuration options, like
3545      the font name, resolution, font options and double click options,
3546      on X11; this also allows ClutterText actors created using the
3547      default font name to be updated when the font name and options
3548      change; similarly, this allows ClutterUnits to be updated when
3549      the screen resolution changes.
3550
3551    » Implement the texture_from_pixmap extension support inside Cogl
3552      itself, and unify ClutterX11TexturePixmap and ClutterGLXTexturePixmap.
3553
3554    » Documentation improvements in the API reference and in the cookbook.
3555
3556    » Use the -Bsymbolic-functions linker option on supported platforms
3557      to avoid intra-library PLT jumps.
3558
3559    » Fix painting transparent stages on X11 using the :use-alpha property
3560      of ClutterStage.
3561
3562    » Fix emission of scroll events on Windows.
3563
3564Many thanks to:
3565
3566  Robert Bragg
3567  Neil Roberts
3568  Øyvind Kolås
3569  Damien Lespiau
3570  Elliot Smith
3571  Chris Lord
3572  Johan Bilien
3573  Richard Hughes
3574  Adel Gadllah
3575  Alejandro Piñeiro
3576  Colin Walters
3577  Dan Winship
3578  Kristian Høgsberg
3579  Sunil Sadasivan
3580
3581Clutter 1.3.4 (07/06/2010)
3582===============================================================================
3583
3584  • List of changes since Clutter 1.3.2
3585
3586    » Add ClutterEffect, a ClutterActorMeta sub-class that affects the
3587      way an actor paints itself.
3588
3589        » Clutter provides a base class for effects painting to an
3590          offscreen buffer, and a base class for effects using the
3591          GL programmable pipeline (through the GLSL shader language).
3592
3593        » Clutter also provides some simple, shader-based effects:
3594          ClutterBlurEffect, ClutterColorizeEffect and
3595          ClutterDesaturateEffect.
3596
3597        » Effects can be applied to any actor, and can also be stacked.
3598
3599    » Add ClutterClickAction, an action that provides "button-like"
3600      semantics for any ClutterActor.
3601
3602    » ClutterDragAction now moves the actor to which it has been applied
3603      by default, using a class handler for the ::drag-motion signal.
3604
3605    » Add the :pick-with-alpha property to ClutterTexture; this property
3606      allows using the alpha channel of a texture when picking it.
3607
3608    » Regenerate the mipmaps on COGL textures when a texture is modified.
3609
3610    » Documentation and build fixes.
3611
3612Many thanks to:
3613
3614  Robert Bragg
3615  Damien Lespiau
3616  Neil Roberts
3617  Colin Walters
3618
3619Clutter 1.3.2 (24/05/2010)
3620===============================================================================
3621
3622  • List of changes since Clutter 1.2
3623
3624    » Add ActorMeta, a class for run-time composition of actions and
3625      constraints on a ClutterActor:
3626
3627        » Add ClutterAction, a class for implementing business logic
3628          related to event handling.
3629
3630        » Add ClutterConstraint, a class for implementing business
3631          logic related to sizing and positioning.
3632
3633        » ClutterDragAction is an Action sub-class that implements
3634          signals and properties for dragging actors.
3635
3636        » ClutterAlignConstraint and ClutterBindConstraint are two
3637          Constraint sub-classes that allow relative positioning
3638          with fixed layout managers.
3639
3640    » Add ClutterState, an object for defining state transitions.
3641
3642    » Add ClutterBoxLayout:homogeneous property.
3643
3644    » Implement retained clip stacks.
3645
3646    » Support retained paths.
3647
3648    » Add an experimental vector3 API.
3649
3650    » Require GLib >= 2.18.
3651
3652    » Require Atk >= 1.7.
3653
3654    » Make ClutterActor implement AtkImplementor, and allow retrieving
3655      an AtkObject from a ClutterActor.
3656
3657    » Improve ClutterText's Pango layout caching mechanism.
3658
3659    » Fix set up of the GLX_SGI_swap_control extension.
3660
3661    » Fix EGLX backend.
3662
3663    » Documentation fixes for Clutter and COGL.
3664
3665    » Fix the conformance test suite by executing every test unit in
3666      a separate process.
3667
3668    » Add platform-dependent defines for Cogl.
3669
3670    » Update the MingW cross-compilation script.
3671
3672    » New recipe in the Cookbook.
3673
3674Many thanks to:
3675
3676  Neil Roberts
3677  Robert Bragg
3678  Øyvind Kolås
3679  Owen W. Taylor
3680  Brian Tarricone
3681  Damien Lespiau
3682  Adel Gadllah
3683  Chris Lord
3684  Fridrich Strba
3685  José Dapena Paz
3686  Jussi Kukkonen
3687  Rob Bradford
3688
3689Clutter 1.2.2 (15/03/2010)
3690===============================================================================
3691
3692  • List of changes since Clutter 1.2.0
3693
3694    » Fix introspection annotations for ClutterBox
3695
3696    » Compilation fixes for the EGL native backend
3697
3698    » Fix ClutterX11TexturePixmap ::queue-damage-redraw default handler
3699      registration to avoid a run-time warning
3700
3701    » Handle TEXTURE_RECTANGLE_ARB in the 2D sliced textures, and add
3702      a test case for that extension to avoid regressions
3703
3704    » Improve the strictness of the JSON parser in the internal copy
3705      of JSON-GLib to which we fall back in the absence of the system
3706      one
3707
3708    » Fix a crasher on NVidia drivers when enabling the ARGB visuals
3709      by default on GLX.
3710
3711Many thanks to:
3712
3713  José Dapena Paz
3714  Neil Roberts
3715  Owen W. Taylor
3716  Øyvind Kolås
3717
3718Clutter 1.2.0 (02/03/2010)
3719===============================================================================
3720
3721  • List of changes since Clutter 1.1.14
3722
3723    » Improve the Animator API for consistency, and the implementation
3724      to match the intended behaviour, as documented
3725
3726    » Add initial (and internal) support for queueing clipped region updates
3727      and let the GLX texture-from-pixmap actor take advantage of it
3728
3729    » Support any pixel format in cogl_read_pixels()
3730
3731    » Conditionally use G_VALUE_COLLECT_INIT() in functions using variadic
3732      arguments lists
3733
3734    » Consistently use :min-width and :min-height inside the Stage to define
3735      the minimum size of the Stage window
3736
3737    » Implement the Scriptable interface for ClutterModel sub-classes; this
3738      allows setting ClutterModel columns (both types and names) in
3739      ClutterScript definitions
3740
3741    » Add support for unsigned integer indices in the VertexBuffer API
3742
3743    » Documentation fixes for Clutter: the coverage is now 100%
3744
3745    » Fixes for the EGL native backend
3746
3747    » Require libtool >= 2.2.6
3748
3749    » Improve tests coverage
3750
3751Many thanks to:
3752
3753  Neil Roberts
3754  Øyvind Kolås
3755  Robert Bragg
3756  Bastian Winkler
3757  Chris Lord
3758  Owen W. Taylor
3759
3760Clutter 1.1.14 (24/02/2010)
3761===============================================================================
3762
3763  • List of changes since Clutter 1.1.12
3764
3765    » Fix interaction between user resizable Stages and fullscreen on X11
3766
3767    » Define the semantics of ENTER and LEAVE events when actors are on the
3768      border of the Stage window
3769
3770    » Take the InputDevice of an event into consideration when throttling
3771      MOTION events
3772
3773    » Round the coordinates when clipping to a rectangle in window coordinates
3774
3775    » Always trust the user-provided coordinates when creating a CoglTexture
3776      from a foreign GL texture
3777
3778    » Split Clutter's debug annotations from the pick and paint mode
3779      behavioural modifiers
3780
3781    » Improve the usage of the CLUTTER_ACTOR_NO_LAYOUT flag so that every
3782      actor using a ClutterFixedLayout manager will automatically benefit
3783      from it
3784
3785    » Fix the packing order of ClutterBox so that the convention of
3786      first-in-first-painted is maintained
3787
3788    » Documentation fixes
3789
3790Many thanks to:
3791
3792  Robert Bragg
3793  Chris Lord
3794  Neil Roberts
3795
3796Clutter 1.1.12 (16/02/2010)
3797===============================================================================
3798
3799  • List of changes since Clutter 1.1.10
3800
3801    » Fix compilation on 64bit platforms
3802
3803    » Fix some races of the Stage resizing on X11
3804
3805    » Documentation fixes for Cogl: the coverage is now 100%
3806
3807    » Fix rounding errors in the preferred height of the ClutterText
3808      actor
3809
3810    » Remove redundant type checks in clutter_actor_get_paint_opacity()
3811
3812    » Add support for the GLX_INTEL_swap_event extension; when using this
3813      extension on GLX the glXSwapBuffers() call becomes non-blocking and
3814      Clutter will use an event to control the master clock.
3815
3816    » Improve consistency between ClutterBox and ClutterGroup.
3817
3818    » On X11, do not set the _NET_WM_PID and WM_TITLE properties on a
3819      Stage X window if the window was not created by Clutter itself
3820
3821    » Improve caching of GL constant values
3822
3823    » Optimize creating sub-textures of sub-textures
3824
3825    » Various fixes for the atlas and the journal
3826
3827    » Disable the atlas if FBOs are not supported
3828
3829Many thanks to:
3830
3831  Robert Bragg
3832  Neil Roberts
3833  Damien Lespiau
3834  Bastian Winkler
3835  Chris Lord
3836
3837Clutter 1.1.10 (09/02/2010)
3838===============================================================================
3839
3840  • List of changes since Clutter 1.1.8
3841
3842    » Fixed a regression in textures that caused all the textures to be
3843      drawn as white rectangles.
3844
3845    » Fixed compilation with the Sun C compiler.
3846
3847    » Use SSE2 instructions to premultiply RGBA images, if available.
3848
3849    » Improve readability of ClutterActor::raise/::lower warnings.
3850
3851Many thanks to:
3852
3853  Neil Roberts
3854  Halton Huo
3855
3856Clutter 1.1.8 (08/02/2010)
3857===============================================================================
3858
3859  • List of changes since Clutter 1.1.6
3860
3861    » Added ClutterAnimator, a class that allows defining complex
3862      implicit animations involving multiple actors and states; this
3863      class is mostly meant to be used through the ClutterScript
3864      definition format, but it provides a convenience C API for
3865      easily building animations.
3866
3867    » New experimental COGL API to expose "hardware" buffers such as PBOs or
3868      drm surfaces. This API can be used, for instance, to make texture
3869      uploading faster.
3870
3871    » Fixed the issues with resizable stages getting a 1x1 window with
3872      the X11 backends
3873
3874    » Expose input devices for every event; by default, X11 and Windows
3875      backends expose the core devices only.
3876
3877    » Add the ClutterStage:key-focus property, for key focus tracking.
3878
3879    » Allow setting transformable value types in ClutterAnimation when
3880      calling clutter_animation_bind() and clutter_animation_update().
3881
3882    » Delay the creation of the default Stage until clutter_stage_get_default()
3883      is actually called; this reduces the work of clutter_init().
3884
3885    » Implement Ctrl+Delete and Ctrl+Backspace in ClutterText
3886
3887    » Improve the extendability of CoglTexture with internal backends.
3888
3889    » Add implicit texture atlasing; Cogl will try to put every texture
3890      inside the same texture atlas by default, to avoid state changes
3891      in the driver and (hopefully) improve performance.
3892
3893    » Fix notification of the cursor and selection changes in ClutterText;
3894      this improves the usage of Clutter from A11Y toolkits.
3895
3896    » Do not wait for a frame if the system clock goes backwards.
3897
3898    » Fix the dirtying of the clip state; this unbreaks cogl_path_fill().
3899
3900    » Documentation and build fixes.
3901
3902Many thanks to:
3903
3904  Neil Roberts
3905  Chris Lord
3906  Damien Lespiau
3907  Alejandro Piñeiro
3908  Jussi Kukkonen
3909  Kristian Høgsberg
3910  Robert Bragg
3911  Øyvind Kolås
3912
3913Clutter 1.1.6 (18/01/2010)
3914===============================================================================
3915
3916  • List of changes since Clutter 1.1.4
3917
3918    » Some fixes for the Win32 backend (bug #1905).
3919
3920    » Profiling support via the UProf library. Configure with
3921      --enable-profile to get a report after each Clutter application is
3922      run.
3923
3924    » Improved conformance tests with coverage reports via gcov.
3925
3926    » ClutterTexture no longer tries to read back texture data into
3927      g_malloc'd memory on unrealize (bug #1842).
3928
3929    » The CGL_• defines from cogl-defines.h have been removed. These
3930      should not have been used by any applications, but if they were
3931      being used then please replace them either with the Cogl enums or
3932      with the appropriate GL_• enum if you are using GL directly.
3933
3934    » Added a delete-event signal to the stage.
3935
3936    » Fix for using cogl_rectangle with different texture coordinates
3937      for multiple layers (bug #1937).
3938
3939    » Fix for using stencil and depth buffers in FBOs on Intel drivers
3940      in Mesa (bug #1873).
3941
3942    » Support for subtitles in ClutterMedia.
3943
3944    » ClutterGLX will now use an RGB visual by default. For
3945      applications (and toolkit integration libraries) that want to
3946      enable the ClutterStage:use-alpha property there is a new
3947      function: clutter_x11_set_use_argb_visual().
3948
3949    » Fix ClutterText to allow using Pango markup and attributes in
3950      the same actor (bug #1940).
3951
3952Many thanks to:
3953
3954     Alejandro Piñeiro
3955     Damien Lespiau
3956     Emmanuele Bassi
3957     Gord Allot
3958     Halton Huo
3959     Robert Bragg
3960     Samuel Degrande
3961
3962Clutter 1.1.4 (03/01/2010)
3963===============================================================================
3964
3965  • List of changes since Clutter 1.1.2
3966
3967    » Update the ClutterScript parser to be more resilient, and support
3968      constructor and ChildMeta properties. The parser also respects the
3969      order of the properties in the UI definitions when applying them,
3970      and will apply the properties of an Actor after building the scene
3971      graph.
3972
3973    » Simplified the implementation of LayoutManager sub-classes, and added
3974      support for animating a layout manager.
3975
3976    » Allow short-circuiting some layout operations by setting a specific
3977      flag on ClutterActor.
3978
3979    » Improve caching of the preferred size of a ClutterActor.
3980
3981    » Allow declaring "internal children" for a ClutterContainer
3982      implementation: the memory management of these actors will be deferred
3983      entirely to the Container.
3984
3985    » Let the ClutterStage honour the :opacity property and the alpha component
3986      of the stage color. This requires support in the Clutter backend used.
3987
3988    » Improve Windows and OSX backends.
3989
3990    » Simplify the feature detection code for OpenGL; this also reduced the
3991      required OpenGL version to 1.2.
3992
3993    » Improve the matrix stack handling code. The matrices can be debugged by
3994      using the COGL_DEBUG environment variable, assuming that Clutter was
3995      compiled with the right configure-time switch.
3996
3997    » Improve COGL API for draw buffers, and for offscreen buffer support.
3998
3999    » Add support for text direction to ClutterActor.
4000
4001    » Documentation, introspection and build fixes.
4002
4003Many thanks to:
4004
4005  Robert Bragg
4006  Neil Roberts
4007  Damien Lespiau
4008  Joshua Lock
4009  Bastian Winkler
4010  Rob Bradford
4011  Samuel Degrande
4012  Christian Persch
4013  Colin Walters
4014  Johan Bilien
4015  Raymond Liu
4016  Tim Horton
4017
4018Clutter 1.1.2 (23/10/2009)
4019===============================================================================
4020
4021  • List of changes since Clutter 1.0
4022
4023    » Add ClutterLayoutManager, an abstract proxy class for easily
4024      writing layout management policies; also add ClutterLayoutMeta,
4025      a class for storing layout properties.
4026
4027    » Add ClutterBox, a generic container actor that relies on a
4028      ClutterLayoutManager instance to manage the layout of its
4029      children.
4030
4031    » Add the following layout managers:
4032
4033      - ClutterFixedLayout - a layout manager implementing the
4034        policy used by ClutterGroup
4035
4036      - ClutterBinLayout - a layout manager for packing actors
4037        as layers inside the same area, with per-actor alignment
4038
4039      - ClutterFlowLayout - a layout manager arranging actors as
4040        a reflowing grid
4041
4042      - ClutterBoxLayout - a layout manager arranging actors as
4043        a single line
4044
4045    » Remove the requirement for the backend-specific implementation
4046      of ClutterStage to be a ClutterActor: a Stage implementation must
4047      only implement the ClutterStageWindow interface. This cleans up
4048      the backend code.
4049
4050    » COGL source tree clean up and rationalization; COGL now
4051      knows the platform, and not only the driver (GL or GLES) so
4052      we can migrate part of the low-level backend code from Clutter
4053      to COGL where it makes sense.
4054
4055    » Remove code duplication across whole COGL.
4056
4057    » The GLES 2.0 driver for COGL, and the EGLX backend for Clutter
4058      have been fixed and confirmed working.
4059
4060    » Add "dump-pick-buffer" to CLUTTER_DEBUG: this debug options
4061      dumps the contents of each pick() buffer into a PNG file, for
4062      debugging purposes.
4063
4064    » Allow interpolating intervals of ClutterUnits for animating
4065      unit-based properties.
4066
4067    » Increase strictness and correctness of the ClutterUnits
4068      grammar parser.
4069
4070    » Add GValue transformation functions for ClutterPath to and
4071      from a string.
4072
4073    » Fix word movement in ClutterText; implement GObject getter for
4074      :use-markup; emit notification for :position; decouple the
4075      :text property from the :use-markup property.
4076
4077    » Do not queue redraws or relayouts on actors currently being
4078      destroyed.
4079
4080    » Support #rrggbb and #rgb notations for ClutterColor.
4081
4082    » Multiple bug fixes.
4083
4084    » Provide _NET_WM_PID on the X11 stage implementation.
4085
4086    » Documentation and Introspection annotation fixes.
4087
4088    » Add test units for the ClutterActor size requesition.
4089
4090    » Build fixes.
4091
4092    » Use AM_SILENT_RULES if Automake 1.11 is detected, and fall
4093      back to Shave on older Automake versions.
4094
4095Many thanks to:
4096
4097  Robert Bragg
4098  Damien Lespiau
4099  Neil Roberts
4100  Thomas Wood
4101  Owen W. Taylor
4102  Øyvind Kolås
4103  Götz Waschk
4104  Zhou Jiangwei
4105  Colin Walters
4106  Jonas Bonn
4107  Joshua Lock
4108  Jussi Kukkonen
4109  Samuel Degrande
4110  Vladimir Nadvornik
4111  Xu Li
4112
4113Clutter 1.0.0 (28/07/2009)
4114===============================================================================
4115
4116  • List of changes since 0.9.8
4117
4118    » Allow per-stage disabling of motion event throttling; this should allow
4119      platforms or applications that require all the motion events not for
4120      drawing purposes to get them exactly like Clutter gets them from the
4121      windowing system.
4122
4123    » Various documentation fixes.
4124
4125    » Add per-word key navigation inside ClutterText.
4126
4127    » Fix the RGB<->HLS conversion.
4128
4129    » Various fixes for the OSX backend.
4130
4131    » Various build-related fixes.
4132
4133Many thanks to:
4134
4135  Geoff Gustafson
4136  Michael Mortensen
4137  Owen W. Taylor
4138
4139Clutter 0.9.8 (17/07/2009)
4140===============================================================================
4141
4142  • List of changes since 0.9.6
4143
4144    » Add more introspection annotations for language bindings.
4145
4146    » Fix a bug in clutter_animation_set_alpha(), which also broke the
4147      clutter_actor_animate_with_alpha() function.
4148
4149    » Check if the stage requires a relayout before showing it; this fixes
4150      a bug in the X11-based backends, especially under compositing window
4151      managers, where a 640x480 window would flicker before the default
4152      stage was shown for the first time.
4153
4154    » Performance fixes for Cogl.
4155
4156    » Sliced textures were broken by the COGL journalling.
4157
4158    » Use the redraw cycle when asynchronously loading textures from
4159      files.
4160
4161    » Miscellaneous compilation fixes for the OS X and Windows backends.
4162
4163    » Allow querying from within the paint function of an Actor whether
4164      the actor is currently being directly painted or by a Clone actor.
4165
4166    » In the GLX backend, when using the non-implicit sync-to-vblank inside
4167      glXSwapBuffers(), call glFinish() to avoid potential tearing.
4168
4169Many thanks to:
4170
4171  Colin Walters
4172  Evan Martin
4173  Marcos
4174  Owen W. Taylor
4175  Xu Li
4176
4177Clutter 0.9.6 (01/07/2009)
4178===============================================================================
4179
4180  • List of changes since 0.9.4:
4181
4182    » Allow the manipulation of the actor's transformation matrix, so that is
4183      is possible to apply additional transformations in a way that is
4184      compatible with the transformations already applied by the scene graph.
4185
4186    » Fix a race in the X11 backend that happened between resizing the stage
4187      drawable and the call to glViewport().
4188
4189    » Merge the cogl-journal-batching branch; this branch implements batching
4190      the geometry of the elements of the scene graph before sending it to
4191      OpenGL, thus minimizing the number of state changes and improving the
4192      overall performance of Clutter-based applications.
4193
4194    » Add more debugging states for Clutter and COGL, which allow the developer
4195      to track the state of the journal; to check the VBO fallback paths; to
4196      disable picking for reliable profiling; to disable software-side matrix
4197      transformations in favour of the driver/GPU ones.
4198
4199    » Improve the ability to "break out" of COGL by using gl_begin/gl_end
4200      semantics; applications that drop into raw GL are, though, ignoring all
4201      the caching performed by COGL and might incur in performance issues.
4202
4203    » Fixed the :load-async and :load-data-async properties of Texture by
4204      removing the unneeded G_PARAM_CONSTRUCT flag.
4205
4206    » Added an initial migration guide that shows the porting process from
4207      older releases of Clutter to the 1.0 API; the first chapter deals with
4208      the migration from ClutterEffect to the new implicit animations API.
4209
4210    » Fixed MT-safety for the master clock.
4211
4212Many thanks to:
4213
4214  Ole André Vadla Ravnås
4215  Tim Horton
4216
4217Clutter 0.9.4 (19/06/2009)
4218===============================================================================
4219
4220  • List of changes since 0.9.2:
4221
4222    » Set the layout height in ClutterText, so that wrapping and ellipsization
4223      work correctly to fill all the allocated area.
4224
4225    » Remove all the units-based API, and migrate all the positional and
4226      dimensional accessors to use floating point values when dealing with
4227      pixels. All the properties dealing with pixels now that a floating
4228      point value as well.
4229
4230    » Add the ability to track wether an actor is going to be painted or not,
4231      using the "mapped" flag. This also allows Clutter to be more strict
4232      in the handling of the scenegraph, ensuring correctness and avoiding
4233      wasting resources on nodes that won't be painted.
4234
4235    » Add debugging facilities for COGL, similar to those of Clutter; through
4236      them is also possible to have an on screen debugging mode that shows the
4237      boundaries of each rectangle sent to the GPU.
4238
4239    » Rework "units" into real logical distance units that can be converted
4240      between millimeters, typographic points and ems into pixels.
4241
4242    » Simplify the Animation class to avoid redundancy and the possibility
4243      of it going out of sync with the Timeline and Alpha instances it uses.
4244
4245    » Move every operation into a single "master clock" source that advances
4246      the timelines, dispatches events and redraws the stages in a predictable
4247      sequence, thus avoiding unneeded redraws. The default is to follow the
4248      sync-to-vblank cycle, if it is supported by the drivers.
4249
4250    » Cache the glyphs geometry into a vertex buffer object to avoid
4251      resubmitting too much information to the GPU.
4252
4253    » Rework the behaviour of ClutterModel when a filter is applied.
4254
4255    » Allow submitting premultiplied texture data; this removes the need
4256      for unpremultiplying data in CairoTexture.
4257
4258    » Add a simple API for submitting blending and texture combining modes
4259      through a string description.
4260
4261    » Move Timelines to pure time-based objects.
4262
4263    » Lots of performance improvements.
4264
4265    » Removal of all the deprecated API.
4266
4267    » Removal of all the fixed point entry points.
4268
4269    » Lots of documentation fixes - the coverage is now 99% of the exported
4270      1600 symbols for Clutter and 80%+ of the 300 exported symbols for COGL.
4271
4272    » Generate the GObject Introspection data for both Clutter and COGL
4273      at build time.
4274
4275    » Build environment fixes.
4276
4277Many thanks to:
4278
4279    Owen W. Taylor <otaylor@fishsoup.net>
4280    Thomas Wood <thomas.wood@intel.com>
4281    Havoc Pennington <hp@pobox.com>
4282    Bastian Winkler <buz@netbuz.org>
4283    Chris Lord <chris@linux.intel.com>
4284    Garry Bodsworth <gjb@camvine.com>
4285    Rob Bradford <rob@linux.intel.com>
4286    Johan Bilien <jobi@litl.com>
4287    Jonas Bonn <jonas@southpole.se>
4288    Raymond Liu <raymond.liu@intel.com>
4289    Damien Lespiau <damien.lespiau@gmail.com>
4290    Dan Winship <danw@gnome.org>
4291    Marc-André Lureau <marcandre.lureau@gmail.com>
4292    Robert Staudinger <robsta@gnome.org>
4293    Tommi Komulainen <tko@litl.com>
4294
4295Clutter 0.9.2 (16/03/2009)
4296===============================================================================
4297
4298Bastian Winkler (2):
4299      [media] Fix the interface cast macro
4300      Remove redundant declaration in clutter-text.h
4301
4302Chris Lord (1):
4303      [actor] Force a relayout on set_parent()
4304
4305Christian Persch (1):
4306      Bug 1429 - Redundant declaration in clutter-x11.h
4307
4308Colin Walters (3):
4309      Bug 1491 - Fix hardcoded lib path in .pc files
4310      Typo in clutter-win32.pc.in introduced by commit 24ce19383
4311      [animation] Enhance the bind API
4312
4313Damien Lespiau (6):
4314      [gitignore] update gitignore files for tests/
4315      [build] Beautify autotools' output
4316      [build] Add dolt
4317      [build] Fix interaction between shave, gtk-doc and libtool 1.x
4318      [build] Fix dist for the newly introduced m4 macro directory
4319      Update shave
4320
4321Emmanuele Bassi (111):
4322      Post-release bump to 0.9.1
4323      [text] Merge the attributes with markup enabled
4324      [tests] Update the text-field interactive test
4325      Add Actor::create_pango_layout()
4326      [docs] Add clutter_text_set_markup()
4327      [clone] Allow cloning unparented actors
4328      [text] Use create_pango_layout()
4329      [text] Rename :alignment to :line-alignment
4330      [texture] Consolidate the quality to filter conversions
4331      [texture] Check if the material is valid
4332      [event] Extend KeyEvent for multi-input support
4333      [actor] Check out parameters before setting them
4334      [list-model] Make ClutterListModel subclassable
4335      Bug 1440 - Add clutter_get_current_event_time()
4336      [tests] Add TEST_CONFORM_SKIP() macro
4337      [tests] Add conformance tests for ClutterModel
4338      [ignore] Add the newly created conformance units
4339      [actor] Revert part of commit 402e022c
4340      [animation] Do not bind construct-only properties
4341      [x11] Add backend-specific get_current_event_time()
4342      Initialize a variable to avoid warnings
4343      [cogl] Add cogl_is_material to cogl-material.h
4344      [cogl] Provide GTypes for COGL types
4345      [texture] Use COGL_TYPE_HANDLE for the handle properties
4346      [docs] Clarify the set_cogl_texture() documentation
4347      Merge branch 'build-enhancements'
4348      [docs] Add a missing "return" annotation
4349      [build] Pass the -s switch to cmp
4350      Remove type functions for removed types
4351      [docs] Update the sections file
4352      [tests] Add TEST_CONFORM_TODO macro
4353      [build] Show pkg-config file being generated
4354      [build] Reference the headers with their full path
4355      [docs] Update build for COGL API reference
4356      [build] Update the EXTRA_DIST list
4357      [build] Fix the ChangeLog generation rule
4358      [build] Do not overwrite BUILT_SOURCES
4359      [behaviour] Do not notify empty behaviours
4360      [path] Do not accept NULL descriptions
4361      [timeline] Set the n_markers out paramater
4362      Do not use GL types in Clutter headers
4363      [docs] Require gtk-doc 1.11
4364      [docs] Use the --name-space option
4365      [docs] Add the 1.0 symbols index
4366      [docs] Rename cogl-docs from sgml to xml
4367      Add build machinery for gobject-introspection data
4368      [backend] Update the viewport when updating the GL context
4369      [build] Move all the compiler flags to AM_CFLAGS
4370      [ignore] Update with the introspection files
4371      Add runtime debug messages for COGL
4372      [actor] Remove usage of ClutterFixed
4373      Make disable text mipmapping a command line switch
4374      Make fuzzy picking a command line switch
4375      [docs] Document envvars and command line switches
4376      Remove stray fixed point macro usage
4377      Use a dynamic array for the actors when delivering events
4378      [media] Add sub-second resolution for the duration
4379      [build] Put the X11 pc dependencies in another variable
4380      [build] Do not shave typelib generation
4381      Intern the ClutterScriptable type name
4382      [backend] Constify font options
4383      [cogl] Add a PANGO debug flag for CoglPango use
4384      Clean up of the ClutterColor API
4385      [shader] Unify code paths
4386      Add pkg-config file for COGL
4387      [build] Various fixes for distcheck
4388      [docs] Clarify clutter_actor_animate() behaviour
4389      [docs] Note that grabs are evil
4390      [cogl-fixed] Add a double-to-fixed conversion macro
4391      Move BehaviourScale to CoglFixed
4392      Move ClutterBehaviourEllipse to CoglFixed
4393      Move ClutterBehaviourRotate to CoglFixed
4394      Move ClutterTimeline to CoglFixed
4395      [cogl-fixed] Implement the CoglFixed fundamental GType
4396      [tests] Test CoglFixed, not ClutterFixed
4397      [interval] Update fixed-point handling
4398      [stage] Coalesce fog and perspective API
4399      [texture] Fix ClutterFixed usage
4400      [text] Convert units to the right type
4401      [tests] Use floats, not ClutterFixed
4402      [units] Add more conversion functions
4403      [fixed] Remove ClutterFixed API
4404      [cogl] Fix hardcoded paths in the pc file
4405      [docs] Remove ClutterFixed from the documentation
4406      [docs] Update API reference
4407      [animation] Add vector variants for ::animate()
4408      [cogl] Initialize boolean flag in CoglContext
4409      [cogl] Initialize all members of CoglContext
4410      [color] Fixed HLS to RGB conversion
4411      [docs] Calling g_object_ref() will not dispose an object
4412      [docs] Document the commit message format
4413      [tests] Animate the color during easing
4414      [docs] Reword some of the coding practices
4415      [docs] Add a bindings coding practices
4416      Add more deprecation notices
4417      [deprecated] Add Effect deprecation
4418      Do not cause more size requisitions than necessary
4419      [cogl] Avoid shadowing math.h symbols
4420      [docs] Clarify Animation memory management
4421      [animation] Add an emitter for ::completed
4422      [animation] Add Animation getter
4423      [tests] Remove unused variables
4424      [docs] Add description of queue_redraw
4425      [docs] Update after Animation API changes
4426      [animation] Enhance consistency of the Animation API
4427      [docs] Bring down the undocumented symbols to 2%
4428      Fix release date of 0.9.0
4429      Update release notes
4430      [docs] Fix naming of the interval parameter
4431      [docs] Ignore the TimeoutInterval internal API
4432      Update release notes
4433
4434Geoff Gustafson (1):
4435      [animation] Broken fixed:: properties
4436
4437Gordon Williams (1):
4438      [group] Output the group name when debugging paint
4439
4440Havoc Pennington (4):
4441      Virtualize GL matrix operations and use a client-side matrix when GL is indirect
4442      [actor] Add :clip-to-allocation property
4443      [actor] Add ::queue-redraw signal
4444      [cogl] Flush matrix before clip planes
4445
4446Jonathan Matthew (1):
4447      Declare the EnumValues for PixelFormat static
4448
4449Neil Roberts (36):
4450      [cogl-material] Always bind the new texture handle
4451      Fix building GLES 2 after the material branch merge
4452      [cogl-texture] Fix the count for the number of enabled arrays
4453      [cogl-gles2-wrapper] Remove the FIXME to adjust the fragment color
4454      [clutter-clone] Override the parent opacity to self not self->parent
4455      [clutter-texture] Release the temporary ref taken when setting a texture
4456      [clutter-texture] Unref the Cogl material on dispose
4457      [clutter-texture] Fix the no_slice property
4458      [cogl-texture] Fix offset to next quad when flushing the log
4459      [cogl-texture] Move the destruction of the material to _finalize
4460      [cogl-texture] Fix uninitialised priv var in texture_finalize
4461      Added a test for non-power-of-two sized textures
4462      Emit CLUTTER_LEAVE events when the pointer leaves the stage
4463      Call glActiveTexture and glClientActiveTexture through cogl_get_proc_address
4464      [win32] Track mouse leave messages
4465      [clutter-main] Fix the input device passed to set_motion_last_actor
4466      Override the opacity when painting a clone instead of combining
4467      Allow rotation angle properties to be negative
4468      [ClutterBehaviourRotate] Fix up some breakage from the cogl-float branch merge
4469      [tests/conform] Copy in redhand.png
4470      Replaced ClutterFixed constants in color_{darken,lighten} with float
4471      [cogl-gles2-wrapper] Convert texture unit settings to be a static sized array
4472      [cogl-gles2-wrapper] Actually call glActiveTexture
4473      Add an environment variable to disable mipmapped text
4474      [tests/tools] Don't install libdisable-npots.so
4475      [clutter-texture] Use a GThreadPool for loading async textures
4476      [cogl-pango-glyph-cache] Fix compiler warning on 64-bit
4477      Fix warning in clutter-backend-sdl
4478      [eglnative] Add -I flags for the clutter dir in the src and build dirs
4479      Set the mapped flag on the stage in the SDL and eglnative backends
4480      Fix out of tree builds
4481      Remove use of $(builddir)
4482      [README] Small typo fix
4483      Change cogl_path_rectangle and cogl_path_round_rectangle to take x1,y1,x2,y2
4484      [cogl-path] Minor fix to gtk-doc
4485      Count timeline frames using the FPS instead of an integer interval
4486
4487Owen W. Taylor (7):
4488      Honor ACLOCAL_FLAGS in autogen.sh
4489      Add gobject-introspection annotations
4490      Fix x/y confusion for GL_TEXTURE_RECTANGLE_ARB
4491      Use COGL to establish GL state for ClutterGLXTexturePixmap
4492      Add (out) annotations for ClutterActor
4493      Allow NULL for clutter_text_set_text()
4494      Avoid drawing twice if relayout queues a draw
4495
4496Raymond Liu (2):
4497      [text] Crash when multi-byte utf8 text exceeds max_length
4498      [text] Insertion of multi-byte characters broken
4499
4500Robert Bragg (28):
4501      [Cogl] Renames cogl_fog_set to cogl_set_fog for consistency
4502      [cogl-material] Fixes some dirty flag checks
4503      [cogl-vertex-buffer] Some fixes for texturing and color arrays
4504      [docs] Various gtk-doc updates for Cogl
4505      [tests] Some improvements for test-pixmap
4506      [Cogl] cogl_clip_{set•,unset} renamed to cogl_clip_{push*,pop}
4507      [Cogl] Renames cogl_paint_init to cogl_clear and adds a cogl_disable_fog function
4508      [cogl-color.c] #include fix for the cogl_set_source_color prototype
4509      [Cogl] the cogl_get_•_matrix functions now work with CoglMatrix types
4510      [Cogl] Fixes automatic handling of the GL blend enable state.
4511      [cogl-material] Always glBindTexture when flushing material state
4512      [Cogl] Remove a debugging assert that was triggering on false positives
4513      [test-vertex-buffer-contiguous] Improves the texturing test
4514      [cogl-matrix] Adds padding to CoglMatrix
4515      [cogl-matrix] Documents that CoglMatrix members should be considered read only
4516      Removes need for casting (const float •) to (GLfloat *) in _cogl_set_clip_planes
4517      80 char fix
4518      Avoid casting CoglMatrix to a GLfloat • when calling glGetFloatv
4519      Explicitly make the modelview-matrix current in cogl_{rotate,transform,etc}
4520      Use Cogl enum when making modelview-matrix current in cogl_{rotate,transform,etc}
4521      Finish GLES{1,2} support for client side matrix stacks
4522      Maintain the Cogl assumption that the modelview matrix is normally current
4523      Merge branch 'cogl-client-matrix-stacks'
4524      [cogl-vertex-buffer] Add a flush of attribute changes in the •_draw() functions
4525      [cogl-vertex-buffer] Allow querying back the number of vertices a buffer represents
4526      [cogl-vertex-buffer] fix cogl_vertex_buffer_draw_elements prototype
4527      [tests] Adds an interactive cogl vertex buffer unit test
4528      [cogl] Don't endlessly print the same warning regarding layer fallbacks
4529
4530Robert Staudinger (1):
4531      [build] Add cogl.h to the built sources list
4532
4533Shane Bryan (1):
4534      Bug 1434 - _NET_WM_NAME not set before realize
4535
4536Tomas Frydrych (3):
4537      Fixed handling of enter and leave events in clutter_x11_handle_event()
4538      Fix clutter_x11_texture_pixmap_get/set_property() following change of PROP_WINDOW type
4539      [x11] Only update cached last event time if we have a real timestamp.
4540
4541Øyvind Kolås (11):
4542      Added a mutex for clutter asynchronous textures threads.
4543      Bail early in clutter_texture_paint if opacity == 0
4544      Add a warning for recursive emit_event
4545      Change the default size of thread pool from 3 to 1
4546      [tests] Added test-texture-async
4547      [clutter-texture] add option to not block on size for loaded images
4548      [clutter-texture] remove load-size-async property
4549      Merge commit 'origin/async-texture-thread-pool' into async-size
4550      [clutter-texture] updated documentation.
4551      [clutter-texture] fixed gtk-doc formatting, and init threads in test.
4552      Merge branch 'async-texture-thread-pool'
4553
4554Clutter 0.9.0 (30/01/2009)
4555===============================================================================
4556
4557 • List of changes between 0.8.6 and 0.9.0
4558
4559   » ClutterText is a new actor allowing text display, text editing
4560     both in multi-line and single-line modes, and text selection using
4561     the pointer devices and the keyboard. ClutterText supercedes both
4562     ClutterLabel and ClutterEntry.
4563   » ClutterClone is a new actor that allows cloning of other actors,
4564     both simple and composite. ClutterClone supercedes ClutterCloneTexture.
4565   » ClutterBindingPool is a new API that allows to easily add key bindings
4566     to an actor.
4567   » ClutterAnimation is a new API for implicit animations, similar to
4568     the tweening API used in toolkits like jQuery, Tween and Flash. This
4569     new API supercedes the ClutterEffect API.
4570   » ClutterAlpha uses "animation modes" instead of raw function
4571     pointers; it is still possible to pass alpha functions. The alpha
4572     functions provided by Clutter have been removed from the public
4573     API. It is possible to register global alpha functions and use
4574     them though a logical id.
4575   » The interval of the ClutterAlpha:alpha property has been changed
4576     to a floating point value in the [ -1.0, 2.0 ] range; this allowed
4577     the addition of "overshooting" easing modes.
4578   » COGL now supports backface culling.
4579   » The COGL-based Pango renderer is public API and it is accessible
4580     to developers. It is also possible to access the PangoContext used
4581     by Clutter in order to create PangoLayouts to render text.
4582   » The ClutterFixed API has been moved to COGL.
4583   » COGL does not depend on Clutter data types anymore.
4584   » The ClutterMedia interface has been overhauled: implementations
4585     now must only override the interface properties. The ranges of
4586     some properties have been changed to normalized values.
4587   » COGL now exposes only floating point entry points, and reserves
4588     the eventual conversion to fixed point only when needed. The
4589     fixed point type and macros are publicly available for developers
4590     concerned about floating point operations.
4591   » COGL has a new Vertex Attribues API that allows submitting an
4592     extensible number of vertex attributes to OpenGL in a way that
4593     does not require format conversions and allows fast re-use.
4594   » COGL has a new Material API that decouples paths from fills; it
4595     is possible to create an arbitrary path and fill it with a COGL
4596     texture. The Material API also allows setting multiple texture
4597     layers and defining the blend modes and colors.
4598   » ClutterTexture has the ability to use a worker thread to asynchronously
4599     load an image from a file, as long as the GLib threading support has
4600     been enabled prior to calling clutter_init().
4601   » Clutter now supports localization of the help output, and it
4602     also supports globally setting the text direction for non left to
4603     right locales.
4604   » ClutterCairoTexture is a new actor that allows using Cairo
4605     to draw on a ClutterTexture; since Cairo does not have an OpenGL
4606     backend, the drawing is not hardware accelerated.
4607   » Clutter has a unit testing suite, based on the GLib unit test
4608     framework, which can be used to track regressions.
4609   » A ClutterPath object has been added, and it is used by the
4610     BehaviourPath. The Path object allows defining paths using a set
4611     of coordinates and operations. A Path can be "painted" either using
4612     COGL primitives or using Cairo primitives, allowing an easier way
4613     to paint non-rectangular shaped actors.
4614   » ClutterInterval is a simple object, used by ClutterAnimation, that
4615     describes an interval between two values, and interpolates between
4616     the initial and final values of the interval.
4617
4618 • List of bugs fixed since 0.8.6
4619
4620   » #835 - Optimize clutter_actor_real_pick()
4621   » #851 - setting anchor point causes picking problem
4622   » #883 - Outstanding COGL merge issues
4623   » #1003 - Add clutter_actor_take_key_focus
4624   » #1014 - Clutter Animation API Improvements.
4625   » #1049 - Clutter doesn't support most GLSL uniforms
4626   » #1051 - WebKit/Clutter product/component?
4627   » #1058 - Build clutter-box2d with Clutter 0.8
4628   » #1066 - Clipping regression in 0.8
4629   » #1086 - virtualize stage_queue_redraw
4630   » #1105 - low level access to PangoClutter
4631   » #1106 - ClutterText instead of ClutterLabel and ClutterEntry
4632   » #1108 - Enter/Leave events logics wrt. skipped motion events
4633   » #1109 - clutter-0.8.0 fails to compile
4634   » #1123 - Crash when FBO actor is used and the stage is MINIMIZED
4635   » #1144 - Provide an option to load images asynchronously in ClutterTexture
4636   » #1162 - Add unit testing for Clutter
4637   » #1164 - Mesh API
4638   » #1172 - Disjoint paths and clip to path
4639   » #1189 - Backface culling
4640   » #1209 - Move fixed point API in COGL
4641   » #1210 - Add CoglColor API
4642   » #1211 - Drop ClutterFeatureFlags usage from COGL
4643   » #1212 - Allow only a single include file for Clutter
4644   » #1215 - Move the Pango renderer to the public API
4645   » #1219 - Clean up cogl.h
4646   » #1231 - Build fails in gles flavour in revision 3442
4647   » #1233 - CLUTTER_ALPHA_SINE_INC is broken in trunk
4648   » #1251 - Merge the Cairo texture actor in core
4649   » #1252 - Merge ClutterBehaviourPath and ClutterBehaviourBspline
4650   » #1261 - [patch] Minimize differences between gl/cogl-texture.c and
4651     gles/cogl-texture.c
4652   » #1269 - mingw32 building failed at clutter-media.c
4653   » #1270 - Update to mingw-cross-compile.sh
4654   » #1271 - mingw compiling failed:  undefined reference to
4655     `_glDrawRangeElements@24'
4656   » #1284 - Return something reasonable from clutter_x11_handle_event()
4657   » #1300 - clutter_score_remove and clutter_score_remove_all  are different
4658     in object remove
4659   » #1310 - font rendering problem
4660   » #1313 - Fix computation of camera distance
4661   » #1314 - clutter_sinx() is more inaccurate than it needs to be
4662   » #1321 - Get Matrix in float
4663   » #1323 - ClutterBehaviorDepth conflicts with other behaviors
4664   » #1325 - ClutterPath to cairo_path_t conversion functions
4665   » #1330 - We should not queue redraw for non-visible actors
4666   » #1334 - Default value for ClutterLabel::text should be "" instead of NULL
4667   » #1344 - clutter_actor_transform_stage_point gives invalid coordinates
4668     for big actors
4669   » #1352 - Weird cogl-pango.h includes in clutter-[entry|label].c
4670   » #1354 - Floating point exception when set fps>1000 and start timeline
4671   » #1361 - Unused ClutterStage::get_resolution() methods
4672   » #1365 - ClutterEntry doesn't get the cursor when it should
4673   » #1366 - disable-npots fails to build on mac
4674   » #1380 - Return booleans from CLUTTER_ACTOR_IS_• macros
4675   » #1386 - Wrong clipping dimensions for larger actors
4676   » #1387 - Clarify new-frame signal emission with advance()
4677   » #1388 - Clarify signal emission for advance_to_marker()
4678   » #1395 - behaviour_apply and behaviour_get_nth_actor are opposite on
4679     actors sequence
4680   » #1397 - clutter command line is not localized.
4681   » #1402 - Change default tile-waste from 64 to 63
4682   » #1403 - ClutterMedia::get_uri() should return allocated string
4683   » #1404 - ClutterMedia issues
4684   » #1405 - Fix properties that have X11 types to be 'long'
4685   » #1409 - Use G_SIGNAL_RUN_LAST with ::queue-redraw signal
4686   » #1410 - [patch] Implements a generic ClutterActorClone class without fbos
4687   » #1414 - avoid relayout of ClutterTexture if not syncing size
4688   » #1415 - short-circuit setting same clip again
4689
4690Clutter 0.8.2 (25/09/2008)
4691===============================================================================
4692
4693 • List of changes between 0.8.0 and 0.8.2
4694
4695   » Add constructor-only properties for the :container and :actor
4696     properties of ClutterChildMeta
4697   » Resync the Clutter keysyms with X.org ones.
4698   » Documentation fixes and improvements
4699   » Allow defining ClutterColor as an object or an array inside
4700     ClutterScript UI definitions
4701   » Added the missing :perspective property to ClutterStage
4702   » Fixed the upper and lower boundaries for ClutterUnit and
4703     ClutterFixed properties
4704   » Fix a bug that prevented disabling sorting on ClutterModel
4705   » Fix a bug in clutter_timeline_list_markers()
4706   » Queue a redraw when the clip is changed
4707   » Optimize calls to push and pop the matrix when painting
4708   » Add a variable to the pkgconfig file for extracting the
4709     COGL backend, for configure-time checks
4710   » Fix a typo in cogl_path_rel_curve_to()
4711   » Fix showing the cursor after it being hidden once
4712   » Add a function for obtaining Clutter's option group without
4713     initializing Clutter
4714
4715 • List of bugs fixed since 0.8.0
4716
4717   » #856 - Teardown sequence is borked
4718   » #945 - Clipping+fbo cloning bugs
4719   » #1010 - ClutterLabel does not update the layout (again)
4720   » #1020 - TFP resyncing on MapNotify/ConfigureNotify [Andy Wingo]
4721   » #1033 - Manually parsing command line options prevents
4722     initializing clutter
4723   » #1034 - Picking doesn't work on Eee PC
4724   » #1038 - Clutter 0.8 won't build due to redefined functions
4725   » #1044 - cogl_get_viewport error
4726   » #1047 - API documentation from release tarball is not
4727     installed by "make install" [Mirco Müller]
4728   » #1048 - SIGFPE in cogl_texture_set_region() with
4729     nvidia [Gwenole Beauchesne]
4730   » #1062 - clutter_actor_query_coords() replacement in
4731     0.8 [Gwenole Beauchesne]
4732   » #1069 - Warnings with ClutterScore
4733   » #1071 - clutter_timeline_get_duration doesn't always work
4734   » #1075 - Difficult to bind clutter_stage_new
4735   » #1080 - clutter_stage_read_pixels has upside-down y coordinate
4736   » #1082 - Texture bitmap is destroyed in wrong way
4737   » #1085 - Cursor is in wrong position on ClutterEntry if set
4738     x-align property
4739   » #1090 - Label somtimes returns natural_width < min_width [Johan Bilien]
4740   » #1091 - WM_MOUSEWHEEL (scroll-event) not handled
4741     correctly [Roman Yazmin]
4742   » #1099 - No ClutterScript API to get a list of IDs in a given
4743     file [Noah Gibbs]
4744   » #1100 - WM_SIZE not handled correctly, user_resize and
4745     window_style correction
4746   » #1103 - Two typos in clutter documentation
4747   » #1121 - Setting anchor point doesn't work if set too early
4748   » #1124 - Clutter causes an additional size request in each
4749     allocation [Johan Bilien]
4750   » #1125 - Save an extra pango_layout_get_size in many
4751     cases [Johan Bilien]
4752   » #1130 - CLUTTER_MOTION is not emitted when time goes
4753     backwards. [Pierce Liu]
4754   » #1137 - Setting the anchor point does not trigger a re-paint
4755   » #1145 - Flicker on resize the window
4756   » #1154 - clutter_timeout_pool_new() documentation doesn't say
4757     how to free [Murray Cumming]
4758
4759Clutter 0.8.0 (10/07/2008)
4760===============================================================================
4761
4762 • List of changes between 0.7.6 and 0.8.0
4763
4764   » Assume that non-power-of-two sized textures are always supported
4765     if texture-from-pixmap support is present.
4766
4767   » Increase documentation coverage.
4768
4769   » Disable the XINPUT support by default.
4770
4771   » Improve the behaviour of clutter_actor_get_transformed_size().
4772
4773   » Fix a copy-and-paste bug which broke the vertex shaders.
4774
4775 • List of bugs fixed since 0.7.6
4776
4777   » #983 - cogl-bitmap-fallback.c compiler error/warning due to cast issue
4778   » #985 - MSC math.h / M_PI issue
4779   » #998 - clutter always captures X input events
4780   » #1000 - clutter-x11 should define gtypes for its enumerations
4781   » #1004 - Fix "edge-detect" shader
4782   » #1007 - Fix TFP fallback mechanism
4783   » #1008 - tfp still a bit borked
4784   » #1010 - ClutterLabel does not update the layout
4785   » #1011 - Fix TFP fallback mechanism (take 2)
4786   » #1012 - clutter_stage_read_pixels() has incorrect alpha data
4787             on some (most?) cards"
4788   » #1013 - Per device grabs are not obeyed in pointer device propagation.
4789   » #1015 - Cloning unparented actors with FBOs doesn't work with new
4790             layout code
4791   » #1016 - Changing window-redirect-automatic property after creating
4792             ClutterX11TexturePixmap doesn't work
4793   » #1019 - clutter-frame-source.h not included by clutter.h
4794   » #1022 - extern inline functions in clutter-fixed.h
4795   » #1033 - Manually parsing command line options prevents initializing
4796             Clutter
4797
4798Clutter 0.7.6 (27/06/2008)
4799===============================================================================
4800
4801 • List of changes between 0.7.4 and 0.7.6
4802
4803   » Removed the ClutterBackend::get_display_size() and wrappers.
4804
4805   » Verify that the vertex shaders are successfully compiled when binding
4806     them.
4807
4808   » Increase safety of the ClutterGLXTexturePixmap
4809
4810 • List of bugs fixed since 0.7.4
4811
4812   » #993 - Underline colors are sometimes wrong
4813
4814Clutter 0.7.4 (25/06/2008), "Killer Koi"
4815===============================================================================
4816
4817 • List of changes between 0.7.2 and 0.7.4
4818
4819   » Fix the ClutterEntry actor after the clip API changes in COGL.
4820
4821   » Update the shaders generated for GLES 2.0.
4822
4823   » Add the ability to add search paths and look up files from
4824     ClutterScript. This allows defining directories to store the
4825     images to be loaded by a ClutterTexture.
4826
4827   » Fix the GLES 1.1 support.
4828
4829   » Warn if no usable pointer device are available on X11 backends.
4830
4831   » Improve the request for the best pixel format on win32.
4832
4833   » Fix a regression when sizing the ClutterStage on backends that
4834     only support fixed size stages; now setting any size will result
4835     in Clutter ignoring the request, like it happened in Clutter 0.6.
4836
4837   » Add a method to ClutterBackend to retrieve the display size.
4838
4839   » Fix clutter_sinx() for angles > CFX_2PI - CFX_ONE.
4840
4841 • List of bugs fixed
4842
4843   » #833 - ClutterEntry should clip glyphs rather than itself
4844   » #858 - Support for multiple devices (using XINPUT)
4845   » #879 - sampler2DRect used by test-shader.c doen't work with non-rect textures
4846   » #979 - Wrong call convension for SwapIntervalProc in win32 backend
4847   » #987 - clutter-event.c c99 variable declaration
4848   » #988 - cursor position wrong with multibyte invisible char
4849   » #989 - Add a search path for clutter script assets
4850
4851Clutter 0.7.2 (23/06/2008), "Kedoke"
4852===============================================================================
4853
4854 • List of changes between 0.7.0 and 0.7.2
4855
4856   » ClutterTexture has a new :keep-aspect-ratio property; when it is set
4857     to TRUE the texture will return a preferred width maintaining the
4858     aspect ratio with the given height and a preferred height maintaining
4859     the aspect ratio with the given width. This allows to set the width or
4860     the height and have the texture automatically request the height or the
4861     width respectively while maintaining the aspect ratio of the original
4862     image.
4863
4864   » Added XINPUT support on the X11 backends; this provides an initial
4865     support for multiple input devices. The API is X11-specific, and
4866     provides support for querying at run-time support for XINPUT, for
4867     getting a list of input devices and for getting the type of each
4868     input device.
4869
4870   » The 'fruity' backend also features multiple device support.
4871
4872 • List of bugs fixed
4873
4874   » #816 - clutter_actor_request_coords() should take a const box.
4875   » #836 - Optimize clutter_label_query_coords()
4876   » #905 - Paint cursor directly
4877   » #918 - Group doesn't clip if it's children are clipped
4878   » #953 - Actors are not hidden before unrealized or disposed
4879   » #960 - PangoContext creation code should not be duplicated
4880   » #970 - clutter_actor_get_paint_area confusion
4881   » #971 - Minor ClutterActor cleanups
4882   » #972 - Better parenting
4883   » #973 - unreffing ClutterScore may segfault
4884   » #981 - clutter_stage_read_pixels temprow fix
4885   » #982 - __COGL_GET_CONTEXT MS compiler issue
4886   » #984 - pango_clutter_render_layout() declared void
4887
4888Clutter 0.7.0 (13/06/2008), "Booska"
4889===============================================================================
4890
4891 • List of changes between 0.6 and 0.7.0
4892
4893   » COGL, the underlying GL abstraction layer in Clutter, has been
4894     completely rewritten from the ground up. Its no longer a conceptual
4895     hack but a documented, fully featured library pretty much in its
4896     own right. COGL abstracts over Open GL, Open GL ES 1.1 and now
4897     OpenGL ES 2.0, providing a smart uniform API over these libraries
4898     with various utility features such as texture tiling abstractions,
4899     paths and primitive rendering, FBO, shaders, etc.
4900
4901   » Clutter now provides an experimental backend for the Apple(tm)
4902     iPhone and iPod Touch families of products.
4903
4904   » The Windows platform is now natively supported instead of
4905     relying on the SDL libraries. The win32 backend is still
4906     experimental.
4907
4908   » The X11 based backends now feature support for Actors that wrap
4909     external X drawables (i.e the texture-from-pixmap extension and
4910     fallbacks)
4911
4912   » Clutter now seamlessly supports multiple stages on the backends
4913     that allow this feature.
4914
4915   » The custom Pango renderer has been completely rewritten, now using
4916     the more modern and maintained PangoCairo (instead of FT2), and avoids
4917     nasty subclassing hacks, supports smooth fast scaling of text, has
4918     many edge case issues fixed and it still is very efficient (using
4919     a texture glyph cache). It is even a little bit faster.
4920
4921   » Better texture support, timeline improvements, ClutterLabel and
4922     ClutterEntry improvements, and container child properties are among
4923     the new features - too many to fit in the NEWS file.
4924
4925 • List of bug fixes
4926
4927   » #358 - "window resizing doesn't show scaled stage"
4928   » #425 - "COGL enhancements"
4929   » #439 - "timing related pong lockup due to timeline_rewind somtimes
4930            being ignored by timeline_timeout_func"
4931   » #450 - "ClutterScore API enhancements"
4932   » #641 - "add markers to timelines"
4933   » #666 - "Large font size leads to missing ""W"" and wrong ""J"" character"
4934   » #713 - "texture from pixmap"
4935   » #791 - "default actors to visible"
4936   » #800 - "CLUTTER_ALPHA_EXP_INC overflows"
4937   » #804 - "clutter_actor_get_opacity returns composited alpha"
4938   » #810 - "100 % CPU load with clutter_main()"
4939   » #815 - "Split up request
4940   » #816 - "clutter_actor_request_coords() should take a const box."
4941   » #822 - "Fix clutter_actor_lower()"
4942   » #823 - "Clean-up GLism's in clutter-core (below cogl)"
4943   » #824 - "ClutterEntry should handle its own key events"
4944   » #825 - "Removes GLisms from clutter-main.c"
4945   » #831 - "configure.ac missing osx flavour help"
4946   » #834 - "add ability to set anchor in json"
4947   » #836 - "Optimize clutter_label_query_coords()"
4948   » #839 - "Crash if put cursor over topmost pixel"
4949   » #840 - "Implement prepare-paint and finish-paint signals."
4950   » #848 - "Events dispatch doesn't work in GLX Xephyr"
4951   » #850 - "Impossible to set ClutterRectangle border opacity to a value
4952            different from the surface opacity"
4953   » #857 - "cogl_color doesn't work in PowerVR PC Viewer"
4954   » #860 - "ClutterAlpha leaks"
4955   » #864 - "Allow instantiating and subclassing of ClutterStage"
4956   » #871 - "Two problems with closing stages"
4957   » #873 - "clutter_x11/glx_texture_pixmap issues"
4958   » #874 - "Clipping on GL ES"
4959   » #875 - "Clutter Label Issues"
4960   » #881 - "Timelines require precise system timing"
4961   » #882 - "Allow child properties for containers implementing the
4962            ClutterContainer interface"
4963   » #884 - "Add clutter_alpha_set_closure"
4964   » #889 - "Error when building clutter-ivan with eglx"
4965   » #891 - "assertion failed when test-behave exits"
4966   » #892 - "Incorrect results using  rotation-[center|angle] properties"
4967   » #894 - "Artifacts with the pango renderer"
4968   » #900 - "clutter_actor_lower() and friends do not queue redraw"
4969   » #906 - "Implement timing of the events"
4970   » #908 - "Support transform from G_TYPE_INT to ClutterUnit"
4971   » #909 - "OSX: missing NULL pointer handling"
4972   » #910 - "OSX: missing memory pool"
4973   » #911 - "OSX: add multistage support"
4974   » #912 - "Invalid use of int• as parameter for glGetIntegerv"
4975   » #913 - "cogl fails to build on OSX"
4976   » #914 - "ClutterEntry is confused about characters vs. bytes"
4977   » #915 - "clutter_entry_set_max_length(-1) misbehaves"
4978   » #916 - "ClutterKeyEvent:unicode_value is ignored"
4979   » #919 - "Replacement pango renderer"
4980   » #927 - "Created ports for clutter
4981   » #928 - "Reparenting a child that itself is a container doesn't work"
4982   » #930 - "add support for quartz imagebackend"
4983   » #931 - "suspicious size allocation for pixel data"
4984   » #933 - ""X Error of failed request" when attempting to call
4985            clutter_actor_request_coords()"
4986   » #934 - "Update clutter-tutorial to build with clutter from svn trunk."
4987   » #947 - "Destroying a stage is messy"
4988   » #948 - "Remove texture rectangle support"
4989   » #950 - "AltGr not handled"
4990   » #951 - "Fix clutter_entry_init() in trunk"
4991   » #952 - "Fix test-textures in trunk"
4992   » #953 - "Actors are not hidden before unrealized or disposed"
4993   » #955 - "ClutterLabel is missing fallback resolution handling"
4994   » #959 - "Multiple minor improvements"
4995   » #960 - "PangoContext creation code should not be duplicated"
4996   » #961 - "Fails to build on OSX (query/request_coords is gone)"
4997   » #964 - """unrealized"" signal of ClutterActor wrongly named"
4998
4999Clutter 0.6.0 (18/02/2008)
5000==========================
5001
5002 • List of changes between 0.5.6 and 0.6.0
5003
5004   » New documentation sections inside the API reference, describing
5005     the animation framework.
5006
5007   » New API in ClutterActor for computing the actor's vertices in
5008     the plane of a given ancestor and accessors to query whether an
5009     actor is scaled or rotated
5010
5011 • List of bug fixed
5012
5013   » #613 - Extend point transformation API
5014   » #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
5015   » #787 - tiled textures are broken
5016   » #796 - segmentation fault when setting label text
5017
5018Clutter 0.5.6 (11/02/2008)
5019==========================
5020
5021 • List of changes between 0.5.4 and 0.5.6
5022
5023   » Reverted a last minute change in the depth sorting function of
5024     ClutterGroup.
5025
5026   » Added the clutter_actor_move_anchor_point() family of functions,
5027     which will set the anchor point at the given coordinates while
5028     adjusting the actor postion so that the relative position of the
5029     actor toward its parent remains the same.
5030
5031   » Provide a fallback for finding the Clutter alpha functions inside
5032     a UI definition for ClutterScript in case g_module_open() fails.
5033
5034   » Add initial Frame Buffer Objects support in ClutterTexture; using
5035     FBOs, where supported by the hardware and drivers, it's possible to
5036     create a ClutterTexture from any actor.
5037
5038 • List of bugs fixed
5039
5040   » #386 - Stage is white unless a timeline is present
5041   » #439 - timing related pong lockup due to timeline rewind...
5042   » #440 - 1 pixel line flickering
5043   » #442 - Shader support
5044   » #451 - Improve font rendering quality (Pango)
5045   » #452 - Textures are shown with distortion on Solaris/SPARC
5046   » #526 - OSX backend
5047   » #533 - Clutter stage is not shown under some conditions
5048   » #540 - ClutterStage isn't always respecting requests to change size
5049   » #549 - Backend offscreen API is broken
5050   » #613 - Extend point transformation API
5051   » #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
5052     Beauchesne]
5053   » #643 - Superfluous "filter-quality" setting in texture_upload_data()?
5054     [Gwenole Beauchesne]
5055   » #689 - Rotating actor through layers does not handle opacity
5056     correctly [Josh Stewart]
5057   » #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
5058   » #719 - X11 backend does not check window field in events [Havoc
5059     Pennington]
5060   » #724 - ClutterLabel reports wrong height when lines > 1
5061   » #749 - "reactive" property does not change
5062   » #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
5063     Pennington]
5064   » #756 - clutter_actor_get_abs_size returns bogus values
5065   » #769 - OSX backend fails to build
5066   » #770 - OSX: passing incompatible pointer type
5067
5068Clutter 0.5.4 (25/01/2008)
5069==========================
5070
5071 • List of changes between 0.5.2 and 0.5.4
5072
5073   » A clutter-x11-<major>.<minor> pkg-config file is installed along
5074     with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
5075     ones, for libraries and applications depending on the X11-based
5076     backends (GLX and EGLX).
5077
5078   » Textures are correctly unrealized before changing and freeing the
5079     main GL context.
5080
5081   » It is now possible to block the automatic call to clutter_main_quit()
5082     when closing the stage window using the frame controls by connecting
5083     an handler for the ::event signal on the Clutter stage and checking
5084     for the CLUTTER_DELETE event type and returning TRUE. This allows
5085     the usage of other main loops with GLib reactors (like Python's twisted)
5086     with Clutter without triggering assertions by closing the stage window.
5087
5088 • List of bugs fixed
5089
5090   » #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
5091   » #614 - ClutterActor API inconsistencies
5092   » #640 - ClutterTexture unrealized with no GL context
5093   » #654 - Under heavy load clutter sometimes drops the last frame of
5094     a timeline [Johan Bilien]
5095   » #672 - Event handling in osx backend is broken [Tommi Komulainen]
5096   » #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
5097   » #695 - clutter-shader: Invalid format string for
5098     gssize [Tommi Komulainen]
5099   » #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
5100   » #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
5101   » #714 - clutter_event_copy for enter/leave event generates
5102     extra unref [Neil Roberts]
5103   » #715 - Type errors in test-shader
5104   » #720 - BehaviourScale not working in python after recent
5105     API change [Josh Stewart]
5106
5107Clutter 0.5.2 (14/01/2008)
5108==========================
5109
5110 • List of changes between 0.5.0 and 0.5.2
5111
5112   » ClutterModelDefault has been renamed to ClutterListModel
5113
5114   » ClutterModel now has vector-based variants for append, prepend and
5115     insert methods; these methods are useful for bindings
5116
5117   » Add units-based variant for clutter_actor_move_by()
5118
5119 • List of bugs fixed
5120
5121   » #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
5122   » #700 - Fix for clutter_effect_rotate() [Neil Roberts]
5123
5124Clutter 0.5.0 (02/01/2008)
5125==========================
5126
5127 • List of changes between 0.4.2 and 0.5.0
5128
5129   » New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
5130     flag set will receive events from the underlying backend; the event
5131     propagation chain will be walked in two directions (from the actor to
5132     the top-level container and back) with the ability to block it in
5133     both phases.
5134
5135   » ClutterShader, an abstraction over the programmable OpenGL pipeline.
5136
5137   » ClutterScore, an object for controlling timelines; using a score
5138     instance is possible to start multiple timelines at once, or start
5139     a timeline after another has emitted the ::complete signal.
5140
5141   » ClutterScript, an object for parsing a scene from an external file or
5142     a buffer; the scene is described using JSON (JavaScript Object Notation):
5143     every object is defined using its class and properties, and container
5144     objects can have their children defined as well. It is also possible
5145     do describe top-level objects such as timelines and behaviours, and to
5146     automatically connect signal handlers to signal names.
5147
5148   » ClutterTimelines duration can now be set in milliseconds using the
5149     :duration property; the default framerate will be used to compute the
5150     actual duration in frames. The default framerate will be set by the
5151     backend, and can be overridden by the application.
5152
5153   » ClutterTimelines direction can now be set using the :direction
5154     property; a timeline can be set to proceed forward or backward,
5155     and the direction can also be change while the timeline is still
5156     running.
5157
5158   » New, experimental OSX backend.
5159
5160   » Build environment for MS VisualStudio 2005.
5161
5162   » ClutterModel, a generic list-based model object that can be used to
5163     implement actors following the Model-Viewer-Controller design pattern.
5164     Clutter provides a default implementation of ClutterModel, called
5165     ClutterModelDefault and using the GSequence data structure from GLib
5166     to optimize insertion and look up.
5167
5168   » Add the ability to grab pointer and keyboard events: if an actor
5169     is set to have a grab it'll be the only one receiving events until
5170     it releases the grab.
5171
5172   » Add the ability for an actor to receive the key focus; an actor
5173     with key focus will always receive the key events, even if it did
5174     not acquire the keyboard grab.
5175
5176   » It is now possible to set the GL "fog" (also known as "depth cueing")
5177     effect on the ClutterStage; if the fog is enabled, actors farther
5178     away from the view point will fade into the stage background color.
5179
5180   » Each actor now has an "anchor point", a point defined in the actor's
5181     coordinate space that will be used as the origin when scaling and
5182     rotation transformations.
5183
5184   » Every pixel-based API has been doubled with a corresponding
5185     ClutterUnits-based function (postfixed with a '-u'), for instance:
5186
5187       clutter_actor_set_position() - clutter_actor_set_positionu()
5188       clutter_actor_set_size()     - clutter_actor_set_sizeu()
5189       clutter_actor_set_depth()    - clutter_actor_set_depthu()
5190
5191     This allows sub-pixel precision and device independence.
5192
5193   » The ClutterLabel actor now tries very hard to provide a sane
5194     default size, if no bounding box has been requested; this fixes
5195     the :alignment property and allows the addition of the :justify
5196     property.
5197
5198   » The SDL backend can now be compiled under win32 with MingW; this
5199     backend is still marked as experimental.
5200
5201   » The OSX backend allows the compilation of Clutter under OS X; this
5202     backend is experimental.
5203
5204 • List of bugs fixed
5205
5206   » #423 - All actors should emit events rather than just the stage
5207   » #424 - Interface definition files
5208   » #443 - ClutterModel implementation
5209   » #480 - Uninitialized variable in
5210     path_alpha_to_position() [Gwenole Beauchesne]
5211   » #511 - clutter_stage_get_actor_at_pos problem
5212   » #512 - clutter window moves when stage actor is scaled
5213   » #518 - XEMBED not supported in eglx backend
5214   » #519 - Should have an Atom cache initialized on start up
5215   » #520 - Delete after multibyte unicode chars in
5216     ClutterEntry [Tommi Komulainen]
5217   » #522 - Array out of bounds indexing [Tommi Komulainen]
5218   » #523 - cogl portability fixes [Tommi Komulainen]
5219   » #524 - missing config.h includes [Tommi Komulainen]
5220   » #525 - Redundant include in cogl/gl [Tommi Komulainen]
5221   » #531 - Extraneous "new-frame" signal generated
5222   » #532 - clutter_actor_set_scale_with_gravityx()
5223     precision [Gwenole Beauchesne]
5224   » #544 - clutter_color_to_hlsx is broken [Neil Roberts]
5225   » #546 - ClutterStageState doesn't make sense
5226   » #550 - Wanted: Set Actor's position based on center or other
5227     edges/corners of quadrangle
5228   » #557 - ClutterScript should support complex properties for third
5229     party classes
5230   » #558 - Unmerge UI definitions
5231   » #566 - ClutterEntry does not scroll the text to the
5232     right [Gwenole Beauchesne]
5233   » #577 - Inconsistent naming of behaviour properties
5234   » #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
5235   » #582 - api naming inconsistence between
5236            clutter_behaviour_path_append_knots and
5237            clutter_behaviour_bspline_append
5238   » #584 - Typo on clutter_effect_rotate_x documentation page
5239   » #592 - Fix build on trunk [Gwenole Beauchesne]
5240   » #596 - ClutterTexture tileing logic is a little borked
5241   » #597 - ClutterGroups not pickable
5242   » #600 - fix ClutterLabel layout computing when no box has been set
5243   » #604 - Color param for Label constructor should be
5244     const [Jonathon Jongsma]
5245   » #606 - enable depth test in GL
5246   » #608 - Control motion events frequency
5247   » #614 - ClutterActor API inconsistencies
5248   » #616 - ClutterTexture doesn't respect width set from clutterscript
5249   » #617 - ClutterEffect Improvements
5250   » #618 - ClutterScript name/id confusion
5251   » #619 - clutter_behavior_rotate angle properties should accept
5252     negative values
5253   » #628 - clutter_actor_rotate_x() is a setter, not a modifier
5254   » #629 - There is no clutter_actor_get_position()
5255   » #634 - clutter_behaviour_path_new() documentation unclear
5256   » #637 - add depth cueing support to the stage
5257   » #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
5258   » #647 - Cannot hide the stage
5259   » #648 - Hidden fullscreen stage doesn't come back as fullscreen
5260   » #652 - reference needed on actor being source of last motion_event
5261   » #661 - clutter_actor_set_width() documentation is vague
5262   » #662 - clutter_actor_set_opacity() documentation doesn't describe values
5263   » #665 - ClutterBehaviourEllipse tilts are broken
5264   » #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
5265   » #673 - ClutterActor "captured-events" signal documentation wrong
5266   » #674 - ClutterActor::get_depth() and set_depth() vfuncs not
5267     used [Murray Cumming]
5268   » #675 - update subregions of cluttertextures
5269   » #678 - ClutterLabel size allocation still bogus
5270
5271Clutter 0.4.0 (07/08/2007)
5272========================
5273
5274 • List of changes between 0.3.1 and 0.4.0
5275
5276   » Many documentation additions and improvements.
5277
5278   » Display DPI now honours on backends its can be queried.
5279
5280   » Various big endian related fixes.
5281
5282   » ClutterBehaviourEllipse and ClutterBehaviourRotate API and
5283   internals improvements.
5284
5285   » Add basic tslib support to eglnative backend (for touchscreen events)
5286
5287   » clutter_stage_get_actor_at_pos should now work on 16bpp displays.
5288
5289   » New ClutterEffect rotation calls.
5290
5291   » Allowing user resizing of the stage now optional.
5292    (implemented by glx backend only currently)
5293
5294   » ClutterEntry UTF8 fixes and improved automatic initial sizing.
5295
5296   » Make ClutterActor GInitiallyUnowned.
5297
5298   » New ClutterBox API: each box has now a colour and a margin (distance
5299     between the inner-border and the children); plus, each packed child
5300     has a padding. Margins and paddings are expressed in ClutterUnits,
5301     to ease the transition to the device independent units. You can use
5302     clutter_box_set_default_padding() if you want the same padding for
5303     each child.
5304
5305 • List of bug fixed
5306   » #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
5307   » #398 - inconsistent type for return value of clutter_event_get_state
5308   » #403 - Critical error when removing texture actor
5309   » #404 - Solaris build error with OpenGL, missing
5310            GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
5311   » #409 - depth mismatch between visual (32) and window (24)
5312   » #407 - metadata-available signal #ifdef'ed out
5313   » #413 - Clutter compile error with Sun Studio C compiler
5314   » #426 - typo in sdl_backend
5315   » #414 - ClutterEntry invisible if size not set
5316   » #434 - clutter_color_from_pixel incorrectly interprets alpha value
5317   » #435 - clutter_color_subtract does the opposite of its documentation
5318   » #436 - clutter-behaviour-depth always perform "from deep to shallow"
5319
5320Clutter 0.3.1 (06/07/2007)
5321========================
5322
5323 • List of changes between 0.3 and 0.3.1
5324   » EGL. There are now 2 experimental EGL backends;
5325     - 'eglx', the former EGL on X11 implementation (now renamed)
5326     - 'eglnative', a new EGL 'native' backend which supporting non
5327       X11 EGL implementations (i.e framebuffer).
5328
5329   » ClutterGroup now returns correct size when a child is removed.
5330
5331   » Missing redhand.png added to distro tarball (fixing tests that require
5332     it)
5333
5334   » Fix picking in ClutterBox
5335
5336   » Rectangle border creation fixed.
5337
5338   » Fix overflow in Exponential Alpha funcs.
5339
5340   » Many API documentation fixes and improvements.
5341
5342   » ClutterEffect cleanups.
5343
5344   » ClutterEntry cleanups.
5345
5346   » Check for versioned XFixes library (GLX backend).
5347
5348   » More X error traps in GLX backend.
5349
5350Clutter 0.3 (29/06/2007)
5351========================
5352
5353 • List of changes between 0.2.3 and 0.3
5354   » Clutter now supports both switchable windowing system and GL backends.
5355     Window systems supported include GLX, EGL and SDL.
5356
5357     GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
5358     provided by a small basic abstraction layer 'cogl.h'. Cogl is not
5359     yet documented - usage external to Clutter is not yet advised.
5360
5361     Backends may provide specific command line options.
5362
5363     Notes;
5364
5365     GLX
5366     ---
5367     The GLX backend is built by default and is currently the most
5368     developed, supported and featured windowing system backend. Only
5369     OpenGL is supported via GLX.
5370
5371     SDL
5372     ---
5373     Clutter has experimental support for using SDL. Open GL is supported as
5374     is OpenGL ES via Dogles (very experimental).
5375
5376     EGL
5377     ---
5378     Clutter has experimental support for using EGL. Only Open GL ES
5379     is supported by EGL.
5380
5381     EGL support assumes an EGL implementation running atop X Windows.
5382
5383     Open GL ES.
5384     -----------
5385
5386     Clutter now has experimental support for Open GL ES.
5387     Current known issues;
5388
5389     + Unrealising a ClutterTexture will not move pixel data from video
5390       into system memory but simply destroy it.
5391     + BGRA, YUV Texture data not currently supported.
5392
5393     (Use the clutter_feature API to probe for above at runtime)
5394
5395     Open Source ES implementations this has been tested against
5396     include `Vincent' and `dgles'.  Support for commerical
5397     implementations may require modifications to the configure.ac
5398     script.
5399
5400     vincent: http://ogl-es.sourceforge.net/
5401              (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
5402
5403     dgles: http://developer.hybrid.fi/dgles/index.html
5404
5405   » New ClutterEffect class provides a simplified (and thus less flexible)
5406     API wrapping around behaviours, alphas and timelines.
5407   » New Behaviours - bspline, ellipsis, rotation.
5408   » New built in Alpha functions;
5409      CLUTTER_ALPHA_SINE_INC
5410      CLUTTER_ALPHA_SINE_DEC
5411      CLUTTER_ALPHA_SINE_HALF
5412      CLUTTER_ALPHA_SQUARE
5413      CLUTTER_ALPHA_SMOOTHSTEP_INC
5414      CLUTTER_ALPHA_SMOOTHSTEP_DEC
5415      CLUTTER_ALPHA_EXP_INC
5416      CLUTTER_ALPHA_EXP_DEC
5417   » New Actors and interfaces
5418     + ClutterLayout, for writing extended layout support in actors
5419     + ClutterContainer, for generic container actors
5420     + ClutterBox, ClutterVBox and ClutterHBox layout actors.
5421     + ClutterEntry, text entry actor
5422   » ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
5423   » All internal math now fixed point based.
5424   » Clutter now has it own internal event queue.
5425   » ClutterStage new features;
5426     + Title property for naming in window decorations.
5427     + Perspective setting - The stages perspective can now be modified.
5428   » New Clutter_actor •project API calls allow for querying of tranformed
5429     actor vertices and points.
5430   » New Clutter Feature checks.
5431   » Initial ClutterUnit implementation for device independant positioning.
5432 • List of Bugs fixed
5433   » Various issues with very poor performance and Intel drivers.
5434   » #138 Fix typo in x rotation transform.
5435
5436Clutter 0.2.3 (2007-04-11)
5437==========================
5438
5439 • List of changed between 0.2.2 and 0.2.3
5440   » Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
5441   » Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
5442
5443Clutter 0.2.2 (2007-03-22)
5444==========================
5445
5446 • List of changed between 0.2.1 and 0.2.2
5447   » Addition of basic XEMBED support for clutter stage. [Matthew]
5448   » Fixes to clutter_texture_get_pixbuf(). [Matthew]
5449   » Export clutter_group_remove_all and add associated fixes. [Matthew]
5450
5451Clutter 0.2.1 (2007-02-07)
5452==========================
5453
5454 • List of changed between 0.2.0 and 0.2.1
5455   » Add even faster double to integer (and back) conversion
5456     functions. [Tomas]
5457   » Fix some errors in the fixed point sine waveform
5458     function. [Tomas]
5459   » Use fixed point math in the Pango renderer. [Tomas]
5460   » Improve the GL version check. [Matthew]
5461   » Add a square waveform function. [Emmanuele]
5462 • List of bugs fixed
5463   » #215 - macro CLUTTER_MARK() not disabled for non-debug builds
5464
5465Clutter 0.2 (18-01-2007)
5466========================
5467
5468 • List of changes between 0.2 and 0.1
5469   » Bindings, GStreamer and GTK+ dependencies moved out of tree:
5470     now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
5471   » Actors now have an initial floating reference; this means you
5472     don't have to explicitely unref them: every memory an actor
5473     allocates will be freed when the group containing the actor will
5474     be destroyed.
5475   » Add basic run-time detection of GL features.
5476     + Use GL_TEXTURE_RECTANGLE_ARB if available.
5477     + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
5478   » Add API for behaviours. A ClutterBehaviour is an object which
5479     drives a set of actors using one or more properties depending
5480     on the value of an "alpha" function.
5481     + Provide simple behaviours: ClutterBehaviourOpacity,
5482       ClutterBehaviourPath and ClutterBehaviourScale.
5483     + Provide simple alpha functions for ramps and sine waveforms.
5484   » Add fixed point API for embedded platforms with no FPU.
5485   » Add support for command line switches to Clutter, like debug
5486     flags and abort on warnings; also allow application to hook up
5487     into the initialisation sequence to add their own command line
5488     switches.
5489   » Add Pango GL renderer for Clutter, and use it to render text
5490     inside the ClutterLabel actor; this decrease texture memory
5491     usage.
5492   » Redo Clutter Label widget, using the new Pango renderer.
5493   » Clutter Textures do not store local pixbuf copy (of texture).
5494   » Redo group and actor scale/sizing API and functionality.
5495   » Add memory management API for ClutterColor, and string parsing.
5496 • List of bug fixed
5497   » #199 - Little group handling fix?
5498   » #198 - Detect NPOT support on more systems
5499   » #197 - Tiled textures are broken
5500   » #196 - Rebuild the examples when the library changes
5501   » #156 - clutter_actor_set_position not using the absolute size
5502   » #155 - Don't test for XInitThreads [Bastien Nocera]
5503   » #154 - Key presses not working in super-oh example [Bastien Nocera]
5504   » #152 - Misc fixes [Bastien Nocera]
5505   » #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
5506   » #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
5507   » #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
5508   »  #98 - Enabling trails in super-oh crashes
5509
5510Clutter 0.1 (22/06/2006)
5511========================
5512
5513 • First 'official' release, expect bugs aplenty.
5514 • Contains:
5515   » Hopefully enough functionality to build things.
5516   » Basic gstreamer 0.10 video playback support.
5517   » Fairly stable API, though in no way totally stable.
5518     Expect CHANGES in future versions.
5519   » Some simple examples ( also see OPT ).
5520   » An experimental GTK-Clutter widget.
5521   » Fairly complete Python bindings.
5522   » Non complete but hopefully useful API documentation.
5523 • If you want to help out see the TODO file.
5524