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.
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.
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:
* 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.
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 android and desktop java examples using new JNI interface.
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
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.
List of changes in MuPDF 1.7a
* 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.
* Added mudraw -z option to compress output streams.
List of changes in MuPDF 1.7
* Headline changes:
* New 'Indie dev' licensing options - contact firstname.lastname@example.org 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.
* 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.
List of changes in MuPDF 1.6
* 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
* Headline changes:
* CMYK rendering (mudraw PWG and PAM formats)
* TIFF viewer (with multi-page support).
* X11: Horizontal scroll wheel support.
* X11: Status bar display with warnings.
* Android: Digital signatures.
* iOS: Reflow mode.
* WinRT: Printing.
* WinRT: Improved zooming behaviour.
* 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.
* Improved font handling.
* Form fields.
* Free text.
* Sticky notes.
* 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.
List of changes in MuPDF 1.3
* 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
* 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
* PDF image handling improved; images can now be passed to devices
* 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
* Revamped directory structure to reflect recent changes.
* Various potential SEGV, SoftMask and rendering fixes.
* Many potential crashes in Jpeg2000 and JBIG2 images fixed.
List of changes in MuPDF 1.2
* 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.
* 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.
List of changes in MuPDF 1.1
* 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.