CHANGES 15 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
List of changes in MuPDF 1.14.0

* New features:
	* Added "Source Han Serif" CJK fallback font.
	* Added more scripts to the Noto fallback fonts.
	* Multi-page PNM support.
	* "mutool show" now supports a path syntax for selecting objects to show.

* Build system simplifications:
	* Auto-generated CMap, ICC, and JS source files are checked in to git.
	* Embedded CMap resources are now generated by a python script.
	* Embedded font resources are linked directly if using GNU ld or windows.
	* Namegen tool replaced by use of C macros.
	* Simplified Makefile.

* Annotation editing:
	* New annotation editing mode in mupdf-gl.
	* Can create, edit, and delete most annotation types.
	* Can create appearance streams for most annotation types.
	* Can create appearance streams for Tx form fields.
	* Can create appearance streams for Ch form fields.

* Form filling in mupdf-gl:
	* Can click buttons, checkboxes, and radioboxes.
	* Can fill out text fields using dialog box.
	* Can select choice options using dialog box.
	* Can verify and sign digital signatures.

* Improved UI for mupdf-gl:
	* Password dialog.
	* Error dialog.
	* Open/save file dialog.
	* Snap selection to words or lines by holding control or control+shift.
	* Save and restore current location, bookmarks, and navigation history.

* Bug fixes:
	* Improved CJK character fallback handling in EPUB.

* API changes:
	* Pass rectangle and matrix structs by value.
	* Replaced PDF_NAME_Xxx macros with PDF_NAME(Xxx).
	* Added PDF_TRUE, PDF_FALSE, and PDF_NULL constant pdf_obj* macros.
	* Added helper functions: pdf_dict_get_int, etc.
	* Removed 'doc' argument in pdf_new_int, etc.
	* Quads instead of rects when highlighting and searching text.
	* mutool run: Pass arguments to script in scriptArgs global.

48 49 50 51 52 53 54 55
List of changes in MuPDF 1.13.0

* This is primarily a bugfix release.

* New "mutool sign" tool for showing and verifying digital signatures.
* Chinese, Japanese, Korean, Cyrillic, and Greek font support in mutool create.
* Improvements to annotation editing API.

56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
List of changes in MuPDF 1.12.0

* New Android SDK:
	New git repositories for the SDK projects:
		* mupdf-android-fitz.git has the JNI bindings in a library.
		* mupdf-android-viewer.git has the viewer as an activity in a library.
		* mupdf-android-viewer-mini.git has the minimalist viewer as an activity in a library.
	Binary packages in our Maven repository at http://maven.ghostscript.com:
		* com.artifex.mupdf:fitz:1.12.+
		* com.artifex.mupdf:viewer:1.12.+
		* com.artifex.mupdf:mini:1.12.+

* Color management:
	* LCMS2 library for color management.
	* CMYK rendering with overprint simulation.
	* Spot color rendering.
	* Transparency rendering fixes.

* Structured text output improvements:
	* Reworked structured text API.
	* Faster text searching.
	* Highlight and copy text by selecting lines instead of by area.
	* New semantic XHTML output format.
	* New layout preserving HTML output format.

* Features and improvements:
	* Improved non-AA rendering with new scan converter.
	* Improved LARGEFILE support.
	* Improved TIFF support.
	* Improved documentation.
	* PCLm output.
	* PSD output.
	* New "mutool trace" tool.
	* New "mutool sign" tool (work in progress).
	* Text redaction (work in progress).

* Lots of bug fixes.

94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
List of changes in MuPDF 1.11

* This is primarily a bug fix release.

* Split Android and iOS viewers into separate projects:
	* mupdf-viewer-ios.git has the iOS viewer.
	* mupdf-viewer-android-old.git has the Android viewer.
	* mupdf-viewer-android-nui.git has a new advanced Android viewer.
	* mupdf-viewer-android-mini.git has a new minimalist Android viewer.

