summaryrefslogtreecommitdiff
path: root/NEWS
blob: e2014fe338fec40703ad60a6548d550d9de8ca69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
                 ⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽⎽
                 GEGL - an image processing framework
                 ⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺

Changes in GEGL 0.4.0
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Improvements to thread safety and parallelism.
 • Lower overhead graph travesal due from rewrite of visitors
 • OpenCL support now enabled by default when detected.
 • Experimental multithreading, enable by setting
   GEGL_THREADS=<number of threads> in the environment.
 • Experimental mipmap rendering, which permits transparent rendering of
   previews on smaller sized versions, enable by setting
   GEGL_MIPMAP_RENDERING=true in the environment.
 • Operations: 
   • new operations: alien-map, antialias, apply-lens, bilateral-filter,
     bump.map, cartoon, channel-mixer, color-enhance, color-exchange,
     color-reduction, color-rotate, convolution-matrix, copy-buffer, cubism,
     deinterlace, diffraction-patterns, distance-transform, displace, edge,
     emboss, engrave, exposure, fractal-trace, high-pass, image-compare,
     illusion, invert-gamma, lens-flare, linear, linear-gradient, mosaic,
     motion-blur-circular, motion-blur-zoom, noise-cell noise-cie-lch,
     noise-hsv, noise-hurl, noise-pick, noise-rgb, noise-simplex, noise-spread,
     n-point deformation ops, oilify, panorama-projection, photocopy, plasma,
     radial-gradient, red-eye-removal, scale-size-keep-aspect, softglow,
     stretch-contrast, texturize-canvas, tile-glass, tile-seamless, tile-paper,
     tile, warp, whirl-pinch, wind, cache, cast-format, lcms-from-profile,
     npy-save, webp-load, webp-save, scale-ratio, scale-size, seamless-clone,
     sinus, supernova, value-propagate, video-degradation
   • reimplementation of gaussian-blur faster and more accurate
   • support for using URIs in image loaders
 • Buffer:
   • New default tile backend, doing disk writes in a separate thread.

Contributions from: 

  Albert F, Alexandre Prokoudine, Alexia Death, Akash Akya, Anders Jonsson,
  Andika Triwidada, Andreas Fischer, Angh, Awaw Fumin, Barak Itkin, Bruce
  Cowan, Carlos Zubieta, Cédric Valmary, Chris Leonard, Christian Kirbach,
  Clayton Walker, Daniel Mustieles, Daniel Nylander, Daniel Sabo, Debarshi Ray,
  Denis Knoepfle, Dimitris Papavasiliou, Dimitris Spingos, Djavan Fagundes, Dov
  Grobgeld, Elle Stone, Enrico Nicoletto, Felix Ulber, Florian Klemme,
  Francisco Vila, Fran Diéguez, Georges Basile Stavracas Neto, Hans Lo, Harald
  Korneliussen, Hartmut Kuhse, Inaki Larranaga Murgoitio, Isaac Wagner, Jan
  Vesely, Jan Vesely, Jehan, Jon Nordby, Jordi Mas, Kalev Lember, Kristjan
  Schmidt, Marco Ciampa, Marek Dvoroznak, Maria Mavridou, Martijn van Beers,
  Martin Nordholts, Martin Srebotnjak, Massimo Valentini, Matej Urbančič,
  Maxime Nicco, Michael Henning, Michael Muré, Michael Natterer, Mikael
  Magnusson, Miroslav Talasek, Muhammet Kara, Mukund Sivaraman, Nana Chery,
  Nick Black, Nicolas Robidoux, Nils Philippsen, Norm Murray, Pascal Giessler,
  Piotr Drąg, Quentin Glidic, Rafael Ferreira, Rasmus, RPG, Rūdolfs Mazurs,
  Samir Ribic, Samuel Pitoiset, sebul, Simon Budig, Sven Claussner, Téo Mazars,
  Thomas Manni, Tim Lunn, Tim Mooney, Ting-Wei Lan, Tom Stellard, Ulf-D.
  Ehlert, Vadim Rutkovsky, Victor Oliveira, Ville Sokk, Vincent Untz, Yongjia
  Zhang, Yongjia Zhang, Øyvind Kolås and 周 周.

