commit b16c1641126fd1ac0363845e1fc30c1f3c50fa1b
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed May 16 13:32:57 2018 +0200

    release 0.4.2

 configure.ac |   2 +-
 perf/joblist | 126
 -----------------------------------------------------------
 2 files changed, 1 insertion(+), 127 deletions(-)

commit c994b32ebc82d75966c4503bd29e3cbecaf548a5
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed May 16 13:25:31 2018 +0200

    perf: Makefile-tests fix for building with 0.4

 perf/Makefile-tests | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit 8f6e74c85635e22f00a8ce0009def5cc93bca4b0
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed May 16 00:25:04 2018 +0200

    NEWS: mention performance improvement to panorama-projection

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

commit 865c85096e5f1e93604cc59775c88250e446afe8
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed May 16 00:06:32 2018 +0200

    NEWS: update

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

commit d11becf349658ea6bd50ac9e8f6f3bc6bde91a64
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue May 15 21:45:31 2018 +0200

    configure: default CFLAGS to -Ofast

 configure.ac | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 4bbb77183333b5a701a5f99f01faa11a03d57c23
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue May 15 21:44:37 2018 +0200

    configure: depend on babl 0.1.48

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

commit 1e2f7cbba76a478ef7bb8286e38fd8f25600995f
Author: Ell <ell_se@yahoo.com>
Date:   Tue May 15 14:11:01 2018 -0400

    buffer: improve thread-safety of tile-storage hot-tile manipulation

    When inspecting the tile-storage's hot-tile, during a 1x1
    gegl_buffer_{get,set}(), there is a window during which another
    thread can replace the storage's hot-tile, dropping the current
    hot-tile's reference, allowing it to be trimmed out from the
    cache and freed, leaving us we a dangling pointer.

    Add gegl_tile_storage_{steal,try_steal}_hot_tile(), which
    atomically swap the storage's hot-tile with NULL, returning the
    original tile, and gegl_tile_storage_take_hot_tile(), which
    atomically sets the storage's hot-tile if it's NULL, and use these
    functions to safely query and replace the storage's hot-tile.

    This change does have a negative impact on the performance of 1x1
    gegl_buffer_{get,set}() (as well as NEAREST gegl_buffer_sample()),
    although it doesn't affect independent NEAREST samplers, since they
    maintain a local hot-tile.

 gegl/buffer/gegl-buffer-access.c      | 20 ++++++----
 gegl/buffer/gegl-buffer.c             | 14 ++-----
 gegl/buffer/gegl-tile-handler-cache.c | 17 ++-------
 gegl/buffer/gegl-tile-storage.c       | 71
 +++++++++++++++++++++++++++++++++++
 gegl/buffer/gegl-tile-storage.h       |  6 +++
 5 files changed, 97 insertions(+), 31 deletions(-)

commit c8eb73eb761ee3b7a393fbb785117db0c96f98f8
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Tue May 15 11:36:53 2018 +0200

    buffer: speed up NEAREST gegl_buffer_sample

    For the nearest neighbor case, use gegl_buffer_get with a 1x1
    rectangle instead
    of a temporary sampler.

 gegl/buffer/gegl-sampler.c | 47
 +++++++++++++++++++++++++++++++++++-----------
 1 file changed, 36 insertions(+), 11 deletions(-)

commit 662619ff34e0bb094eba656df15f52705a8f9dc5
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon May 14 12:06:27 2018 +0200

    workshop/gluas: use samplers for aux/in buffer sampling

 operations/workshop/external/gluas.c | 25 +++++++++++++++++++------
 1 file changed, 19 insertions(+), 6 deletions(-)

commit 1a27e46d30f04ad9a8e37f63e893ce688f6230be
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon May 14 10:59:39 2018 +0200

    workshop: make more use of GeglSampler in inpainting ops

 operations/workshop/enlarge.c      | 15 +++++------
 operations/workshop/enlarge2.c     | 16 ++++++------
 operations/workshop/pixel-duster.h | 51
 +++++++++++++++++++++-----------------
 3 files changed, 45 insertions(+), 37 deletions(-)

