diff --git a/docs/changelog.md b/docs/changelog.md
index 0731a456..c67ebcd2 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -2,23 +2,25 @@
### v0.15 - "*outfit*"
-* Take advantage of libvips 8.3 features.
- Add support for libvips' new native loaders, including GIF and SVG.
+Requires libvips v8.3.1
+
+#### v0.15.0 - TBD
+
+* Take advantage of libvips v8.3 features.
+ Add support for libvips' new GIF and SVG loaders.
Pre-built binaries now include giflib and librsvg, exclude *magick.
Use shrink-on-load for WebP input.
Break existing sharpen API to accept sigma and improve precision.
[#369](https://github.com/lovell/sharp/issues/369)
-### v0.14 - "*needle*"
-
-Requires libvips v8.2.3
-
-#### v0.14.2 - TBD
-
* Remove unnecessary (un)premultiply operations when not resizing/compositing.
[#413](https://github.com/lovell/sharp/issues/413)
[@jardakotesovec](https://github.com/jardakotesovec)
+### v0.14 - "*needle*"
+
+Requires libvips v8.2.3
+
#### v0.14.1 - 16th April 2016
* Allow removal of limitation on input pixel count via limitInputPixels. Use with care.
diff --git a/docs/install.md b/docs/install.md
index aa2703db..bd362125 100644
--- a/docs/install.md
+++ b/docs/install.md
@@ -15,14 +15,14 @@ npm install sharp
[](https://circleci.com/gh/lovell/sharp)
libvips and its dependencies are fetched and stored within `node_modules/sharp/lib` during `npm install`.
-This involves an automated HTTPS download of approximately 7MB.
+This involves an automated HTTPS download of approximately 6.7MB.
Most recent Linux-based operating systems with glibc running on x64 and ARMv6+ CPUs should "just work", e.g.:
* Debian 7, 8
-* Ubuntu 12.04, 14.04, 15.04, 15.10, 16.04
+* Ubuntu 12.04, 14.04, 15.10, 16.04
* Centos 7
-* Fedora 21, 22, 23
+* Fedora 22, 23
* openSUSE 13.2
* Archlinux 2015.06.01
* Raspbian Jessie
diff --git a/package.json b/package.json
index 1877a711..5d5c30ce 100644
--- a/package.json
+++ b/package.json
@@ -43,7 +43,10 @@
"png",
"webp",
"tiff",
+ "gif",
+ "svg",
"dzi",
+ "image",
"resize",
"thumbnail",
"crop",
@@ -73,7 +76,7 @@
},
"license": "Apache-2.0",
"config": {
- "libvips": "8.3.0"
+ "libvips": "8.3.1"
},
"engines": {
"node": ">=0.10"
diff --git a/packaging/arm/build.sh b/packaging/arm/build.sh
index 3b1e3b1a..ca49a024 100755
--- a/packaging/arm/build.sh
+++ b/packaging/arm/build.sh
@@ -19,18 +19,27 @@ export CXXFLAGS="-O3"
# Dependency version numbers
VERSION_ZLIB=1.2.8
VERSION_FFI=3.2.1
-VERSION_GLIB=2.47.6
+VERSION_GLIB=2.48.0
VERSION_XML2=2.9.3
-VERSION_GSF=1.14.34
+VERSION_GSF=1.14.36
VERSION_EXIF=0.6.21
VERSION_LCMS2=2.7
-VERSION_GM=1.3.23
-VERSION_JPEG=1.4.2
+VERSION_JPEG=1.4.90
VERSION_PNG16=1.6.21
VERSION_WEBP=0.5.0
VERSION_TIFF=4.0.6
VERSION_ORC=0.4.25
-VERSION_VIPS=8.2.3
+VERSION_GDKPIXBUF=2.34.0
+VERSION_FREETYPE=2.6.3
+VERSION_FONTCONFIG=2.11.95
+VERSION_HARFBUZZ=1.2.6
+VERSION_PIXMAN=0.34.0
+VERSION_CAIRO=1.14.6
+VERSION_PANGO=1.40.1
+VERSION_CROCO=0.6.11
+VERSION_SVG=2.40.15
+VERSION_GIF=5.1.4
+VERSION_VIPS=8.3.1
mkdir ${DEPS}/zlib
curl -Ls http://zlib.net/zlib-${VERSION_ZLIB}.tar.xz | tar xJC ${DEPS}/zlib --strip-components=1
@@ -44,7 +53,7 @@ cd ${DEPS}/ffi
./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --disable-builddir && make install-strip
mkdir ${DEPS}/glib
-curl -Ls https://download.gnome.org/sources/glib/2.47/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1
+curl -Ls https://download.gnome.org/sources/glib/2.48/glib-${VERSION_GLIB}.tar.xz | tar xJC ${DEPS}/glib --strip-components=1
cd ${DEPS}/glib
./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --with-pcre=internal && make install-strip
@@ -68,11 +77,6 @@ curl -Ls http://heanet.dl.sourceforge.net/project/lcms/lcms/${VERSION_LCMS2}/lcm
cd ${DEPS}/lcms2
./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking && make install-strip
-mkdir ${DEPS}/gm
-curl -Ls http://heanet.dl.sourceforge.net/project/graphicsmagick/graphicsmagick/${VERSION_GM}/GraphicsMagick-${VERSION_GM}.tar.xz | tar xJC ${DEPS}/gm --strip-components=1
-cd ${DEPS}/gm
-./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking --without-magick-plus-plus && make install-strip
-
mkdir ${DEPS}/jpeg
curl -Ls http://heanet.dl.sourceforge.net/project/libjpeg-turbo/${VERSION_JPEG}/libjpeg-turbo-${VERSION_JPEG}.tar.gz | tar xzC ${DEPS}/jpeg --strip-components=1
cd ${DEPS}/jpeg
@@ -99,11 +103,24 @@ curl -Ls http://gstreamer.freedesktop.org/data/src/orc/orc-${VERSION_ORC}.tar.xz
cd ${DEPS}/orc
./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking && make install-strip
+# TODO:
+# VERSION_GDKPIXBUF=2.34.0
+# VERSION_FREETYPE=2.6.3
+# VERSION_FONTCONFIG=2.11.95
+# VERSION_HARFBUZZ=1.2.6
+# VERSION_PIXMAN=0.34.0
+# VERSION_CAIRO=1.14.6
+# VERSION_PANGO=1.40.1
+# VERSION_CROCO=0.6.11
+# VERSION_SVG=2.40.15
+# VERSION_GIF=5.1.4
+
mkdir ${DEPS}/vips
-curl -Ls http://www.vips.ecs.soton.ac.uk/supported/8.2/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1
+curl -Ls http://www.vips.ecs.soton.ac.uk/supported/8.3/vips-${VERSION_VIPS}.tar.gz | tar xzC ${DEPS}/vips --strip-components=1
cd ${DEPS}/vips
./configure --prefix=${TARGET} --enable-shared --disable-static --disable-dependency-tracking \
- --disable-debug --disable-introspection --without-python --without-fftw --with-magickpackage=GraphicsMagick \
+ --disable-debug --disable-introspection --without-python --without-fftw \
+ --without-magick --without-pangoft2 --without-ppm --without-analyze --without-radiance \
--with-zip-includes=${TARGET}/include --with-zip-libraries=${TARGET}/lib \
--with-jpeg-includes=${TARGET}/include --with-jpeg-libraries=${TARGET}/lib \
&& make install-strip
@@ -117,20 +134,29 @@ rm -rf pkgconfig .libs *.la libvipsCC*
# Create JSON file of version numbers
cd ${TARGET}
echo "{\n\
+ \"cairo\": \"${VERSION_CAIRO}\",\n\
+ \"croco\": \"${VERSION_CROCO}\",\n\
\"exif\": \"${VERSION_EXIF}\",\n\
\"ffi\": \"${VERSION_FFI}\",\n\
+ \"fontconfig\": \"${VERSION_FONTCONFIG}\",\n\
+ \"freetype\": \"${VERSION_FREETYPE}\",\n\
+ \"gdkpixbuf\": \"${VERSION_GDKPIXBUF}\",\n\
+ \"gif\": \"${VERSION_GIF}\",\n\
\"glib\": \"${VERSION_GLIB}\",\n\
\"gsf\": \"${VERSION_GSF}\",\n\
+ \"harfbuzz\": \"${VERSION_HARFBUZZ}\",\n\
\"jpeg\": \"${VERSION_JPEG}\",\n\
\"lcms\": \"${VERSION_LCMS2}\",\n\
- \"gm\": \"${VERSION_GM}\",\n\
\"orc\": \"${VERSION_ORC}\",\n\
+ \"pango\": \"${VERSION_PANGO}\",\n\
+ \"pixman\": \"${VERSION_PIXMAN}\",\n\
\"png\": \"${VERSION_PNG16}\",\n\
+ \"svg\": \"${VERSION_SVG}\",\n\
\"tiff\": \"${VERSION_TIFF}\",\n\
- \"vips\": \"${VERSION_VIPS}\"\n\
+ \"vips\": \"${VERSION_VIPS}\",\n\
\"webp\": \"${VERSION_WEBP}\",\n\
\"xml\": \"${VERSION_XML2}\",\n\
- \"zlib\": \"${VERSION_ZLIB}\",\n\
+ \"zlib\": \"${VERSION_ZLIB}\"\n\
}" >lib/versions.json
# Create .tar.gz
diff --git a/packaging/build.sh b/packaging/build.sh
index 9cc4bca4..5b97118f 100755
--- a/packaging/build.sh
+++ b/packaging/build.sh
@@ -1,6 +1,6 @@
#!/bin/sh
-VERSION_VIPS=8.3.0
+VERSION_VIPS=8.3.1
# Is docker available?
diff --git a/packaging/lin/Dockerfile b/packaging/lin/Dockerfile
index 12206772..1ae6d95b 100644
--- a/packaging/lin/Dockerfile
+++ b/packaging/lin/Dockerfile
@@ -40,7 +40,7 @@ ENV VERSION_ZLIB=1.2.8 \
VERSION_CROCO=0.6.11 \
VERSION_SVG=2.40.15 \
VERSION_GIF=5.1.4 \
- VERSION_VIPS=8.3.0
+ VERSION_VIPS=8.3.1
# Least out-of-sync Sourceforge mirror
ENV SOURCEFORGE_MIRROR=netix
diff --git a/packaging/test.sh b/packaging/test.sh
index ef021366..d26385fc 100755
--- a/packaging/test.sh
+++ b/packaging/test.sh
@@ -6,34 +6,33 @@ if ! type docker >/dev/null; then
exit 1
fi
+version_node=4.4.2
+
test="npm run clean; npm install --unsafe-perm; npm test"
# Debian 7, 8
-# Ubuntu 12.04, 14.04
-for dist in wheezy jessie precise trusty; do
+# Ubuntu 14.04
+for dist in wheezy jessie trusty; do
echo "Testing $dist..."
- if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/$dist:0.12 >packaging/$dist.log 2>&1 sh -c "cd /v; ./packaging/test/debian.sh; $test";
+ if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/$dist:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; ./packaging/test/debian.sh; $test";
then echo "$dist OK"
else echo "$dist fail" && cat packaging/$dist.log
fi
done
-# Centos 6
-echo "Testing centos6..."
-if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/centos6:0.12 >packaging/centos6.log 2>&1 sh -c "cd /v; source ./packaging/test/centos6.sh; ./preinstall.sh; $test";
-then echo "centos6 OK"
-else echo "centos6 fail" && cat packaging/centos6.log
-fi
-
# Centos 7
-# Fedora 20, 21
-for dist in centos7 fedora20 fedora21; do
- echo "Testing $dist..."
- if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/$dist:0.12 >packaging/$dist.log 2>&1 sh -c "cd /v; $test";
- then echo "$dist OK"
- else echo "$dist fail" && cat packaging/$dist.log
- fi
-done
+echo "Testing centos7..."
+if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/centos7:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; $test";
+then echo "$dist OK"
+else echo "$dist fail" && cat packaging/$dist.log
+fi
+
+# Fedora 22
+echo "Testing fedora22..."
+if docker run -i -t --rm -v $PWD:/v -e "NODE_ENV=development" nodesource/fedora22:$version_node >packaging/$dist.log 2>&1 sh -c "cd /v; $test";
+then echo "$dist OK"
+else echo "$dist fail" && cat packaging/$dist.log
+fi
# openSUSE 13.2
echo "Testing opensuse..."
diff --git a/packaging/test/centos6.sh b/packaging/test/centos6.sh
deleted file mode 100755
index ebe66857..00000000
--- a/packaging/test/centos6.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-#!/bin/sh
-
-# Install C++11 compatible version of g++ on Centos 6
-curl -o /etc/yum.repos.d/devtools-1.1.repo http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo
-yum install -y devtoolset-1.1
-export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc
-export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
-export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c++
diff --git a/packaging/win/Dockerfile b/packaging/win/Dockerfile
index a63e4abb..9b046559 100644
--- a/packaging/win/Dockerfile
+++ b/packaging/win/Dockerfile
@@ -1,15 +1,15 @@
-FROM ubuntu:precise
+FROM debian:wheezy
MAINTAINER Lovell Fuller
RUN apt-get update && apt-get install -y curl zip
-ENV VERSION_VIPS=8.3.0
+ENV VERSION_VIPS=8.3.1
# Fetch and unzip
RUN mkdir /vips
WORKDIR /vips
-RUN curl -L -O https://github.com/lovell/build-win64/releases/download/v${VERSION_VIPS}/vips-dev-w64-web-8.3.zip
-RUN unzip vips-dev-w64-web-8.3.zip
+RUN curl -L -O https://github.com/lovell/build-win64/releases/download/v${VERSION_VIPS}/vips-dev-w64-web-${VERSION_VIPS}.zip
+RUN unzip vips-dev-w64-web-${VERSION_VIPS}.zip
# Clean and zip
WORKDIR /vips/vips-dev-8.3
@@ -17,7 +17,4 @@ RUN rm bin/libvipsCC-42.dll bin/libvips-cpp-42.dll bin/libgsf-win32-1-114.dll
RUN cp bin/*.dll lib/
RUN cp -r lib64/* lib/
-# Patch VImage8.h for MSVC support, can be removed with libvips v8.3.1+
-RUN curl -o include/vips/VImage8.h https://raw.githubusercontent.com/jcupitt/libvips/baa175c4c0f99201d436edd035d58bbb3471e489/cplusplus/include/vips/VImage8.h
-
RUN GZIP=-9 tar czf /libvips-${VERSION_VIPS}-win.tar.gz include lib/glib-2.0 lib/libvips.lib lib/libglib-2.0.lib lib/libgobject-2.0.lib lib/*.dll
diff --git a/preinstall.sh b/preinstall.sh
index fa157959..747b5b83 100755
--- a/preinstall.sh
+++ b/preinstall.sh
@@ -11,7 +11,7 @@
# Supports:
# * Debian Linux
# * Debian 7, 8
-# * Ubuntu 12.04, 14.04, 14.10, 15.04, 15.10
+# * Ubuntu 12.04, 14.04, 15.10, 16.04
# * Mint 13, 17
# * Elementary 0.3
# * Red Hat Linux
@@ -20,9 +20,9 @@
# * Amazon Linux 2015.03, 2015.09
# * OpenSuse 13
-vips_version_minimum=8.2.3
-vips_version_latest_major_minor=8.2
-vips_version_latest_patch=3
+vips_version_minimum=8.3.1
+vips_version_latest_major_minor=8.3
+vips_version_latest_patch=1
openslide_version_minimum=3.4.0
openslide_version_latest_major_minor=3.4
@@ -139,7 +139,7 @@ if [ $enable_openslide -eq 1 ] && [ -z $vips_with_openslide ] && [ $openslide_ex
DISTRO=$(lsb_release -c -s)
echo "Detected Debian Linux '$DISTRO'"
case "$DISTRO" in
- jessie|vivid|wily)
+ jessie|vivid|wily|xenial)
# Debian 8, Ubuntu 15
echo "Installing libopenslide via apt-get"
apt-get install -y libopenslide-dev