commit 0e3dc92b07430b0626443524ca88f34f64ae1778
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue Oct 23 14:10:27 2018 +0200

    NEWS: update

 docs/NEWS.txt | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

commit 222068b408660013fb89eda366f249eefb028e46
Author: Ell <ell_se@yahoo.com>
Date:   Mon Oct 22 11:39:52 2018 -0400

    Partially revert "buffer: fix source rect passed to
    gegl_resample_{linear,boxfilter}()"

    Commit a7c730cf6e841a46d3b4546b86a234ae59206e9c trimmed the sample-
    buffer padding from the source-rect passed to the resampling
    functions.  This isn't strictly necessary, and has the negative
    effect of preventing the same padding from being present in the
    converted sample-buffer when using any of the _generic() resampling
    functions, causing artifacts.

    Revert the trimming of the resampling source-rect, though keep
    avoiding reading padding-region data from the source buffer, which
    should still be unnecessary.

 gegl/buffer/gegl-buffer-access.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

commit ed3cc6124cb7832eecaf4e3ff22d158fddf75e19
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Oct 22 17:18:48 2018 +0200

    jp2-load: remove unnedd cast in g_clear_pointer

 operations/external/jp2-load.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit a1804b75fdad12b729055a45a5e0f0b76c9dbda3
Author: Rodrigo Lledó <rodhos92@gmail.com>
Date:   Mon Oct 22 09:22:36 2018 +0000

    Update Spanish translation

 po/es.po | 189
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 98 insertions(+), 91 deletions(-)

commit 8c6ab9b0fd59e62c2563f32b969595df6700d589
Author: Ell <ell_se@yahoo.com>
Date:   Thu Oct 18 01:51:59 2018 -0400

    tests: update mipmap reference images after last commit

 tests/mipmap/invert-crop-reference.png  | Bin 13038 -> 13016 bytes
 tests/mipmap/invert-reference.png       | Bin 62604 -> 62491 bytes
 tests/mipmap/rotate-crop-reference.png  | Bin 16182 -> 16115 bytes
 tests/mipmap/rotate-reference.png       | Bin 84631 -> 84718 bytes
 tests/mipmap/unsharp-crop-reference.png | Bin 14698 -> 14777 bytes
 tests/mipmap/unsharp-reference.png      | Bin 92440 -> 92449 bytes
 6 files changed, 0 insertions(+), 0 deletions(-)