commit fa702369ad30bafe82a86b171776e3e24a276675
Author: Ell <ell_se@yahoo.com>
Date:   Mon May 14 02:47:14 2018 -0400

    plasma: don't use a sampler + fix + speedup

    gegl:plasma uses a sampler, created at the start of the operation,
    to sample the output buffer, after having written to it.  This
    should be avoided, since the sampler may return outdated cached
    data (at least in theory).  Use gegl_buffer_get() instead.

    When the subdivided region is small enough, the op switches to use
    a linear buffer, instead of directly using the output buffer, to
    speed processing up.  However, the op only writes to the linear
    buffer, while still reading from the output buffer, which both
    produces (subtly) wrong results, and is slower than necessary.  Fix
    this by reading from the linear buffer, when in use.

    Update reference hash.

 operations/common-gpl3+/plasma.c | 66
 ++++++++++++++++++++++++++++------------
 1 file changed, 47 insertions(+), 19 deletions(-)

commit 3a0872de4d1419718f1488c178c6ec9864bf0456
Author: Ell <ell_se@yahoo.com>
Date:   Sun May 13 18:18:12 2018 -0400

    lens-distortion: use sampler object instead of gegl_buffer_sample()

 operations/common-gpl3+/lens-distortion.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

commit 5eff6d66ddd1c6ed4fd9cadd800b61e4135095ba
Author: Ell <ell_se@yahoo.com>
Date:   Sun May 13 17:55:20 2018 -0400

    plasma: use sampler object instead of gegl_buffer_sample()

 operations/common-gpl3+/plasma.c | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

commit db77965496059868499286461cbffbbe4a779afd
Author: Ell <ell_se@yahoo.com>
Date:   Sun May 13 18:09:26 2018 -0400

    cubism: use sampler object instead of gegl_buffer_sample()

 operations/common-gpl3+/cubism.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

commit 26f13cbfe9aaaa8c176162e54fdbb8af6876538e
Author: Ell <ell_se@yahoo.com>
Date:   Sun May 13 17:05:19 2018 -0400

    buffer: don't use cached sampler for gegl_buffer_sample[_at_level]()

    The use of a per-buffer cached sampler is problematic, especially
    since the cached sampler may cache stale data after the buffer is
    modified.  Avoiding this requires careful use of
    gegl_buffer_sample_cleanup().  On the one hand, when using
    gegl_buffer_sample[_at_level]() for one-off samples in loosely-
    coupled code, this effectively means calling
    gegl_buffer_sample_cleanup() before/after each sample, defeating
    the purpose of caching the sampler in the first place.  On the
    other hand, when performing multiple samples in performance-
    critical code, using a sampler object is much more efficient
    anyway.

    Remove the per-buffer cached sampler, and simply use a per-call
    temporary sampler in gegl_buffer_sample[_at_level]().  Advise users
    to use gegl_buffer_sampler_new[_at_level]() to create a sampler
    object instead when performance is a concern.

    Deprecate gegl_buffer_sample_cleanup(), which is not necessary
    anymore, and keep it as a NOP for now.

 gegl/buffer/gegl-buffer-private.h |  7 ----
 gegl/buffer/gegl-buffer.c         |  2 --
 gegl/buffer/gegl-buffer.h         | 23 +++++++-----
 gegl/buffer/gegl-sampler.c        | 74
 +++++----------------------------------
 4 files changed, 24 insertions(+), 82 deletions(-)

commit 4982977a70002b6de5e51db63b09caafcad49c39
Author: Jordi Mas <jmas@softcatala.org>
Date:   Sun May 13 21:20:30 2018 +0200

    Update Catalan translation

 po/ca.po | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 53e0672121a77249f32db16c96c837ba7bf19e73
Author: Sebastian Pipping <sebastian@pipping.org>
Date:   Sun May 13 18:32:33 2018 +0200

    Run ff-load-save image tests only when gegl-video is around

 tests/ff-load-save/Makefile.am | 2 ++
 1 file changed, 2 insertions(+)

commit 9d93353541e4acca1a2a1e7eda1cc72612869a9f
Author: Jordi Mas <jmas@softcatala.org>
Date:   Sat May 12 19:20:51 2018 +0200

    Update Catalan translation

 po/ca.po | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

