MuPDF Technology Preview release (2012-11-09)
MuPDF 1.1 (16/08/2012)
MuPDF 1.1 RC1 (2012-08-08)
This version is mainly a stability and bug fix release.
- The command line tools have been combined into one tool that does all: mubusy. Where previously you would have called "mupdfclean blah blah blah", now call "mubusy clean blah blah blah" instead.
- 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.
MuPDF 1.0 (24/04/2012)
MuPDF 1.0 RC1 (29/03/2012)
An example Android application (for Android 2.3 and above). Not available from the Android Market/Google Play yet, but soon. For now, download it from the regular download page. Removal of all global variables: we now pass a context pointer through the code freeing us from the use of globals within the library. Multi-threaded operation: while MuPDF does not require a thread library, hooks are in place so that if one is used, significant speedups can be gained from using multiple cores to render. New error handling: a portable exception-like system is used to allow neater handling of errors. This leads to more stability and better resilience to broken files. Public/Private API: the API has undergone a significant revision (required by some of the above changes, plus renaming/revising for clarity and consistency), and has been split into public and private headers. The plan is that the public portion of the API should remain much more static in future. Improved Text Extraction device: a cleaner API to the experimental text extraction device, offering a list of styles, and more cleanly delineated content. Documentation: All public header entry points/structures are now documented and overviews of how to call the library to render pages both in single and multi-threaded mode are given. A new scavenging memory manager; makes much better use of the memory available by freeing cached items 'just in time'. Many, many, bugfixes. This is such a large and significant version that we're doing a release candidate first to allow us to correct any obvious bugs that are found. Please try it and let us know how you get on!
MuPDF for iOS (06/12/2011)
MuPDF 0.9 (05/09/2011)
This is a bug fix and stability release. No new features to report.
There is experimental support for Isolated and Knockout transparency groups, that can be enabled if you compile from source.
MuPDF 0.8.165 – now with XPS (29/04/2011)
The Open XML Paper Specification is a page description language developed by Microsoft. XPS is used extensively in the Vista and Windows 7 printing pipeline. The XPS Document Writer is a virtual printer that works like Acrobat distiller, but is integrated in Windows and creates XPS documents.
We now proudly announce that MuPDF can read these XPS documents!
Other notable improvements:
- A big renaming scrub to increase legibility of the code: we no longer use names with runtogetherwords, instead we separate them with underscores.
- We've added a tiling pattern cache to the graphics library. Pages that use repeating patterns will run much faster than before – sometimes hundreds of times faster.
- Halftoning: pdfdraw can now generate halftoned monochrome PBM images.
- Tunable anti-aliasing (mainly for use with halftoned rendering).
- A special fast path for rendering grayscale images to rgb devices without doing a pointless color conversion first.
- The windows project now has a batch file to generate the font and cmap source files, so the mupdf-pregen.zip file is not needed anymore.
Darcs to Git (22/03/2011)
- We have changed the version control system used for MuPDF from darcs to git. The old darcs repository has been converted to git. This new git repository is not compatible with the old experimental git mirror.
MuPDF 0.8.15 (15/03/2011)
This is a minor bug fix release to fix an issue where text was copied from a different place than the selected area.
MuPDF 0.8 (03/03/2011)
We have improved the image scaling code. We now use an algorithm based on a Graphics Gem when downscaling images, and simple bilinear interpolation when magnifying images. The results are vastly improved legibility of documents which use images containing text. This includes documents created by scanning or photographing a physical document, but also many academic papers using type 3 bitmap fonts, such as those created by old versions of LaTeX.
- MuPDF will now display PDF annotations when rendering a page.
- Transparency support for blend modes and in particular soft masks has been improved, along with many bug fixes, improved conformance, and optimizations to the colorspace and function parsing code.
- We can now read PDF documents using 256-bit encryption (AESv3).
- The CMap data structures have been squeezed to reduce the memory footprint of the character map tables by about 500K. The CJK fallback font has also been updated to a newer version with more characters.
- MuPDF has a new logo!
MuPDF 0.7 (24/08/2010)
We have finally implemented transparency blend modes and soft masks in the renderer. This support is still a experimental, but works for the most common cases.
- A grayscale mode renderer has been added. Pdfdraw can output grayscale images with the -g flag. The mupdf viewer application will switch between grayscale and color rendering if you press the 'c' key.
- The heuristics for text extraction have been tweaked. Search and copying should now detect word separation and line breaks more reliably.
- The internal paint functions in the renderer have been rewritten as part of adding transparency support, and should now be a lot simpler and have fewer variants. Likewise the compression and stream filter architecture finally got the cleaning up it has been in need of for a long time.
MuPDF 0.6 (02/06/2010)
This version has undergone a significant rewrite of the renderer. We are no longer tied to a display tree architecture. The PDF parser calls a device interface with all the graphics objects it sees. There are a few different devices implemented: the draw device which renders the objects to an image, the text device which extracts the textual content, and a display list device which simply records all the objects for playback to another device at another time.
The old build system that used Jam has been replaced with GNU Makefiles. We have packaged up all third party libraries into a zip file. If you unzip this package in the source directory, the makefile will pick them up and build them as part of MuPDF. This makes it a lot easier to build on windows and on other systems where you haven't installed all of the libraries that MuPDF depends on.