diff mupdf-source/CHANGES @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mupdf-source/CHANGES	Mon Sep 15 11:43:07 2025 +0200
@@ -0,0 +1,1031 @@
+List of changes in MuPDF 1.26
+
+	Removed PDF linearization support:
+
+		See https://artifex.com/blog/mupdf-removes-linearisation for
+		more information.
+
+	Object labels:
+
+		Write a comment before numbered objects listing the possible
+		ways it can be reached from the document root.
+
+		Enable with mutool show -L, mutool clean -L, and PDF write
+		option "labels".
+
+		Library functions pdf_load_object_labels and pdf_label_object.
+
+	Brotli compression:
+
+		Experimental feature from latest PDF specification proposal.
+
+	Optional barcode support:
+
+		Build with "make barcode=yes".
+		Uses zxing-cpp (zebra crossing) C++ as a third party dependency.
+		Adds mutool barcode sub-command.
+
+		To detect barcodes in a PDF:
+			mutool barcode -d barcode.pdf
+
+		To create barcode images as PNG file:
+			mutool barcode -c -o barcode.png -F qrcode "Hello, world!"
+
+		Library functions fz_new_barcode_image and
+		fz_decode_barcode_from_pixmap.
+
+	New Structured Text extraction passes:
+
+		Paragraph Breaking: Detect paragraphs from first-line
+		indentation and other heuristics.
+
+		Table Hunt: Scan text and try to assemble it into tables with
+		rows and columns.
+
+	New Structured Text extraction options:
+		- allow reading raw character or glyph index when unicode is not available
+		- collect styles to detect fake bold, underlines, strike-through, etc.
+		- clip-rect to only extract text inside the specified area
+		- accurate-ascenders to measure ascender data from font outline
+		- accurate-side-bearings to measure glyph widths from font outline
+
+	CSV output format (using "Table Hunt" pass on input document).
+
+	Core library additions:
+
+		JSON parser, object model, and printer.
+
+		Activity logger API.
+
+		Support "overlong null" characters in utf-8 (using "\xC0\x80"
+		to represent \x00 in C strings, without being misconstrued as a
+		string terminator).
+
+	Build system changes:
+
+		Cleaned up Makefile cruft and refactored how shared libraries
+		are built.
+
+		Removed bit-rotted sections of the Makefile that have not been
+		maintained and no longer work (primarily iOS and MinGW).
+
+		Don't build example tools muraster and mupdf-x11-curl by
+		default. These examples can be built with "make extra-apps".
+
+	Miscellaneous improvements and new behavior:
+
+		Include more data in structured text XML dumps.
+
+		Ignore junk at the start of a PDF file (such as PJL commands)
+		without needing to perform a full repair pass.
+
+		Support non-latin/greek/cyrillic/CJK languages in annotations
+		and widgets (requires HTML layout engine).
+
+		Use system font callback to look for missing fonts in HTML
+		layout.
+
+		Support CSS text fill and stroke properties:
+			-webkit-text-fill-color
+			-webkit-stroke-color
+			-webkit-stroke-width
+
+		Updated unicode line breaking (UAX 14) and upper/lowercase
+		tables to Unicode 16.0.
+
+	Bug fixes and stability improvements:
+
+		Many improvements to font subsetting.
+
+		Fixed several bugs with undo/redo journal affecting the cache
+		of open pages.
+
+		Improved calculation of font ascender/descender values when
+		presented with bad values from font files or PDF files.
+
+		Improved logic when repairing broken PDF files.
+
+		Improve Type3 font rendering compliance with specification in
+		some edge cases.
+
+	Command line tool additional options:
+
+		mutool poster: new option -m (margin)
+
+		mutool show: new option -r (force repair)
+
+		mutool clean: --structure=keep to keep tagged content when
+		subsetting pages. WARNING: This option will prevent the file
+		from shrinking, because we must still keep all the objects from
+		deleted pages around.
+
+		mutool clean: -t option will always write compact objects
+		mutool clean: -tt option will always pretty-print objects
+
+	Useful new C functions and fields:
+		- fz_stext_char field "color" renamed to "argb" to include alpha channel.
+		- fz_outline_item: new "flags" and r,g,b color fields.
+		- pdf_clip_page to filter page contents.
+		- pdf_add_colorspace to create ICC colorspace object.
+		- fz_load_user_css to load and set user css in one go.
+		- fz_new_bitmap_from_image
+		- fz_new_buffer_from_image_as_pbm
+		- fz_new_buffer_from_pixmap_as_pbm
+		- fz_strverscmp
+		- fz_strcasestr
+		- fz_format_string %> to output a hex encoded string
+		- fz_format_string %q and %Q write surrogate pairs
+
+	Java/JNI and mutool run JavaScript bindings have many new functions and features.
+
+List of changes in MuPDF 1.25
+
+	New logo!
+
+	Redaction options:
+		- New "don't redact text" option
+		- New "redact line art" option
+
+	Structured Text options:
+		- Use "Tagged PDF" structure information
+		- Detect underlines and strikeouts
+		- Mark automatically inserted spaces
+		- Mark areas where line art (vectors) are present
+		- Use accurate glyph bounding boxes
+		- Ignore ActualText tags
+		- Scan page for 'grid' lines
+		- Segment page into areas (headers, columns, etc)
+
+	Annotation features:
+		- Intent property accessors.
+		- Rich Content styling on FreeText annotations.
+		- Callout arrows on FreeText annotations.
+		- Leader Line and Caption on Line annotations.
+		- Improved handling of Rect and RD.
+
+	Low level FDF format support.
+		- See docs/examples/import-fdf.js for how to use.
+
+	Improved FileSpec handling with new functions.
+
+	Functions for listing document and page Associated Files (AF).
+
+	Functions to create and write XML DOM trees (fz_xml).
+
+	Skew detection and deskew algorithms on pixmaps and PDFOCR device.
+
+	Document area detection in scanned images.
+
+	ZUGFeRD support.
+
+	New tool "mutool audit" to create summary of PDF file composition.
+
+	Noteworthy API changes:
+		- New "wants_file" member for fz_document_handler.
+		- fz_text_item now has an explicit pen "advance" member.
+		- mutool recolor can now be used as a function.
+		- pdf_annot_rect works with the "design" rectangle.
+		- structured text "color" field renamed to "argb" and now includes alpha channel
+
+	Important bug fixes:
+		- More robust font subsetting.
+		- More robust handling of page and annotation objects during
+		  undo and redo.
+		- Updated "gray.icc" profile to actual sGray gamma ramp.
+
+	Support for "SmartOffice" commercially licensed plugin to load office
+	documents.
+
+List of changes in MuPDF 1.24
+
+	Error handling changes:
+
+		You must call pdf_report_error in the final fz_catch. Any
+		unreported errors will be automatically reported when a new
+		error is raised, or when closing the fitz context.
+
+
+	New formats:
+
+		Read Office (XML) files! We internally open and convert
+		docx/pptx/xlsx documents to HTML to allow reading the plain
+		text content. The exact layout will NOT be preserved.
+
+		Optional compile time option to use libarchive for reading CBR
+		and other archive formats.
+
+		Read plain text documents.
+
+		Read gzipped files directly.
+
+		Open and read FDF files to support importing annotations or
+		form data using the low-level PDF functions. There are no tools
+		for this yet.
+
+		Read CFB (Compound File Binary) format archives -- used for the
+		Office formats.
+
+		Write images as JPEG2000.
+
+	New tools and features:
+
+		mutool bake (and associated functions) to bake appearance of
+		annotations and forms into static content.
+
+		Font subsetting flag to mutool clean (EXPERIMENTAL FEATURE).
+
+		Option to use ObjStms when writing PDF files.
+
+		Compression effort option when writing PDF files.
+
+		Add option to control how line art is affected by redaction.
+		Add more options to control how images are affected by
+		redaction (remove-unless-invisible).
+
+		Fix up q/Q gstate balance when cleaning content streams.
+
+	New functions and types:
+
+		pdf_rearrange_pages to subset or re-order pages in a PDF file.
+
+		fz_invert_bitmap to invert monochrome bitmaps.
+
+		fz_compressed_image_type to query the format of a compressed
+		image.
+
+		fz_text_decoder to convert various legacy and CJK encodings
+		into UTF-8.
+
+		More helper functions to easily manipulate PDF objects in C.
+
+		Add flag to control fz_place_story overflow behavior when the
+		text doesn't fit into the box.
+
+		New archive handlers can be added at runtime.
+
+	Major bug fixes and improvements:
+
+		Support using Art, Bleed, Media, and Trim boxes for PDF page
+		size.
+
+		Support ActualText in PDF! No more strange text extraction when
+		the file uses ActualText to patch over bad font encodings.
+
+		Add special TrueType fallback encoding CMap for a specific
+		flavor of broken PDF files that use an "identity" encoding
+		without embedding the font.
+
+		Limited "transfer function" support in PDF. Transfer functions
+		are a deprecated legacy PDF feature that predates proper color
+		management. They were intended to provide limited color
+		management such as applying a gamma curve. Transfer functions
+		have often been (ab)-used to invert images, and many PDF
+		creators use them when writing softmask images. We have added
+		support for this case only.
+
+		Box drawing characters added to fonts for HTML and plain text
+		documents.
+
+		Write more compact PDF files (removed some unneccessary
+		whitespace).
+
+		Improved selection behavior for non-axis aligned text.
+
+		Improved heuristics for detecting the logical and visual order
+		of RTL text in PDF.
+
+		Improved heuristics for inserting missing spaces in PDF text.
+
+		Improved handling of CMYK JPEG files (which ones are inverted
+		and which are not).
+
+		Improved content type detection. Don't assume everything is PDF
+		when we can't recognize it.
+
+	Removed deprecated functions:
+		pdf_check_signature
+
+List of changes in MuPDF 1.23.0
+
+	New features:
+		New WASM library with same API as mutool run and Java, for both browser and Node environments.
+		Support CropBox, TrimBox, BleedBox, and ArtBox in PDF tools and viewers.
+		PhotoShop PSD image support.
+		mupdf-gl: Custom ICC display profile support.
+		mutool poster: Option to split in RTL direction.
+
+	Miscellaneous improvements and notable bug fixes:
+		EPUB: Fix table cell height calculations.
+		EPUB: Inherit table cell background color from table row.
+		EPUB: Support files with partial encryption (only read unencrypted parts).
+		EPUB: Support files with incorrect directory prefixes.
+		TIFF: Stability improvements.
+		MOBI: Stability improvements.
+		PDF: Support old style border dash patterns.
+		PDF: Support GoToR links to remote PDF documents.
+		PDF: Improve link parsing and creation.
+		ZIP: Improve unicode file name handling.
+		Fall back to unhinted fonts if hints are broken.
+		Recognize document types by sniffing contents (don't need to rely on mimetype or file extension).
+
+	New APIs:
+		More PDF document permission flags.
+		Tweaked exception error logging.
+		pdf_minimize_document to squeeze amount of memory used by an open document.
+
+	Incompatible API changes:
+		pdf_field_name renamed to pdf_load_field_name.
+		mutool run -- changed many methods to match Java and new WASM library.
+
+	New and improved documentation.
+
+List of changes in MuPDF 1.22.0
+
+	New command line "mutool recolor" to change colorspace of PDF files.
+	New command line "mutool trim" to remove content outside mediabox.
+	New flag to "mutool draw": -KK to remove all non-textual content.
+
+	Support PDF page labels.
+
+	Layout HTML tables with variable column widths.
+
+	Added JPEG output format. JPEG should be used with care due to its
+	lossy nature (if in doubt, use PDF instead).
+
+	Added PDF filter factories.
+	Added PDF color filter.
+	Added "culler" to sanitize filter.
+	Added flags to control embedding fonts in output.
+	New device methods for structured tags.
+	Increased maximum allowed image size.
+	Add magic flag to temporarily hide annotations when editing them.
+
+	Support RD in Square and Circle annotations.
+	Support dashed borders in annotations.
+	Support cloudy borders in annotations.
+	Improved layers in PDF files.
+	Fix performance issue with large PDF files and outlines.
+
+	Updated multi-threading examples.
+
+	Moved WASM project into separate repository.
+
+	Added Java and "mutool run" bindings for many more functions.
+
+List of changes in MuPDF 1.21.0
+
+	Added MOBI input format support.
+	Added Story API for creating PDF documents from formatted text.
+	Added API to create, edit, and delete links.
+
+	Support custom images for Stamp annotations.
+	Support interior color on Polygon annotations.
+	Support line endings on PolyLine annotations.
+
+	Improved SVG output.
+
+	C++/Python/C# binding:
+		Changes to naming of wrapper functions and classes.
+		Added limited support for callbacks into Python, using SWIG Directors.
+
+List of changes in MuPDF 1.20.0
+
+	Experimental C# bindings.
+	Cross compilation should no longer need a host compiler.
+	Major additions to JNI bindings.
+
+	New API to edit outline
+	New API to resolve and create links
+	New API to toggle individual layers in PDF
+		Layer panel in mupdf-gl
+		Layer option in mutool draw
+	New API to add a Javascript console
+		Console panel in mupdf-gl
+
+	Text search API extended to be able to distinguish between separate search hits.
+
+	Command line tool improvements:
+		all: Negative page numbers to index from the last page
+		mutool draw: Add option to render document without text
+		mutool draw and convert: Support DPI option in text and HTML output
+
+	New hybrid HTML output format using "scripts/pdftohtml" script:
+		Graphics in a background image
+		Text on top
+
+	Improved WASM viewer demo
+		Support high DPI screens
+		Progressive loading
+
+	Update to zlib 1.2.12 for security fix.
+
+	Too many bug fixes to list.
+
+List of changes in MuPDF 1.19.0
+
+	Removed support for Luratech JBIG2 and JPEG2000 decoders.
+
+	Added 'extract' library for more output options:
+		Added DOCX output format
+		Added ODT output format
+
+	Notable new features:
+		Journal for undo and redo
+		Snapshot for auto-save and restore (for backgrounding mobile apps)
+		Reflow document wrapper
+		Rollover appearance for annotations and widgets
+		Customize appearance of signed digital signatures
+		Progress and cancel callbacks to OCR functions
+		Create signature form fields
+
+	Minor new features:
+		Support CJK fonts in pdfwrite output
+		Support JBIG2 images in pdfwrite output
+		Support opacity for all markup annotation types
+		High-DPI aware UI in mupdf-gl
+		mutool extract -a option to embed SMasks as alpha channel
+
+	API changes:
+		Removed pdf_widget type alias (was always same as pdf_annot)
+		Updated annotation 'dirty' logic
+		Fix typo in function and type names: designated name -> distinguished name
+		More functions available to 'mutool run'
+		More functions available to Java library
+
+	New unicode scripts and fonts for EPUB:
+		Dogra, Elymaic, Gondi, Hanifi Rohingya, Masaram Gondi,
+		Medefaidrin, Nushu, Nyiakeng Puachue Hmong, Old Sogdian,
+		Sogdian, Soyombo, Wancho, Yezidi, and Zanabazar Square.
+
+	C++ and Python bindings:
+		C++ and Python bindings now work on Windows.
+		Python bindings are available as pre-built binaries on pypi.org.
+		Added demo PDF viewer using the Python MuPDF bindings and PyQt.
+
+		Better access to data in generated wrapper classes.
+		Improved handling of out-parameters in generated Python.
+		Text representation of POD types via C++ operator<< and Python str().
+		Fixed ref-counting bug in iterators.
+		Updates for new MuPDF functions.
+
+List of changes in MuPDF 1.18.0
+
+	mutool draw: bbox output format.
+	mutool draw: structured text extraction in JSON format.
+	mutool run: StructuredText.walk()
+	mutool run: PDFPage.process() and PDFAnnotation.process()
+
+	mupdf-gl: Added IBM Common User Access shortcuts for copy & paste.
+	mupdf-gl: Improved redaction UI.
+
+	java: Example desktop Java viewer.
+
+	wasm: WebAssembly viewer that runs in a browser.
+
+	api: Dehyphenation option in structured text extraction, to improve
+		searching for words that are hyphenated across lines.
+	api: pdf_new_date, pdf_to_date, pdf_dict_put_date and pdf_dict_get_date.
+	api: Added choice of image redaction algorithms: none, full, partial.
+	api: Optional use of Tesseract to use OCR to extract text.
+
+	svg: Many small parsing fixes.
+	svg: Parse inline CSS style attributes.
+	svg: Text elements (simple text layout only).
+
+	html: Added HTML5 parser.
+
+	pdf: High security redaction -- save redacted PDF as flattened bitmap,
+		guaranteed to not leak any sensitive redacted information.
+
+	Experimental C++ bindings.
+	Experimental Python bindings.
+
+List of changes in MuPDF 1.17.0
+
+	api: Improved accessors for markup/ink/polygon annotation data.
+	api: Chapter based API for faster EPUB loading.
+	api: Add more documentation to header files.
+	api: Improved digital signature signing and verification.
+	api: Validate changes in a signed PDF file.
+
+	build: Moved windows build to VS2019 solution.
+
+	pdf: Redaction now works on images and links as well as text.
+	pdf: Greek, Cyrillic, Chinese, Japanese, and Korean scripts in forms and annotations.
+	pdf: File attachment annotations.
+	pdf: Use CCITT Fax compression for 1-bit images when creating PDF files.
+
+	epub: More forgiving XHTML parsing.
+	epub: Accelerator files to cache chapter data for faster EPUB loading.
+	epub: Optimized memory use.
+
+	mutool run: Edit Markup, Ink, and Polygon annotation data.
+	mutool run: Fill out form fields.
+	viewer: Ask for confirmation before closing a PDF with unsaved changes.
+	viewer: Embed and extract file attachment annotations.
+
+	library: Miscellaneous bugfixes.
+	library: Fixes to store operation.
+
+	thirdparty: Updated Harfbuzz to 2.6.4.
+	thirdparty: Updated jbig2dec to 0.18.
+	thirdparty: Updated MuJS to 1.0.7.
+	thirdparty: Updated OpenJPEG to 2.3.1.
+	thirdparty: Updated cURL to 7.66.0 (windows only).
+
+List of changes in MuPDF 1.16.1
+
+	mupdf-x11: Changed key bindings to match mupdf-gl.
+	mupdf-x11: Invert by luminance for dark mode.
+	android: Fix compilation error.
+
+List of changes in MuPDF 1.16.0
+
+	api: Major overhaul of color management architecture.
+	api: Improved functions to verify/sign PDF documents.
+	api: Number tree accessor function pdf_lookup_number.
+	api: Parse and handle more options for PWG output.
+	api: Removed obsolete gproof document type.
+	api: User callbacks for warning and error messages.
+
+	epub: Changed default page size to A5.
+	epub: Draw embedded SVG documents in EPUB/XHTML.
+	epub: New Noto fonts covering more unicode scripts.
+	epub: Support small-caps font-variant.
+	pdf: Add Redact annotation type and function to apply redactions.
+	pdf: Add/remove/change encryption and password when saving PDF files.
+	pdf: Improvements to text handling in PDF filter processor.
+	pdf: MP and DP operators now call begin/end_layer device methods.
+	pdf: New and improved progressive loading.
+	svg: Draw external images in SVG documents.
+
+	mutool show: Add 'form' selector to list PDF form fields.
+	mutool sign: Sign PDF documents from the command line.
+	mutool sign: Verify signatures in PDF documents from the command line.
+	viewer: Option to save a script of user actions for replay with mutool run.
+	viewer: Runtime toggle for ICC and spot rendering.
+	viewer: Tooltip when hovering over a link in mupdf-gl.
+
+List of changes in MuPDF 1.15.0
+
+General improvements:
+	* WebAssembly build target and examples.
+	* Improved forms API in both C and Java bindings.
+	* Improved forms JavaScript support.
+	* Create appearance streams for more form field types.
+	* Fixed many bugs in ICC color management.
+	* Fixed many memory leaks in error cleanup.
+	* Fixed bugs in pdfwrite output.
+	* Improved text extraction from LaTeX documents with math symbols.
+	* Improved trace device formatting.
+	* Support CBZ and CBT files larger than 2Gb.
+	* Show table of contents for FB2 and XHTML documents.
+	* Show embedded raster images in SVG and XHTML documents.
+	* Show FB2 cover page.
+	* Add option to save PDF files without encryption.
+	* Add inhibit-spaces option to stext device to turn off missing space detection.
+	* Simplified fz_try/fz_always/fz_catch macros.
+
+mupdf-gl improvements:
+	* Automatically open annotation editor when selecting an annotation.
+	* Full page color tinting option in mupdf-gl.
+	* Show/hide table of contents sections.
+	* Trigger a reload with sighup.
+	* Toggle spot color mode with 'e'.
+
+mutool improvements:
+	mutool show $PDF outline -- show outline with open/closed state indicator.
+	mutool show $PDF js -- show document level javascript.
+	mutool clean -A -- create appearance streams when missing.
+	mutool clean -AA -- recreate all appearance streams.
+	mutool run docs/examples/portfolio.js -- extract embedded files from PDF document.
+	mutool run docs/examples/pdf-dejpx.js -- decompress JPEG2000 images in PDF document.
+	mutool run docs/examples/fix-s22pdf.js -- fix fonts in documents generated by S22PDF.
+
+Significant API changes:
+	* New and improved forms API.
+	* Renamed -DNO_ICC to -DFZ_ENABLE_ICC=0
+	* Removed fz_annot superclass. Use pdf_annot and pdf_widget directly instead.
+	* Annotations and Widgets now have separate enumerators.
+	* Added optional separations argument to pixmap rendering utility functions.
+
+Various cleanups:
+	Per-function documentation comments moved to the source file.
+	Hopefully they will stay up to date more often than when they
+	were hidden away in the header file.
+
+	Removed unused internal testing tools: mjsgen and jstest.
+
+	Removed TGA output support. Use one of the more common and useful PAM,
+	PNM, PNG, or TIFF formats instead.
+
+	Removed support for PDF portfolios. This work-in-progress feature was
+	never completed, and only worked for a small subset of files.
+
+	Removed support for progressive loading. This rarely used feature added
+	a lot of complexity and was an unending source of bugs and strange
+	behaviour. Removing this feature has allowed us to clean up and
+	simplify large amounts of code, and fix dozens of bugs in one fell
+	swoop.
+
+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:
+		* 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.
+
+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.
+
+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.
+
+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.
+
+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.
+
+
+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
+
+* 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.
+
+
+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
+   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.
+
+
+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.
+ * 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.
+
+
+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.