commit b577b2e2784ad600536107586bd6dffb079e7c01
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Fri May 11 18:47:37 2018 +0000

    Update Ukrainian translation

 po/uk.po | 401
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 216 insertions(+), 185 deletions(-)

commit c3b9eca35241b43f86429b022562bba5d5b328d6
Author: Debarshi Ray <debarshir@gnome.org>
Date:   Wed May 9 15:07:31 2018 +0200

    build: Abort as soon as autoreconf fails

    ... as suggested in the autogen.sh template given in:
    https://wiki.gnome.org/Projects/GnomeCommon/Migration

    https://bugzilla.gnome.org/show_bug.cgi?id=795901

 autogen.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 6a96ca56dca372616c91e29881bb142351864b6f
Author: Jehan <jehan@girinstud.io>
Date:   Tue May 8 00:38:31 2018 +0200

    configure: remove some obsolete autoconf variables.

    Not sure when these OPENRAW_(LIBS|CFLAGS) date from, but these are not
    referencing any useful value anymore, neither is this used in any way.

 configure.ac | 4 ----
 1 file changed, 4 deletions(-)

commit 2896800b5e7d0c656710c70fdea57098032f3ccc
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sun May 6 15:09:03 2018 +0200

    ff-save: update another occurance of CODEC_FLAG_GLOBAL_HEADER

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

commit a2dd56d3200aeafdecbc40c58eeef3d43a5fadcc
Author: Franz Brausse <brausse@informatik.uni-trier.de>
Date:   Sun May 6 13:40:30 2018 +0200

    operations/external/ff-save: ffmpeg-2.3-2.7 compat; minimum lav{f,c}
    versions configure.ac mandates

 operations/external/ff-save.c | 2 ++
 1 file changed, 2 insertions(+)

commit 8f2545886ce3be8f1b1229bddcfa5af3216110d3
Author: Franz Brausse <brausse@informatik.uni-trier.de>
Date:   Sun May 6 13:38:09 2018 +0200

    operations/external/ff-save: ffmpeg-4.0 compat; fixes #795625

 operations/external/ff-save.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

commit 1263d1e8dba0c8f4da8665bc3fbfc9f35c303c65
Author: Ell <ell_se@yahoo.com>
Date:   Sat May 5 02:29:24 2018 -0400

    buffer: emit "changed" signal upon GeglTileBackendBuffer VOID command

    When voiding a buffer tile through a GeglTileBackendBuffer, in
    response to a GEGL_TILE_VOID command, emit an appropriate "changed"
    signal on the underlying buffer.

 gegl/buffer/gegl-tile-backend-buffer.c | 116
 ++++++++++++++++++++-------------
 1 file changed, 71 insertions(+), 45 deletions(-)

commit 8681bf105e683aa41bbf132f3ac0989f1d5a6a22
Author: Ell <ell_se@yahoo.com>
Date:   Fri May 4 12:40:31 2018 -0400

    noise-rgb: gummify + fix

    When the op's "independent" property is FALSE, only the value of
    the "red" property (and not "green" and "blue") affects the output,
    using the same noise value for all channels.  Use GUM to hide the
    "green" and "blue" properties in this case, and to change the label
    of the "red" property to "value".

    Fix output when "independent" is FALSE, and "green" or "blue" are
    0 (previously, there would be no noise applied to the green/blue
    channels, respectively.)

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

commit 1008a506a8c9e43eb9bc0415c3612bbe50c840f6
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu May 3 22:39:55 2018 +0200

    panorama-projection: re-enable autothreading

    The on demand COW of tiles from preceding commit makes auto-
    threading faster than single threaded rendering.

 operations/common/panorama-projection.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