commit 950dc34789c05f5c4da31b6988f19983ecbfca08
Author: Ell <ell_se@yahoo.com>
Date:   Wed Oct 17 10:29:20 2018 -0400

    buffer: apply gamma curve to alpha component during filtering

    Disable the _alpha() variant of
    gegl_{boxfilter,bilinear,downscale_2x2}_u8_nl(), and use the non-
    alpha one instead, applying the same gamma curve to the alpha
    components as we do for the color components.  This is a temporary
    hack, meant to avoid producing over-saturated pixels when using
    these functions with premultiplied-alpha formats (in particular,
    cairo-ARGB32), which can lead, most notably, to visual artifacts in
    cairo during compositing (see issue #104).

 gegl/buffer/gegl-algorithms.c | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

commit ab4b599e62f3035b85b4c5c82b80f465948a0fe7
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue Oct 16 18:37:15 2018 +0200

    post-release version bump

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit bb37399a9fd7fa375336b5754bdcd03e1a9b4243
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue Oct 16 18:36:24 2018 +0200

    release 0.4.10

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 367fee50e0c2e7557ff9c956fcdacc63287f7566
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue Oct 16 18:06:30 2018 +0200

    NEWS: update

 docs/NEWS.txt | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

commit 21f7d15ae957edb08aca61b214c08300198b9ab3
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Oct 15 19:55:44 2018 +0200

    unsharp-mask: raise max radius to max of gaussian-blur

    Very large radiuses for unsharp mask are useful as a crude tonemapper,
    maxing out the possible value, this doesn't change the default
    ui range,
    only the max permitted value.

 operations/common/unsharp-mask.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 3114a74c6d7cb42293b68b3cfed3c77d1522e6b1
Author: Ell <ell_se@yahoo.com>
Date:   Mon Oct 15 03:05:25 2018 -0400

    buffer: round alpha component during u8 bilinear/box filtering

    In gegl_{bilinear,boxfilter}_u8_nl_alpha(), round the resulting
    alpha component to the nearest integer, instead of truncating it.
    This improves the numerical stability of the algothims, and, in
    particular, avoids potential discrepancies between the color and
    alpha components, which can be particularly problematic with
    premultiplied-alpha formats.

 gegl/buffer/gegl-algorithms.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

commit 06ffd331fd484b9b9178265170f5e07394c80ded
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Oct 14 17:24:37 2018 +0200

    Update Polish translation

 po/pl.po | 245
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 127 insertions(+), 118 deletions(-)

commit cb0acb7c7b4f60bfc4573e7a56b83800e7e2b44a
Author: Ell <ell_se@yahoo.com>
Date:   Sun Oct 14 08:14:50 2018 -0400

    buffer: avoid allocation/chunking when downsampling by a power of 2

    In _gegl_buffer_get_unlocked(), we already avoid filtering when
    downsampling by a power of 2, but let's also avoid allocating a
    sample buffer and chunking altogether.

 gegl/buffer/gegl-buffer-access.c | 52
 +++++++++++++++++++++++-----------------
 1 file changed, 30 insertions(+), 22 deletions(-)

commit e7cfe11973e6dadda1532bdf25fd9469304a9934
Author: Ell <ell_se@yahoo.com>
Date:   Sun Oct 14 07:39:30 2018 -0400

    buffer: only zero border pixels when performing filtering

    In _gegl_buffer_get_unlocked(), don't use g_malloc0() when
    allocating the sample buffer while performing linear- or box-
    filtering.  Rather, always use g_malloc(), and only zero the non-
    sampled "border" pixels in these cases, to avoid unnecessarily
    zeroing pixels that would be overwritten.

 gegl/buffer/gegl-buffer-access.c | 57
 ++++++++++++++++++++++++++++++----------
 1 file changed, 43 insertions(+), 14 deletions(-)

commit a7c730cf6e841a46d3b4546b86a234ae59206e9c
Author: Ell <ell_se@yahoo.com>
Date:   Sun Oct 14 07:32:57 2018 -0400

    buffer: fix source rect passed to gegl_resample_{linear,boxfilter}()

    In _gegl_buffer_get_unlocked(), when performing linear- or box-
    filtering, don't include the source-buffer "border" pixels in the
    source rect passed to gegl_resample_linear() and
    gegl_resample_boxfilter(), respectively.  These pixels are needed
    since they might be involved in the arithmeric, but they shouldn't
    be taken into account when transforming coordinates between the
    source and destination coordinate systems.

    Update affected mipmap test output.

 gegl/buffer/gegl-buffer-access.c  |  16 +++++++---------
 tests/mipmap/rotate-reference.png | Bin 84628 -> 84631 bytes
 2 files changed, 7 insertions(+), 9 deletions(-)

commit 687508cc37902287e0b66d291320a65d47315ed7
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Fri Oct 12 15:44:37 2018 +0200

    buffer: fix 32bit integer boxfilter overflow

    In the existing implementation we overflow due to the imprecision
    introduced by
    using single precision floating point in the template. We introduce
    a temp type
    that can be used for computations, as well as do an upper bounds
    check when
    doing the rounding/converting of the final result. This fixes
    overflows but not
    the imprecision; that only applies for 32bit integer precision and
    in code
    paths primarily used for display rather than processing.

    Fixing issue #103

 gegl/buffer/gegl-algorithms-boxfilter.inc | 70
 ++++++++++++++++---------------
 gegl/buffer/gegl-algorithms.c             | 19 ++++++++-
 2 files changed, 54 insertions(+), 35 deletions(-)

commit 8a91950c23206630ce73f728e09ccadb2b52850a
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Oct 11 22:37:17 2018 +0200

    NEWS: update

 docs/NEWS.txt | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 1cf35de73509aaca26a834e75c7035622268514f
Author: Jehan <jehan@girinstud.io>
Date:   Thu Oct 11 09:22:41 2018 +0200

    operations: improve gegl:watershed-transform description.

    It is completely unobvious how to use the operation without looking at
    the code (in particular the fact that it uses the alpha channel to
    detect what is labelled or not, and also the babl formats it will work
    on since you likely don't want your labels converted). Let's add a
    slightly more descriptive text.

 operations/common/watershed-transform.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

commit e15be793ac2ee605cc288b95e0b1b04aa43f45a0
Author: Marco Ciampa <ciampix@posteo.net>
Date:   Wed Oct 10 14:47:43 2018 +0200

    Updated Italian translation

 po/it.po | 936
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 484 insertions(+), 452 deletions(-)

commit d74f6fb4c7e93908f7fb81671554d7972faf383a
Author: Massimo Valentini <mvalentini@src.gnome.org>
Date:   Tue Oct 9 13:39:57 2018 +0200

    maniuk06: use double precision variables, functions and constants

    When computing 'l_min' and 'l_max' fixing #94

 operations/common/mantiuk06.c | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

commit fa55a1800273486ffe44b2cb53a64184df7848a8
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Fri Oct 5 16:23:30 2018 +0200

    build: depend on babl-0.1.58

 configure.ac | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit b0060e71f18485fac3050a661d5af1c024b5c53b
Author: Massimo Valentini <mvalentini@src.gnome.org>
Date:   Tue Oct 2 17:03:57 2018 +0200

    opencl: regenerate files

 opencl/alien-map.cl.h             | 2 +-
 opencl/bilateral-filter-fast.cl.h | 2 +-
 opencl/color-exchange.cl.h        | 2 +-
 opencl/colors-8bit-lut.cl.h       | 2 +-
 opencl/colors.cl.h                | 2 +-
 opencl/contrast-curve.cl.h        | 2 +-
 opencl/gblur-1d.cl.h              | 2 +-
 opencl/motion-blur-linear.cl.h    | 1 -
 opencl/noise-hsv.cl.h             | 2 +-
 opencl/noise-hurl.cl.h            | 2 +-
 opencl/pixelize.cl.h              | 2 +-
 opencl/posterize.cl.h             | 2 +-
 opencl/random.cl.h                | 2 +-
 opencl/red-eye-removal.cl.h       | 2 +-
 opencl/stretch-contrast.cl.h      | 2 +-
 15 files changed, 14 insertions(+), 15 deletions(-)

commit 2d0cf0e9e87292c7f01357e5bfe6f21746dcf977
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue Oct 2 16:58:29 2018 +0200

    gif-load: add libs/cflags fixing build on some platforms

 operations/external/Makefile.am | 3 +++
 1 file changed, 3 insertions(+)

commit a426db1a275926d8b1ae14b4300670a2a59c714b
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Mon Oct 1 18:39:57 2018 +0200

    Update POTFILES.in

 po/POTFILES.in | 1 +
 1 file changed, 1 insertion(+)

commit cc7028d85db62e89bdccaa94704c574414a7da03
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Oct 1 14:43:33 2018 +0200

    buffer: move definitions of GeglRectangle and buffer enums to buffer

    This reverts earlier indentation breaking changes when GeglRectangle
    was
    renamed GeglBufferRectangle this change also retains the existing
    released API
    and ABI more exactly.

 gegl/Makefile.am                           |   2 +
 gegl/buffer/Makefile.am                    |   4 +
 gegl/buffer/gegl-algorithms-bilinear.inc   |  12 +-
 gegl/buffer/gegl-algorithms-boxfilter.inc  |  12 +-
 gegl/buffer/gegl-algorithms.c              | 146 +++++----
 gegl/buffer/gegl-algorithms.h              | 231 +++++++-------
 gegl/buffer/gegl-buffer-access.c           | 463
 +++++++++++++++--------------
 gegl/buffer/gegl-buffer-backend.h          |   5 +-
 gegl/buffer/gegl-buffer-config.c           |   3 +-
 gegl/buffer/gegl-buffer-enums.c            | 107 +++++++
 gegl/buffer/gegl-buffer-enums.h            |  92 ++++++
 gegl/buffer/gegl-buffer-formats.h          |   7 +-
 gegl/buffer/gegl-buffer-iterator.c         |  61 ++--
 gegl/buffer/gegl-buffer-iterator.h         |  32 +-
 gegl/buffer/gegl-buffer-iterator2.c        |  74 ++---
 gegl/buffer/gegl-buffer-iterator2.h        |  34 +--
 gegl/buffer/gegl-buffer-linear.c           |  35 +--
 gegl/buffer/gegl-buffer-load.c             |   2 +-
 gegl/buffer/gegl-buffer-private.h          |  73 +++--
 gegl/buffer/gegl-buffer-save.c             |   8 +-
 gegl/buffer/gegl-buffer-types.h            |  22 +-
 gegl/buffer/gegl-buffer.c                  |  60 ++--
 gegl/buffer/gegl-buffer.h                  | 206 +++++++------
 gegl/buffer/gegl-rectangle.c               | 367 +++++++++++++++++++++++
 gegl/buffer/gegl-rectangle.h               | 261 ++++++++++++++++
 gegl/buffer/gegl-sampler-cubic.c           |   2 +-
 gegl/buffer/gegl-sampler-linear.c          |   2 +-
 gegl/buffer/gegl-sampler-lohalo.c          |   2 +-
 gegl/buffer/gegl-sampler-nearest.c         |   4 +-
 gegl/buffer/gegl-sampler-nohalo.c          |   2 +-
 gegl/buffer/gegl-sampler.c                 |  29 +-
 gegl/buffer/gegl-sampler.h                 |  18 +-
 gegl/buffer/gegl-tile-backend-buffer.c     |   2 +-
 gegl/buffer/gegl-tile-backend-file-async.c |   8 +-
 gegl/buffer/gegl-tile-backend-swap.c       |   2 +-
 gegl/buffer/gegl-tile-backend.c            |   6 +-
 gegl/buffer/gegl-tile-backend.h            |   7 +-
 gegl/buffer/gegl-tile-handler.c            |   4 +-
 gegl/buffer/gegl-tile-handler.h            |   4 +-
 gegl/buffer/gegl-tile.c                    |   2 +-
 gegl/gegl-enums.c                          |  84 ------
 gegl/gegl-enums.h                          |  53 ----
 gegl/gegl-types.h                          |  30 --
 gegl/gegl-utils.c                          | 342 ---------------------
 gegl/gegl-utils.h                          | 250 +---------------
 gegl/graph/gegl-cache.c                    |   1 +
 gegl/graph/gegl-cache.h                    |   1 +
 47 files changed, 1645 insertions(+), 1529 deletions(-)

commit e98f33c377ec2f3afda9548188443b333357e421
Author: Alexandre Prokoudine <alexandre.prokoudine@gmail.com>
Date:   Sat Sep 29 17:19:17 2018 +0300

    Update NEWS

 docs/NEWS.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

commit 54b340cbd64e7fb1027cc130f439a780ed927936
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Fri Sep 28 21:11:52 2018 +0000

    Update Swedish translation

 po/sv.po | 969
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 506 insertions(+), 463 deletions(-)

commit 4fdf9ebfb4f852d2e7e32ddf95b6041d90c21757
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 23:19:36 2018 +0200

    buffer: add gegl-buffer-formats.h and gegl-bufefr-matrix2.h

    The 2x2 matrix is only used by GeglBuffer and its API, gimp-2.10
    does not
    use the symbols - we are remaining abi compatible but are rearranging
    locations of symbols.

 gegl/Makefile.am                            |  1 +
 gegl/buffer/Makefile.am                     |  3 ++
 gegl/buffer/gegl-algorithms.c               |  2 +-
 gegl/buffer/gegl-buffer-access.c            |  2 +-
 gegl/buffer/gegl-buffer-formats.h           | 84
 +++++++++++++++++++++++++++++
 gegl/buffer/gegl-buffer-linear.c            |  2 +-
 gegl/buffer/gegl-buffer-matrix2.c           | 35 ++++++++++++
 gegl/buffer/gegl-buffer-matrix2.h           | 56 +++++++++++++++++++
 gegl/buffer/gegl-buffer.c                   |  6 +--
 gegl/buffer/gegl-buffer.h                   | 71 +++++++++++-------------
 gegl/buffer/gegl-sampler-cubic.c            | 16 +++---
 gegl/buffer/gegl-sampler-linear.c           | 12 ++---
 gegl/buffer/gegl-sampler-lohalo.c           |  6 +--
 gegl/buffer/gegl-sampler-nearest.c          |  6 +--
 gegl/buffer/gegl-sampler-nohalo.c           |  6 +--
 gegl/buffer/gegl-sampler.c                  | 66 +++++++++++------------
 gegl/buffer/gegl-sampler.h                  |  6 +--
 gegl/gegl-matrix.c                          | 14 -----
 gegl/gegl-matrix.h                          | 26 +--------
 gegl/gegl-utils.h                           | 13 +++++
 operations/common-gpl3+/fractal-trace.c     |  2 +-
 operations/common-gpl3+/polar-coordinates.c |  2 +-
 operations/common-gpl3+/whirl-pinch.c       |  2 +-
 operations/common/little-planet.c           |  4 +-
 operations/common/panorama-projection.c     |  4 +-
 operations/transform/transform-core.c       |  4 +-
 26 files changed, 295 insertions(+), 156 deletions(-)

commit a6a6ba6ff5c8e75a85e7c3bb8108fd16cd2f6b35
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 18:07:49 2018 +0200

    buffer: use GeglBufferRectangle inside GeglBuffer

    The typedef for GeglRectangle is now:
      typedef struct _GeglBufferRectangle GeglRectangle;

 gegl/buffer/gegl-algorithms.c              | 145 ++++-----
 gegl/buffer/gegl-algorithms.h              | 230 +++++++--------
 gegl/buffer/gegl-buffer-access.c           | 459
 ++++++++++++++---------------
 gegl/buffer/gegl-buffer-iterator.c         |  58 ++--
 gegl/buffer/gegl-buffer-iterator.h         |  32 +-
 gegl/buffer/gegl-buffer-iterator2.c        |  62 ++--
 gegl/buffer/gegl-buffer-iterator2.h        |  34 +--
 gegl/buffer/gegl-buffer-linear.c           |  32 +-
 gegl/buffer/gegl-buffer-private.h          |  72 ++---
 gegl/buffer/gegl-buffer-save.c             |   6 +-
 gegl/buffer/gegl-buffer-types.h            |  21 +-
 gegl/buffer/gegl-buffer.c                  |  58 ++--
 gegl/buffer/gegl-buffer.h                  | 160 ++++++----
 gegl/buffer/gegl-sampler-nearest.c         |   2 +-
 gegl/buffer/gegl-sampler.c                 |  26 +-
 gegl/buffer/gegl-sampler.h                 |  18 +-
 gegl/buffer/gegl-tile-backend-buffer.c     |   2 +-
 gegl/buffer/gegl-tile-backend-file-async.c |   6 +-
 gegl/buffer/gegl-tile-backend.c            |   6 +-
 gegl/buffer/gegl-tile-backend.h            |  10 +-
 gegl/buffer/gegl-tile-handler.c            |   4 +-
 gegl/buffer/gegl-tile-handler.h            |   4 +-
 gegl/gegl-types.h                          |  64 ++--
 23 files changed, 771 insertions(+), 740 deletions(-)

commit 125aa873eaea0a9b81dbe2db94f339573181ceeb
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 14:27:27 2018 +0200

    buffer: move gegl_buffer_set_color out of geglbuffer.so

 gegl/buffer/gegl-buffer-access.c | 14 --------------
 gegl/buffer/gegl-buffer.h        |  1 -
 gegl/gegl-utils.c                | 17 +++++++++++++++++
 3 files changed, 17 insertions(+), 15 deletions(-)

commit 443e0c1c3b80fe05b6b6c01b5857dfc570fe65c5
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 14:22:16 2018 +0200

    buffer: make gegl_buffer_set_color_from_pixel public

 gegl/buffer/gegl-buffer-access.c | 19 ++++++++++---------
 gegl/buffer/gegl-buffer.h        | 17 +++++++++++++++++
 2 files changed, 27 insertions(+), 9 deletions(-)

commit 0fc355ef195626f1074f8921bdacc312c2970c7f
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 13:42:51 2018 +0200

    gegl/buffer: shuffle types between gegl and buffer headers

 gegl/buffer/gegl-buffer-types.h        |  2 --
 gegl/buffer/gegl-buffer.c              |  2 +-
 gegl/buffer/gegl-buffer.h              | 17 +++++++++++++++++
 gegl/buffer/gegl-tile-backend-buffer.c |  1 +
 gegl/buffer/gegl-tile-backend-ram.c    |  1 +
 gegl/buffer/gegl-tile-backend.c        |  1 +
 gegl/buffer/gegl-tile-handler-chain.c  |  1 +
 gegl/buffer/gegl-tile-handler-empty.c  |  1 +
 gegl/buffer/gegl-tile-handler-log.c    |  1 +
 gegl/buffer/gegl-tile-handler-zoom.c   |  1 +
 gegl/buffer/gegl-tile-handler.c        |  1 +
 gegl/buffer/gegl-tile-source.c         |  1 +
 gegl/buffer/gegl-tile-storage.c        |  1 +
 gegl/buffer/gegl-tile-storage.h        |  1 +
 gegl/buffer/gegl-tile.c                |  1 +
 gegl/gegl-types-internal.h             |  3 ++-
 gegl/gegl-types.h                      | 12 ++----------
 gegl/graph/gegl-region.h               |  2 +-
 18 files changed, 35 insertions(+), 15 deletions(-)

commit b5541fd169b5ead15bbcb088310ea783ed4dc464
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 27 13:16:59 2018 +0200

    buffer: abstract gegl_buffer_set_value out of  gegl_buffer_set_color

    Avoding to use the type GeglColor in GeglBuffer's API will further
    reduce
    coupling.

 gegl/buffer/gegl-buffer-access.c | 32 ++++++++++++++++++++++----------
 1 file changed, 22 insertions(+), 10 deletions(-)

commit 6aa889ca49170d5ea294505d6934f11b57cec901
Author: Marco Ciampa <ciampix@posteo.net>
Date:   Tue Sep 25 22:40:49 2018 +0200

    Updated Italian translation

 po/it.po | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

commit 8557f2f8787cfad649631af0927db247e163d339
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 18:59:17 2018 +0200

    gegl: move region code from buffer subdir to graph

 gegl/buffer/Makefile.am                      | 3 ---
 gegl/buffer/gegl-buffer-types.h              | 1 -
 gegl/gegl-types-internal.h                   | 1 +
 gegl/graph/Makefile.am                       | 3 +++
 gegl/graph/gegl-cache.c                      | 1 +
 gegl/graph/gegl-cache.h                      | 1 +
 gegl/graph/gegl-node.c                       | 2 +-
 gegl/{buffer => graph}/gegl-region-generic.c | 0
 gegl/{buffer => graph}/gegl-region-generic.h | 0
 gegl/{buffer => graph}/gegl-region.h         | 0
 gegl/process/gegl-graph-traversal.c          | 2 +-
 gegl/process/gegl-processor.c                | 2 +-
 12 files changed, 9 insertions(+), 7 deletions(-)

commit 9458b55c0262fdc16aaf4ee29330ae31276d4733
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 17:10:22 2018 +0200

    gegl: move gegl-cache.[ch] to more proper location in tree

    Even if it derives from buffer, where it is used by node/the graph
    code, no
    code in the buffer link nor make use of this cache code.

 gegl/buffer/Makefile.am             | 2 --
 gegl/graph/Makefile.am              | 2 ++
 gegl/{buffer => graph}/gegl-cache.c | 0
 gegl/{buffer => graph}/gegl-cache.h | 0
 4 files changed, 2 insertions(+), 2 deletions(-)

commit d3be2b44ad023c8d9e0a7ce3b316ba313dedd9fd
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 16:59:08 2018 +0200

    gegl: drop internal gegl_clear_pointer and use g_clear_pointer
    directly

    The warnings were due to excessive casting in the call invoking
    g_clear_pointer
    previously.

 gegl/gegl-utils.h                | 8 --------
 gegl/module/geglmodule.c         | 2 +-
 gegl/process/gegl-eval-manager.c | 2 +-
 gegl/process/gegl-processor.c    | 6 +++---
 4 files changed, 5 insertions(+), 13 deletions(-)

commit d903c54895972ac6849c8c4414f765ad279d95d2
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 15:49:37 2018 +0200

    buffer: add files missing from previous commit

 gegl/buffer/gegl-buffer-config.c | 206
 +++++++++++++++++++++++++++++++++++++++
 gegl/buffer/gegl-buffer-config.h |  62 ++++++++++++
 2 files changed, 268 insertions(+)

commit d6dcdd6617afc9f29391932bf38005f960b14664
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 20 23:15:21 2018 +0200

    buffer: use a separate config object for gegl buffer

    A config object similar to GEGLs GeglConfig has been added for
    gegl-buffer, making the files in the buffer directory more
    independent of the rest of the GEGL code base. All properties
    of GeglBufferConfig are bi-directionally bound to their
    counterparts in GeglConfig

 gegl/buffer/Makefile.am                    |  2 ++
 gegl/buffer/gegl-buffer.c                  |  8 ++++----
 gegl/buffer/gegl-tile-backend-file-async.c |  6 +++---
 gegl/buffer/gegl-tile-backend-swap.c       | 10 +++++-----
 gegl/buffer/gegl-tile-backend.c            |  4 ++--
 gegl/buffer/gegl-tile-handler-cache.c      | 22 +++++++++++-----------
 gegl/gegl-config.c                         | 11 +++++++++++
 7 files changed, 38 insertions(+), 25 deletions(-)

commit bc88517514dfa2c172f97ec8f5db46b9b2318bb3
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 15:07:29 2018 +0200

    lcms-from-profile: use new iterator api

 operations/external/lcms-from-profile.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit 7517e42ed0cb5dee70e74595cca414462ffc1878
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 15:05:10 2018 +0200

    tiff-load: use new iterator API

 operations/external/tiff-load.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

commit b96b515c8c12590a5aa4c332ea64bdae49de9387
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 15:01:49 2018 +0200

    raw-load: avoid warning instances of g_clear_pointer

 operations/external/raw-load.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

commit 77382d0cbb03805372f4ebd83898057d7a8ace78
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 14:55:10 2018 +0200

    gegl: use gegl_clear_pointer instead of some g_clear_pointer

    Thus avoding warnings on types caused by stricter expectation in glib
    implementation.

 gegl/gegl-utils.h                | 9 +++++++++
 gegl/module/geglmodule.c         | 2 +-
 gegl/process/gegl-eval-manager.c | 2 +-
 gegl/process/gegl-processor.c    | 7 ++++---
 4 files changed, 15 insertions(+), 5 deletions(-)

commit 106390f6d58a87bff9f24bcbeab00b918b7a2ace
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 24 14:54:04 2018 +0200

    webp-load: avoid warning by not using g_clear_pointer

 operations/external/webp-load.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

commit a419173bc4b054c194c23413444e8bf3889e9eca
Author: Rodrigo Lledó <rodhos92@gmail.com>
Date:   Mon Sep 24 10:22:24 2018 +0000

    Update Spanish translation

 po/es.po | 798
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 415 insertions(+), 383 deletions(-)

commit bc0ac5f5482b156230c61a33e2de6f1be554c816
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Sep 22 16:42:29 2018 +0200

    NEWS: update

 docs/NEWS.txt | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

commit d315fe35b34ba835119e10d2a21542668359f958
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Sep 20 22:55:00 2018 +0200

    Revert "gegl-config: remove tile_width/tile_height"

    This reverts commit 628887b53b6811eaf3e47b122e1b69424fe174ad.

    Will do this in a different manner, using a config object for
    gegl-buffer.

 gegl/buffer/gegl-buffer.c | 33 ++++++++++-----------------------
 gegl/gegl-config.c        | 33 +++++++++++++++++++++++++++++++++
 gegl/gegl-config.h        |  2 ++
 gegl/gegl-init.c          | 23 +++++++++++++++++++++++
 4 files changed, 68 insertions(+), 23 deletions(-)

commit 64e1cf2f57a22b348e86a01d44d877f3c5a6e8bc
Author: Ell <ell_se@yahoo.com>
Date:   Fri Sep 21 03:29:11 2018 -0400

    tests: don't use GeglConfig::tile-{width,height}

    ... which were removed in commit
    628887b53b6811eaf3e47b122e1b69424fe174ad.

 tests/simple/test-buffer-hot-tile.c          | 15 ++++----
 tests/simple/test-buffer-iterator-aliasing.c | 51
 ++++++++++++++++++----------
 tests/simple/test-buffer-unaligned-access.c  | 20 ++++++-----
 3 files changed, 53 insertions(+), 33 deletions(-)

commit 897a692fd25c5d88b72ca9e11e625892e9e0b05c
Author: Ell <ell_se@yahoo.com>
Date:   Fri Sep 21 03:25:39 2018 -0400

    buffer: match source buffer more closely in gegl_buffer_dup()

    In gegl_buffer_dup(), use the same abyss, shift, and tile size for
    the duplicated buffer, in addition to the same extent and format,
    so that we use COW even when these properties don't use the default
    values.

 gegl/buffer/gegl-buffer-access.c | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

commit b36b064c4ffcf91b62c147995582fa945a172ccb
Author: Ell <ell_se@yahoo.com>
Date:   Fri Sep 21 01:54:11 2018 -0400

    long-shadow: *actually* disable fixed-rate fading style

    Should have been part of last commit.

 operations/common/long-shadow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c6d03fc4d82dd27927787d61365e6900e7363135
Author: Ell <ell_se@yahoo.com>
Date:   Fri Sep 21 01:41:47 2018 -0400

    long-shadow: disable fixed-rate fading style

    The fixed-rate fading shadow style's interaction with the midpoint
    parameter is problematic, having a discontinuity at midpoint=1.  It
    may also be problematic w.r.t. some future directions for the op.
    Let's disable it for now, especially since the fixed-length fading
    style is probably the more useful one.

    Note that the code for the fixed-rate style is all still there,
    it's simply made inaccessible.

 operations/common/long-shadow.c | 31 ++++++++++++++++++++++---------
 1 file changed, 22 insertions(+), 9 deletions(-)

commit 0ccccc1f389b26372efed42167caac65aceb1cf4
Author: Ell <ell_se@yahoo.com>
Date:   Fri Sep 21 01:35:36 2018 -0400

    gegl: in gegl-op.h, add enum_value_skip() macro

    ... which defines an enum value, without registring it with GLib.
    Can be useful for defining internal enum values, or for temporarily
    disabling the availability of enum values without changing the
    code.

 gegl/gegl-op.h | 6 ++++++
 1 file changed, 6 insertions(+)

commit 040e9490b9128955f32ba79de64c9797cc385206
Author: Ell <ell_se@yahoo.com>
Date:   Thu Sep 20 11:15:56 2018 -0400

    gegl: don't use g_type_class_add_private() ...

    ... and G_TYPE_INSTANCE_GET_PRIVATE()

    g_type_class_add_private() and G_TYPE_INSTANCE_GET_PRIVATE() were
    deprecated in GLib 2.58.  Instead, use
    G_DEFINE_TYPE_WITH_PRIVATE(), and G_ADD_PRIVATE(), and the
    implictly-defined foo_get_instance_private() functions, all of
    which are available in the GLib version we depend on.

 gegl/buffer/gegl-tile-backend.c           |  9 +++------
 gegl/buffer/gegl-tile-handler.c           |  9 +++------
 gegl/gegl-dot-visitor.c                   | 10 +++-------
 gegl/gegl-dot-visitor.h                   |  8 ++++----
 gegl/graph/gegl-node.c                    |  7 ++-----
 gegl/operation/gegl-operation-temporal.c  |  9 +++------
 gegl/property-types/gegl-audio-fragment.c |  7 +++----
 gegl/property-types/gegl-color.c          |  6 ++----
 gegl/property-types/gegl-curve.c          |  8 +++-----
 gegl/property-types/gegl-path.c           |  9 ++++-----
 10 files changed, 30 insertions(+), 52 deletions(-)

commit 628887b53b6811eaf3e47b122e1b69424fe174ad
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 22:54:12 2018 +0200

    gegl-config: remove tile_width/tile_height

    The default tile_width/tile_height can still be set with the
    environment
    variable GEGL_TILE_SIZE as before, it is however now initialized
    locally
    in GeglBuffer instead of looked up via gegl_config()

 gegl/buffer/gegl-buffer.c | 33 +++++++++++++++++++++++----------
 gegl/gegl-config.c        | 33 ---------------------------------
 gegl/gegl-config.h        |  2 --
 gegl/gegl-init.c          | 23 -----------------------
 4 files changed, 23 insertions(+), 68 deletions(-)

commit 50fe0e6202892c698017b9d3d9f7ab8ff6e0bbd6
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 22:53:32 2018 +0200

    buffer: fix documentation strings to be separate from other iterator

 gegl/buffer/gegl-buffer-iterator2.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit c8a0b9eff07c8d9122f55f7b7527d51788ae4575
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 15:56:23 2018 +0200

    gegl-buffer: always do locking

    This reduces the throughpput of gegl buffer accessors and more
    slightly in
    the single-threaded case, which is now becoming rare - at least
    when GEGL
    is operated through GIMP.

    Relying less on this dynamically changing parameter from gegl_config()
    will also make it easier to split GeglBuffer out in its own project.

 gegl/buffer/gegl-buffer-access.c       | 73
 +++++++++++-----------------------
 gegl/buffer/gegl-buffer-iterator.c     |  5 ---
 gegl/buffer/gegl-buffer-iterator2.c    |  5 ---
 gegl/buffer/gegl-buffer.c              | 54 ++++++++-----------------
 gegl/buffer/gegl-sampler-nearest.c     |  7 +---
 gegl/buffer/gegl-sampler.c             |  1 -
 gegl/buffer/gegl-tile-backend-buffer.c | 14 ++-----
 gegl/buffer/gegl-tile-handler-cache.c  | 11 ++---
 gegl/buffer/gegl-tile-handler.c        |  7 +---
 gegl/buffer/gegl-tile-storage.c        | 55 ++++++-------------------
 gegl/buffer/gegl-tile.c                | 23 ++++-------
 11 files changed, 74 insertions(+), 181 deletions(-)

commit bf9b962935c5e947bff85a2bff596aaf276eaad5
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 15:22:18 2018 +0200

    libs/libnsgif: add libnsgif files to tarball

 libs/Makefile.am | 8 ++++++++
 1 file changed, 8 insertions(+)

commit 987b32a03838201036fa35c1e92c05ff8608613a
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 13:07:49 2018 +0200

    update NEWS

 docs/NEWS.txt | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

commit 6ae52c3f87a84fc1e9e85c11160279e6ed80558f
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 12:45:47 2018 +0200

    move gif-load from workshop to external

 operations/external/Makefile.am              | 2 ++
 operations/{workshop => external}/gif-load.c | 0
 operations/workshop/Makefile.am              | 1 -
 po/POTFILES.in                               | 2 +-
 4 files changed, 3 insertions(+), 2 deletions(-)

commit 55999d4a06617791634140820dee58f886cfc9ac
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 19 12:41:01 2018 +0200

    libs: improvements to animated gif handling

    Deal with frame delays and automatically loop in the gegl commandline
    image viewer. A copy of libnsgif now lives in the libs folder, with
    minimal modifications from upstream.

 bin/ui.c                       |   50 +-
 libs/libnsgif/COPYING          |   20 +
 libs/libnsgif/README           |   36 ++
 libs/libnsgif/libnsgif.c       | 1169 +++++++++++++++++++++++++++++++++++
 libs/libnsgif/libnsgif.h       |  183 ++++++
 libs/libnsgif/libnsgif.pc.in   |   10 +
 libs/libnsgif/log.h            |   21 +
 libs/libnsgif/lzw.c            |  377 ++++++++++++
 libs/libnsgif/lzw.h            |  105 ++++
 operations/workshop/gif-load.c |    7 +-
 operations/workshop/libnsgif.c | 1308
 ----------------------------------------
 operations/workshop/libnsgif.h |  108 ----
 12 files changed, 1968 insertions(+), 1426 deletions(-)

commit edeb35ebbf486d703584ccb4264e64c323e9f41a
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Sep 17 23:25:27 2018 +0200

    docs: fix a typo

 docs/index.txt.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 83f1a2a80fb213595b0fd97cff86596ebdb83cf8
Author: Dimitris Spingos <dmtrs32@gmail.com>
Date:   Tue Sep 18 13:22:54 2018 +0300

    Updated Greek translation

 po/el.po | 1858
 ++++++++++++++++++++++++++++++++++++--------------------------
 1 file changed, 1078 insertions(+), 780 deletions(-)

commit 4294bad2e543040a9d7443e4eaa6c926ac4715dd
Author: Ell <ell_se@yahoo.com>
Date:   Mon Sep 17 13:40:26 2018 -0400

    buffer, tests: specify iterator aliasing rules, and prevent deadlocks

    Specify the rules under which aliased buffers, i.e., buffers
    sharing the same tile storage, may be added to the same iterator.
    The rules state that if a buffer is acessed for writing, then the
    iterated-over areas of each of its aliases must either overlap its
    iterated-over area completely, or not at all, and that none of the
    other overlapping aliases may be accessed for writing as well.

    Make sure that when these rules are followed, no deadlocks occur
    during iteration, regardless of the order in which the buffers are
    added to the iterator.  This is done by locking all the write-
    accessed tiles before the read-accessed tiles, and unlocking all
    the read-accessed tiles before unlocking/gegl_buffer_set()ing the
    write-accessed tiles.

    Add a test case, checking that no deadlocks occur.

 gegl/buffer/gegl-buffer-iterator2.c          | 159 +++++++++++++--------
 gegl/buffer/gegl-buffer-iterator2.h          |  10 ++
 tests/simple/Makefile.am                     |   1 +
 tests/simple/test-buffer-iterator-aliasing.c | 205
 +++++++++++++++++++++++++++
 4 files changed, 317 insertions(+), 58 deletions(-)

commit 3693cda248bd016ae4a7821bf19d9a63c426dbf6
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Sep 16 17:21:24 2018 +0200

    Update Polish translation

 po/pl.po | 762
 +++++++++++++++++++++++++++++++++------------------------------
 1 file changed, 395 insertions(+), 367 deletions(-)

commit 7d7875d86f2221db0e5947fbc4b7c46c7bc59b9a
Author: Tim Sabsch <tim@sabsch.com>
Date:   Sat Sep 15 22:27:37 2018 +0000

    Update German translation

 po/de.po | 839
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 450 insertions(+), 389 deletions(-)

commit cf7eacb750dc469356b13019564bc1b929133905
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Sep 12 18:04:05 2018 +0200

    gif-load: return decoded frames duration in an out property

 operations/workshop/gif-load.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
