Thanks to visit codestin.com
Credit goes to Github.com

Skip to content

Tags: libass/libass

Tags

0.17.4

Toggle 0.17.4's commit message

Verified

This tag was signed with the committer’s verified signature.
TheOneric Oneric
libass 0.17.4

This is a small release mainly adding a new API for manually or
automatically pruning old, no longer needed event data
as well as a toggle for selective blur overrides.

Detailed Changes:
* add new API to prune old events from memory
   * ass_prune_events for manual pruning
   * ass_configure_prune to set up automatic pruning
 * add ASS_OVERRIDE_BIT_BLUR flag
 * fontconfig: fix minor memory leaks in pathological font setups
 * coretext: fix build on older compilers or Mac OS X 10.5
 * checkasm: fix build for older compilers
 * aarch64: fix assembly build on strict compilers due to oversized align
 * meson: improve ASM configuration on x86 Android
 * meson: align MSVC warnings and optimisations closer to gcc-like compilers
 * meson can now build all dev utility executables

0.17.3

Toggle 0.17.3's commit message

Verified

This tag was signed with the committer’s verified signature.
TheOneric Oneric
libass 0.17.3

This release fixes a 0.17.2 regression in the fontconfig font provider
as well as some build issues. Furthermore it brings API enhancements
and a performance improvement for a specific case.

The newly added ass_malloc and ass_free API should always be used
when directly interacting with libass-owned or provided data
to be safe on setups with multiple allocators as it’s
not too uncommon on Microsoft Windows.
However libass continues to always use the standard allocators
provided at build time; no currently working setups break.

Detailed Changes:
 * Fix 0.17.2 regression in the fontconfig fontprovider
   leading to undesirable widths being chosen from large typographic families
 * Fix configure generated with slibtool-provided autoconf macros
 * Fix "make check" for shared-only builds
 * Constify some API parameters in a backwards-compatible manner
 * Add new ass_malloc and ass_free API functions
 * Tweak default optimization flags
 * Speed up parsing of events with very long override blocks
 * Improve handling of HarfBuzz-related failures

0.17.2

Toggle 0.17.2's commit message

Verified

This tag was signed with the committer’s verified signature.
TheOneric Oneric
libass 0.17.2

This release brings optimized assembly routines for aarch64,
as well as numerous individual improvements and fixes.

Furthermore, Meson/muon is added as a secondary build system restoring
first-party support for MSVC builds. Note however, this build setup is
not at feature parity with autotools and in particular not considered
suitable for packaging purposes on non-Windows platforms.
For more details see our README.

 * Fix rendering of \h in certain cases
 * Fix a minor memory leak in the CoreText and DirectWrite font provider
 * Fix wrong ASS_Image dimensions for huge BorderStyle=4 backgrounds
   potentially leading to out of bound reads by API users

 * Improve quality of animated rectangular clips
 * Improve accuracy of cache limits
 * Full-Unicode cmaps are now always preferred
 * Improve font selection compatibility in the DirectWrite font provider
 * Improved documentation
   * Color mangling notes in ass_types.h were updated for tone mapping and HDR video
   * Guidelines for producing portable ASS files can now be found in our wiki

 * Updating selective overrides now forces a cache clear to avoid issues with outdated caches
 * Frame and storage resolutions are now limited to what a single ASS_Image can represent
 * make check now runs checkasm if assembly is enabled
 * CoreText can now be used on Mac OS X 10.5
 * Meson/muon is now offered as a secondary build system bringing back first-party MSVC support
   Note however it is not at feature parity with autotools in all cases

 * aarch64: add optimized assembly routines covering the same set as on x86;
   they work on both little and big endian systems
 * x86: add SSSE3 versions of some assembly routines to help CPUs without AVX2
 * x86: it is now possible to build binaries with optimized assembly and SHSTK support

 * Improve VSFilter compatibility:
   * Trailing spaces are no longer trimmed from style and
     event string fields (this does not affect Text)
   * All BiDi paragraph separators now delimit BiDi runs
   * Fix treatment of font weights < 10
   * Match GDI's faux italic slant
   * Employ faux italics and faux bolding in the same cases as GDI
   * Better match font selection with regard to italic and weight
   * Treat empty Style name as "Default"
   * Various drawing fixes
     * Reject drawings not starting with a valid m command or invalid m followed by valid n
     * Drop coordinates following invalid commands rather than appending them to the prior command
     * Ignore p commands without enough preceding nodes
     * Partially fix s and p commands used outside of a properly closed b-spline sequence

0.17.1

Toggle 0.17.1's commit message

Verified

This tag was signed with the committer’s verified signature.
astiob Oleg Oshmyan
libass 0.17.1

This is an important, bug-fix-only release.

Users of 0.17.0 are advised to upgrade to 0.17.1 soon.
Nothing has changed besides fixing crash and build-stopper bugs,
so there are no side effects.