commit 417221a05e59fc857a2dee07f6bafe49af5ecd6d
Author: Ell <ell_se@yahoo.com>
Date:   Thu May 3 16:12:44 2018 -0400

    operation: use GeglTileBackendBuffer in
    gegl_operation_context_dup_input_maybe_copy()

    In gegl_operation_context_dup_input_maybe_copy(), use a
    GeglTileBackendBuffer, backed by the input buffer, as the backend
    for the local-copy buffer, instead of copying the required portion
    of the input buffer into the local-copy buffer.  This allows input-
    buffer tiles to be COWed on-demand, instead of upfront, into the
    local-copy, which can significantly improve performance if the op's
    get_required_for_output() returns a larger region than actually
    necessary (in particular, if it always returns the entire input
    extents).  This also allows using the local-copy optimization when
    processing a level > 0.

    Leave the original version #if 0-ed, since it may be useful for
    testing.

 gegl/operation/gegl-operation-context.c | 169
 +++++++++++++++++++-------------
 1 file changed, 101 insertions(+), 68 deletions(-)

commit d67dc06639df55eb2f8cd9bb64e20608b5421d27
Author: Ell <ell_se@yahoo.com>
Date:   Thu May 3 16:06:26 2018 -0400

    buffer: add GeglTileBackendBuffer

    GeglTileBackendBuffer is a tile backend that loads/stores its tiles
    from/to an underlying GeglBuffer.

 gegl/buffer/Makefile.am                |   2 +
 gegl/buffer/gegl-tile-backend-buffer.c | 299
 +++++++++++++++++++++++++++++++++
 gegl/buffer/gegl-tile-backend-buffer.h |  56 ++++++
 3 files changed, 357 insertions(+)

commit e751ab33b2d95c43c5b2e8482049b9ad09669520
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu May 3 12:11:54 2018 +0200

    panorama-projection: opt out of base-class multi-threading

    The base class duplicates the input buffers, which for a
    panorama is expensive.

    Even avoiding copies is not enough to make it fast, we
    need to make multiple samplers on the same buffer fast.

 operations/common/panorama-projection.c | 3 +++
 1 file changed, 3 insertions(+)

commit 3557811a5527bccbfef2006046a05047b6edd480
Author: Ell <ell_se@yahoo.com>
Date:   Wed May 2 15:03:04 2018 -0400

    buffer: prevent mipmapped tiles from being voided during
    reconstruction

    While fetching a partially damaged mipmapped tile, make sure that
    fetching its lower-level tiles, during the mipmapped tile's
    reconstruction, doesn't cause the tile to be voided and dropped
    from the cache.  This can happen if the tile handler responsible
    for the lower-level tile rewrites its contents (as can happen, for
    example, with a GimpTileHandlerValidate), causing the corresponding
    porition of the pyramid to be voided.

    We prevent the mipmapped tile from being voided by clearing its
    damaged region before fetching each lower-level tile, so that any
    damage to the lower-level tile can never cause the entire mipmapped
    tile to be damaged.

 gegl/buffer/gegl-tile-handler-zoom.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

commit 03956f66fd8c03adb226179c13844ad3b73010d5
Author: Dimitris Spingos (Δημήτρης Σπίγγος)
<dmtrs32@gmail.com>
Date:   Mon Apr 30 12:31:22 2018 +0300

    Update Greek translation

 po/el.po | 338
 ++++++++++++++++++++++++++++++++++++++-------------------------
 1 file changed, 203 insertions(+), 135 deletions(-)

commit 8b3e333b74fdf0ae00ab55a1e40f3452540de911
Author: Marco Ciampa <ciampix@posteo.net>
Date:   Sun Apr 29 15:47:05 2018 +0200

    Updated Italian translation

 po/it.po | 459
 ++++++++++++++++++++++++++++++++++-----------------------------
 1 file changed, 246 insertions(+), 213 deletions(-)

commit 60ae8750710f308d857fcc3cc0d6c04657e90f5b
Author: Ell <ell_se@yahoo.com>
Date:   Fri Apr 27 10:26:13 2018 -0400

    Bug 795597 - gegl crashes for a race ...

    ... between disposing a GeglTileHandlerChain and storing a tile
    (trimming the cache)

    Add gegl_tile_handler_cache_{connect,disconnect}(), which add/
    remove the cache to the global cache queue.  Cache handlers are
    connected upon construction, and disconnected upon destruction.
    While a cache is disconnected, it may not be accessed while
    trimming unrelated caches.

    In GeglTileStore, disconnect the cache before destroying the
    storage, so that other threads trimming an unrelated cache
    concurrently may not interfere with destruction.

 gegl/buffer/gegl-tile-handler-cache.c | 36
 +++++++++++++++++++++++++++++------
 gegl/buffer/gegl-tile-handler-cache.h |  3 +++
 gegl/buffer/gegl-tile-storage.c       | 15 +++++++++++++++
 3 files changed, 48 insertions(+), 6 deletions(-)

