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