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