commit 2e6f34798918167797e7287d9501d0cd6cd1dd0d
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 15:23:58 2018 -0400

    gegl: handle UINT properties in gegl-xml and gegl-serialize

    Commit 1d6e841d78b3634fa186e6dde87b6fec126fed9f changed the type of
    seed properties from INT to UINT, so we need to add UINT handling
    in XML and chain strings.

 gegl/gegl-serialize.c | 41 +++++++++++++++++++++++++++++++++++------
 gegl/gegl-xml.c       | 12 ++++++++++++
 2 files changed, 47 insertions(+), 6 deletions(-)

commit b1b7ee0e742fab0a4a42438530c200b43030692c
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 14:18:49 2018 -0400

    operations: implement GeglOperationAreaFilter::get_abyss_policy() ...

    ... in various operations

    This guarantees that their required/invalidated rectangles are
    calculated correctly regardless of the used abyss policy.  See the
    previous commit.

 operations/common-gpl3+/edge.c         | 16 ++++++++++++++--
 operations/common-gpl3+/ripple.c       | 21 ++++++++++++++++-----
 operations/common-gpl3+/waves.c        | 22 +++++++++++++++++-----
 operations/common/convolution-matrix.c | 17 +++++++++++++++--
 4 files changed, 62 insertions(+), 14 deletions(-)

commit ad9790d6d28b0ac6ccf481260aca27f4dded74fe
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 14:09:40 2018 -0400

    operation: add GeglOperationAreaFilter::get_abyss_policy() vfunc

    Add a GeglOperationAreaFilter::get_abyss_policy() virtual function,
    which subclasses can override to specify which abyss policy is used
    when reading the input buffer.

    Modify get_required_for_output() and get_invalidated_by_change() to
    take the abyss policy into account.  In particular, when using the
    LOOP abyss policy, wrap the rectangle around the input bounds, so
    that the correct input area is processed, and the correct output
    area is invalidated.

 gegl/operation/gegl-operation-area-filter.c | 89
 +++++++++++++++++++++++++++--
 gegl/operation/gegl-operation-area-filter.h | 11 +++-
 2 files changed, 92 insertions(+), 8 deletions(-)

commit 3655f18bb2330059f47105561c332fad13edd1d0
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 13:43:22 2018 -0400

    operation: fix area-filter bounding-box and invlidated-by-change calc.

    In GeglOperationAreaFilter, reverse the use of the left/right and
    top/bottom area parameters in get_bounding_box() and
    get_invalidated_by_change(), since these parameters specify the
    extra area needed when transforming an output region to an input
    region, while the above functions transform an input region to an
    output region.

 gegl/operation/gegl-operation-area-filter.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit 58c917f830a6c06c4670d29d87d7f511af00073b
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 09:10:50 2018 -0400

    spherize: fix license notice

    GPL => LGPL

 operations/common/spherize.c | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

commit de242a85344ed5ef2c28db693c76a5d8add7cf81
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 09:07:28 2018 -0400

    color-overlay: fix license notice

    GPL => LGPL

 operations/common/color-overlay.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

commit 8a39e80bcdbd66e64daaef26daea4134b34e4b5d
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Thu Apr 26 14:41:24 2018 +0200

    post release version bump

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

commit f6caafacf3d8c176049de5c6680f8065bcfe9af9
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Apr 25 03:10:09 2018 +0200

    release 0.4.0

    The 0.4.x series will be the stable series for use with GIMP-2.10, and
    maintained - likely with back ported ops from 0.5.0.

 configure.ac  | 10 +++++-----
 docs/NEWS.txt | 27 +++++++++++++++++++++++++++
 po/Makevars   |  2 +-
 3 files changed, 33 insertions(+), 6 deletions(-)