Changes in GEGL 0.2.0
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • OpenCL support
 • build improvements.
 • High level API to apply ops directly to buffers with arguments.
 • Final bits of translation infrastructure.
 • Invalidate regions when disconnecting input pads.

 • Operations:
   • New operation: global-matting
   • Allow transform core to do perspective transforms.
   • Added string based key/value pairs to operations.
   • Added arguments for dealing with scaled down preview rendering.
 • Added human interaction ranges and non-linear mapping to properties.

 • Buffer:
   • Removed broken lanczos sampler.
   • Add gegl_buffer_set_color and gegl_buffer_set_pattern
   • Added ability to drop cached tiles.
   • Added API for handling abyss policy (not implemented yet)
   • Avoid iterating global tile cache when flushing/destroying buffers
     that have no tiles in the cache.

Contributions from:

Øyvind Kolås, Martin Nordholts, Hans Petter Jansson, Mikael Magnusson, Victor
Oliveira, Nils Philippsen, Kevin Cozens, Michael Muré, Jan Rüegg, Michael
Natterer, Michael Henning, Massimo Valentini, Alexandre Prokoudine and
Jon Nordby.

Changes in GEGL 0.1.8
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • New operations: spread, vignette, map-relative, noise-reduction, plasma,
     fractal-trace, exr-save, lens-correct, emboss, cubism, ripple,
     color-to-alpha, color-rotate, red-eye-removal, convolution-matrix,
     deinterlace, polar-coordinates, lens-distortion, pixelise.

 • Split GeglView GTK Widget into separate utility library

 • build/test improvements.
 • Buffer:
   • Added lohalo resampler, API and infrastructure for doing non-
     affine resamplings.

Contributions from:

Øyvind Kolås, Michael Natterer, Barak Itkin, Nils Philippsen, Mukund Sivaraman,
Jon Nordby, Emilio Pozuelo Monfort, Étienne Bersac, Martin Nordholts,
Victor Oliveira, Michael Muré, Michael Schumacher, Adam Turcotte,
Nicolas Robidoux, Robert Sasu, Massimo Valentini, Joao S. O. Bueno,
Hans Lo, Zbigniew Chyla, David Evans and Javier Jardón.


Changes in GEGL 0.1.6
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • New operations: max-rgb, pixelise, motion blur.

 • Fixed a bug in matting-levin that made GEGL halt due to errors
   detected by babl sanity code, this made 0.1.4 be unusable if you had
   all dependendencies when building.
 • build/test improvements.
 • Buffer:
     Added API to use external tile backends, allowing to plug-in alien
     tilebackends, for GIMP/Krita/OSM or similar.

Contributions from:

Tobias Ellinghaus, Øyvind Kolås, Barak Itkin and Martin Nordholts

Changes in GEGL 0.1.4
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Operations:
     save (chooses delegate save op automatically)
     rgbe load/save
     jpeg200 load/save
     ppm load/save
     map-absolute (GIMP cage tool gsoc helper op)
     whirl and pinch
     mirrors
     grid render
     fixed imagemagick fallback load op
     fixed pipe based dcraw wrapper
     GSoC 2010 ops: exp-combine, reinhard05, fattal02, mantiuk06, matting-levin
 • Various source and build improvements.
 • improvements towards threaded rendering
 • Buffer:
     refactored away some constant overhead
     made GeglBufferIterator API public

Contributions from:

Michael Natterer, Øyvind Kolås, Vincent Untz, Kaja Liiv, Nils
Philippsen, Étienne Bersac, Martin Nordholts, Debarshi Ray, Danny
Robson, Stuart Axon, Kao, Mukund Sivaraman, Ruben Vermeersch, Barak
Itkin, Michael Muré, Mikael Magnusson, Patrick Horgan and Andy Gill.

Changes in GEGL 0.1.2
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • GeglLookup, configurable floating point lookup tables for lazy computation.
 • Use GFileIOStream in GeglTileBackendFile.
 • Optimizations: in-place processing for point filters/composers,
     SIMD version of gegl:opacity, avoid making unneccesary sub-buffers,
     removed some manual instrumentation from critical paths, improved
     speed of samplers.
 • Added xml composition/reference image based regression tests.
 • Added performance tracking framework.
 • Syntactic sugar using varargs for constructing gegl graphs from C.
 • Build fixes on cygwin,
 • Gegl# fixes.
 • Initial, but unstable code towards multithreading.
 • Improvements to lua op in workshop.
 • Added new resamplers upsize, upsharp, upsmooth, downsize, downsharp and
   downsmooth.
 • Removed gegl:tonemap and gegl:normal ops.

