Updated Slovenian translation
[gegl.git] / NEWS
blobe2014fe338fec40703ad60a6548d550d9de8ca69
1                  ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
2                  GEGL - an image processing framework
3                  ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
5 Changes in GEGL 0.4.0
6 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
7  • Improvements to thread safety and parallelism.
8  • Lower overhead graph travesal due from rewrite of visitors
9  • OpenCL support now enabled by default when detected.
10  • Experimental multithreading, enable by setting
11    GEGL_THREADS=<number of threads> in the environment.
12  • Experimental mipmap rendering, which permits transparent rendering of
13    previews on smaller sized versions, enable by setting
14    GEGL_MIPMAP_RENDERING=true in the environment.
15  • Operations: 
16    • new operations: alien-map, antialias, apply-lens, bilateral-filter,
17      bump.map, cartoon, channel-mixer, color-enhance, color-exchange,
18      color-reduction, color-rotate, convolution-matrix, copy-buffer, cubism,
19      deinterlace, diffraction-patterns, distance-transform, displace, edge,
20      emboss, engrave, exposure, fractal-trace, high-pass, image-compare,
21      illusion, invert-gamma, lens-flare, linear, linear-gradient, mosaic,
22      motion-blur-circular, motion-blur-zoom, noise-cell noise-cie-lch,
23      noise-hsv, noise-hurl, noise-pick, noise-rgb, noise-simplex, noise-spread,
24      n-point deformation ops, oilify, panorama-projection, photocopy, plasma,
25      radial-gradient, red-eye-removal, scale-size-keep-aspect, softglow,
26      stretch-contrast, texturize-canvas, tile-glass, tile-seamless, tile-paper,
27      tile, warp, whirl-pinch, wind, cache, cast-format, lcms-from-profile,
28      npy-save, webp-load, webp-save, scale-ratio, scale-size, seamless-clone,
29      sinus, supernova, value-propagate, video-degradation
30    • reimplementation of gaussian-blur faster and more accurate
31    • support for using URIs in image loaders
32  • Buffer:
33    • New default tile backend, doing disk writes in a separate thread.
35 Contributions from: 
37   Albert F, Alexandre Prokoudine, Alexia Death, Akash Akya, Anders Jonsson,
38   Andika Triwidada, Andreas Fischer, Angh, Awaw Fumin, Barak Itkin, Bruce
39   Cowan, Carlos Zubieta, Cédric Valmary, Chris Leonard, Christian Kirbach,
40   Clayton Walker, Daniel Mustieles, Daniel Nylander, Daniel Sabo, Debarshi Ray,
41   Denis Knoepfle, Dimitris Papavasiliou, Dimitris Spingos, Djavan Fagundes, Dov
42   Grobgeld, Elle Stone, Enrico Nicoletto, Felix Ulber, Florian Klemme,
43   Francisco Vila, Fran Diéguez, Georges Basile Stavracas Neto, Hans Lo, Harald
44   Korneliussen, Hartmut Kuhse, Inaki Larranaga Murgoitio, Isaac Wagner, Jan
45   Vesely, Jan Vesely, Jehan, Jon Nordby, Jordi Mas, Kalev Lember, Kristjan
46   Schmidt, Marco Ciampa, Marek Dvoroznak, Maria Mavridou, Martijn van Beers,
47   Martin Nordholts, Martin Srebotnjak, Massimo Valentini, Matej Urbančič,
48   Maxime Nicco, Michael Henning, Michael Muré, Michael Natterer, Mikael
49   Magnusson, Miroslav Talasek, Muhammet Kara, Mukund Sivaraman, Nana Chery,
50   Nick Black, Nicolas Robidoux, Nils Philippsen, Norm Murray, Pascal Giessler,
51   Piotr Drąg, Quentin Glidic, Rafael Ferreira, Rasmus, RPG, Rūdolfs Mazurs,
52   Samir Ribic, Samuel Pitoiset, sebul, Simon Budig, Sven Claussner, Téo Mazars,
53   Thomas Manni, Tim Lunn, Tim Mooney, Ting-Wei Lan, Tom Stellard, Ulf-D.
54   Ehlert, Vadim Rutkovsky, Victor Oliveira, Ville Sokk, Vincent Untz, Yongjia
55   Zhang, Yongjia Zhang, Øyvind Kolås and 周 周.
57 Changes in GEGL 0.2.0
58 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
59  • OpenCL support
60  • build improvements.
61  • High level API to apply ops directly to buffers with arguments.
62  • Final bits of translation infrastructure.
63  • Invalidate regions when disconnecting input pads.
65  • Operations:
66    • New operation: global-matting
67    • Allow transform core to do perspective transforms.
68    • Added string based key/value pairs to operations.
69    • Added arguments for dealing with scaled down preview rendering.
70  • Added human interaction ranges and non-linear mapping to properties.
72  • Buffer:
73    • Removed broken lanczos sampler.
74    • Add gegl_buffer_set_color and gegl_buffer_set_pattern
75    • Added ability to drop cached tiles.
76    • Added API for handling abyss policy (not implemented yet)
77    • Avoid iterating global tile cache when flushing/destroying buffers
78      that have no tiles in the cache.
80 Contributions from:
82 Øyvind Kolås, Martin Nordholts, Hans Petter Jansson, Mikael Magnusson, Victor
83 Oliveira, Nils Philippsen, Kevin Cozens, Michael Muré, Jan Rüegg, Michael
84 Natterer, Michael Henning, Massimo Valentini, Alexandre Prokoudine and
85 Jon Nordby.
87 Changes in GEGL 0.1.8
88 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
89  • New operations: spread, vignette, map-relative, noise-reduction, plasma,
90      fractal-trace, exr-save, lens-correct, emboss, cubism, ripple,
91      color-to-alpha, color-rotate, red-eye-removal, convolution-matrix,
92      deinterlace, polar-coordinates, lens-distortion, pixelise.
94  • Split GeglView GTK Widget into separate utility library
96  • build/test improvements.
97  • Buffer:
98    • Added lohalo resampler, API and infrastructure for doing non-
99      affine resamplings.
101 Contributions from:
103 Øyvind Kolås, Michael Natterer, Barak Itkin, Nils Philippsen, Mukund Sivaraman,
104 Jon Nordby, Emilio Pozuelo Monfort, Étienne Bersac, Martin Nordholts,
105 Victor Oliveira, Michael Muré, Michael Schumacher, Adam Turcotte,
106 Nicolas Robidoux, Robert Sasu, Massimo Valentini, Joao S. O. Bueno,
107 Hans Lo, Zbigniew Chyla, David Evans and Javier Jardón.
110 Changes in GEGL 0.1.6
111 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
112  • New operations: max-rgb, pixelise, motion blur.
114  • Fixed a bug in matting-levin that made GEGL halt due to errors
115    detected by babl sanity code, this made 0.1.4 be unusable if you had
116    all dependendencies when building.
117  • build/test improvements.
118  • Buffer:
119      Added API to use external tile backends, allowing to plug-in alien
120      tilebackends, for GIMP/Krita/OSM or similar.
122 Contributions from:
124 Tobias Ellinghaus, Øyvind Kolås, Barak Itkin and Martin Nordholts
126 Changes in GEGL 0.1.4
127 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
128  • Operations:
129      save (chooses delegate save op automatically)
130      rgbe load/save
131      jpeg200 load/save
132      ppm load/save
133      map-absolute (GIMP cage tool gsoc helper op)
134      whirl and pinch
135      mirrors
136      grid render
137      fixed imagemagick fallback load op
138      fixed pipe based dcraw wrapper
139      GSoC 2010 ops: exp-combine, reinhard05, fattal02, mantiuk06, matting-levin
140  • Various source and build improvements.
141  • improvements towards threaded rendering
142  • Buffer:
143      refactored away some constant overhead
144      made GeglBufferIterator API public
146 Contributions from:
148 Michael Natterer, Øyvind Kolås, Vincent Untz, Kaja Liiv, Nils
149 Philippsen, Étienne Bersac, Martin Nordholts, Debarshi Ray, Danny
150 Robson, Stuart Axon, Kao, Mukund Sivaraman, Ruben Vermeersch, Barak
151 Itkin, Michael Muré, Mikael Magnusson, Patrick Horgan and Andy Gill.
153 Changes in GEGL 0.1.2
154 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
155  • GeglLookup, configurable floating point lookup tables for lazy computation.
156  • Use GFileIOStream in GeglTileBackendFile.
157  • Optimizations: in-place processing for point filters/composers,
158      SIMD version of gegl:opacity, avoid making unneccesary sub-buffers,
159      removed some manual instrumentation from critical paths, improved
160      speed of samplers.
161  • Added xml composition/reference image based regression tests.
162  • Added performance tracking framework.
163  • Syntactic sugar using varargs for constructing gegl graphs from C.
164  • Build fixes on cygwin,
165  • Gegl# fixes.
166  • Initial, but unstable code towards multithreading.
167  • Improvements to lua op in workshop.
168  • Added new resamplers upsize, upsharp, upsmooth, downsize, downsharp and
169    downsmooth.
170  • Removed gegl:tonemap and gegl:normal ops.
172 Contributions from:
173   Martin Nordholts, Sven Neumann, Nils Philippsen, Adam Turcotte,
174   Danny Robson, Michael Schumacher, Ruben Vermeersch, Øyvind Kolås,
175   Javier Jardón, Yaakov Selkowitz and Michael Natterer, Kaja Liiv
176   and Eric Daoust.
178 Changes in GEGL 0.1.0
179 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
180  • Renamed gegl:load-buffer to gegl:buffer-source and gegl:save-buffer
181    to gegl:buffer-sink (but the old names still work)
182  • Represent colors using doubles instead of floats (this change is
183    independent from internal processing)
184  • Removed the GTK+ UI parts of the gegl binary and turned gegl into a
185    pure command line tool (which can still visualize stuff with help
186    help the SDL based display operation)
187  • Consider {x=G_MININT/2, y=G_MININT/2, width=G_MAXINT, height=G_MAXINT}
188    as the only valid region in which processing may occur. Processing
189    outside of this region is undefined behaviour.
190  • Added support for storing allocation stack traces for GeglBuffers
191    so that debugging buffer leaks becomes much easier
192  • Made small changes and cleanups of the public API, e.g.
193    • Removed gegl_node_adapt_child()
194    • Made GeglConfig an explicit object
195    • Removed most of the ifdeffed stuff to mask away internal
196      structures
197    • Added gegl_rectangle_infinite_plane() and
198      gegl_rectangle_is_infinite_plane()
199  • Added new sampler GeglSamplerSharp
200  • Added format property to gegl:buffer-sink
201  • Cleaned up and made gegl:introspect work again
202  • Add a bunch of test cases using the automake test system (make check)
203    and also port buffer tests to automake
204  • General cleanups, bug fixes, increased robustness and improved
205    documentation
207 Contributions from:
208   Øyvind Kolås, Sven Neumann, Étienne Bersac, Hubert Figuiere, Martin
209   Nordholts, Nicolas Robidoux, Michael Natterer, Ruben Vermeersch,
210   Kevin Cozens, Manish Singh, Gary V. Vaughan, James Legg,
211   Henrik Åkesson, Fryderyk Dziarmagowski, Ozan Caglayan and
212   Tobias Mueller.
215 Changes in GEGL 0.0.22
216 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
217  • GeglOperation
218    • operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix.
219    • gegl:opacity - combine value and aux mask input when both are available.
220    • gegl:src-in - deal correctly with extens.
221    • gegl:path - new op covering the stroke/fill needs of SVG.
222    • deprecated gegl:shift, the affine family of operations now
223      uses the same fast code paths for integer translations.
224  • GeglBuffer
225    • Profiling motivated speed ups in data reading/writing.
226    • Remove left-over swapfiles from dead processes at startup.
227  • GeglNode
228    • made gegl_node_add_child and gegl_node_remove_child public API. (#507298)
229  • GeglPath
230    Vector path representation infrastructure, supporting poly lines and beziers
231    by default, the infrastructure allows extensions from applications with
232    other curve types (smooth curves, spiro curves and others.).
234 Contributions from:
235   Hubert Figuiere, Sven Neumann, Øyvind Kolås, Michael Natterer,
236   Kevin Cozens, Sam Hocevar, Martin Nordholts, Manish Singh,
237   Étienne Bersac and Michael Schumacher.
239 Changes in GEGL 0.0.20
240 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
241  • Build and code clean ups and fixes.
242  • RAW loader using libopenraw.
243  • GeglBuffer
244    • Linear buffer support, amongst other things enabling GeglBuffer API access
245      to external linear buffers in memory.
246    • Reworked samplers using a shared caching neighbourhood infrastructure.
247    • YAFR - a new resampler contributed by Nicolas Robidoux.
248  • GeglVector
249    • Added SVG parsing capability (no serialisation yet).
250  • GeglOperations
251    • Marked user visible strings for translation.
252    • Added a fill operation that renders a path.
254 Contributions from:
255   Martin Nordholts, Øyvind Kolås, Sam Hocevar, Manish Singh, Hubert Figuiere,
256   Sven Neumann and yahvuu at gmail.com.
258 Changes in GEGL 0.0.18
259 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
260  • Configuration both from commandline arguments and at runtime.
261  • GeglBuffer
262    • New raw tiled raster file format, used both as swap and stored buffers.
263    • Sharing between processes through synced swap.
264    • Babl powered scan iteration infrastructure for efficient access.
265    • Cubic and lanczos samplers re-enabled.
266  • Operations
267    • Use scan iterator for point-filter, point-composer and point-render base
268      classes internally for minimal amount of copies.
269    • Optimized variants of some point and compositing operations reimplemented
270      using a new data type /g4float/ that allows writing CPU agnostic vectorized
271      code for GCC.
272    • New temporal filter base class, for operations operating on color values from
273      neighbouring frames in a video stream.
274    • Autogenerated operation reference installed for use with devhelp.
275    • New operations: write-buffer, v4l, color-temperature.
277 Contributions from:
278   Øyvind Kolås, Kevin Cozens, Sven Neumann, Manish Singh, Martin Nordholts,
279   Étienne Bersac, Hans Petter Jansson, Jan Heller, dmacks@netspace.org,
280   Sven Anders, Hubert Figuiere and Geert Jordaens.
282 Changes in GEGL 0.0.16
283 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
284  • Install headers for development of external operation plug-ins.
285  • Added rowstride argument to gegl_buffer_set ()
286  • Made it possible for sink operations to do chunkwise processing
287    through GeglProcessor.
288    when processed using a GeglProcessor.
289  • constification of GeglRectangles and babl formats.
290  • Build and dist fixes, plugged annoying buffer leaks, GEGL now
291    also works on OSX
293 Contributions from:
294   Øyvind Kolås, Étienne Bersac, Kevin Cozens, Sven Neumann,
295   Manish Singh, Michael Natterer, Hans Brauer, Deji Akingunola,
296   Bradley Broom and Tor Lillqvist.
298 Changes in GEGL 0.0.14
299 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
300  • Relicensed under LGPLv3+.
301  • Per node caches (faster recomputation when properties of nodes in
302    composition change)
303  • Sampler framework for interpolation.
304  • Modified API for retrieving scaled buffers gegl_node_blit / gegl_buffer_get.
305  • Renamed XML serialization and parsing API to be descendants of GeglNode.
306  • Progress monitoring for GeglProcessor
307  • New operation base class GeglOperationAreaFilter
308  • API reference installed and browsable using devhelp.
309  • New operations: ff-load, mono-mixer, contrast-curve, save-pixbuf,
310    compositing ops from SVG-1.2 draft, value-invert, convert-format,
311    bilateral-filter, snn-mean
313 Contributions from:
314   Étienne Bersac, Kevin Cozens, Manish Singh, Mark Probst, Martin Nordholts,
315   Michael Schumacher, Mukund Sivaraman, Shlomi Fish, Tor Lillqvist and
316   Øyvind Kolås
319 Changes in GEGL 0.0.12
320 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
321  • Swapping out of image pyramid.
322  • Speedups to text rendering.
323  • GEGL compiles on win32
324  • GEGL_SWAP now specifies swapdir location.
325  • Small refactorings of public API.
326  • Changed the XML parser/serializer to not use attributes for node properties.
327  • Improvements to documentation.
328  • Automagic build environment for operations simplified.
329  • Internal API for saving/loading GeglBuffers to/from disk.
330  • Ruby, C# and Python bindings added to version control system
331    (not included in distributed tarball)
333 Contributions from:
335 Kevin Cozens, Michael Schumacher. Sven Neumann and Øyvind Kolås,
337 Changes in GEGL 0.0.8
338 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
339 The GEGL 0.0.8 release tarball didn't build properly and was removed, the
340 0.0.10 release replaces the 0.0.8 release.
343 Changes in GEGL 0.0.6
344 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
345  • hit detection code
346  • handling of relative/absolute path names for XML.
347  • merged GeglNode and GeglGraph classes.
348  • build fixes for Win32 and FreeBSD
349  • temporarily disabled custom cairo in test application.
350  • png and EXR improvements.
352 Contributions from:
353   Dominik Ernst, Kevin Cozens, Øyvind Kolås and Michael Schumacher.
356 Changes in GEGL 0.0.4
357 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
358 This was the first public release of GEGL.
360  • 8bit, 16bit integer and 32bit floating point, RGB, CIE Lab, YCbCr and naive
361    CMYK output.
362  • Extendable through plug-ins.
363  • XML, C and Python interfaces.
364  • Memory efficient evaluation of subregions.
365  • Tiled, sparse, pyramidial and larger than RAM buffers.
366  • Rich core set of processing operations
367     • PNG, JPEG, SVG, EXR, RAW and other image sources.
368     • Arithmetic operations, porter duff compositing operations, SVG blend
369       modes, other blend modes, apply mask.
370       • Gaussian blur.
371       • Basic color correction tools.
372       • Most processing done with High Dynamic Range routines.
373       • Text layouting using pango
375 Contributions from:
376   Dominik Ernst, Kevin Cozens, Manish Singh, Martin Nordholts, Michael Natterer.
377   Philip Lafleur, Sven Neumann and Øyvind Kolås.
379 Changes in GEGL 0.0.x
380 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
381 Contributions from:
382   Calvin Williamson, Caroline Dahloff Daniel Rogers, Garry R. Osgood, Jay Cox
383   and Sven Neumann,