diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1dd876d..a1412d8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -22,7 +22,7 @@
 endif()
 
 set(POPPLER_MAJOR_VERSION "0")
-set(POPPLER_MINOR_VERSION "38")
+set(POPPLER_MINOR_VERSION "39")
 set(POPPLER_MICRO_VERSION "0")
 set(POPPLER_VERSION "${POPPLER_MAJOR_VERSION}.${POPPLER_MINOR_VERSION}.${POPPLER_MICRO_VERSION}")
 
@@ -478,7 +478,7 @@
 else(MSVC)
 add_library(poppler SHARED ${poppler_SRCS})
 endif(MSVC)
-set_target_properties(poppler PROPERTIES VERSION 57.0.0 SOVERSION 57)
+set_target_properties(poppler PROPERTIES VERSION 58.0.0 SOVERSION 58)
 target_link_libraries(poppler ${poppler_LIBS})
 target_link_libraries(poppler LINK_INTERFACE_LIBRARIES "")
 install(TARGETS poppler RUNTIME DESTINATION bin LIBRARY DESTINATION lib${LIB_SUFFIX} ARCHIVE DESTINATION lib${LIB_SUFFIX})
diff --git a/NEWS b/NEWS
index 23dadee..ff54720 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+Release 0.39.0
+        core:
+         * Ignore the alternateSpace and tintTransform. Bug #92381
+         * CairoOutputDev: Scale radial pattern. Bug #22098
+         * CairoOutputDev: Implement function shading using mesh gradients. Bug #88394
+         * Regression test improvements
+         * Fix typos in error messages
+
+        build system:
+         * Visual Studio 2015 now supports snprintf. Bug #93116
+
+        utils:
+         * pdftops: fix %%PageBoundingBox. Bug #87161
+         * pdftocairo: Fix double free when both user and owner passwords are given
+
+        glib:
+         * Add duration_real to PopplerPageTransition. Bug #92040
+         * Remove enum PopplerOrientation from API. Bug #93229
+         * documentation improvements
+         * glib-demo improvements
+
 Release 0.38.0
         core:
          * Splash: Multiply opacity in case of pattern colorspace. Bug #92592
diff --git a/configure.ac b/configure.ac
index 6a541df..b2fc6cf 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 m4_define([poppler_version_major],[0])
-m4_define([poppler_version_minor],[38])
+m4_define([poppler_version_minor],[39])
 m4_define([poppler_version_micro],[0])
 m4_define([poppler_version],[poppler_version_major.poppler_version_minor.poppler_version_micro])
 
diff --git a/cpp/Doxyfile b/cpp/Doxyfile
index cb24c23..dee1b4b 100644
--- a/cpp/Doxyfile
+++ b/cpp/Doxyfile
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.38.0
+PROJECT_NUMBER         = 0.39.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/poppler/CairoOutputDev.cc b/poppler/CairoOutputDev.cc
index 56cd06d..d06f3c7 100644
--- a/poppler/CairoOutputDev.cc
+++ b/poppler/CairoOutputDev.cc
@@ -20,7 +20,7 @@
 // Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
 // Copyright (C) 2006-2011, 2013, 2014 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2008 Carl Worth <cworth@cworth.org>
-// Copyright (C) 2008-2014 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2008-2015 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2008 Michael Vrable <mvrable@cs.ucsd.edu>
 // Copyright (C) 2008, 2009 Chris Wilson <chris@chris-wilson.co.uk>
 // Copyright (C) 2008, 2012 Hib Eris <hib@hiberis.nl>
diff --git a/poppler/CairoOutputDev.h b/poppler/CairoOutputDev.h
index 1c9a18c..c146ce0 100644
--- a/poppler/CairoOutputDev.h
+++ b/poppler/CairoOutputDev.h
@@ -18,7 +18,7 @@
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
 // Copyright (C) 2005 Nickolay V. Shmyrev <nshmyrev@yandex.ru>
 // Copyright (C) 2006-2011, 2013 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2008, 2009, 2011-2014 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2008, 2009, 2011-2015 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2008 Michael Vrable <mvrable@cs.ucsd.edu>
 // Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2015 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc
