]> granicus.if.org Git - libass/blob - Changelog
Bump ABI version and release 0.13.6
[libass] / Changelog
1 libass (0.13.6)
2  * Bump ABI version to account for the new Justify field in ASS_Style
3    that was added in 0.13.5.
4
5 libass (0.13.5)
6  * Add Justify style override that changes text justification
7    (left/right/center) without affecting event positioning.
8  * Fix ass_set_cache_limits() to affect total bitmap cache size
9    including composite bitmap cache.
10  * Number parsing fixes
11    * Fix illegal read when parsing some numbers in scientific notation
12      with huge exponents.
13    * Correctly evaluate numbers in scientific notation with large exponents.
14    * Correctly evaluate numbers with many leading zeros.
15  * Bug fixes found with fuzzing
16    * Fix a small memory leak in the parser.
17    * Fix illegal read in the parser on specially crafted input with \t tags.
18
19 libass (0.13.4)
20  * Bug fixes found with fuzzing
21    * Fix memory reallocation in the shaper. (CVE-2016-7972)
22    * Fix two small memory leaks in the parser and test program.
23    * Fix illegal read in Gaussian blur coefficient calculations.
24      (CVE-2016-7970)
25    * Fix mode 0/3 line wrapping equalization in specific cases which could
26      result in illegal reads while laying out and shaping text.
27      (CVE-2016-7969)
28
29 libass (0.13.3)
30  * Improve compatibility/portablility of build system,
31    should fix e.g. compilation on Solaris.
32  * Fix memory leak in DirectWrite font provider.
33  * Fix the rasterizer when rendering some large outlines.
34  * Remove hack that forced RTL base direction depending on font encoding.
35  * Greatly improve the internal caches with refcounting and gradual clearing.
36
37 libass (0.13.2)
38  * Add ass_set_check_readorder() API function to disable use of the ReadOrder
39    field for duplicate checking in ass_process_chunk().
40  * ass_step_sub(track, now, 0) now finds the start of the subtitle at "now".
41  * Bug fixes
42    * Fix an issue with the new duplicate checking, which could lead to
43      missing subtitles after seeking.
44    * Fix a crash with CoreText under specific circumstances
45
46 libass (0.13.1)
47  * Much faster duplicate event check in ass_process_chunk. This can
48    bring a large speedup for embedded subtitles with lots of events.
49    To make this possible, it is now forbidden to combine calls to
50    ass_process_chunk with any other method of manipulating the event
51    list, namely, manual manipulation and calls to ass_process_data,
52    ass_read_memory and ass_read_file.
53  * Interpret negative timestamp components as actual negative numbers.
54    This change increases compatibility with VSFilter.
55  * Font matching changes for VSFilter compatibility
56    * Look up fonts that contain PostScript outlines by their PostScript
57      name instead of their full names. Family names continue to be used
58      for all fonts.
59    * Keep spaces in font names
60  * Drop support for Fontconfig < 2.10.92 to ensure correct font matching
61  * Bug fixes
62    * Fix building the assembler code for the x32 ABI (GH #200)
63    * Fix static linking against libass through pkg-config when libass
64      uses libiconv
65    * Fix some small memory leaks, potential crashes and bad data uses
66
67 libass (0.13.0)
68  * Add native font selection backends for OSX (CoreText) and Windows
69    (DirectWrite). You can now run libass without fontconfig on these
70    platforms. This fixes problems with fontconfig behaving badly on
71    these platforms (it could take minutes to scan all system fonts).
72    Even on Linux, this speeds up loading of embedded fonts (such as
73    provided by ass_add_font()).
74    The DirectWrite backend only works on Windows Vista and later. On
75    XP, fontconfig is still needed. libass can be compiled with both
76    DirectWrite and fontconfig, and then it will fallback to fontconfig
77    automatically if DirectWrite is not available at runtime.
78  * Add ass_get_available_font_providers() API function.
79  * Change the 4th parameter of ass_set_fonts(). This now selects the
80    font provider. This is somewhat backwards compatible with the old
81    behavior, but if you ever passed values other than 0 or 1, your
82    application might break with this libass release.
83  * The ass_fonts_update() function now does nothing. It's kept for
84    backward compatibility only.
85  * Much faster gaussian blur. This can bring a large speedup with big
86    blurred signs and such.
87  * Drop ENCA support
88  * Bug fixes
89    * Fix compilation of the freetype rasterizer (disabled by default)
90    * Fix rendering with some cases of consecutive line breaks (\N\N).
91    * Fix some memory allocation failure checks
92    * Avoid system locale dependent behavior by reinventing some standard
93      C functions
94    * Fix rendering errors with strikes (GH #193)
95    * MSVC compilation fixes
96
97 libass (0.12.3)
98  * VSFilter blur compatibility changes
99  * VSFilter color/alpha parsing compatibility changes
100  * Bugfixes
101    * Fix some potential memory leaks and crashes
102    * Fix large timestamps (larger than about 600 hours)
103    * Fix a potential crash with the new rasterizer and complex fonts
104    * Do not apply user-configured line position to non-dialog events
105    * Strictly clip non-dialog events to the video rectangle
106
107 libass (0.12.2)
108  * Add extern "C" guards to the public headers for C++ compatibility
109  * Improvements to style override API and implementation
110  * Bugfixes
111    * Fix some rasterizer bugs of unknown severity
112    * Fix a broken memset() of unknown severity
113    * Make timestamp parsing more lenient, which makes libass accept invalid
114      files accepted by most other ASS parsers
115    * Increase compatibility with broken ASS drawings accepted by VSFilter
116
117 libass (0.12.1)
118  * Make ASS drawings with an extremely high number of control points work
119    This change increases compatibility with VSFilter.
120  * Bugfixes
121    * Fix a crash when using newer harfbuzz versions (GH #155)
122    * Load embedded memory fonts correctly
123    * Large shadow offsets rendered incorrectly (GH #142)
124    * Fix incorrect closing of last drawing contour
125    * Fix issues with undefined behavior in shifts
126    * Lots of of malloc() error checking
127
128 libass (0.12.0)
129  * Implement fast quad-tree rasterizer in C and SSE2/AVX2 assembly
130  * Make \be animatable
131  * Add BorderStyle=4 (GH #105)
132  * Add selective style override functionality
133    * ass_set_selective_style_override()
134    * ass_set_selective_style_override_enabled()
135  * Support for assembly on DragonFly BSD
136  * Bugfixes
137    * Various parser fixes
138    * Fix premature parser exit on }{ in drawing mode (GH #75)
139    * Reset clipping mode on every rectangle clip
140    * Improved error handling for FriBidi and FreeType (GH #131)
141    * Fix bitmap combining cache
142
143 libass (0.11.2)
144  * Improve yasm version check
145  * Fix \fscx0 crashes
146  * Actually export ass_library_version
147  * Fix change detection with vector clips
148  * SIMD assembly bugfixes
149  * Parse drawing numbers as floats (GH #63)
150  * Fix shaper sign bug (GH #68)
151  * Initialize \pbo correctly (GH #74)
152
153 libass (0.11.1)
154  * Fix distfile generation
155  * No functional changes
156
157 libass (0.11.0)
158  * Add bitmap run combining/compositing
159    This changes the text rendering model and increases compatibility with
160    VSFilter. It may make rendering faster or slower in certain cases.
161  * Add AVX/SSE2 implementations for \be and compositing
162    This adds yasm as (optional) build dependency.
163  * Add ass_library_version() API funcion (GC #113)
164  * Add 'profile' program for benchmarks
165  * Improve gaussian blur
166  * Fix compilation with MSVC 2013
167  * Speed up HarfBuzz shaper
168  * Speed up cache
169  * Notable compatibility bugfixes
170    * Reset origin on \fay changes (GC #88)
171    * Tons of parser fixes
172    * Fix ascender/descender metrics (GH #8)
173    * Fix \pbo sign and scaling
174    * Don't reset wrap style on \r (GC #116, GH #45)
175  * Notable bugfixes:
176    * Correctly handle @font advance (GC #94)
177    * Disable ligatures for non-zero \fsp
178    * Make sure to release vector clip (GH #22)
179
180 libass (0.10.2)
181  * API additions and some ABI changes, bumped SONAME
182  * Expose header field for VSFilter color mangling (GC #87)
183  * Add functions for explicit scaling hints (GC #6)
184  * Add 'type' field to ASS_Image (GC #31)
185  * Workaround Freetype's font size grid-fitting where appropriate
186  * Apply blur to both glyph and border when using opaque box
187  * Parser bugfixes
188    * Parse angles in style as number
189    * Fix fallback event formats
190    * Make closing ')' optional for some tags
191    * Fix crazy VSFilter behaviour for \move (GC #90)
192    * Make \r fall back to line style (GC #104)
193    * Parse style name like VSFilter
194    * Ignore junk in nested \t tags
195    * Make \clip tag arguments mandatory
196  * Properly handle script and language in the HarfBuzz shaper
197  * Allow ASS_Track and ASS_Renderer to have different ASS_Library
198  * Fix stroking in some rare cases
199  * Correctly handle @font advance (GC #94)
200  * Fix ascent/descent for some fonts (GC #106)
201  * Fix ass_step_sub to not require sorted events
202  * Fix blur scaling
203  * Don't mutate input strings (GC #88)
204  * Remove/change some error messages
205  * Fix various small memory leaks
206
207 libass (0.10.1)
208  * Fix letter spacing
209  * Add \rSTYLENAME syntax support (GC #43)
210  * Fix border generation and border style reset (GC #56)
211  * Fix various issues with bug-for-bug compatibility of
212    transformations (\fax, \fay, etc.) to VSFilter (GC #46, GC #42)
213  * Fix drawing parsing (GC #47)
214  * Various fixes to shaper (GC #54, GC #55, GC#59)
215  * Fix change detection
216  * Add ass_set_line_position API to set a vertical subtitle offset
217  * Fix scaling of drawing baseline offset (\pbo) values
218  * Fix skipping of zero-width characters for FriBiDi shaper
219  * Use LTR text base direction by default, similar to VSFilter
220
221 libass (0.10.0)
222  * Bidirectional layout and Arabic shaping via FriBidi (GC #13)
223  * OpenType shaping via HarfBuzz-ng (GC #13)
224  * Add API for shaper configuration
225  * Add support for `Language' Script Info property, this can be used for
226    hinting the text language
227  * Vertical layout improvements
228    * Use `vert' and `vkna' OpenType features for vertical glyph variants
229    * Position rotated glyphs onto baseline
230  * Parse font encoding property for base text direction hinting
231  * Refactor cache system
232  * Use generic outlines in place of FreeType glyphs
233  * Direct outline bitmap rendering
234  * Fix whitespace trimming (GC #35)
235  * Do not render border if there's no shadow or glyph (GC #29)
236  * Adjust spacing after a italic to non-italic style change (GC #37)
237  * Fix fade timing
238  * Fix x positioning with borders (GC #27)
239  * Build system tweaks
240
241 libass (0.9.12)
242  * Switch to permissive (ISC) license
243  * Support \fs+ and \fs- syntax for modifying font size
244  * Fix word-wrapping
245  * Improved charmap fallback matching
246  * Handle a few more VSFilter quirks correctly
247  * Add a sensible default style
248  * Fix compilation against libpng 1.5
249
250 libass (0.9.11)
251  * Fix serious memory leaks
252  * Reduce frame/drawing initialization overhead
253
254 libass (0.9.10)
255  * Basic (incorrect, but working) support for @font vertical text layout
256  * Fix multiple faces per font attachment
257  * charmap selection fixes
258  * Add ass_flush_events API function
259  * Improve fullname font matching
260  * Better PAR correction if text transforms are used
261  * Calculate drawing bounding box like VSFilter
262  * Performance improvements
263    * Cache vector clip masks
264    * Avoid unnecessary glyph copies
265  * Various rendering fixes
266
267 libass (0.9.9)
268  * Parse numbers in a locale-independent way
269  * Remove support for freetype < 2.2.1, fontconfig < 2.4.1; this especially
270    means libass will not extract fonts into the file system anymore
271  * Disable script file size limit
272  * Match fonts against the full name ("name for humans")
273  * Reset clip mode after \iclip
274  * Improve VSFilter compatibility
275  * Update API documentation
276  * A couple of smaller fixes and cleanups
277
278 libass (0.9.8)
279  * Support \q override tag
280  * Support wrap style 1 (i.e. wrap, but do not equalize line lengths)
281  * Support border style 3 (opaque box)
282  * Use the event bounding box (instead of vertical position and height) for
283    collision detection
284  * Embold glyphs if no bold variant is available, but was requested
285  * Modify \fax to be similar to VSFilter
286  * Trim spaces after line wrapping
287  * Fix border/shadow overlap combining in some cases
288  * Disable kerning by default.  Use "Kerning=yes" style override or
289    "Kerning: yes" in [Script Info] to enable it
290  * Slight bitmap handling optimizations
291  * Various bugfixes
292
293 libass (0.9.7)
294  * Build system fixes
295  * Fixed cache lookup and overload problems
296  * All globals have been eliminated, libass is reentrant
297  * Dynamically allocate glyph and line buffers
298  * Fix up stroking of big borders
299  * Support empty lines (\N\N)
300  * Support for the following override tags:
301    \fax, \fay, \xshad, \yshad, \ybord, \xbord, \iclip, \u, \s, \p, \pbo
302  * Full subpixel accuracy for positioning
303  * PAR and rotation correction for EOSD rendering
304  * Drawing mode (including vector \clip and \iclip)
305  * Fixed a few memory leaks
306  * Removed MPlayer compatibility code
307  * Introduced message handling callback
308  * Various fixes to match VSFilter quirks and Windows font metrics
309  * Lots of bugfixes
310
311 LibASS (0.9.6)
312  * Various fixes and updates to match VSFilter renderer.
313  * Support \blur tag and ScaledBordersAndShadow property.
314  * Fractional arguments and subpixel accuracy.
315  * Keep positions when pan-and-scan is used.
316  * Lots of bugfixes and other changes.
317
318 LibASS (0.9.5)
319  * Support '=' and '.' in style name in arguments to ass_set_style_overrides().
320  * Allow overriding [Script Info] parameters with ass_set_style_overrides().
321  * Add workarounds for some buggy fonts.
322  * Remove buggy workarounds for some other fonts.
323  * Fixed ass_set_line_spacing() (was broken before).
324  * Negative margin sizes are now used for image cropping.
325  * Better handling of behind-the-camera objects.
326  * Case insensitive parsing of SSA/ASS section headers.
327  * Improved font matching.
328  * When 2 styles have the same name, the later one is used.
329  * Fixed several other bugs.