2008-06-13 Emmanuele Bassi <ebassi@openedhand.com>
[profile/ivi/clutter.git] / NEWS
1 Clutter 0.7.0 (13/06/2008), "Booska"
2 ===============================================================================
3
4  * List of changes between 0.6 and 0.7.2
5
6    o COGL, the underlying GL abstraction layer in Clutter, has been
7      completely rewritten from the ground up. Its no longer a conceptual
8      hack but a documented, fully featured library pretty much in its
9      own right. COGL abstracts over Open GL, Open GL ES 1.1 and now
10      OpenGL ES 2.0, providing a smart uniform API over these libraries
11      with various utility features such as texture tiling abstractions,
12      paths and primitive rendering, FBO, shaders, etc.
13
14    o Clutter now provides an experimental backend for the Apple(tm)
15      iPhone and iPod Touch families of products.
16
17    o The Windows platform is now natively supported instead of
18      relying on the SDL libraries. The win32 backend is still
19      experimental.
20
21    o The X11 based backends now feature support for Actors that wrap
22      external X drawables (i.e the texture-from-pixmap extension and
23      fallbacks)
24
25    o Clutter now seamlessly supports multiple stages on the backends
26      that allow this feature.
27
28    o The custom Pango renderer has been completely rewritten, now using
29      the more modern and maintained PangoCairo (instead of FT2), and avoids
30      nasty subclassing hacks, supports smooth fast scaling of text, has
31      many edge case issues fixed and it still is very efficient (using
32      a texture glyph cache). It is even a little bit faster.
33
34    o Better texture support, timeline improvements, ClutterLabel and
35      ClutterEntry improvements, and container child properties are among
36      the new features - too many to fit in the NEWS file.
37
38  * List of bug fixes
39
40    o #358 - "window resizing doesn't show scaled stage"
41    o #425 - "COGL enhancements"
42    o #439 - "timing related pong lockup due to timeline_rewind somtimes
43             being ignored by timeline_timeout_func"
44    o #450 - "ClutterScore API enhancements"
45    o #641 - "add markers to timelines"
46    o #666 - "Large font size leads to missing ""W"" and wrong ""J"" character"
47    o #713 - "texture from pixmap"
48    o #791 - "default actors to visible"
49    o #800 - "CLUTTER_ALPHA_EXP_INC overflows"
50    o #804 - "clutter_actor_get_opacity returns composited alpha"
51    o #810 - "100 % CPU load with clutter_main()"
52    o #815 - "Split up request
53    o #816 - "clutter_actor_request_coords() should take a const box."
54    o #822 - "Fix clutter_actor_lower()"
55    o #823 - "Clean-up GLism's in clutter-core (below cogl)"
56    o #824 - "ClutterEntry should handle its own key events"
57    o #825 - "Removes GLisms from clutter-main.c"
58    o #831 - "configure.ac missing osx flavour help"
59    o #834 - "add ability to set anchor in json"
60    o #836 - "Optimize clutter_label_query_coords()"
61    o #839 - "Crash if put cursor over topmost pixel"
62    o #840 - "Implement prepare-paint and finish-paint signals."
63    o #848 - "Events dispatch doesn't work in GLX Xephyr"
64    o #850 - "Impossible to set ClutterRectangle border opacity to a value
65             different from the surface opacity"
66    o #857 - "cogl_color doesn't work in PowerVR PC Viewer"
67    o #860 - "ClutterAlpha leaks"
68    o #864 - "Allow instantiating and subclassing of ClutterStage"
69    o #871 - "Two problems with closing stages"
70    o #873 - "clutter_x11/glx_texture_pixmap issues"
71    o #874 - "Clipping on GL ES"
72    o #875 - "Clutter Label Issues"
73    o #881 - "Timelines require precise system timing"
74    o #882 - "Allow child properties for containers implementing the
75             ClutterContainer interface"
76    o #884 - "Add clutter_alpha_set_closure"
77    o #889 - "Error when building clutter-ivan with eglx"
78    o #891 - "assertion failed when test-behave exits"
79    o #892 - "Incorrect results using  rotation-[center|angle] properties"
80    o #894 - "Artifacts with the pango renderer"
81    o #900 - "clutter_actor_lower() and friends do not queue redraw"
82    o #906 - "Implement timing of the events"
83    o #908 - "Support transform from G_TYPE_INT to ClutterUnit"
84    o #909 - "OSX: missing NULL pointer handling"
85    o #910 - "OSX: missing memory pool"
86    o #911 - "OSX: add multistage support"
87    o #912 - "Invalid use of int* as parameter for glGetIntegerv"
88    o #913 - "cogl fails to build on OSX"
89    o #914 - "ClutterEntry is confused about characters vs. bytes"
90    o #915 - "clutter_entry_set_max_length(-1) misbehaves"
91    o #916 - "ClutterKeyEvent:unicode_value is ignored"
92    o #919 - "Replacement pango renderer"
93    o #927 - "Created ports for clutter
94    o #928 - "Reparenting a child that itself is a container doesn't work"
95    o #930 - "add support for quartz imagebackend"
96    o #931 - "suspicious size allocation for pixel data"
97    o #933 - ""X Error of failed request" when attempting to call
98             clutter_actor_request_coords()"
99    o #934 - "Update clutter-tutorial to build with clutter from svn trunk."
100    o #947 - "Destroying a stage is messy"
101    o #948 - "Remove texture rectangle support"
102    o #950 - "AltGr not handled"
103    o #951 - "Fix clutter_entry_init() in trunk"
104    o #952 - "Fix test-textures in trunk"
105    o #953 - "Actors are not hidden before unrealized or disposed"
106    o #955 - "ClutterLabel is missing fallback resolution handling"
107    o #959 - "Multiple minor improvements"
108    o #960 - "PangoContext creation code should not be duplicated"
109    o #961 - "Fails to build on OSX (query/request_coords is gone)"
110    o #964 - """unrealized"" signal of ClutterActor wrongly named"
111
112 Clutter 0.6.0 (18/02/2008)
113 ==========================
114
115  * List of changes between 0.5.6 and 0.6.0
116
117    o New documentation sections inside the API reference, describing
118      the animation framework.
119
120    o New API in ClutterActor for computing the actor's vertices in
121      the plane of a given ancestor and accessors to query whether an
122      actor is scaled or rotated
123
124  * List of bug fixed
125
126    o #613 - Extend point transformation API
127    o #779 - Rounding error in ClutterBehaviourScale [Havoc Pennington]
128    o #787 - tiled textures are broken
129    o #796 - segmentation fault when setting label text
130
131 Clutter 0.5.6 (11/02/2008)
132 ==========================
133
134  * List of changes between 0.5.4 and 0.5.6
135
136    o Reverted a last minute change in the depth sorting function of
137      ClutterGroup.
138
139    o Added the clutter_actor_move_anchor_point() family of functions,
140      which will set the anchor point at the given coordinates while
141      adjusting the actor postion so that the relative position of the
142      actor toward its parent remains the same.
143
144    o Provide a fallback for finding the Clutter alpha functions inside
145      a UI definition for ClutterScript in case g_module_open() fails.
146
147    o Add initial Frame Buffer Objects support in ClutterTexture; using
148      FBOs, where supported by the hardware and drivers, it's possible to
149      create a ClutterTexture from any actor.
150
151  * List of bugs fixed
152
153    o #386 - Stage is white unless a timeline is present
154    o #439 - timing related pong lockup due to timeline rewind...
155    o #440 - 1 pixel line flickering
156    o #442 - Shader support
157    o #451 - Improve font rendering quality (Pango)
158    o #452 - Textures are shown with distortion on Solaris/SPARC
159    o #526 - OSX backend
160    o #533 - Clutter stage is not shown under some conditions
161    o #540 - ClutterStage isn't always respecting requests to change size
162    o #549 - Backend offscreen API is broken
163    o #613 - Extend point transformation API
164    o #635 - Fix buffer overflow in clutter_texture_get_pixbuf() [Gwenole
165      Beauchesne]
166    o #643 - Superfluous "filter-quality" setting in texture_upload_data()?
167      [Gwenole Beauchesne]
168    o #689 - Rotating actor through layers does not handle opacity
169      correctly [Josh Stewart]
170    o #710 - Make "box-blur" test shader work in some way [Gwenole Beauchesne]
171    o #719 - X11 backend does not check window field in events [Havoc
172      Pennington]
173    o #724 - ClutterLabel reports wrong height when lines > 1
174    o #749 - "reactive" property does not change
175    o #751 - missing XSync in clutter-event-x11.c:xembed_set_info() [Havoc
176      Pennington]
177    o #756 - clutter_actor_get_abs_size returns bogus values
178    o #769 - OSX backend fails to build
179    o #770 - OSX: passing incompatible pointer type
180
181 Clutter 0.5.4 (25/01/2008)
182 ==========================
183
184  * List of changes between 0.5.2 and 0.5.4
185
186    o A clutter-x11-<major>.<minor> pkg-config file is installed along
187      with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
188      ones, for libraries and applications depending on the X11-based
189      backends (GLX and EGLX).
190
191    o Textures are correctly unrealized before changing and freeing the
192      main GL context.
193
194    o It is now possible to block the automatic call to clutter_main_quit()
195      when closing the stage window using the frame controls by connecting
196      an handler for the ::event signal on the Clutter stage and checking
197      for the CLUTTER_DELETE event type and returning TRUE. This allows
198      the usage of other main loops with GLib reactors (like Python's twisted)
199      with Clutter without triggering assertions by closing the stage window.
200
201  * List of bugs fixed
202
203    o #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
204    o #614 - ClutterActor API inconsistencies
205    o #640 - ClutterTexture unrealized with no GL context
206    o #654 - Under heavy load clutter sometimes drops the last frame of
207      a timeline [Johan Bilien]
208    o #672 - Event handling in osx backend is broken [Tommi Komulainen]
209    o #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
210    o #695 - clutter-shader: Invalid format string for
211      gssize [Tommi Komulainen]
212    o #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
213    o #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
214    o #714 - clutter_event_copy for enter/leave event generates
215      extra unref [Neil Roberts]
216    o #715 - Type errors in test-shader
217    o #720 - BehaviourScale not working in python after recent
218      API change [Josh Stewart]
219
220 Clutter 0.5.2 (14/01/2008)
221 ==========================
222
223  * List of changes between 0.5.0 and 0.5.2
224
225    o ClutterModelDefault has been renamed to ClutterListModel
226
227    o ClutterModel now has vector-based variants for append, prepend and
228      insert methods; these methods are useful for bindings
229
230    o Add units-based variant for clutter_actor_move_by()
231
232  * List of bugs fixed
233
234    o #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
235    o #700 - Fix for clutter_effect_rotate() [Neil Roberts]
236
237 Clutter 0.5.0 (02/01/2008)
238 ==========================
239
240  * List of changes between 0.4.2 and 0.5.0
241
242    o New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
243      flag set will receive events from the underlying backend; the event
244      propagation chain will be walked in two directions (from the actor to
245      the top-level container and back) with the ability to block it in
246      both phases.
247
248    o ClutterShader, an abstraction over the programmable OpenGL pipeline.
249
250    o ClutterScore, an object for controlling timelines; using a score
251      instance is possible to start multiple timelines at once, or start
252      a timeline after another has emitted the ::complete signal.
253
254    o ClutterScript, an object for parsing a scene from an external file or
255      a buffer; the scene is described using JSON (JavaScript Object Notation):
256      every object is defined using its class and properties, and container
257      objects can have their children defined as well. It is also possible
258      do describe top-level objects such as timelines and behaviours, and to
259      automatically connect signal handlers to signal names.
260
261    o ClutterTimelines duration can now be set in milliseconds using the
262      :duration property; the default framerate will be used to compute the
263      actual duration in frames. The default framerate will be set by the
264      backend, and can be overridden by the application.
265
266    o ClutterTimelines direction can now be set using the :direction
267      property; a timeline can be set to proceed forward or backward,
268      and the direction can also be change while the timeline is still
269      running.
270
271    o New, experimental OSX backend.
272
273    o Build environment for MS VisualStudio 2005.
274
275    o ClutterModel, a generic list-based model object that can be used to
276      implement actors following the Model-Viewer-Controller design pattern.
277      Clutter provides a default implementation of ClutterModel, called
278      ClutterModelDefault and using the GSequence data structure from GLib
279      to optimize insertion and look up.
280
281    o Add the ability to grab pointer and keyboard events: if an actor
282      is set to have a grab it'll be the only one receiving events until
283      it releases the grab.
284
285    o Add the ability for an actor to receive the key focus; an actor
286      with key focus will always receive the key events, even if it did
287      not acquire the keyboard grab.
288
289    o It is now possible to set the GL "fog" (also known as "depth cueing")
290      effect on the ClutterStage; if the fog is enabled, actors farther
291      away from the view point will fade into the stage background color.
292
293    o Each actor now has an "anchor point", a point defined in the actor's
294      coordinate space that will be used as the origin when scaling and
295      rotation transformations.
296
297    o Every pixel-based API has been doubled with a corresponding
298      ClutterUnits-based function (postfixed with a '-u'), for instance:
299
300        clutter_actor_set_position() - clutter_actor_set_positionu()
301        clutter_actor_set_size()     - clutter_actor_set_sizeu()
302        clutter_actor_set_depth()    - clutter_actor_set_depthu()
303
304      This allows sub-pixel precision and device independence.
305
306    o The ClutterLabel actor now tries very hard to provide a sane
307      default size, if no bounding box has been requested; this fixes
308      the :alignment property and allows the addition of the :justify
309      property.
310
311    o The SDL backend can now be compiled under win32 with MingW; this
312      backend is still marked as experimental.
313
314    o The OSX backend allows the compilation of Clutter under OS X; this
315      backend is experimental.
316
317  * List of bugs fixed
318
319    o #423 - All actors should emit events rather than just the stage
320    o #424 - Interface definition files
321    o #443 - ClutterModel implementation
322    o #480 - Uninitialized variable in
323      path_alpha_to_position() [Gwenole Beauchesne]
324    o #511 - clutter_stage_get_actor_at_pos problem
325    o #512 - clutter window moves when stage actor is scaled
326    o #518 - XEMBED not supported in eglx backend
327    o #519 - Should have an Atom cache initialized on start up
328    o #520 - Delete after multibyte unicode chars in
329      ClutterEntry [Tommi Komulainen]
330    o #522 - Array out of bounds indexing [Tommi Komulainen]
331    o #523 - cogl portability fixes [Tommi Komulainen]
332    o #524 - missing config.h includes [Tommi Komulainen]
333    o #525 - Redundant include in cogl/gl [Tommi Komulainen]
334    o #531 - Extraneous "new-frame" signal generated
335    o #532 - clutter_actor_set_scale_with_gravityx()
336      precision [Gwenole Beauchesne]
337    o #544 - clutter_color_to_hlsx is broken [Neil Roberts]
338    o #546 - ClutterStageState doesn't make sense
339    o #550 - Wanted: Set Actor's position based on center or other
340      edges/corners of quadrangle
341    o #557 - ClutterScript should support complex properties for third
342      party classes
343    o #558 - Unmerge UI definitions
344    o #566 - ClutterEntry does not scroll the text to the
345      right [Gwenole Beauchesne]
346    o #577 - Inconsistent naming of behaviour properties
347    o #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
348    o #582 - api naming inconsistence between
349             clutter_behaviour_path_append_knots and
350             clutter_behaviour_bspline_append
351    o #584 - Typo on clutter_effect_rotate_x documentation page
352    o #592 - Fix build on trunk [Gwenole Beauchesne]
353    o #596 - ClutterTexture tileing logic is a little borked 
354    o #597 - ClutterGroups not pickable
355    o #600 - fix ClutterLabel layout computing when no box has been set
356    o #604 - Color param for Label constructor should be
357      const [Jonathon Jongsma]
358    o #606 - enable depth test in GL
359    o #608 - Control motion events frequency
360    o #614 - ClutterActor API inconsistencies
361    o #616 - ClutterTexture doesn't respect width set from clutterscript
362    o #617 - ClutterEffect Improvements
363    o #618 - ClutterScript name/id confusion
364    o #619 - clutter_behavior_rotate angle properties should accept
365      negative values
366    o #628 - clutter_actor_rotate_x() is a setter, not a modifier
367    o #629 - There is no clutter_actor_get_position()
368    o #634 - clutter_behaviour_path_new() documentation unclear
369    o #637 - add depth cueing support to the stage
370    o #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
371    o #647 - Cannot hide the stage
372    o #648 - Hidden fullscreen stage doesn't come back as fullscreen
373    o #652 - reference needed on actor being source of last motion_event
374    o #661 - clutter_actor_set_width() documentation is vague
375    o #662 - clutter_actor_set_opacity() documentation doesn't describe values
376    o #665 - ClutterBehaviourEllipse tilts are broken
377    o #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
378    o #673 - ClutterActor "captured-events" signal documentation wrong
379    o #674 - ClutterActor::get_depth() and set_depth() vfuncs not
380      used [Murray Cumming]
381    o #675 - update subregions of cluttertextures
382    o #678 - ClutterLabel size allocation still bogus
383
384 Clutter 0.4.0 (07/08/2007)
385 ========================
386
387  * List of changes between 0.3.1 and 0.4.0
388
389    o Many documentation additions and improvements.
390
391    o Display DPI now honours on backends its can be queried.
392
393    o Various big endian related fixes.
394
395    o ClutterBehaviourEllipse and ClutterBehaviourRotate API and
396    internals improvements.
397
398    o Add basic tslib support to eglnative backend (for touchscreen events)
399
400    o clutter_stage_get_actor_at_pos should now work on 16bpp displays.
401
402    o New ClutterEffect rotation calls.
403
404    o Allowing user resizing of the stage now optional.
405     (implemented by glx backend only currently)
406
407    o ClutterEntry UTF8 fixes and improved automatic initial sizing.
408
409    o Make ClutterActor GInitiallyUnowned.
410
411    o New ClutterBox API: each box has now a colour and a margin (distance
412      between the inner-border and the children); plus, each packed child
413      has a padding. Margins and paddings are expressed in ClutterUnits,
414      to ease the transition to the device independent units. You can use
415      clutter_box_set_default_padding() if you want the same padding for
416      each child.
417
418  * List of bug fixed
419    o #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
420    o #398 - inconsistent type for return value of clutter_event_get_state
421    o #403 - Critical error when removing texture actor
422    o #404 - Solaris build error with OpenGL, missing
423             GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
424    o #409 - depth mismatch between visual (32) and window (24)
425    o #407 - metadata-available signal #ifdef'ed out
426    o #413 - Clutter compile error with Sun Studio C compiler
427    o #426 - typo in sdl_backend
428    o #414 - ClutterEntry invisible if size not set
429    o #434 - clutter_color_from_pixel incorrectly interprets alpha value
430    o #435 - clutter_color_subtract does the opposite of its documentation
431    o #436 - clutter-behaviour-depth always perform "from deep to shallow"
432
433 Clutter 0.3.1 (06/07/2007)
434 ========================
435
436  * List of changes between 0.3 and 0.3.1
437    o EGL. There are now 2 experimental EGL backends;
438      - 'eglx', the former EGL on X11 implementation (now renamed)
439      - 'eglnative', a new EGL 'native' backend which supporting non
440        X11 EGL implementations (i.e framebuffer).
441
442    o ClutterGroup now returns correct size when a child is removed.
443
444    o Missing redhand.png added to distro tarball (fixing tests that require
445      it)
446
447    o Fix picking in ClutterBox
448
449    o Rectangle border creation fixed.
450
451    o Fix overflow in Exponential Alpha funcs.
452
453    o Many API documentation fixes and improvements.
454
455    o ClutterEffect cleanups.
456
457    o ClutterEntry cleanups.
458
459    o Check for versioned XFixes library (GLX backend).
460
461    o More X error traps in GLX backend.
462
463 Clutter 0.3 (29/06/2007)
464 ========================
465
466  * List of changes between 0.2.3 and 0.3
467    o Clutter now supports both switchable windowing system and GL backends.
468      Window systems supported include GLX, EGL and SDL.
469
470      GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
471      provided by a small basic abstraction layer 'cogl.h'. Cogl is not
472      yet documented - usage external to Clutter is not yet advised.
473
474      Backends may provide specific command line options.
475
476      Notes;
477
478      GLX
479      ---
480      The GLX backend is built by default and is currently the most
481      developed, supported and featured windowing system backend. Only
482      OpenGL is supported via GLX.
483
484      SDL
485      ---
486      Clutter has experimental support for using SDL. Open GL is supported as
487      is OpenGL ES via Dogles (very experimental).
488
489      EGL
490      ---
491      Clutter has experimental support for using EGL. Only Open GL ES
492      is supported by EGL.
493
494      EGL support assumes an EGL implementation running atop X Windows.
495
496      Open GL ES.
497      -----------
498
499      Clutter now has experimental support for Open GL ES.
500      Current known issues;
501
502      + Unrealising a ClutterTexture will not move pixel data from video
503        into system memory but simply destroy it.
504      + BGRA, YUV Texture data not currently supported.
505
506      (Use the clutter_feature API to probe for above at runtime)
507
508      Open Source ES implementations this has been tested against
509      include `Vincent' and `dgles'.  Support for commerical
510      implementations may require modifications to the configure.ac
511      script.
512
513      vincent: http://ogl-es.sourceforge.net/
514               (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
515
516      dgles: http://developer.hybrid.fi/dgles/index.html
517
518    o New ClutterEffect class provides a simplified (and thus less flexible)
519      API wrapping around behaviours, alphas and timelines.
520    o New Behaviours - bspline, ellipsis, rotation.
521    o New built in Alpha functions;
522       CLUTTER_ALPHA_SINE_INC
523       CLUTTER_ALPHA_SINE_DEC
524       CLUTTER_ALPHA_SINE_HALF
525       CLUTTER_ALPHA_SQUARE
526       CLUTTER_ALPHA_SMOOTHSTEP_INC
527       CLUTTER_ALPHA_SMOOTHSTEP_DEC
528       CLUTTER_ALPHA_EXP_INC
529       CLUTTER_ALPHA_EXP_DEC
530    o New Actors and interfaces
531      + ClutterLayout, for writing extended layout support in actors
532      + ClutterContainer, for generic container actors
533      + ClutterBox, ClutterVBox and ClutterHBox layout actors.
534      + ClutterEntry, text entry actor
535    o ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
536    o All internal math now fixed point based.
537    o Clutter now has it own internal event queue.
538    o ClutterStage new features;
539      + Title property for naming in window decorations.
540      + Perspective setting - The stages perspective can now be modified.
541    o New Clutter_actor *project API calls allow for querying of tranformed
542      actor vertices and points.
543    o New Clutter Feature checks.
544    o Initial ClutterUnit implementation for device independant positioning.
545  * List of Bugs fixed
546    o Various issues with very poor performance and Intel drivers.
547    o #138 Fix typo in x rotation transform.
548
549 Clutter 0.2.3 (2007-04-11)
550 ==========================
551
552  * List of changed between 0.2.2 and 0.2.3
553    o Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
554    o Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
555
556 Clutter 0.2.2 (2007-03-22)
557 ==========================
558
559  * List of changed between 0.2.1 and 0.2.2
560    o Addition of basic XEMBED support for clutter stage. [Matthew]
561    o Fixes to clutter_texture_get_pixbuf(). [Matthew]
562    o Export clutter_group_remove_all and add associated fixes. [Matthew]
563
564 Clutter 0.2.1 (2007-02-07)
565 ==========================
566
567  * List of changed between 0.2.0 and 0.2.1
568    o Add even faster double to integer (and back) conversion
569      functions. [Tomas]
570    o Fix some errors in the fixed point sine waveform
571      function. [Tomas]
572    o Use fixed point math in the Pango renderer. [Tomas]
573    o Improve the GL version check. [Matthew]
574    o Add a square waveform function. [Emmanuele]
575  * List of bugs fixed
576    o #215 - macro CLUTTER_MARK() not disabled for non-debug builds
577
578 Clutter 0.2 (18-01-2007)
579 ========================
580
581  * List of changes between 0.2 and 0.1
582    o Bindings, GStreamer and GTK+ dependencies moved out of tree:
583      now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
584    o Actors now have an initial floating reference; this means you
585      don't have to explicitely unref them: every memory an actor
586      allocates will be freed when the group containing the actor will
587      be destroyed.
588    o Add basic run-time detection of GL features.
589      + Use GL_TEXTURE_RECTANGLE_ARB if available.
590      + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
591    o Add API for behaviours. A ClutterBehaviour is an object which
592      drives a set of actors using one or more properties depending
593      on the value of an "alpha" function.
594      + Provide simple behaviours: ClutterBehaviourOpacity,
595        ClutterBehaviourPath and ClutterBehaviourScale.
596      + Provide simple alpha functions for ramps and sine waveforms.
597    o Add fixed point API for embedded platforms with no FPU.
598    o Add support for command line switches to Clutter, like debug
599      flags and abort on warnings; also allow application to hook up
600      into the initialisation sequence to add their own command line
601      switches.
602    o Add Pango GL renderer for Clutter, and use it to render text
603      inside the ClutterLabel actor; this decrease texture memory
604      usage.
605    o Redo Clutter Label widget, using the new Pango renderer.
606    o Clutter Textures do not store local pixbuf copy (of texture).
607    o Redo group and actor scale/sizing API and functionality.
608    o Add memory management API for ClutterColor, and string parsing.
609  * List of bug fixed
610    o #199 - Little group handling fix?
611    o #198 - Detect NPOT support on more systems
612    o #197 - Tiled textures are broken
613    o #196 - Rebuild the examples when the library changes
614    o #156 - clutter_actor_set_position not using the absolute size
615    o #155 - Don't test for XInitThreads [Bastien Nocera]
616    o #154 - Key presses not working in super-oh example [Bastien Nocera]
617    o #152 - Misc fixes [Bastien Nocera]
618    o #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
619    o #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
620    o #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
621    o  #98 - Enabling trails in super-oh crashes
622
623 Clutter 0.1 (22/06/2006)
624 ========================
625
626  * First 'official' release, expect bugs aplenty.
627  * Contains:
628    o Hopefully enough functionality to build things.
629    o Basic gstreamer 0.10 video playback support.
630    o Fairly stable API, though in no way totally stable.
631      Expect CHANGES in future versions.
632    o Some simple examples ( also see OPT ).
633    o An experimental GTK-Clutter widget.
634    o Fairly complete Python bindings.
635    o Non complete but hopefully useful API documentation.
636  * If you want to help out see the TODO file.