Users of 0.16.0 are also affected by the buffer overread bug and are
advised to upgrade or at least to backport the relevant fix themselves.

 * Fix buffer overread if soft-wrapping occurred and
   ASS_FEATURE_WHOLE_TEXT_LAYOUT was enabled via API or due to Encoding -1
   (bug introduced in 0.16.0)
 * x86: detect GNU Hurd and configure NASM appropriately

0.17.0

Toggle 0.17.0's commit message

Verified

This tag was signed with the committer’s verified signature.
TheOneric Oneric
0.17.0

This release’s major feature is the addition of a new ASS ScriptInfo
header pair: LayoutResX and LayoutResY. The introduction has been
coordinated with active VSFilters and will soon be available in
xy-VSFilter and XySubFilter as well.
Since the beginning, many features in ASS scale relative to or are
otherwise affected by the storage resolution of the video file the
subs are bundled with. Adjusting subs for different video resolutions
traditionally took non-trivial effort. Of course this behavior must be
kept by default to preserve compatibility with existing files. But now,
setting both of the new headers to a positive, non-zero value will
replace the video storage resolution with the specified resolution for
the whole file, allowing easy reuse across all encodes of the same
display aspect ratio. This includes PAR effects, so reuse across
anamorphic and non-anamorphic releases is possible too.

Apart from that, some notes for package maintainers:
 * for ASS_FEATURE_WRAP_UNICODE to be usable at runtime, libass must be
   linked against the new optional dependency libunibreak whose source
   currently resides at https://github.com/adah1972/libunibreak
 * switching to a non-recursive build means it is no longer possible to
   invoke make in subdirectories. However this wasn’t really useful
   anyway and everything else, including uninstalled binary locations,
   was kept unchanged.
 * reminder: as announced last release more keys are now authorized for
   signing release tags and tarballs; a signature of any one of those
   keys is sufficient. See the MAINTAINERS file in the last or this
   release’s tarball for a complete list and more details.

Detailed Changes:

 * Fix various parts relating to automatic linebreaking
 * Fix rendering when hinting was enabled and fontsizes or scales are zero
 * Switch build to a non-recursive setup for improved parallelism
 * Improve quality of SSA Effects movement
 * Further documentation improvements
 * Completely invalid Events are now discarded during parsing

 * Introduction of LayoutRes{X,Y} script headers
 * New AlphaLevel style override to set all alpha values while keeping the color
 * Add ASS_FEATURE_WRAP_UNICODE to allow automatic linebreaks in accordance
   with the Unicode line breaking algorithm instead of ASS' much stricter
   breaking rules. For the feature to be available at runtime, libass must be
   linked against the new optional dependency libunibreak.

 * Improve VSFilter compatibility:
   * Fix premature truncation of animated alphas (was a 0.15.0 regression)
   * Fix handling of small delay parameters for legacy SSA Effects
   * Fix x-scaling with PlayResX
   * Fix x-scaling for anamorphic video
     (except for \be whose scaling remains buggy in general)
   * Support SSA's AlphaLevel style field
   * Support the \kt override tag from VSFilter's v4++ set
   * Parse ScriptType headers
   * Parse integer header, style and event field values like VSFilter
   * Ignore trailing whitespace in an event's text

0.16.0

Toggle 0.16.0's commit message

Verified

This tag was signed with the committer’s verified signature.
astiob Oleg Oshmyan
libass 0.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.

Detailed changes:

 * 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

Future releases may be signed with other keys listed in the new MAINTAINERS file.

0.15.2

Toggle 0.15.2's commit message

Verified

This tag was signed with the committer’s verified signature.
astiob Oleg Oshmyan
libass 0.15.2

This is a bug fix release without API or ABI changes, mainly to
fix more known 0.15.0 and 0.15.1 regressions. But as a bonus,
it is now possible to build the DirectWrite system font provider
for Microsoft's Universal Windows Platform (UWP).

Two known minor 0.15.x DirectWrite system font regressions remain:

 * when a font is attached/memory-loaded but a different (non-attached)
   style of the same font is used by the subtitles
  (only the attached style[s] will be used;
   this also affects Core Text since 0.13.0 but not Fontconfig);

 * in the unlikely case that the full name of a system font
   equals the _family_ name of another system font
  (only the family name matches will be found).

Also please note that our IRC channel #libass has moved from freenode.net
to Libera.Chat, and all presence on freenode.net has been fully retired.

Changes:

 * Fix some known 0.15.x regressions:
    * Fix Core Text font fallback failing on some fonts with multiple names
    * Fix DirectWrite failing to look up any but
      the first loaded variant of system fonts
 * Fix some format string bugs, which could lead to
   garbled log messages or on some platforms crashes
 * Fix ass_set_fonts_dir failing to load long paths
 * Better handling of control characters that have no associated font glyphs
 * DirectWrite: font lookup is now closer to VSFilter
 * DirectWrite: this font provider can now be built for UWP