Contributions from:
  Martin Nordholts, Sven Neumann, Nils Philippsen, Adam Turcotte,
  Danny Robson, Michael Schumacher, Ruben Vermeersch, Øyvind Kolås,
  Javier Jardón, Yaakov Selkowitz and Michael Natterer, Kaja Liiv
  and Eric Daoust.

Changes in GEGL 0.1.0
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Renamed gegl:load-buffer to gegl:buffer-source and gegl:save-buffer
   to gegl:buffer-sink (but the old names still work)
 • Represent colors using doubles instead of floats (this change is
   independent from internal processing)
 • Removed the GTK+ UI parts of the gegl binary and turned gegl into a
   pure command line tool (which can still visualize stuff with help
   help the SDL based display operation)
 • Consider {x=G_MININT/2, y=G_MININT/2, width=G_MAXINT, height=G_MAXINT}
   as the only valid region in which processing may occur. Processing
   outside of this region is undefined behaviour.
 • Added support for storing allocation stack traces for GeglBuffers
   so that debugging buffer leaks becomes much easier
 • Made small changes and cleanups of the public API, e.g.
   • Removed gegl_node_adapt_child()
   • Made GeglConfig an explicit object
   • Removed most of the ifdeffed stuff to mask away internal
     structures
   • Added gegl_rectangle_infinite_plane() and
     gegl_rectangle_is_infinite_plane()
 • Added new sampler GeglSamplerSharp
 • Added format property to gegl:buffer-sink
 • Cleaned up and made gegl:introspect work again
 • Add a bunch of test cases using the automake test system (make check)
   and also port buffer tests to automake
 • General cleanups, bug fixes, increased robustness and improved
   documentation

Contributions from:
  Øyvind Kolås, Sven Neumann, Étienne Bersac, Hubert Figuiere, Martin
  Nordholts, Nicolas Robidoux, Michael Natterer, Ruben Vermeersch,
  Kevin Cozens, Manish Singh, Gary V. Vaughan, James Legg,
  Henrik Åkesson, Fryderyk Dziarmagowski, Ozan Caglayan and
  Tobias Mueller.