* PDF portfolio support with command line tool "mutool portfolio".
* Add callbacks to load fallback fonts from the system.
* Use system fonts in Android to reduce install size.
* Flag to disable publisher styles in EPUB layout.
* Improved SVG output.

List of changes in MuPDF 1.10

* Headline changes:
	* FictionBook (FB2) e-book support.
	* Simple SVG parser (a small subset of SVG only).
	* mutool convert: a new document conversion tool and interface.
	* Multi-threaded rendering in mudraw.
	* Luratech decoders for JBIG2 and JPEG2000 (commercial releases only).
	* Optional JPEG-XR support (not included by default for security reasons).
	* Updated base 14 fonts from URW.
	* New CJK font with language specific variants.
	* Hyperlink support in EPUB.

* Reduced memory use:
	* New tool muraster: example printer driver with limited RAM usage and automatic banding.
	* Alpha channel is now optional in pixmaps.
	* More aggressive purging of cached objects.
	* Partial image decoding for lower memory use when banding.

* Reduced code size when building with a subset of features:
	* Reduced default set of built-in CMap tables to the minimum required.
	* FZ_ENABLE_PDF, _XPS, _JS, to disable features at compile time.
	* Function level linking.

* Interface changes and cleanups:
	* Dropped pdf object generation numbers from public interfaces.
	* Simplified PDF page, xobject, and annotation internals.
	* Closing and freeing devices and writers are now separate steps.
	* Improved PDF annotation editing interface (still a work in progress).
	* Document writer interface.
	* Banded image writer interface.

* Mobile viewers:
	* New JNI interfaces to match capabilities of 'mutool run' javascript.
	* New android and desktop java examples using new JNI interface.

146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
List of changes in MuPDF 1.9

* Headline changes:
	* New command line tools: create and run.
	* New low-level Java interface for desktop and android.
	* Bidirectional layout for Arabic and Hebrew scripts.
	* Shaping complex scripts for EPUB text layout.
	* Noto fallback fonts for EPUB layout.

* mutool create
	Create new PDF files from scratch.
	Read an annotated content stream in a text file and write a PDF file,
	automatically embedding font and image resources.

* mutool run
	Run javascript scripts with MuPDF bindings.
	The interface is similar to the new Java interface.

* mutool draw
	Optional multi-threaded operation (Windows and pthreads).
	Optional low memory mode (primarily for testing).

List of changes in MuPDF 1.8

* Headline changes:
	* New OpenGL-based barebones desktop viewer.
	* New URW fonts with greek and cyrillic.
	* 64-bit file support.
	* Ghostscript proofing mode (source only; not in shipped binaries).

* EPUB improvements:
	* User style sheets.
	* GIF images (also for CBZ).
	* Table of contents.
	* CJK text.
	* Page margins.
	* Many bug fixes.

* Bug fixes:
	* Updated FreeType to version 2.6.1.
	* Various font substitution bug fixes.
	* Fix setjmp/longjmp behaviour which could cause optimizing compilers to misbehave.

189 190 191 192 193 194 195 196 197 198 199
List of changes in MuPDF 1.7a

* Bugfixes
	* Fixed bug that allocated too much memory when packing paths.
	* Fixed EPUB font scaling bug.
	* Fixed EPUB file type handling in viewers.
	* Improved tolerance for broken and unsupported CSS.

* Features
	* Added mudraw -z option to compress output streams.

200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
List of changes in MuPDF 1.7

* Headline changes:
	* New 'Indie dev' licensing options - contact sales@artifex.com for more details.
	* New HTML layout engine, and (DRM-free) EPUB viewer.
	* Reduced memory usage - displaylists and internal PDF representation take much less memory, reducing total memory use on some files by over 60%.

* Important API changes:
	* Bound contexts have been removed; we now pass fz_contexts explicitly.
	* Reference counting of paths and text structures.