0.15.1

Toggle 0.15.1's commit message

Verified

This tag was signed with the committer’s verified signature.
astiob Oleg Oshmyan
libass 0.15.1

This is purely a bug fix and polish release,
with no significant API or ABI changes.

The only API change is that `ass_add_font` is now declared
to accept `const char *`. Previously it took only `char *`,
but const has worked in practice since the very first
standalone libass release.

 * Fix currently known 0.15.0 regressions:
    * Fix crashing on some ASS files with embedded fonts
    * Fix total font fallback failure with some fonts on Core Text
 * Fix embedded and memory fonts not actually being used
   unless ass_set_fonts was called after they have been added
 * Fix events assuming the largest xbord-value of a preceding
   event of the same frame during collision handling
 * Fix \fscx0 and \fscy0 making more text disappear than they should
 * Fix shift in vertical positioning of some right-to-left
   events with \an4-6, \pos, \move or Scroll effects
 * Fix imprecise output for \be with huge argument
 * Fix the --enable-large-tiles configure switch doing nothing
 * Fix output of ASM-enabled builds deviating from non-ASM builds
 * Fix ASM-builds on Haiku and 32-bit *BSDs
 * Overhaul x86 assembly for better performance
   and to allow ASM-enabled PIC-builds on 32-bit
 * Reduce temporary allocation in rendering
 * DirectWrite: request fonts on demand for better performance and
   improved compatibility with external on-demand font activation
 * Log libass version numbers upon renderer startup
 * Accept pointers to const as arguments to ass_add_font
 * Improve VSFilter compatibility:
    * Disregard zero area events in collision handling
    * Do not apply \fsp to vector drawings
    * Fix bug preventing cutting out glyphs from border & shadow
      with abnormal \fad values (or causing aliasing artifacts
      in some cases with normal values)

0.15.0

Toggle 0.15.0's commit message

Verified

This tag was signed with the committer’s verified signature.
astiob Oleg Oshmyan
libass 0.15.0

 * Fix backwards/VSFilter-incompatible font sizes with FreeType 2.10+
 * Improve speed via better caching
 * Require HarfBuzz unconditionally to ensure good shaping for complex scripts
 * ass_set_use_margins(true) now simply places text on the whole
   screen instead of attempting to tie it to video positioning
   (set by the margin values) and failing in various ways when
   margins are used to implement pan & scan in a video player
 * Add ass_track_set_feature() & catch-all ASS_FEATURE_INCOMPATIBLE_EXTENSIONS
 * Add ASS_FEATURE_BIDI_BRACKETS to enable Unicode 6.3+ bracket matching
   when applying the Unicode Bidirectional Algorithm
   (incompatible with VSFilter; requires libass built with FriBidi 1.0+)
 * Fix stack overflow on deeply nested \t tags
 * Fix positioning of events with leading line breaks
 * Fix small but nonzero \bord becoming \bord0 (regression in 0.14.0)
 * Measure BorderStyle=4 box padding from glyph border, not from glyph fill
 * Scale everything from script resolution if storage size is not set
   (including borders and shadows regardless of ScaledBorderAndShadow)
 * Fix the default aspect ratio calculation when neither
   ass_set_pixel_aspect() nor ass_set_aspect_ratio() is called
 * Multiple fixes for karaoke override tags
 * Handle memory allocation failures better:
   avoid some crashes and produce images closer to truth
 * Avoid some integer overflows
 * Add internal infrastructure for regression testing
 * Improve VSFilter compatibility:
    * Treat invalid nested \t tags like VSFilter
    * Make \t(T,T,...) at time exactly T use the post-transition values
    * Make lines stack more like they do in VSFilter
    * Default ScaledBorderAndShadow to 0 (like VSFilter),
      except for subtitles that were produced by old FFmpeg/Libav
    * Make shadow positioning with 3D transforms match VSFilter's
    * Cut out glyphs from border & shadow in all the same cases as VSFilter
    * Match VSFilter on animated color tags with negative acceleration
    * Fix parsing of some files that VSFilter accepts but libass didn't
      by ignoring leading whitespace in each line of an ASS file or CodecPrivate
    * Improve font selection with CoreText
    * Stop faux-bolding fonts that are too bold to get faux bold in VSFilter
    * Ignore leading/trailing spaces when calculating height of nonblank lines
    * Match VSFilter on \fade with large alpha value arguments
    * Stop splitting bitmaps on font substitution
    * Multiple fixes for Banner and Scroll effects
    * Multiple fixes for karaoke override tags

0.14.0

Toggle 0.14.0's commit message
Release 0.14.0