commit e816106c3878d503d2ed4bbfc28d75ef8a9d4632
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 05:27:29 2018 -0400

    spherize: move from workshop to common

 operations/common/Makefile.am              | 1 +
 operations/{workshop => common}/spherize.c | 5 ++---
 operations/workshop/Makefile.am            | 3 +--
 po/POTFILES.in                             | 2 +-
 4 files changed, 5 insertions(+), 6 deletions(-)

commit bcaeb621aaab4de12cea542709ba139d4deacb9f
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 05:23:02 2018 -0400

    recursive-transform: move from workshop to common

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

commit 618dc6e3d44dc8a0457386fb24871d25a24faec0
Author: Ell <ell_se@yahoo.com>
Date:   Thu Apr 26 05:19:59 2018 -0400

    color-overlay: move from workshop to common

 operations/common/Makefile.am                   | 1 +
 operations/{workshop => common}/color-overlay.c | 6 +++---
 operations/workshop/Makefile.am                 | 1 -
 po/POTFILES.in                                  | 2 +-
 4 files changed, 5 insertions(+), 5 deletions(-)

commit 92af3a22b4db2196e3645cb35e89a1a2df75fa1e
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Wed Apr 25 19:29:41 2018 +0000

    Update Swedish translation

 po/sv.po | 64
 +++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 41 insertions(+), 23 deletions(-)

commit 2d691f75b179485bc0db9527d41670a552f39b04
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Wed Apr 25 20:34:53 2018 +0200

    Update Polish translation

 po/pl.po | 66
 ++++++++++++++++++++++++++++++++++++++++++----------------------
 1 file changed, 44 insertions(+), 22 deletions(-)

commit 7d96ec67c338e6c6f70b335e5903f54de223b131
Author: Jon Nordby <jononor@gmail.com>
Date:   Tue Apr 24 14:39:51 2018 +0200

    ppm-load: Port to GIO

 operations/external/ppm-load.c | 131
 +++++++++++++++++++++++++++++++----------
 1 file changed, 100 insertions(+), 31 deletions(-)

commit 73a429b37de25ee8f30510dc9247224e05c28a54
Author: Jon Nordby <jononor@gmail.com>
Date:   Tue Apr 24 12:55:09 2018 +0200

    jp2-load: Fix warning

    Documentation says buf==0 and bufsize==0 should be used
    when buffer should be grown automatically. In version
    2.0.14+ using a negative number writes to stderr a warning like:
    YOUR CODE IS RELYING ON DEPRECATED FUNCTIONALTIY IN THE JASPER LIBRARY

    Ref
    https://github.com/mdadams/jasper/commit/634ce8e8a5accc0fa05dd2c20d42b4749d4b2735

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

commit 92643721312f7ec76f437a6cfc09cdb537903007
Author: Simon Budig <simon@budig.de>
Date:   Wed Apr 25 02:00:15 2018 +0200

    ripple: actually allow m/n == 0, fix a division by zero issue.

 operations/common-gpl3+/ripple.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

commit 3e4a92438932de6fb128a3c2deabe4781a70249e
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Apr 25 00:29:09 2018 +0200

    panorama-projection: use abs instead of fabs for and integer value

    As reported by clang

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

commit 39503b30c69ba2acf60f627d28c5a14f2cd20247
Author: Daniel Korostil <ted.korostiled@gmail.com>
Date:   Tue Apr 24 16:36:00 2018 +0000

    Add Ukrainian translation

 po/LINGUAS |    1 +
 po/uk.po   | 7784
 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 7785 insertions(+)

commit f48bc78e494dd5aa4ed2d32f416a1230c11524b0
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sun Apr 22 20:54:41 2018 +0200

    stretch-contrast: add a perceptual property

    For bug #791530 this adds a boolean property that acts like the
    gamma hack,
    providing a way to stretch contrast. A better UI/API would be to
    have a more
    configurable operation to stretch components, covering color enhance,
    as well
    as contrast stretching.

 operations/common/stretch-contrast.c | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