* Features:
	* Add mutool pages option.
	* Tweaked rendering to prevent feature dropout in common cases.
	* Viewer tweaks
		* Better mouse wheel handling
		* Shift-space support
		* Mouse button control of presentation mode

* Internal changes:
	* Removal of bound contexts; fz_contexts now passed explicitly everywhere.
	* PDF filter revamp - simpler interface.
	* Devices use derived structures rather than user pointer.
	* Sparse PDF xrefs held in more compact form.
	* New gsview viewer split out to its own repository.

* Bug fixes
	* Improved handling of broken files.
	* Fix BBoxes of Type 3 fonts.
	* Updated fonts (including greek and cyrillic).
	* Various memory leaks and crashes.
	* And many more.


234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254
List of changes in MuPDF 1.6

* Features:
	* Color detection device (mudraw -T).
	* Sepia mode full-page color tinting in X11 and win32 viewer (keybinding: shift-C).
	* Re-implement printf and strtod due to portability issue with locales and number formatting.
	* Add 'gsview' project: a Windows Modern UI viewer.
	* Improve XML parser interface.
* Bug fixes:
	* CBZ page ordering
	* ZIP64 support
	* iOS and Android bug fixes
	* Miscellaneous minor fixes


List of changes in MuPDF 1.5

* Bug fixes.


List of changes in MuPDF 1.4
255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314

* Headline changes:
	* CMYK rendering (mudraw PWG and PAM formats)
	* TIFF viewer (with multi-page support).
	* Added MuJS Javascript interpreter.
		* MuJS is the default, V8 and JavaScriptCore are compile time options.
		* Javascript support has to be explicitly enabled with pdf_enable_js.
		* All viewers now have JavaScript enabled in the default builds.
* Viewers:
	* X11: Horizontal scroll wheel support.
	* X11: Status bar display with warnings.
	* Android: Digital signatures.
	* iOS: Links, form filling, annotation editing, and javascript.
	* iOS: Reflow mode.
	* WinRT: Printing.
	* WinRT: Improved zooming behaviour.
* Tools:
	* mudraw: Banded rendering with -B /band-height/.
	* mudraw: Select output format with -F /format/.
	* mudraw: Write to stdout if you use '-' as the output file name.
	* mudraw: Add TGA output format.
	* mudraw: Improved SVG output.
	* mutool show: Write output to file instead of stdout with -o /filename/.
	* mutool clean: Clean content streams with -s option.
* Annotations:
	* Improved font handling.
	* Form fields.
	* Free text.
	* Sticky notes.
* Optimizations:
	* glyph cache: Partial eviction.
	* glyph cache: Run-length compressed glyphs.
	* Smarter handling of subpixel metrics in text rendering.
	* Optimized blitting functions.
	* Optimized gradient mesh drawing.
