summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOneric <oneric@oneric.stub>2022-05-12 14:32:22 +0300
committerOleg Oshmyan <chortos@inbox.lv>2022-05-12 17:02:57 +0300
commit1af6240c5d1e499326146e0b88c987e626b13c23 (patch)
tree85732dc9a399146cfe509d3fc03e980fb5f9b2af
parent7b0ebafade1bb7149764cf6f5cb713c87ef27869 (diff)
downloadlibass-1af6240c5d1e499326146e0b88c987e626b13c23.tar.bz2
libass-1af6240c5d1e499326146e0b88c987e626b13c23.tar.xz
Release 0.16.00.16.0
This release brings a new `ASS_FEATURE_WHOLE_TEXT_LAYOUT` API toggle, brings an important API change on (only) Microsoft's Win32 platform to enable arbirtrary paths to be used rather than only ANSI ones, fixes an incompatibility with FreeType versions >= 2.11.1 on Win32 and brings many more bug and compatibility fixes as well as other improvements. API users are highly encouraged to pay special attention to the following points: * The documentation has been expanded and multiple errors in it have been fixed. It may be worthwhile to reread the documentation for all functions you are using (or all of it). If you still have questions afterwards or spot an error, please contact us so the docs can be further improved. * For those on Win32 only (other platforms do not require special handling of the path's encoding): The new support for arbitrary paths via the new dual encoding used in the majority of our API is mostly backward compatible, i.e. continuing to use `fopen` ANSI paths works mostly as well (or bad) as before except when there are actual on-disk name collisions. However, the other way around, using the new encoding with older libass binaries, will in general fail unless the paths happen to be pure 7bit US-ASCII. If you want to make use of arbitrary paths but also wish to continue to support older libass versions, you should continue to always use the `fopen` encoding if `ass_library_version() < 0x01502002`. Technically, this should be accompanied by an increase in the minor soname version, but there is none because the change is Win32-specific and the minor soname version is not even used by the dynamic linker in common MS Windows setups. Signed-off-by: Oleg Oshmyan <chortos@inbox.lv>
-rw-r--r--Changelog52
-rw-r--r--README.md3
-rw-r--r--configure.ac2
-rw-r--r--libass/Makefile.am2
-rw-r--r--libass/ass.h2
5 files changed, 57 insertions, 4 deletions
diff --git a/Changelog b/Changelog
index 250086b..8130524 100644
--- a/Changelog
+++ b/Changelog
@@ -1,3 +1,55 @@
+libass (0.16.0)
+ * Fix missing `-framework` options in libass.pc on macOS
+ * Fix missing GDI or DirectWrite options in libass.pc on Win32
+ * Fix crashes with fonts missing Postscript names and without one
+ being synthesised by the font provider
+ * Fix crashes on negative fontsizes and some overflows
+ * Fix a rare memory leak introduced in 0.13.0
+ * Fix minimum dependency versions in configure and our pc-file
+ * Fix our public headers for use with GCC versions between 3.1.0 and 4.5.0
+ (was a regression introduced in 0.15.0)
+ * x86: Fix potential buffer over-read by 16 bytes with AVX2 assembly
+ when large tiles are not enabled (the default)
+ * x86: Fix PIC flags not being interpreted by the assembler, breaking the
+ asm-enabled build setup on NetBSD and OpenBSD. On 32-bit x86, if the toolchain
+ requires PIC objects and relies on compiler defaults to get PIC implicitly,
+ you need to pass `--with-pic` to configure to ensure NASM always produces
+ PIC objects
+ * x86: Fix AVX support not being detected on non-Intel CPUs and some VMs
+ * x86: Fix CPUID being used on CPUs not supporting the instruction (<= i486)
+ and the way it is used for CPUs with less than 7 CPUID-leafs
+ which could lead to crashes due to illegal instructions
+ * MS Windows-only issue: Fix crashes with FreeType >= 2.11.1 on Win32
+ when rendering strikethrough or underline
+
+ * Improve `\iclip` quality
+ * Improve quality of very small outlines
+ * Switch to wyhash for much better cache performance
+ * Propagate ZWJ/ZWNJ effects across glyph run boundaries
+ * Do not depend on compiler-specific defines to actually use built assembly
+ * Expand documentation and fix mistakes in it
+ * configure now errors out if an explicitly requested feature is unavailable
+ * MS Windows-only issue: ease linking against static/shared GNU FriBidi
+
+ * Add ASS_FEATURE_WHOLE_TEXT_LAYOUT to apply bidi, shaping and \fay
+ to the entire unsplit event text. The non-portable `Encoding=-1` mode
+ always behaves as if the feature were enabled
+ * MS Windows-only issue: add support for arbitrary Unicode paths;
+ see documentation of related functions for details
+
+ * Improve VSFilter compatibility
+ * Do not treat format lines using `Actor` in place of `Name`
+ as custom format lines. The former is used by VSFilter itself,
+ the latter by Aegisub
+ * Run bidi and shaping on each glyph run separately by default
+ * Match VSFilter's \fsp effects on bidi and shaping
+ * Match VSFilter's \fay behaviour
+ * Support non-Unicode font cmaps when Win32 API or iconv
+ is available and can convert to the relevant encoding
+ * Treat empty clip outlines as if everything was outside the clip
+ not inside (was a 0.14.0 regression)
+ * Parse integer parameters of override tags more like VSFilter
+
libass (0.15.2)
* Fix some known 0.15.x regressions:
* Fix Core Text font fallback failing on some fonts with multiple names
diff --git a/README.md b/README.md
index 650acd4..0e5bf9d 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,8 @@ libass is a portable subtitle renderer for the ASS/SSA (Advanced Substation Alph
Get it
======
-See [GitHub releases](https://github.com/libass/libass/releases) for the latest release 0.15.2 (released 2021-09-12). This is a bug fix release. See the [changelog](https://github.com/libass/libass/blob/master/Changelog) for a detailed list of changes.
+See [GitHub releases](https://github.com/libass/libass/releases) for the latest release 0.16.0 (released 2022-05-12).
+See the [changelog](https://github.com/libass/libass/blob/master/Changelog) for a detailed list of changes.
Source code is available from our [GitHub repository](https://github.com/libass/libass).
diff --git a/configure.ac b/configure.ac
index 89b60ec..afac0ef 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,4 +1,4 @@
-AC_INIT(libass, 0.15.2)
+AC_INIT(libass, 0.16.0)
AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_MACRO_DIR([m4])
# Disable Fortran checks
diff --git a/libass/Makefile.am b/libass/Makefile.am
index 465ecd0..50a779f 100644
--- a/libass/Makefile.am
+++ b/libass/Makefile.am
@@ -4,7 +4,7 @@ AM_CFLAGS = -std=gnu99 -Wall -Wextra -Wno-sign-compare -Wno-unused-parameter \
-D_GNU_SOURCE
LIBASS_LT_CURRENT = 10
-LIBASS_LT_REVISION = 3
+LIBASS_LT_REVISION = 4
LIBASS_LT_AGE = 1
nasm_verbose = $(nasm_verbose_$(V))
diff --git a/libass/ass.h b/libass/ass.h
index 5044081..85dc1fe 100644
--- a/libass/ass.h
+++ b/libass/ass.h
@@ -24,7 +24,7 @@
#include <stdarg.h>
#include "ass_types.h"
-#define LIBASS_VERSION 0x01502002
+#define LIBASS_VERSION 0x01600000
#ifdef __cplusplus
extern "C" {