Released March 3rd 2008
You can find a brief version in this page
- 1 General
- 2 ETL
- 3 Layers
- 4 ValueNodes
- 5 Targets
- 6 Blend Methods
- 7 Canvases
- 8 Files
- 9 Settings
- 10 Linking
- 11 Quality
- 12 Waypoints
- 13 Time
- 14 Windows
- 15 Tools
- 16 Ducks
- 17 Misc
Update the website URL to synfig.org instead of synfig.com.
Removed the 'bootstrap' script for building. Use autoreconf instead.
Fixed errors and warnings detected by a pre-release version of g++ 4.3.
Synfig is now translatable using gettext. Currently only Spanish and French translations exist.
Fixes to allow sigc++ 2.1 and newer to be used. (1859663)
Make ETL-config a wrapper around pkg-config.
New layer, 'Duplicate'. This is an experimental feature, but seems to work quite well. It can be used to clone the layers under it multiple times.
When creating a new layer with a bline in it (outline, region, etc.) via the "New Layer" menu, make the new bline immediately editable. Previously it was necessary to convert the vertex list to type BLine before it could be edited.
Prevent a "bad_alloc" error in the 'PasteCanvas' layer caused by the bounding boxes changing when the user changes parameters while rendering.
Allow zooming furter in to nested PasteCanvas layers. (1809480)
New parameter "reverse" in the Plant layer allows plants to be rendered back-to-front.
Use the 'width' of each blinepoint in the plant layer to affect the velocities. Patch from genete. (1831897)
Add the 'offset' parameter to the Plant layer.
Don't let 'select all' select the green ducks of a plant layer.
Do some sanity checking on Plant layer parameters.
Prevent a crash when rendering a 'Stretch' layer with zero x or y amount. (1823082)
Make the 'Stretch' layer's "amount" duck be relative to the center duck.
Allow multibyte characters in the Text layer. Patch by Niki W. Waibel. ( 1852208)
First step towards fixing the problem of distorted 'Text' layers not rendering correctly at tile borders.
Polygon: Fix a crash when turning the first point in a polygon off. Draw in the complete outline of polygons when they are 'looped'.
Shade: Make the quality of the 'Shade' layer worse at quality 10 than it is at quality 9!
Shape: Rename the 'Position' parameter to 'Offset' for all the 'Shape' layers.
Spherize: Fix clipping for tile-based rendering in Spherize layer.
Star: New parameter "regular polygon" in the 'Star' layer allows regular polygons to be drawn.
Time Loop: New version 0.2 of the 'Time Loop' layer. It uses the same parameters as the newly added Time Loop ValueNode.
Warp: Fix a problem with the 'Warp' layer where some tiles weren't being rendered.
Add new types:
- 'Bline Width', to find the width of blines.
- 'Cos', to calculate cosines.
- 'Duplicate', only used by the Duplicate layer.
- 'From Integer', to convert integers to other types for linking to. Currently disabled.
- 'Random', to generate pseudo-random values.
- 'Reciprocal', to calculate reciprocals.
- 'Reverse Tangent', to reverse the direction of tangents.
- 'Step', to convert a parameter's curve into a step function.
- 'Switch', to switch between two alternative values.
- 'Time Loop', to allow individual parameters to be time looped, like the Time Loop layer, but for individual parameters.
- 'aTan2', to calculate inverse tangents.
Extended types: 'Add' and 'Subtract' now work with gradients.
Fix one memory leak and one filehandle leak in target 'png'.
Fix the ffmpeg/dv/imagemagick targets/importers on Windows.
Improved the 'imagemagick' target so it can create a series of numbered images.
Fixed the 'mng' and 'yuv420p' targets.
Security fixes: arbitrary code execution when rendering specially crafted .sif files.
Show which output target is used if it has been chosen automatically, not specified by the user.
Added new target 'magick++' for rendering multiple images to a single file using Magick++. When using version 7.3 of Magick++ it produces much better GIF images.
Fix the 'auto' render target selection, so it automatically choses the target type each time based on the filename.
Don't accept illegal values for 'blend_method'. Use 'Composite' instead.
Re-enable the 'alpha brighten' and 'alpha darken' blend methods.
Fix the 'straight', 'straight onto' and 'alpha brighten' blend methods. Even completely transparent pixels in the top layer should affect the result of these blends. Existing .sif files which relied on the previously broken behavior should still render correctly for the most part.
Fix a crash that was happening if we had 2 exported canvases in a .sif file where the 2nd contained a pastecanvas that used the 1st as its canvas. The canvases are destructed in the order in which they appear in the .sif file, so by the time the 2nd is destroyed, the pastecanvas it contains no longer has a valid canvas parameter. The fix is to clear the canvas parameter of any pastecanvases using a canvas when the canvas itself is destroyed.
Encapsulations containing imported images fail to clone properly (1838132)
Refer the user to a compatibility page if we try to load a .sif file that uses a not-yet-implemented ValueNode type, or that tries using a ValueNode with a type which it doesn't yet support.
Changed the .sif file format. 'Composite' and 'Radial Composite' ValueNodes used to be saved with obscure XML element names <c1>, <c2>, etc. Now we use more readable names <point>, <width>, etc. The old version is still accepted, and can still be written by selecting the old version from the "Save As..." dialog. The new format will not be accepted by previous releases of Synfig.
New Feature: Allow saving .sif files in formats that can be read by versions 0.61.07 and older.
Add information about which valuenode types were added in which release. Don't save new types in old format files.
Prevent a crash when loading a .sif file with 'use=""' in it.
Prevent studio crashing when loading a document that contains an unknown valuenode type from a newer version of synfig. Simply refuse to load the document instead. (1811250)
When doing a 'Save As', default to saving in the same directory that the file was loaded from, if any.
Remember separate default directories for opening and writing each of animations, images, sketches, rendered output, and "miscellaneous".
Added the option to run everything in the same thread. It doesn't work very well, and seems to cause more problems than it solves.
Default 'end time' for new canvases to 5s instead of 0. That's one less thing a new user then needs to edit to start making his first animation. Also, don't show the intimidating canvas properties dialog when a new composition is created, just use the defaults. Set environment variable "SYNFIG_ENABLE_NEW_CANVAS_EDIT_PROPERTIES" to revert this change locally.
If no documents are specified to be loaded on the command line at start-up, create a new empty document so the novice user can get started straight away. If environment variable SYNFIG_DISABLE_AUTOMATIC_DOCUMENT_CREATION is set, don't create a blank document on startup, even if no documents were specified on the command line. I'll add proper configuration items within the gui for this and other recent changes soon.
Add a setting in the gui for the auto-backup interval.
Fix a crash on Windows when recovering an auto-saved file which had never been saved.
Add a new time format: frames only, which shows times as just the number of frames, rather than breaking it into minutes, seconds, and frames.
When linking simple values, use the value from the topmost layer.
Attempting to link a duck from the Children panel with other ducks was causing an error. Now it isn't.
Change the default quality to 8. It makes shade layers render better without much impact on speed.
Label the preview qualities "best" and "fastest" because it's not clear that higher numbers mean lower qualities.
Fix ugly waypoint drawing by rounding to integer values symmetrically. The improvement can be seen here:
Improve the waypoint context menus. Now it's possible to delete and duplicate complete trees of waypoints at once. The 'change interp' functionality has been extended too, so now it's possible to set the interpolation type for the whole waypoint, or for just the 'in' or just the 'out' interpolation, without having to aim the right-click at a particular half of the waypoint. Improved the keyboard shortcuts on the waypoint context menus; to set the 'In' interpolation to Constant, type "IC", and so on.
Fix a crash when editing a waypoint with a non-static value.
Attach the "(Non-static value)" label into the waypoint dialog.
Experimental: "export SYNFIG_SHOW_CANVAS_PARAM_WAYPOINTS=1" to see canvas parameter waypoints, not canvas content waypoints in PasteCanvas layers. Doesn't work too well - dragging the waypoints doesn't work, for instance.
When a PasteCanvas' "time offset" parameter shifts the timing of its sub-canvas, the waypoints of that subcanvas are now displayed shifted accordingly.
Allow manual editing of the current time in the workarea window.
Don't expand time fields to their full format (eg. "1s" -> "0h 0m 1s 0f") when they get keyboard focus. export SYNFIG_SHOW_FULL_TIME_ON_FOCUS=1 will restore the old behaviour.
Make sure the time entry box shows the correct time - rounded to an integer number of frames.
Improve the range of different scales used on the timeslider. Previously 3 fps animations were having the timeslider labelled "0.75f, 1.5f, ..." rather than "1f, 2f, ...".
Subdivide the space between labels on the timeslider sensibly. Don't divide a 5 second gap into 4 parts of 1.25 seconds each, for instance.
Set minimum and maximum zoom levels for the timescroller.
Allow the use of horizontal scrolling to adjust the current time in timeslider widgets.
Improve the algorithm for determining the number of tick marks to put between pairs of labels in the timeslider widgets. It's better to divide 5 minutes into 5 tics of 1 minute each than 6 ticks of 50 seconds each, for example.
Added a new icon for values of type "Time", thanks to genete.
Rename "Dialogs" to "Panels" for the dockable windows.
My panels were drifting one or two pixels each time I started studio. This seems to be window-manager dependent. I've added environment variables to allow adjusting the drift to stop it. SYNFIG_WINDOW_POSITION_X_OFFSET and SYNFIG_WINDOW_POSITION_Y_OFFSET. Setting them both to 1 stops the drift for me in xfwm4.
Remember the position and size of the color and gradient dialogs even if they're not displayed when studio exits.
Applied patch from IL'dar AKHmetgaleev aka AkhIL to allow different pixel sizes in the workarea window. control-'(' and control-')' make the pixels bigger and smller.
If the window positions and sizes seem to be corrupted, give them sensible values to prevent them being created offscreen. (1836848)
Show a very simple message in the console on start-up so as not to scare people when they see an empty terminal window 'doing nothing'.
Show a similar message in the console on start-up if Studio is already running, to let the user know what is happening.
Allow adjustment of the default brush size using horizontal scrolling over the preview graphic.
With the re-enabling of 'Alpha Brighten', the toolbox has become a little wider. Some foreign translations of the blend method could also push it wider. And since we have 15 tool icons by default, I've made the toolbox 5 icons wide instead of 4, and rearranged them slightly. The top row is now all for "moving ducks", the middle row for "drawing stuff", and the bottom row is more drawing on the left and looking at stuff (eyedrop, zoom) on the right.
Fix the "File > Save all" menu entry.
Added environment variable SYNFIG_DISABLE_TILE_RENDER which when set will prevent the tile renderer from being used.
If environment variable "SYNFIG_SHOW_TILE_OUTLINES" is defined, draw red outlines around tiles as they are rendered. For debugging purposes.
Indicate that a canvas is unsaved by putting a '*' in front of its name.
The popup caret menu was disabled for some tools. New environment variable SYNFIG_ENABLE_POPUP_MENU_IN_ALL_TOOLS re-enables the popup menu when set. Should this be the default? Comments please to the bug report. (1829182)
Fix a crash that sometimes happened when closing a document. (1850637)
Studio occasionally renders the tiles in the wrong places. This was happening when the canvas was one pixel greater than an integer number of tiles wide, and low-resolution rendering (the default) was enabled. (1824437)
Don't hide and reshow the workarea window when the user clicks the 'X' button to close it. (1682008)
Add checkboxes to the toggleable entries in the view menu.
Add 'new', 'open' and 'quit' to the caret>file menu.
Change the default 'toggle onion skin' keyboard shortcut from control-o (which is the stock binding for 'open') to alt-o.
Keep the 'show grid' and 'snap to grid' checkboxes in the caret menu up to date. (1896834)
Fix crash closing preview window before using it. (1835429)
Canvas Properties Dialog
New environment variable: 'SYNFIG_DISABLE_NEW_CANVAS_EDIT_PROPERTIES'. When set, don't pop up the canvas properties dialog when creating a new document.
Fix a problem with the canvas properties dialog. It wasn't possible to edit both the 'name' and the renddesc parameters at the same time before.
By default, set "use current frame" in the render dialog to off. When "use current frame" is on, disable the Time tab's frame.
Disable the 'Time' tab when "use current frame" is checked.
Don't allow the user to set the 'ID' of exported canvases to be empty.
Color Editor Dialog
Make the spinbuttons wider so it's possible to read bigger numbers. Allow a decimal place in the spinbuttons. Previously only integer values were allowed.
Allow the layer panel to be sorted by layer name. Resize the layer name column to fit the layer names. Rename the "Layer" column to "Name". Add buttons for 'encapsulate' and 'show all child layers'.
Allow layers to be removed from groups without the user having to type the name of the group they are in.
Added a 'Type' column to the parameter dialog so it's possible to tell an 'Add' from a 'Subtract' convert for example.
Added a column showing the waypoints for each parameter. export SYNFIG_DISABLE_PARAMS_PANEL_TIMETRACK=1 to disable this.
Add a tooltip for the 'keyframe properties' icon. (1895689)
Renaming exported ValueNodes no longer causes a crash. (1823053)
Added a column showing the waypoints for each ValueNode.
The entries that appear in the History panel are now more explicit; they mostly now give details of the operation rather than just a generic fixed string, making it easier to navigate through the history. For example "Remove Layer 'left leg'" will show up rather than just "Remove Layer".
Scroll the history panel as actions are added to keep the current action in the centre of the display.
When the user types in the History dialog, search for any text in the 'name' column that matches the text. Previously it was only searching for names matching at the beginning.
Add a new icon to delete all 'undo' and 'redo' history together.
Show the correct SVN revision id in the about dialog. (1797745)
Remove the build information and use a new image by Rore
Prevent load/save failures in Spanish and other locales. (1830670)
Allow the bline tool to draw plants as well as outlines, regions, and curvegradients.
When the bline tool is creating new layers, arrange the new layers in the order: Outline - Region - Plant - Gradient, so that each layer is at least somewhat visible. Rename the "*layer_bline*" variables to "*layer_outline*" since they represent outlines specifically.
Always show the first point in the bline being drawn in green. Previously this happened only some of the time.
Only show bline vertices large when the mouse is really hovering over them. (1891491)
Fixed the 'fill last stroke' button in the drawing tool.
Rearrange the drawing tool options a little. Instead of 'region only' have checkboxes for 'region' and 'fill', like in the bline tool, so now it's possible to draw regions and outlines together.
When drawing an outline and a region at the same time, put the outline just on top of the region. (1829172)
Always leave only the newly created layers selected. (1830245)
Always draw 'real' ducks on the right hand side of the circle they define. Previously, canvases with a negative horizontal pixel width were drawing it on the left.
Add an option to restrict 'radius' ducks to the top right corner of the plane. This allows us to easily set their value to zero by dragging down and left. Thanks to Zelgadis on IRC for the suggestion. See "Toolbox > File > Setup Dialog > Misc > Restrict Real-Valued Ducks...".
Show the size of circles as they are drawn using the draw tool.
Give slight priority to radius ducks. That way, it's possible to select the radius duck for a circle with radius zero. Previously the position duck would usually be selected instead.
Have neither Control-A nor dragging a box around ducks select non-editable ducks, and have clicking individual ducks select them. (1891410)
Save the position and size of each open canvas window for each of the 'recent' files. When opening one of the recent files, re-open the canvases that were previously opened, with their previous positions and sizes.
Don't render feathering of circles or shapes (ie. outlines, regions, stars, polygons, etc), or motion blur, blur, or radial blur layers when the quality is 10.
New feature: allow importing of lipsynced voice animations from Papagayo. (1879688)
Inserting a new item into a list in animation mode caused unpredicatable renders before the time of insertion. (1841280)
The hex color code parser is much more forgiving now. Previously spaces before or after the color code would cause it to fail.
Don't treat the required values of command line flags as flags themselves. (1695735)
Initialise the 'time_last_changed' when creating a Node. Previously it was being left at a random value.
New feature: Angles are not wrapped modulo 360 degrees. It's possible to animate from 0 to 361 degrees and see a full rotation, rather than seeing it shortcutting as it was previously. It's also now possible to drag angle ducks around their origin multiple times and have the rotations count. (1827966)
Exported canvases weren't being deleted on shutdown, due to a handle never being released. (1868911)
Cloning inline canvases with different resolutions than the root canvas wasn't cloning the resolution information. (1891403)
Inserting a vertex in the closing link of a looped bline while still in the bline tool was putting the new vertex in the wrong place. (1891391)
Converting the first vertex of a looped bline was causing a crash. (1894998)
Allow a subcanvas to be used multiple times at different time offsets. (1896557)
Convert path to profile directory from UTF8 before trying to use it. (1837445)