From b6fbd6b3d97e2da4481bdbd25176f263fd6a5e75 Mon Sep 17 00:00:00 2001 From: Martijn van Beurden Date: Thu, 22 Sep 2022 12:02:59 +0200 Subject: [PATCH] Release FLAC 1.4.1 --- CHANGELOG.md | 14 +++++++- CMakeLists.txt | 2 +- configure.ac | 2 +- doc/Doxyfile.in | 2 +- doc/release_checklist.md | 38 +++++++++++++++++++++ man/flac.md | 2 +- man/metaflac.md | 2 +- src/libFLAC/format.c | 2 +- test/metaflac-test-files/case07-expect.meta | 2 +- 9 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 doc/release_checklist.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a391a3559..98ce970d1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,19 @@ This changelog is not exhaustive, review [the git commit log](https://github.com/xiph/flac/commits) for an exhaustive list of changes. -## FLAC 1.4.0 +## FLAC 1.4.1 (22-Sep-2022) + +This release only has a few changes. It was triggered by a problem in the 1.4.0 tarball: man pages were empty and api documentation missing + +* CMake fixes (Tomasz Kłoczko) +* Add checks that man pages and api docs end up in tarball +* Enable installation of prebuilt man pages and api docs +* Fix compiler warnings (Johannes Kauffmann, Ozkan Sezer) +* Fix format specifier (manxorist) +* Enable building on Universal Windows Platform (Steve Lhomme) +* Fix versioning from git + +## FLAC 1.4.0 (09-Sep-2022) As there have been changes to the library interfaces, the libFLAC version number is incremented to 12, the libFLAC++ version number is incremented to 10. As some changes were breaking, the version age numbers (see [libtool versioning](https://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning)) have been reset to 0. For more details on the changes to the API, see the [porting guide](https://xiph.org/flac/api/group__porting__1__3__4__to__1__4__0.html). diff --git a/CMakeLists.txt b/CMakeLists.txt index cdfcfecda5..8ec6e26034 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ if(NOT (CMAKE_BUILD_TYPE OR CMAKE_CONFIGURATION_TYPES OR DEFINED ENV{CFLAGS} OR set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo") endif() -project(FLAC VERSION 1.4.0) # HOMEPAGE_URL "https://www.xiph.org/flac/") +project(FLAC VERSION 1.4.1) # HOMEPAGE_URL "https://www.xiph.org/flac/") list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") diff --git a/configure.ac b/configure.ac index 50f19efc9d..daa6304300 100644 --- a/configure.ac +++ b/configure.ac @@ -19,7 +19,7 @@ # instead of FLAC__ since autoconf triggers off 'AC_' in strings AC_PREREQ(2.60) -AC_INIT([flac],[1.4.0],[flac-dev@xiph.org],[flac],[https://www.xiph.org/flac/]) +AC_INIT([flac],[1.4.1],[flac-dev@xiph.org],[flac],[https://www.xiph.org/flac/]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR([src/flac/main.c]) AC_CONFIG_MACRO_DIR([m4]) diff --git a/doc/Doxyfile.in b/doc/Doxyfile.in index d3533e7563..d6feb8d0e6 100644 --- a/doc/Doxyfile.in +++ b/doc/Doxyfile.in @@ -32,7 +32,7 @@ PROJECT_NAME = FLAC # This could be handy for archiving the generated documentation or # if some version control system is used. -PROJECT_NUMBER = 1.4.0 +PROJECT_NUMBER = 1.4.1 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer diff --git a/doc/release_checklist.md b/doc/release_checklist.md new file mode 100644 index 0000000000..914d792c62 --- /dev/null +++ b/doc/release_checklist.md @@ -0,0 +1,38 @@ +1. Change version number in + - /configure.ac + - /CMakeLists.txt + - /doc/Doxyfile.in + - /man/flac.md + - /man/metaflac.md + - /test/metaflac-test-files/case07-expect.meta +1. Change version date in + - /src/libFLAC/format.c + - /test/metaflac-test-files/case07-expect.meta +1. Update changelog +1. Check copyright year and update if applicable +1. Check libFLAC and libFLAC++ for interface changes and update + version numbers in include/FLAC/export.h and include/FLAC++/export.h +1. Prepare and check release tarball by running + `git clean -ffxd && ./autogen.sh && ./configure && make distcheck` +1. Check whether release tarball contains api documentation and + generated man pages +1. Prepare Windows release. Instructions are for building with MinGW-w64 + - Take last release as template + - Update readme's if necessary + - Copy changelog and tool documentation + - Unpack tarball and create empty directories build64 and build32 + - Unpack most recent libogg: change + `add_library(ogg ${OGG_HEADERS} ${OGG_SOURCES})` to + `add_library(ogg STATIC ${OGG_HEADERS} ${OGG_SOURCES})` + - Add `-static-libgcc` to FLAC's CFLAGS + - Add `-static-libgcc  -static-libstdc++ -Wl,-Bstatic,--whole-archive + -lwinpthread -Wl,-Bdynamic,--no-whole-archive` to FLAC's CXXFLAGS + - Run `CMake -DBUILD_SHARED_LIBS=ON .. && ninja` in both build64 and + build32 in the corresponding build environments + - Check dependencies of flac.exe, metaflac.exe, libFLAC.dll and + libFLAC++.dll, e.g. with objdump -x *.* | grep DLL. + Dependencies should only include KERNEL32.DLL, ADVAPI32.DLL, + msvcrt.dll and libFLAC.dll + - Copy flac.exe, metaflac.exe, libFLAC.dll and libFLAC++.dll of both + builds to proper directories + - Zip directory diff --git a/man/flac.md b/man/flac.md index f7ca752d60..65de6254c7 100644 --- a/man/flac.md +++ b/man/flac.md @@ -1,4 +1,4 @@ -% flac(1) Version 1.4.0 | Free Lossless Audio Codec conversion tool +% flac(1) Version 1.4.1 | Free Lossless Audio Codec conversion tool # NAME diff --git a/man/metaflac.md b/man/metaflac.md index 5ea0f57611..9dd7b14035 100644 --- a/man/metaflac.md +++ b/man/metaflac.md @@ -1,4 +1,4 @@ -% metaflac(1) Version 1.4.0 | Free Lossless Audio Codec metadata tool +% metaflac(1) Version 1.4.1 | Free Lossless Audio Codec metadata tool # NAME diff --git a/src/libFLAC/format.c b/src/libFLAC/format.c index dbb903e3bb..77391d8cf1 100644 --- a/src/libFLAC/format.c +++ b/src/libFLAC/format.c @@ -55,7 +55,7 @@ FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC git-" GIT_COMMIT_H #else /* PACKAGE_VERSION should come from configure */ FLAC_API const char *FLAC__VERSION_STRING = PACKAGE_VERSION; -FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " PACKAGE_VERSION " 20220909"; +FLAC_API const char *FLAC__VENDOR_STRING = "reference libFLAC " PACKAGE_VERSION " 20220922"; #endif FLAC_API const FLAC__byte FLAC__STREAM_SYNC_STRING[4] = { 'f','L','a','C' }; diff --git a/test/metaflac-test-files/case07-expect.meta b/test/metaflac-test-files/case07-expect.meta index b798d2b2e0..7f96495e0a 100644 --- a/test/metaflac-test-files/case07-expect.meta +++ b/test/metaflac-test-files/case07-expect.meta @@ -1,4 +1,4 @@ -reference libFLAC 1.4.0 20220909 +reference libFLAC 1.4.1 20220922 ARTIST=The_artist_formerly_known_as_the_artist... ARTIST=Chuck_Woolery ARTIST=Vern