-*- org -*- * Version 1.0.0 (Under Development) From this version onward, we will follow Semantic Versioning for new ~pdf-tools~ releases. ** Breaking changes: *** Raise the minimum supported version of Emacs to 26.3 #26 Drop support for Emacs 24 and 25. This allows for some code cleanup. *This is a major breaking change*. *** Change the default value of pdf-view-use-scaling #133 ~pdf-view-use-scaling~ is now true by default, leading to rendering of crisp images on high-resolution screens. This should not cause problems on low-resolution screen (other than taking up more cache space / increasing rendering time), but if it does, please ~(setq pdf-view-use-scaling nil)~ in your configuration. ** Improve overall user experience - Set ~pdf-annot-list-highlight-type~ to true by default. + Show annotation color when listing them by default, allow the user to turn them off if need be. ** Make changes required by newer versions of Emacs - Emacs 29 introduces ~pixel-scroll-precision-mode~, which interferes with ~pdf-view~ scrolling. This is fixed in #124 ** Functionality fixes and improvements - Fix ~revert-buffer~ to correctly work over Tramp #128 - Fix sorting by date in ~pdf-annot-list-mode~ #75 * Version 0.91 ** Change the keybindings for traversing history This is a minor but *breaking change*. ~l~ (backward) and ~r~ (forward) are the conventional bindings for history navigation in Emacs, but ~pdf-tools~ uses ~B~ and ~N~. The previous keybindings are kept as-is for people who were used to it, while introducing ~l~ and ~r~ keybindings as well. This is a breaking change because ~r~ was previously bound to ~revert-buffer~. However, ~g~ is also bound to ~revert-buffer~ and is the conventional binding for ~revert~ so this should be okay. ** Make changes required by newer versions of Emacs A number of changes are made to support new elisp / package changes. There is no impact of this on existing users. - Emacs 27, Emacs 28 and Emacs 29 are supported now. - Synctex 1.21 is supported now. ** Improve overall install experience Running ~M-x pdf-tools-install~ should _just work_ now. ** Add support for high-resolution displays (Retina display on Mac) Setting ~pdf-view-use-scaling~ to a non-nil value now renders crisp images on high-resolution displays. * Version 0.90 ** The displayed columns when listing annotations is now customizable See variable ~pdf-annot-list-format~ and ~pdf-annot-list-highlight-type~. ** Improved handling of default annotation properties A new variable ~pdf-annot-default-annotation-properties~ was introduced, subsuming and obsoleting ~pdf-annot-default-text-annotation-properties~ and ~pdf-annot-default-markup-annotation-properties~. The new variable lets the user choose default properties, e.g. a color, for all supported annotations separately. ** Provide a faster "boot-loader" The autoloaded function ~pdf-loader-install~ acts as a replacement for ~pdf-tools-install~ and makes Emacs load and use PDF Tools as soon as a PDF file is opened, but not sooner. ** Improved the process of (re)compiling the server This obsoletes the variable ~pdf-tools-handle-upgrades~, which does nothing anymore. * Version 0.80 ** Tablist package The files ~tablist.el~ and ~tablist-filter.el~ are no longer part of ~pdf-tools~, but continue to live on in the ~tablist~ package, on which ~pdf-tools~ now depends on. ** View *** Encrypted files When encountering an encrypted file, query for a password and attempt to decrypt it. *** Backward sync from isearch In ~isearch~, press ~M-s s~ to visit the source of the current match. *** Disable unicode in mode-line New variable ~pdf-view-use-unicode-lighter~ which allows for disabling the use of unicode in the mode-line. * Version 0.70 ** View *** Register integration The keys ~m~ and ~'~ now set respectively to jump to a register corresponding to a position in the PDF. Also ~''~ is handled special: It jumps to the position before the last register-jump. *** Export parts of a page as an image See ~pdf-view-extract-region-image~. ** Info *** Interface changes The return value of many pdf-info-* functions was changed in order to prefer alists over other data-structures (indexed lists, trees). ** Virtual PDF A virtual PDF is a collection of pages (or parts thereof) of arbitrary documents, which appear to the rest of ~pdf-tools~ as one big PDF, though they are always read-only. * Version 0.60 ** Regexp support You may now search for perl-compatible regular expressions (PCRE) in PDF documents, both via Isearch and Occur. If that scares you, customize the variable ~pdf-occur-prefer-string-search~. ** Occur *** Asynchronous search Searching is performed asynchronously in a private server instance, i.e. it doesn't block neither ordinary editing nor ~pdf-view-mode~. *** Moccur Added the ability to search multiple documents in one occur buffer. ** Isearch *** Occur Integration ~M-s o~ now starts occur, while keeping the isearch session, like it is in text-buffers. *** Word search ~M-s w~ now does a word search, which will also find hyphenated words (as determined by ~pdf-isearch-hyphenation-character~), though not at page boundaries. ** View *** Navigate by pagelabels ~M-g l~ may be used to jump to a page by label, i.e. its displayed number. *** Rendering Added the ability to display the page as it would be printed (e.g. w/o annotations) via ~pdf-view-printer-minor-mode~ and to apply a color filter via ~pdf-view-midnight-minor-mode~. ** Outline New option ~pdf-outline-display-labels~, determining whether to display labels instead of plain page-numbers. * Version 0.50 ** PDF Tools is now available on MELPA. ** SyncTeX *** File name handling SyncTeX is pretty picky about source filenames. So instead of trying various filenames and hoping for best, we find it by directly inspecting the database. *** Heuristic backward search Backward searching now tries to find the exact position in the LaTeX buffer. This may be disabled by setting ~pdf-sync-backward-use-heuristic~ to ~nil~. *** Renamed most variables/functions/commands. The old ones are still there but declared obsolete. ** Compatible with Emacs 24.3 ** Integrate with bookmark.el ** Compiling on OSX PDF Tools should now compile on OSX, though it is unsupported. ** MELPA Try to handle an update via MELPA by ~package.el~ by shutting down the server, recompiling and restarting it. This may be deactivated by setting ~pdf-tools-handle-upgrades~ to nil. ** Auto slicing A new minor mode which will automatically slice the page according to its bounding box. * Version 0.40 I basically reimplemented the whole thing. (Not really, but a lot has changed.) ** Displaying PDF Files. Rendering is now done almost completely in ~libpoppler~ (no convert anymore), while PNG images are kept in memory and files are solely used as a means of exchange between Emacs and ~epdfinfo~. In essence, display should be much faster. *** New Major Mode pdf-view Hacking up ~doc-view.el~ to support a server-based *rendering engine* would have been to awkward. So a new major-mode was needed : ~pdf-view-mode~. Both are very similar regarding user-interface. Some differences are: + Setting the width to ~fit-width~, ~fit-height~ or ~fit-page~ keeps up with window-size changes. + The values of the slice are relative, i.e. independent of the ~image-size~. *** PNG Image Cache Image data is cached, in order to keep the time it needs to display a page low. Some pages are pre-loaded for the same reason, while idling. The number of cached images per buffer may be customized using ~pdf-cache-image-limit~. ** Annotations *** New supported types Provided ~epdfinfo~ was build with a recent version of ~libpoppler~, you may now create and modify the following markup annotation types: highlight, squiggly, underline and strike-out. ** Various *** You may now select extended regions with C-mouse-1. *** Numerous other changes