commit fb00e687c3031933298260182b74016065bddb57
Author: Simon Budig <simon@budig.de>
Date:   Tue Apr 24 11:46:49 2018 +0200

    ripple: fix handling of phase offset for triangle/sawtooth case

 operations/common-gpl3+/ripple.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit d5dc307ab54a9d4dbde7cc54f8010512e0fecbbd
Author: Simon Budig <simon@budig.de>
Date:   Tue Apr 24 01:20:00 2018 +0200

    ripple: some reworking

    - add options for abyss policy, implement real tileable mode

 operations/common-gpl3+/ripple.c | 83
 ++++++++++++++++++++++++++++++++++------
 1 file changed, 71 insertions(+), 12 deletions(-)

commit d93f3a5fc9ae7987e6778b8eec06ccb23dae28ef
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Mon Apr 23 16:17:34 2018 +0000

    Update Swedish translation

 po/sv.po | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

commit 667e76a4180a52165090566a2216de952f0b81e0
Author: Simon Budig <simon@budig.de>
Date:   Mon Apr 23 04:38:59 2018 +0200

    ripple: rename sawtooth to triangle, implement proper sawtooth.

    also make sure that (0,0) stays undistorted for phi == 0.

 operations/common-gpl3+/ripple.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

commit 4796a58beb806665311fe4270ff04e03a193d426
Author: Simon Budig <simon@budig.de>
Date:   Mon Apr 23 04:08:00 2018 +0200

    ripple: fix x-distance from origin

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

commit 2725c31869ca708df192413a0c19d3a8ce2120af
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Apr 22 15:25:59 2018 +0200

    Update Polish translation

 po/pl.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 9e9095b600d528b9fa4fc538cd189fe54f29b32f
Author: Alan Mortensen <alanmortensen.am@gmail.com>
Date:   Wed Apr 18 10:13:14 2018 +0200

    Updated Danish translation

 po/da.po | 739
 ++++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 476 insertions(+), 263 deletions(-)

commit a9f6e8124d0eca3c9966457ac82bf5072b1666fb
Author: Marco Ciampa <ciampix@posteo.net>
Date:   Wed Apr 18 17:59:20 2018 +0200

    Updated Italian translation

 po/it.po | 202
 +++++++++++++++++++++++++++++++++++++++------------------------
 1 file changed, 125 insertions(+), 77 deletions(-)

commit 74c0235835c414010b761291468440a510fc3bfa
Author: Anders Jonsson <anders.jonsson@norsjovallen.se>
Date:   Tue Apr 17 07:52:56 2018 +0000

    Update Swedish translation

 po/sv.po | 95
 ++++++++++++++++++++++++++++++++--------------------------------
 1 file changed, 47 insertions(+), 48 deletions(-)

commit 97d9d35cc062b50b1d52d17f7fe8aebf81b75129
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Apr 16 23:10:42 2018 +0200

    post release version bump

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

commit 29254dcd875d271043aba57d0e6ebc48ec63c013
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Apr 16 23:10:02 2018 +0200

    release 0.3.34, since the GIMP rc slipped

 configure.ac  |  2 +-
 docs/NEWS.txt | 18 +++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

commit 1b3276a7cb2212525ea1f53cebd1071169b70e0a
Author: Michael Natterer <mitch@gimp.org>
Date:   Mon Apr 16 16:00:08 2018 +0200

    property-types: didn't commit part of the last change

 gegl/property-types/gegl-paramspecs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

commit 1d6e841d78b3634fa186e6dde87b6fec126fed9f
Author: Michael Natterer <mitch@gimp.org>
Date:   Mon Apr 16 15:49:36 2018 +0200

    property-type: change GeglParamSpecSeed from int to uint

    so it matches the value range of GeglRandom's seed. Change
    propery_seed() accordingly.

 gegl/gegl-op.h                        |  8 ++++----
 gegl/property-types/gegl-paramspecs.c | 10 +++++-----
 gegl/property-types/gegl-paramspecs.h |  6 +++---
 3 files changed, 12 insertions(+), 12 deletions(-)

commit f6d7fda01cc1abc8674d6c63d610db8a68afe062
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Mon Apr 16 14:47:52 2018 +0200

    color-overlay: typo in translatable string bug #795297

 operations/workshop/color-overlay.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit 229aea9c9102dc66980a782a0e1aa42b66b3ca71