index 52edbfa..bd3b42d 100644
--- a/poppler/GfxState.cc
+++ b/poppler/GfxState.cc
@@ -27,6 +27,7 @@
 // Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
 // Copyright (C) 2013 Hib Eris <hib@hiberis.nl>
 // Copyright (C) 2013 Fabio D'Urso <fabiodurso@hotmail.it>
+// Copyright (C) 2015 Adrian Johnson <ajohnson@redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
diff --git a/poppler/GfxState.h b/poppler/GfxState.h
index f64b8e0..c20438b 100644
--- a/poppler/GfxState.h
+++ b/poppler/GfxState.h
@@ -22,6 +22,7 @@
 // Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
 // Copyright (C) 2011-2014 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
+// Copyright (C) 2015 Adrian Johnson <ajohnson@redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
diff --git a/poppler/JPEG2000Stream.cc b/poppler/JPEG2000Stream.cc
index 9c47c3c..4c632d7 100644
--- a/poppler/JPEG2000Stream.cc
+++ b/poppler/JPEG2000Stream.cc
@@ -9,6 +9,7 @@
 // Copyright 2014 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright 2013, 2014 Adrian Johnson <ajohnson@redneon.com>
 // Copyright 2015 Adam Reichold <adam.reichold@t-online.de>
+// Copyright 2015 Jakub Wilk <jwilk@jwilk.net>
 //
 // Licensed under GPLv2 or later
 //
diff --git a/poppler/Makefile.am b/poppler/Makefile.am
index ad03e6d..79b6000 100644
--- a/poppler/Makefile.am
+++ b/poppler/Makefile.am
@@ -296,7 +296,7 @@
 	$(win32_libs)
 
 libpoppler_la_LDFLAGS =				\
-	-version-info 57:0:0			\
+	-version-info 58:0:0			\
 	@create_shared_lib@			\
 	@auto_import_flags@
 
diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
index d5b7400..2d01edb 100644
--- a/poppler/PSOutputDev.cc
+++ b/poppler/PSOutputDev.cc
@@ -25,7 +25,7 @@
 // Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2009, 2011, 2012, 2014, 2015 William Bader <williambader@hotmail.com>
 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
-// Copyright (C) 2009-2011, 2013, 2014 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2009-2011, 2013-2015 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2012, 2014 Fabio D'Urso <fabiodurso@hotmail.it>
 // Copyright (C) 2012 Lu Wang <coolwanglu@gmail.com>
 // Copyright (C) 2014 Till Kamppeter <till.kamppeter@gmail.com>
diff --git a/qt4/src/Doxyfile b/qt4/src/Doxyfile
index 08bf3bd..08d5d57 100644
--- a/qt4/src/Doxyfile
+++ b/qt4/src/Doxyfile
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.38.0
+PROJECT_NUMBER         = 0.39.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/qt5/src/Doxyfile b/qt5/src/Doxyfile
index 536c4aa..46c85e2 100644
--- a/qt5/src/Doxyfile
+++ b/qt5/src/Doxyfile
@@ -31,7 +31,7 @@
 # This could be handy for archiving the generated documentation or
 # if some version control system is used.
 
-PROJECT_NUMBER         = 0.38.0
+PROJECT_NUMBER         = 0.39.0
 
 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
 # base path where the generated documentation will be put.
diff --git a/utils/pdftocairo.cc b/utils/pdftocairo.cc
index b2a1dc4..ccdead1 100644
--- a/utils/pdftocairo.cc
+++ b/utils/pdftocairo.cc
@@ -24,7 +24,7 @@
 // Copyright (C) 2010 Jonathan Liu <net147@gmail.com>
 // Copyright (C) 2010 William Bader <williambader@hotmail.com>
 // Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2011 Carlos Garcia Campos <carlosgc@gnome.org>
+// Copyright (C) 2011, 2015 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2012 Koji Otani <sho@bbr.jp>
 // Copyright (C) 2013 Lu Wang <coolwanglu@gmail.com>
 // Copyright (C) 2013 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