Changes in GEGL 0.0.22
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • GeglOperation
   • operation names are now prefixed, the ops in GEGL use 'gegl:' as prefix.
   • gegl:opacity - combine value and aux mask input when both are available.
   • gegl:src-in - deal correctly with extens.
   • gegl:path - new op covering the stroke/fill needs of SVG.
   • deprecated gegl:shift, the affine family of operations now
     uses the same fast code paths for integer translations.
 • GeglBuffer
   • Profiling motivated speed ups in data reading/writing.
   • Remove left-over swapfiles from dead processes at startup.
 • GeglNode
   • made gegl_node_add_child and gegl_node_remove_child public API. (#507298)
 • GeglPath
   Vector path representation infrastructure, supporting poly lines and beziers
   by default, the infrastructure allows extensions from applications with
   other curve types (smooth curves, spiro curves and others.).

Contributions from:
  Hubert Figuiere, Sven Neumann, Øyvind Kolås, Michael Natterer,
  Kevin Cozens, Sam Hocevar, Martin Nordholts, Manish Singh,
  Étienne Bersac and Michael Schumacher.

Changes in GEGL 0.0.20
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Build and code clean ups and fixes.
 • RAW loader using libopenraw.
 • GeglBuffer
   • Linear buffer support, amongst other things enabling GeglBuffer API access
     to external linear buffers in memory.
   • Reworked samplers using a shared caching neighbourhood infrastructure.
   • YAFR - a new resampler contributed by Nicolas Robidoux.
 • GeglVector
   • Added SVG parsing capability (no serialisation yet).
 • GeglOperations
   • Marked user visible strings for translation.
   • Added a fill operation that renders a path.

Contributions from:
  Martin Nordholts, Øyvind Kolås, Sam Hocevar, Manish Singh, Hubert Figuiere,
  Sven Neumann and yahvuu at gmail.com.

Changes in GEGL 0.0.18
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Configuration both from commandline arguments and at runtime.
 • GeglBuffer
   • New raw tiled raster file format, used both as swap and stored buffers.
   • Sharing between processes through synced swap.
   • Babl powered scan iteration infrastructure for efficient access.
   • Cubic and lanczos samplers re-enabled.
 • Operations
   • Use scan iterator for point-filter, point-composer and point-render base
     classes internally for minimal amount of copies.
   • Optimized variants of some point and compositing operations reimplemented
     using a new data type /g4float/ that allows writing CPU agnostic vectorized
     code for GCC.
   • New temporal filter base class, for operations operating on color values from
     neighbouring frames in a video stream.
   • Autogenerated operation reference installed for use with devhelp.
   • New operations: write-buffer, v4l, color-temperature.

Contributions from:
  Øyvind Kolås, Kevin Cozens, Sven Neumann, Manish Singh, Martin Nordholts,
  Étienne Bersac, Hans Petter Jansson, Jan Heller, dmacks@netspace.org,
  Sven Anders, Hubert Figuiere and Geert Jordaens.

Changes in GEGL 0.0.16
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Install headers for development of external operation plug-ins.
 • Added rowstride argument to gegl_buffer_set ()
 • Made it possible for sink operations to do chunkwise processing
   through GeglProcessor.
   when processed using a GeglProcessor.
 • constification of GeglRectangles and babl formats.
 • Build and dist fixes, plugged annoying buffer leaks, GEGL now
   also works on OSX

Contributions from:
  Øyvind Kolås, Étienne Bersac, Kevin Cozens, Sven Neumann,
  Manish Singh, Michael Natterer, Hans Brauer, Deji Akingunola,
  Bradley Broom and Tor Lillqvist.

Changes in GEGL 0.0.14
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Relicensed under LGPLv3+.
 • Per node caches (faster recomputation when properties of nodes in
   composition change)
 • Sampler framework for interpolation.
 • Modified API for retrieving scaled buffers gegl_node_blit / gegl_buffer_get.
 • Renamed XML serialization and parsing API to be descendants of GeglNode.
 • Progress monitoring for GeglProcessor
 • New operation base class GeglOperationAreaFilter
 • API reference installed and browsable using devhelp.
 • New operations: ff-load, mono-mixer, contrast-curve, save-pixbuf,
   compositing ops from SVG-1.2 draft, value-invert, convert-format,
   bilateral-filter, snn-mean

Contributions from:
  Étienne Bersac, Kevin Cozens, Manish Singh, Mark Probst, Martin Nordholts,
  Michael Schumacher, Mukund Sivaraman, Shlomi Fish, Tor Lillqvist and
  Øyvind Kolås


Changes in GEGL 0.0.12
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • Swapping out of image pyramid.
 • Speedups to text rendering.
 • GEGL compiles on win32
 • GEGL_SWAP now specifies swapdir location.
 • Small refactorings of public API.
 • Changed the XML parser/serializer to not use attributes for node properties.
 • Improvements to documentation.
 • Automagic build environment for operations simplified.
 • Internal API for saving/loading GeglBuffers to/from disk.
 • Ruby, C# and Python bindings added to version control system
   (not included in distributed tarball)

Contributions from:

Kevin Cozens, Michael Schumacher. Sven Neumann and Øyvind Kolås,

Changes in GEGL 0.0.8
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
The GEGL 0.0.8 release tarball didn't build properly and was removed, the
0.0.10 release replaces the 0.0.8 release.


Changes in GEGL 0.0.6
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
 • hit detection code
 • handling of relative/absolute path names for XML.
 • merged GeglNode and GeglGraph classes.
 • build fixes for Win32 and FreeBSD
 • temporarily disabled custom cairo in test application.
 • png and EXR improvements.

Contributions from:
  Dominik Ernst, Kevin Cozens, Øyvind Kolås and Michael Schumacher.


Changes in GEGL 0.0.4
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
This was the first public release of GEGL.

 • 8bit, 16bit integer and 32bit floating point, RGB, CIE Lab, YCbCr and naive
   CMYK output.
 • Extendable through plug-ins.
 • XML, C and Python interfaces.
 • Memory efficient evaluation of subregions.
 • Tiled, sparse, pyramidial and larger than RAM buffers.
 • Rich core set of processing operations
    • PNG, JPEG, SVG, EXR, RAW and other image sources.
    • Arithmetic operations, porter duff compositing operations, SVG blend
      modes, other blend modes, apply mask.
      • Gaussian blur.
      • Basic color correction tools.
      • Most processing done with High Dynamic Range routines.
      • Text layouting using pango

Contributions from:
  Dominik Ernst, Kevin Cozens, Manish Singh, Martin Nordholts, Michael Natterer.
  Philip Lafleur, Sven Neumann and Øyvind Kolås.

Changes in GEGL 0.0.x
⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺⎺
Contributions from:
  Calvin Williamson, Caroline Dahloff Daniel Rogers, Garry R. Osgood, Jay Cox
  and Sven Neumann,