* API changes and additions:
	* fz_stream API reworked: replace "read" function with "next".
	* "Rebind" functions to associate context bound objects with another context:
		fz_output, fz_stream, fz_device and fz_document.
	* Introduce "document handlers" to detect and open different file types.
		* Must now call fz_register_document_handlers() to register the defaults.
		* May register your own handlers as well to work with fz_open_document.
	* Hook to load system fonts: fz_install_load_system_font_funcs.
	* PDF xref cache flushing functions (mark/clear/clear-to-mark).
	* Add our own "printf" set of functions to format strings and write to fz_output:
		* Format %f as short as possible while preserving precision.
		* Has %C for formatting a unicode character as UTF-8.
		* Has %M to format fz_matrix.
		* Has %R to format fz_rect.
		* Has %q and %( to format strings with escaped characters.
	* PDF process interface: allow PDF interpreter to do more than just draw!
		* Content stream state cleaning filter.
		* Content stream rewriting filter.
	* PDF digital signatures.
	* Stroke states may now be stored on the stack.
	* Improved fz_path internals.
	* Gradient mesh drawing interface has been improved.
	* Save files with incremental updates.


315
List of changes in MuPDF 1.3
316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352

 * Windows RT viewer app for MuPDF.
 * Library changes to support progressive loading (display PDF files as
   they download). Windows/Linux/MacOS viewer supports this using curl.
 * Incremental updates to PDF files are now (optionally) preserved on
   loading/saving.
 * Prototype support for checking PDF Digital Signatures.
 * Initial annotation support (strike-out, underline, highlight and ink)
   (library and android builds only).
 * Fix operation on Android API level 8.
 * Android redraw optimisations.
 * Android app now supports Google Cloud Print.
 * Android app translated into many languages.
 * Android support for more architectures.
 * Improvements to store (avoid collisions causing unnecessary evictions).
 * Windows apps use Unicode filenames now.
 * PDF function handling improved; functions can now be passed to devices
   without 'sampling'.
 * PDF image handling improved; images can now be passed to devices
   without decompression.
 * Indexed images are no longer uncompressed at load time, saving memory.
 * Caching of rendered tiles for speed.
 * Improved text analysis mode, capable of spotting columns/indents,
   right-to-left text etc.
 * HTML output mode now includes image output.
 * PDF password encoding handling improved.
 * MuPDF now opens Jpeg, Tiff and PNG files directly.
 * Bug preventing OpenXPS files from being opened fixed.
 * Initial (feature incomplete) SVG and PDF output devices.
 * PWG raster (mono/grey/RGB) and PCL (mono) output devices.
 * Various performance improvements (including tilings and mesh based
   shadings).
 * Revamped directory structure to reflect recent changes.
 * Various potential SEGV, SoftMask and rendering fixes.
 * Many potential crashes in Jpeg2000 and JBIG2 images fixed.


353
List of changes in MuPDF 1.2
Robin Watts's avatar
Robin Watts committed
354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382

 * Important API changes:
    * fz_bbox is now fz_irect.
    * APIs (including fz_device) now pass fz_rect/fz_matrix by reference.
    * fz_device API is now more consistent with regards to use of
      fz_rect rather than fz_bbox.
 * Add support for Javascript and forms handling.
 * Fix many SEGVs with out of spec files. Many thanks to Mateusz "j00ru"
   Jurczyk and Gynvael Coldwind of the Google Security team, zeniko,
   Sebastian Rasmussen and all other contributors.
 * Add fz_open_document_with_stream to allow non-file based operation.
 * Move to using git submodules for third party libraries.
 * Much enhanced Android application. Now on Google Play!
 * Oversized and stroke text clipping implemented.
 * Change shadings to decompose at render times; massive memory savings.
 * Renamed 'mubusy' to 'mutool'.
 * PDF 1.7 Extension Level 8 encryption implemented.
 * Added consts to various parts of the API to help C++ interworking.
 * Prototype transition support.
 * Text searching API moved to fitz.
 * Highlight and copy text selections.
 * Performance enhancements for color conversion and fax decompression.
 * ARM optimisations for color conversion and bitmap scaling.
 * Bitmap subsampling stage introduced, with ARM optimisations.
 * Type 3 fonts; glyphs are now handled as display lists.
 * Scan converter performance improvements.
 * Various rendering fixes.


383
List of changes in MuPDF 1.1
Robin Watts's avatar
Robin Watts committed
384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401

 * Rendering bugs fixed (text clipping, stroked text etc).
 * Better handling of 'large' (uncachable) glyphs.
 * Added a delete button to the library view on the iOS port.
 * Minor speed optimisations.
 * Shading bug fixes.
 * Move to using dynamically allocated parsing buffers (more resilient).
 * Support for UserUnits.
 * Fix bugs with image predictors (including with 16 bit images).
 * More resilient to out of spec files.
 * Extract pdf writing capability into the library from pdfclean, and
   expand on it to allow for linearisation. Bug fixes in the garbage
   collection of unused objects.
 * Improve pdf writing recognition of images.
 * Improved font matching.
 * Start to move away from macros to inline functions (helpful for
   applications requiring certification).
 * Many bugs fixed.