1 Clutter 0.5.4 (25/01/2008)
2 ==========================
4 * List of changes between 0.5.2 and 0.5.4
6 o A clutter-x11-<major>.<minor> pkg-config file is installed along
7 with the clutter-<major>.<minor> and clutter-<backend>-<major>.<minor>
8 ones, for libraries and applications depending on the X11-based
9 backends (GLX and EGLX).
11 o Textures are correctly unrealized before changing and freeing the
14 o It is now possible to block the automatic call to clutter_main_quit()
15 when closing the stage window using the frame controls by connecting
16 an handler for the ::event signal on the Clutter stage and checking
17 for the CLUTTER_DELETE event type and returning TRUE. This allows
18 the usage of other main loops with GLib reactors (like Python's twisted)
19 with Clutter without triggering assertions by closing the stage window.
23 o #564 - Add more precise clutter_qdivx() [Gwenole Beauchesne]
24 o #614 - ClutterActor API inconsistencies
25 o #640 - ClutterTexture unrealized with no GL context
26 o #654 - Under heavy load clutter sometimes drops the last frame of
27 a timeline [Johan Bilien]
28 o #672 - Event handling in osx backend is broken [Tommi Komulainen]
29 o #684 - Improve test-scale by also using anchor point [Jaap A. Haitsma]
30 o #695 - clutter-shader: Invalid format string for
31 gssize [Tommi Komulainen]
32 o #696 - cogl_get_proc_address requires GLX [Tommi Komulainen]
33 o #709 - clutter_effect_scale inconsistent with clutter_actor_set_scale
34 o #714 - clutter_event_copy for enter/leave event generates
35 extra unref [Neil Roberts]
36 o #715 - Type errors in test-shader
37 o #720 - BehaviourScale not working in python after recent
38 API change [Josh Stewart]
40 Clutter 0.5.2 (14/01/2008)
41 ==========================
43 * List of changes between 0.5.0 and 0.5.2
45 o ClutterModelDefault has been renamed to ClutterListModel
47 o ClutterModel now has vector-based variants for append, prepend and
48 insert methods; these methods are useful for bindings
50 o Add units-based variant for clutter_actor_move_by()
54 o #694 - Handle GLhandleARB on OS X [Tommi Komulainen]
55 o #700 - Fix for clutter_effect_rotate() [Neil Roberts]
57 Clutter 0.5.0 (02/01/2008)
58 ==========================
60 * List of changes between 0.4.2 and 0.5.0
62 o New event handling system: every actor with the CLUTTER_ACTOR_REACTIVE
63 flag set will receive events from the underlying backend; the event
64 propagation chain will be walked in two directions (from the actor to
65 the top-level container and back) with the ability to block it in
68 o ClutterShader, an abstraction over the programmable OpenGL pipeline.
70 o ClutterScore, an object for controlling timelines; using a score
71 instance is possible to start multiple timelines at once, or start
72 a timeline after another has emitted the ::complete signal.
74 o ClutterScript, an object for parsing a scene from an external file or
75 a buffer; the scene is described using JSON (JavaScript Object Notation):
76 every object is defined using its class and properties, and container
77 objects can have their children defined as well. It is also possible
78 do describe top-level objects such as timelines and behaviours, and to
79 automatically connect signal handlers to signal names.
81 o ClutterTimelines duration can now be set in milliseconds using the
82 :duration property; the default framerate will be used to compute the
83 actual duration in frames. The default framerate will be set by the
84 backend, and can be overridden by the application.
86 o ClutterTimelines direction can now be set using the :direction
87 property; a timeline can be set to proceed forward or backward,
88 and the direction can also be change while the timeline is still
91 o New, experimental OSX backend.
93 o Build environment for MS VisualStudio 2005.
95 o ClutterModel, a generic list-based model object that can be used to
96 implement actors following the Model-Viewer-Controller design pattern.
97 Clutter provides a default implementation of ClutterModel, called
98 ClutterModelDefault and using the GSequence data structure from GLib
99 to optimize insertion and look up.
101 o Add the ability to grab pointer and keyboard events: if an actor
102 is set to have a grab it'll be the only one receiving events until
103 it releases the grab.
105 o Add the ability for an actor to receive the key focus; an actor
106 with key focus will always receive the key events, even if it did
107 not acquire the keyboard grab.
109 o It is now possible to set the GL "fog" (also known as "depth cueing")
110 effect on the ClutterStage; if the fog is enabled, actors farther
111 away from the view point will fade into the stage background color.
113 o Each actor now has an "anchor point", a point defined in the actor's
114 coordinate space that will be used as the origin when scaling and
115 rotation transformations.
117 o Every pixel-based API has been doubled with a corresponding
118 ClutterUnits-based function (postfixed with a '-u'), for instance:
120 clutter_actor_set_position() - clutter_actor_set_positionu()
121 clutter_actor_set_size() - clutter_actor_set_sizeu()
122 clutter_actor_set_depth() - clutter_actor_set_depthu()
124 This allows sub-pixel precision and device independence.
126 o The ClutterLabel actor now tries very hard to provide a sane
127 default size, if no bounding box has been requested; this fixes
128 the :alignment property and allows the addition of the :justify
131 o The SDL backend can now be compiled under win32 with MingW; this
132 backend is still marked as experimental.
134 o The OSX backend allows the compilation of Clutter under OS X; this
135 backend is experimental.
139 o #423 - All actors should emit events rather than just the stage
140 o #424 - Interface definition files
141 o #443 - ClutterModel implementation
142 o #480 - Uninitialized variable in
143 path_alpha_to_position() [Gwenole Beauchesne]
144 o #511 - clutter_stage_get_actor_at_pos problem
145 o #512 - clutter window moves when stage actor is scaled
146 o #518 - XEMBED not supported in eglx backend
147 o #519 - Should have an Atom cache initialized on start up
148 o #520 - Delete after multibyte unicode chars in
149 ClutterEntry [Tommi Komulainen]
150 o #522 - Array out of bounds indexing [Tommi Komulainen]
151 o #523 - cogl portability fixes [Tommi Komulainen]
152 o #524 - missing config.h includes [Tommi Komulainen]
153 o #525 - Redundant include in cogl/gl [Tommi Komulainen]
154 o #531 - Extraneous "new-frame" signal generated
155 o #532 - clutter_actor_set_scale_with_gravityx()
156 precision [Gwenole Beauchesne]
157 o #544 - clutter_color_to_hlsx is broken [Neil Roberts]
158 o #546 - ClutterStageState doesn't make sense
159 o #550 - Wanted: Set Actor's position based on center or other
160 edges/corners of quadrangle
161 o #557 - ClutterScript should support complex properties for third
163 o #558 - Unmerge UI definitions
164 o #566 - ClutterEntry does not scroll the text to the
165 right [Gwenole Beauchesne]
166 o #577 - Inconsistent naming of behaviour properties
167 o #580 - Fix call to cogl_enable() [Gwenole Beauchesne]
168 o #582 - api naming inconsistence between
169 clutter_behaviour_path_append_knots and
170 clutter_behaviour_bspline_append
171 o #584 - Typo on clutter_effect_rotate_x documentation page
172 o #592 - Fix build on trunk [Gwenole Beauchesne]
173 o #596 - ClutterTexture tileing logic is a little borked
174 o #597 - ClutterGroups not pickable
175 o #600 - fix ClutterLabel layout computing when no box has been set
176 o #604 - Color param for Label constructor should be
177 const [Jonathon Jongsma]
178 o #606 - enable depth test in GL
179 o #608 - Control motion events frequency
180 o #614 - ClutterActor API inconsistencies
181 o #616 - ClutterTexture doesn't respect width set from clutterscript
182 o #617 - ClutterEffect Improvements
183 o #618 - ClutterScript name/id confusion
184 o #619 - clutter_behavior_rotate angle properties should accept
186 o #628 - clutter_actor_rotate_x() is a setter, not a modifier
187 o #629 - There is no clutter_actor_get_position()
188 o #634 - clutter_behaviour_path_new() documentation unclear
189 o #637 - add depth cueing support to the stage
190 o #645 - Fix crash in clutter_label_new_full() [Gwenole Beauchesne]
191 o #647 - Cannot hide the stage
192 o #648 - Hidden fullscreen stage doesn't come back as fullscreen
193 o #652 - reference needed on actor being source of last motion_event
194 o #661 - clutter_actor_set_width() documentation is vague
195 o #662 - clutter_actor_set_opacity() documentation doesn't describe values
196 o #665 - ClutterBehaviourEllipse tilts are broken
197 o #670 - Fix clutter_container_lower_child() [Gwenole Beauchesne]
198 o #673 - ClutterActor "captured-events" signal documentation wrong
199 o #674 - ClutterActor::get_depth() and set_depth() vfuncs not
200 used [Murray Cumming]
201 o #675 - update subregions of cluttertextures
202 o #678 - ClutterLabel size allocation still bogus
204 Clutter 0.4.0 (07/08/2007)
205 ========================
207 * List of changes between 0.3.1 and 0.4.0
209 o Many documentation additions and improvements.
211 o Display DPI now honours on backends its can be queried.
213 o Various big endian related fixes.
215 o ClutterBehaviourEllipse and ClutterBehaviourRotate API and
216 internals improvements.
218 o Add basic tslib support to eglnative backend (for touchscreen events)
220 o clutter_stage_get_actor_at_pos should now work on 16bpp displays.
222 o New ClutterEffect rotation calls.
224 o Allowing user resizing of the stage now optional.
225 (implemented by glx backend only currently)
227 o ClutterEntry UTF8 fixes and improved automatic initial sizing.
229 o Make ClutterActor GInitiallyUnowned.
231 o New ClutterBox API: each box has now a colour and a margin (distance
232 between the inner-border and the children); plus, each packed child
233 has a padding. Margins and paddings are expressed in ClutterUnits,
234 to ease the transition to the device independent units. You can use
235 clutter_box_set_default_padding() if you want the same padding for
239 o #390 - clutter_stage_get_actor_at_pos broken on 16bpp displays.
240 o #398 - inconsistent type for return value of clutter_event_get_state
241 o #403 - Critical error when removing texture actor
242 o #404 - Solaris build error with OpenGL, missing
243 GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB and GL_TEXTURE_RECTANGLE_ARB
244 o #409 - depth mismatch between visual (32) and window (24)
245 o #407 - metadata-available signal #ifdef'ed out
246 o #413 - Clutter compile error with Sun Studio C compiler
247 o #426 - typo in sdl_backend
248 o #414 - ClutterEntry invisible if size not set
249 o #434 - clutter_color_from_pixel incorrectly interprets alpha value
250 o #435 - clutter_color_subtract does the opposite of its documentation
251 o #436 - clutter-behaviour-depth always perform "from deep to shallow"
253 Clutter 0.3.1 (06/07/2007)
254 ========================
256 * List of changes between 0.3 and 0.3.1
257 o EGL. There are now 2 experimental EGL backends;
258 - 'eglx', the former EGL on X11 implementation (now renamed)
259 - 'eglnative', a new EGL 'native' backend which supporting non
260 X11 EGL implementations (i.e framebuffer).
262 o ClutterGroup now returns correct size when a child is removed.
264 o Missing redhand.png added to distro tarball (fixing tests that require
267 o Fix picking in ClutterBox
269 o Rectangle border creation fixed.
271 o Fix overflow in Exponential Alpha funcs.
273 o Many API documentation fixes and improvements.
275 o ClutterEffect cleanups.
277 o ClutterEntry cleanups.
279 o Check for versioned XFixes library (GLX backend).
281 o More X error traps in GLX backend.
283 Clutter 0.3 (29/06/2007)
284 ========================
286 * List of changes between 0.2.3 and 0.3
287 o Clutter now supports both switchable windowing system and GL backends.
288 Window systems supported include GLX, EGL and SDL.
290 GL support includes OpenGL 1.2+ and OpenGL ES 1.1. This is
291 provided by a small basic abstraction layer 'cogl.h'. Cogl is not
292 yet documented - usage external to Clutter is not yet advised.
294 Backends may provide specific command line options.
300 The GLX backend is built by default and is currently the most
301 developed, supported and featured windowing system backend. Only
302 OpenGL is supported via GLX.
306 Clutter has experimental support for using SDL. Open GL is supported as
307 is OpenGL ES via Dogles (very experimental).
311 Clutter has experimental support for using EGL. Only Open GL ES
314 EGL support assumes an EGL implementation running atop X Windows.
319 Clutter now has experimental support for Open GL ES.
320 Current known issues;
322 + Unrealising a ClutterTexture will not move pixel data from video
323 into system memory but simply destroy it.
324 + BGRA, YUV Texture data not currently supported.
326 (Use the clutter_feature API to probe for above at runtime)
328 Open Source ES implementations this has been tested against
329 include `Vincent' and `dgles'. Support for commerical
330 implementations may require modifications to the configure.ac
333 vincent: http://ogl-es.sourceforge.net/
334 (Also see: http://svn.o-hand.com/repos/misc/trunk/ogles/ )
336 dgles: http://developer.hybrid.fi/dgles/index.html
338 o New ClutterEffect class provides a simplified (and thus less flexible)
339 API wrapping around behaviours, alphas and timelines.
340 o New Behaviours - bspline, ellipsis, rotation.
341 o New built in Alpha functions;
342 CLUTTER_ALPHA_SINE_INC
343 CLUTTER_ALPHA_SINE_DEC
344 CLUTTER_ALPHA_SINE_HALF
346 CLUTTER_ALPHA_SMOOTHSTEP_INC
347 CLUTTER_ALPHA_SMOOTHSTEP_DEC
348 CLUTTER_ALPHA_EXP_INC
349 CLUTTER_ALPHA_EXP_DEC
350 o New Actors and interfaces
351 + ClutterLayout, for writing extended layout support in actors
352 + ClutterContainer, for generic container actors
353 + ClutterBox, ClutterVBox and ClutterHBox layout actors.
354 + ClutterEntry, text entry actor
355 o ClutterTexture now handles BGRA, YUV and premultiplied alpha data.
356 o All internal math now fixed point based.
357 o Clutter now has it own internal event queue.
358 o ClutterStage new features;
359 + Title property for naming in window decorations.
360 + Perspective setting - The stages perspective can now be modified.
361 o New Clutter_actor *project API calls allow for querying of tranformed
362 actor vertices and points.
363 o New Clutter Feature checks.
364 o Initial ClutterUnit implementation for device independant positioning.
366 o Various issues with very poor performance and Intel drivers.
367 o #138 Fix typo in x rotation transform.
369 Clutter 0.2.3 (2007-04-11)
370 ==========================
372 * List of changed between 0.2.2 and 0.2.3
373 o Fixes to tile based textures and again clutter_texture_get_pixbuf(). [Matthew]
374 o Implement Gravity for ClutterScaleBehaviour. [Matthew, Rob]
376 Clutter 0.2.2 (2007-03-22)
377 ==========================
379 * List of changed between 0.2.1 and 0.2.2
380 o Addition of basic XEMBED support for clutter stage. [Matthew]
381 o Fixes to clutter_texture_get_pixbuf(). [Matthew]
382 o Export clutter_group_remove_all and add associated fixes. [Matthew]
384 Clutter 0.2.1 (2007-02-07)
385 ==========================
387 * List of changed between 0.2.0 and 0.2.1
388 o Add even faster double to integer (and back) conversion
390 o Fix some errors in the fixed point sine waveform
392 o Use fixed point math in the Pango renderer. [Tomas]
393 o Improve the GL version check. [Matthew]
394 o Add a square waveform function. [Emmanuele]
396 o #215 - macro CLUTTER_MARK() not disabled for non-debug builds
398 Clutter 0.2 (18-01-2007)
399 ========================
401 * List of changes between 0.2 and 0.1
402 o Bindings, GStreamer and GTK+ dependencies moved out of tree:
403 now Clutter strictly depends on Xlibs, OpenGL and GdkPixbuf only.
404 o Actors now have an initial floating reference; this means you
405 don't have to explicitely unref them: every memory an actor
406 allocates will be freed when the group containing the actor will
408 o Add basic run-time detection of GL features.
409 + Use GL_TEXTURE_RECTANGLE_ARB if available.
410 + Attempt to set up sync to vblank (set CLUTTER_VBLANK=none to disable)
411 o Add API for behaviours. A ClutterBehaviour is an object which
412 drives a set of actors using one or more properties depending
413 on the value of an "alpha" function.
414 + Provide simple behaviours: ClutterBehaviourOpacity,
415 ClutterBehaviourPath and ClutterBehaviourScale.
416 + Provide simple alpha functions for ramps and sine waveforms.
417 o Add fixed point API for embedded platforms with no FPU.
418 o Add support for command line switches to Clutter, like debug
419 flags and abort on warnings; also allow application to hook up
420 into the initialisation sequence to add their own command line
422 o Add Pango GL renderer for Clutter, and use it to render text
423 inside the ClutterLabel actor; this decrease texture memory
425 o Redo Clutter Label widget, using the new Pango renderer.
426 o Clutter Textures do not store local pixbuf copy (of texture).
427 o Redo group and actor scale/sizing API and functionality.
428 o Add memory management API for ClutterColor, and string parsing.
430 o #199 - Little group handling fix?
431 o #198 - Detect NPOT support on more systems
432 o #197 - Tiled textures are broken
433 o #196 - Rebuild the examples when the library changes
434 o #156 - clutter_actor_set_position not using the absolute size
435 o #155 - Don't test for XInitThreads [Bastien Nocera]
436 o #154 - Key presses not working in super-oh example [Bastien Nocera]
437 o #152 - Misc fixes [Bastien Nocera]
438 o #143 - Faulty ref-counting in clutter_group_remove [Frederic Riss]
439 o #141 - Copy-pasto in clutter_media_set_volume [Frederic Riss]
440 o #101 - No package 'x11' found -- wrong configure [Tomasz Torcz]
441 o #98 - Enabling trails in super-oh crashes
443 Clutter 0.1 (22/06/2006)
444 ========================
446 * First 'official' release, expect bugs aplenty.
448 o Hopefully enough functionality to build things.
449 o Basic gstreamer 0.10 video playback support.
450 o Fairly stable API, though in no way totally stable.
451 Expect CHANGES in future versions.
452 o Some simple examples ( also see OPT ).
453 o An experimental GTK-Clutter widget.
454 o Fairly complete Python bindings.
455 o Non complete but hopefully useful API documentation.
456 * If you want to help out see the TODO file.