Author: Sebastian Rasmussen <sebras@gmail.com>
Date:   Mon Apr 16 07:18:17 2018 +0000

    Update Swedish translation

 po/sv.po | 8128
 +++++++++++++++++++++++++++++++++++---------------------------
 1 file changed, 4620 insertions(+), 3508 deletions(-)

commit 7cbe63555ea317d4eb170ce140bcb90e4cab4034
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sun Apr 15 10:48:31 2018 +0200

    Update Polish translation

 po/pl.po | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

commit cc0ae4d5c97db1c03ce460aac774c74507401579
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 21:11:28 2018 +0200

    gluas: improve translatable property descriptions.

 operations/workshop/external/gluas.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit 841759b489bf15176e550a808a249d5b626bfc2b
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 21:10:00 2018 +0200

    lcms-from-profile: capitalize ICC in property description

 operations/external/lcms-from-profile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

commit c83b05d565a1e3392c9606a4ecaa560eb9a4ee29
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 14:26:37 2018 +0200

    ppm-load: limit max permitted buffer allocation to 2GB

    Fixing bug #795248

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

commit 69766eee73ec13652a0d22876db649aab19d8397
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Sat Apr 14 13:01:13 2018 +0200

    Update Polish translation

 po/pl.po | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

commit e75bde843046c61d6b26d8a474f389ebb2007440
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 12:34:48 2018 +0200

    post-release version bump

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

commit ba7c9be4fe419680826c07d86fbe6b90a7fb336f
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 12:34:32 2018 +0200

    configure: release 0.3.32

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

commit 7e1a58c4245ab7ddea082cfdfbc6a5309c9fb2e9
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Sat Apr 14 12:05:41 2018 +0200

    panorama-projection: s/tranform/transform/

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

commit 491a6872b8f486fcb543450c3af139afa5134d2d
Author: Piotr Drąg <piotrdrag@gmail.com>
Date:   Fri Apr 13 14:30:56 2018 +0200

    Update Polish translation

 po/pl.po | 37 +++++++++++++++++++++----------------
 1 file changed, 21 insertions(+), 16 deletions(-)

commit 1d2aac8c39960d86560cb5ae42588eebeee8b1d1
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Fri Apr 13 13:56:10 2018 +0200

    NEWS: update

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

commit 82acf54c9a4a7bb772d32bd3cfcfbaf169ec2590
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Apr 11 22:17:21 2018 +0200

    pixel-duster:

    make max_k a parameter of pixel duster set it for enlarge, but not
    in-paint op, also use random spray neighborhood rather than ordered.

 operations/workshop/enlarge.c      |  6 +++++-
 operations/workshop/enlarge2.c     |  6 +++++-
 operations/workshop/inpaint.c      |  3 ++-
 operations/workshop/pixel-duster.h | 26 ++++++++++++++++++++------
 4 files changed, 32 insertions(+), 9 deletions(-)

commit 3812dcc9247fdaa28a9d3f3930d75397fdae5bf3
Author: Jehan <jehan@girinstud.io>
Date:   Sat Aug 16 14:39:01 2014 +0200

    bin: replace --properties by --info with more details.

    Old --properties CLI option was listing property names, types and
    descriptions. --info also outputs the operation keys (title,
    description, categories…) as well as default values for properties.

    The option --properties is not visible anymore in the help but still
    works as an alias of --info.

 bin/gegl-options.c | 108
 ++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 98 insertions(+), 10 deletions(-)

commit 069810a4319080c74a066fb4ad578106a7a0c227
Author: Øyvind Kolås <pippin@gimp.org>
Date:   Wed Apr 11 18:42:22 2018 +0200

    panorama-projection: use scale matrix for near nadir/zenith

    We are skipping the computation of the shape of the pixel neighborhood
    to
    include samples for when not needed since this is quite
    expensive. This commit
    limits the tilt angle range of the optimization to where it is valid.

 operations/common/panorama-projection.c | 44
 +++++++++++++++++++--------------
 1 file changed, 26 insertions(+), 18 deletions(-)
