“the simplest way of keeping      
your audience from yawning”

2023-11-04A new maintenance release: 0.13.2

Again, long time no update, but changes in libraries Impressive depends on again forced my hand here: This time, it's Pillow (the successor of the Python Imaging Library) that deprecated a few APIs for whatever reason, making Impressive 0.13.1 crash on newer Linux distributions that ship with this newer library version. 0.13.2 fixes this and a few other bugs as well. There are no functional changes.

2022-03-190.13.1 brings SDL 2 support

There hasn't been an update for a long time, and you might wonder what happened to the »final« version of 0.13.0. I decided to skip it, because 0.13.1 introduces another important compatibility feature: suport for PyGame 2 and SDL 2. Other than that, it's mostly bug fixes and little enhancements here and there.

Unfortunately, there are some caveats with PyGame 2 support, which are out of my control; specifically, there's frequently trouble with PyGame 2.0 on Linux systems, but those seem to be fixed with PyGame 2.1. And if you're using a Raspberry Pi of generation 1 to 3, do yourself a favor and stay at the older buster version of Raspbian, »Raspbery Pi OS (Legacy)«. While Impressive has been adapted to work with the current bullseye version, that doesn't offer 3D acceleration on those older Pi models (yet?), and only shows a black screen if you force it. Raspberry Pi 4 users are not affected.

2020-05-31Some maintenance in 0.13.0-beta2

The second beta version brings the expected bugfixes (mainly crashes on Python 3 due to oversights during porting), but also a few minor new features: High-DPI scaling is now disabled on Windows, so that the display isn't as blurry as it used to be on affected systems. New prev and next PageProps have been introduced to change the playback order of pages. Finally, there's now a »pseudo-binary« file called impressive in the .tar.gz release archive that's more compact and with slightly quicker startup time than the standard source code file.

2019-11-21A Linux-specific hotfix in 0.13.0-beta1a

While testing on various machines, a rather nasty bug has been found on Linux: If the PyGame library has been installed using pip (Python's own package manager) instead of a distribution package, it would simply crash hard. 0.13.0-beta1a explicitly fixes this. Windows is not affected at all, so there's no new Win32 package.

2019-11-20Towards Python 3 with 0.13.0-beta1

The next major version bump is immanent, but this time, it isn't much about features on the surface, but rather profound changes under the hood: With a lot of help from the Fedora project, Impressive has finally been made compatible with Python 3.x. This is important because Python 2.x is discontinued and will no longer be supported in 2020. The amount of changes needed to ensure this Python 3 compatibility is quite large though, and as the version string indicates, there may still be some issues lurking around, even though it proved stable in my testing so far.

Other than that, there aren't many changes: The Win32 package is now built with Python 3 too, and for 64-bit architectures. The page count for the --page-progress option can now be limited (to compensate for backup slides, for example), the overview animation time can be configured independently from the zoom animation time, and more than one progress bar can now be displayed at once.

2019-08-28Some maintenance in 0.12.1

After one and a half years, there is now a new release that fixes a few issues, mainly with new library versions. The only new feature is that automatic slideshows can now be paused temporarily by pressing the [A] key. Furthermore, Impressive should now run on Raspberry Pi 4, but (contrary to how it was for earlier RasPi generations) only inside an X11 session.

This is most likely the last version of Impressive that requires Python 2.7 to run; behind the curtains, preparations are made for a next version that will run on Python 3 as well.

2018-02-040.11.3 and 0.12.0, the unexpected feature release

Sometimes things just don't work out as planned. 0.11.2 had a rather nasty bug that broke automatic presentations (the -a/--auto option), so 0.11.3 was planned as a bugfix release to take care of that and some other little issues that made hyperlinks not work properly in every situation, or even crash when clicking them in some PDFs.

But then a very avid user of Impressive informed me of some modifications he did and ideas for other features, and I just couldn't keep myself from implementing it all ... so here we have it: 0.12.0, a totally unplanned feature release! It mainly does two things:
One, it greatly enhances zoom mode, with fractional zoom levels, mouse wheel zooming, and the so-called »box zoom« mode, where you can draw a box just like a highlight box, except that Impressive zooms in so the box fills the whole screen and darkens everything else.
Two, it takes video a little more seriously: Video files can now be specified as input files, just like images and PDFs. The video player backends have been a little modernized (particularly on Windows), and video is now supported on the Raspberry Pi as well.

2017-12-190.11.2, a maintenance release

This version doesn't add any major features, but it's more stable and compatible with newer software environments. The largest change is a new MuPDF backend with better performance than ever, and the possibility to use MuPDF for PDF parsing. As a result, pdftk is no longer a hard requirement to open newer PDF documents; the only feature that still depends on it is automatic extraction of page titles. Even hyperlinks work without it.

2015-11-12Some small fixes in 0.11.1

This update just adds a few small fixes regarding hyperlinks and, most importantly, a compatibility fix for newer versions of one of the libraries relies on. This caused Impressive to break for Arch Linux users a few days ago, and so I'd rather make a new release version before the new library version gets into the real mainstream distributions.

2015-01-08... and now for the Windows users: 0.11.0b

Linux wasn't the only system affected from some growing pains in 0.11.0. I got two bug reports that the Windows version wasn't working either on some specific graphics hardware / driver combinations. To fix this, the way OpenGL functions are loaded has been rewritten and the problem seems to be gone now.

2014-12-23Just a minor patch: 0.11.0a

Only a couple of hours after the release of 0.11.0, users informed me that there were problems with some recent Linux distributions, namely »could not load SDL library« errors and crashes because no OSD font has been found. 0.11.0a should fix these issues. It's a source-only release that affects POSIX systems only; on Windows, this version behaves in all regards identical to 0.11.0. That's why there's no new Win32 .zip file for 0.11.0, as it isn't needed.

2014-12-21Early christmas present: 0.11.0 is out

Almost one year ago, I promised some larger changes to Impressive and, in fact, already implemented them. They sat in SVN for quite a while, and so far it seems that the people who tried them are quite happy with them, so it's time for a new release.

In 0.11.0, major parts of the program have been rewritten. The graphics code is all-new and is now based on OpenGL (ES) 2.0 instead of the ancient OpenGL 1.1. The result: It now runs on Raspberry Pi, and transitions are smoother on this small computer than they ever were on high-end PCs with the previous versions. The other big thing is that Impressive finally got fully customizable keyboard and mouse controls. Also, the blazingly fast MuPDF is now supported as a PDF rendering backend.

The changes also bring some incompatibilities though. The most important one is that the transition PageProp no longer affects the transition after the specified page, but the transition to (or before) the specified page. The -e/--noext and -R/--meshres command-line options are now gone because they don't have any place in the new OpenGL 2.0 world; the -e option has been reused for input customization. Finally, some (rarely used) transitions have disappeared and some new ones are now available.

2014-05-02A major bug fixed in 0.10.5

As it turned out, 0.10.4 didn't only fix a ton of bugs, it also introduced one particularly nasty one: The file list feature stopped working. Since many people were using it, 0.10.5 fixes this specific issue. Other than that, it doesn't contain anything new; all the exciting stuff won't appear until 0.11.0.

2013-12-29Surprise! 0.10.4 is alive and kicking!

Yes, it has been another really, really large gap between the previous release and this one – so large, in fact, that some people already think the project has been discontinued. The reports of Impressive's death are greatly exaggerated though. In fact, I'm planning to release a new major version soon(-ish), and 0.10.4 is an intermediate step before I start with the bigger (and compatibility-breaking) changes.

0.10.4 has the longest changelog of any version to date, but it's mostly smaller changes. There are some bugfixes and compatibility improvements, and a couple of options that can be useful in certain situations, like Ignite-style quick talks or LaTeX slides with built-in presenter screens.

2010-10-170.10.3 is out — finally a new release after a long time!

It has been over one and a half years since the last regular Impressive release. Development slowed down considerably since, but it didn't halt: A few changes were made in the Subversion repository. Most of these are bugfixes, stability fixes and compatibility fixes to make Impressive work with newer versions of the tools it relies on. There are a few new features, though these are just minor ones.

2008-02-030.10.2 is out, containing a few new features

This release contains some internal fixes and improvements, but also a few user-visible new features. First, there's support for URL hyperlinks like web links and e-mail addresses. Second, Impressive now understands list files: These are text files that contain the actual names of the files to show, which can be useful for image slideshows. Third, there's are new »automatic overview« mode that hides PDF pages from Impressive's overview page based on whether they have a title or not. This makes use of the fact that some LaTeX packages for presentation slide generation don't emit PDF titles for pages that are part of multi-step slides (those who are revealed one step after another).
Finally, there are three new PageProps: Using keys, alphanumeric keys can be bound to user-provided Python functions now, comment permanently shows a line of text on a page and video is a highly experimental(!!!) feature that plays a fullscreen video when a page is entered.

2007-11-27a little interim release

Over the last few weeks, it came to my attention that most Linux distributions switched to an incompatible pdftoppm implementation that breaks Impressive's page rendering. Since I don't have the time to turn my TODO list into a new release, I just updated a few spots to make it work on newer Linux distributions again. Users of the Win32 package don't need to (and, in fact, can't) update.

2007-09-090.10.1 supports PDF hyperlinks

Apart from bugfixes and internal improvements, there are three important new features in this release:
First, Impressive now contains a simple PDF parser, which (in conjuction with pdftk) can extract PDF hyperlinks and make them usable. This means that the navigation controls put into the files, e.g. by the latex-beamer, can finally be used.
Second, there is a more generic command-line parser: Impressive now accepts an arbitrary number of image files, PDF files or image directories as inputs and concatenates them automatically.
The third feature is a new (optional) "persistent" cache mode, which can be useful for large and frequently held presentations. It works just like the normal disk cache that was introduced in 0.9.0, but the cache files won't be deleted and can be used to speed up initialization the next time the presentation is shown. Please note that some caching-specific command line options have been changed in this process; please refer to the help screen or manual for details.

2007-06-020.10.0 comes with a huge load of new features

Up to now, I took the time to describe each release's new features in detail, but 0.10.0 has so much of them that I will use a more compact presentation this time :)

2007-03-19A bunch of new features in 0.9.4

Besides numerous smaller bugfixes, the current release adds some new interesting features: If the target duration of the presentation is known, Impressive can display a progress bar at the lower edge of the screen. Luke Campagnola contributed code to adjust the gamma curve and the black level of the presentation. Impressive may now use a transparent PNG file as the mouse cursor image instead of the default one. And finally, the middle mouse button comes to life again: it toggles the overview mode now.

2007-02-26Time for 0.9.3

Today's new version fixes some annoying bugs and implements some minor under-the-hood polishing. But there's a new feature, too: The [T] key now shows a little time display in the upper-right corner of the screen. If [T] is pressed while the first page of the presentation is still shown, it will enable a special logging mode. In this mode, Impressive will dump a trace of all visited pages with some timing information to standard output (which can, of course, be redirected). This is a great tool for preparing presentations.

2007-02-17How about some text? Go and get 0.9.2!

The 0.9.2 release adds an on-screen text display for the overview window, indicating the page number and page title, if available. Furthermore, the page cache and overview screen can now be constrained to a user-defined range of consecutive pages. A third new feature is the the »poll« option: With this, Impressive periodically checks if the input file(s) have changed and reloads them if necessary. Finally, there's a fix for a bug that prevented the -m option from working.

2007-01-240.9.1 fixes some bugs

Nothing special, just three more-or-less nasty bugs introduced in 0.9.0 were fixed: First, the 'whitening' mode didn't work on all graphics cards, clicking a mouse button in fade mode crashed the program and there were occasionally temp files left behind after exiting Impressive.

2007-01-070.9.0, the next big update

One of the most frequently requested features is now finally implemented: Background rendering. This means that there's no longer need for watching that pesky progress bar on startup, as Impressive now starts much quicker and pre-renders all the pages calmly in the background. Also, the cache images are now by default stored on disk, which eliminates the memory problems of earlier versions.
A few minor bugfixes and features have also been added. Most notably, the [B] and [W] keys now fade the screen to black and white, which is useful if you are going to use a blackboard or whiteboard in parallel to a Impressive presentation. A new page property in the info scripts can be used to make Impressive skip a page when going through the presentation. Finally, on Win32, the default fullscreen resolution is now taken from the current desktop resolution.

2006-09-28A few new features in 0.8.3

After a long time, I added some new features to Impressive again. The most useful one is that pages can now be removed from the overview screen via the new overview PageProps item. This comes in handy for presentations that contain slides that build up over multiple pages (i.e. the points are appearing one after another).
The new aspect ratio option helps if the display aspect ratio differs from the selected screen resolution. A new (optional) transition has been contributed by Ronan Le Hy. Another change »behind the scenes« is OpenGL extension support to load textures with non-power-of-two dimensions. This helps saving graphics memory, but in case it causes trouble, it can be deactivated with the -e option.

2006-07-130.8.2, another minor update

Again, there's a little bugfix release that fixes a crash on strangely sized pages. There are some new features, though: Keyboard navigation is now available in overview mode, and a new »rotate« option allows users with broken LaTeXes or GhostScripts to display presentations in correct orientation (try -r 1 or -r 3). Please note that the »render« (-r) option had to be renamed to »output« (-o) due to the name collision.

2006-02-04just a minor update: 0.8.1

0.8.1 only adds features that will only help in certain situations: First, OpenGL error reporting is now a little bit more concise. And second, there's a »render« option that renders the presentation from PDF into a bunch of PNG files instead of displaying it. This feature was implemented due to an urgent request of a good friend. He's going to give a presentation on some college-supplied PC soon. Unfortunately, this PC does only have an ancient version of GhostScript, so he needed to render the files at home to circumvent the display flaws this old GS version produces.

2005-11-230.8.0: a lot of fixes and a brand-new zoom mode

Recently, one specific feature was requested quite often: A zoom mode. The problem is that really nice zoom is very hard, if not impossible, to implement in a sane manner. 0.8.0 adds a somewhat experimental 2x zoom option that can be activated with the [Z] key. It is not fast, it is not very elegant, and it eats memory and CPU cycles as hell, but well ... it's there.
For those who do not want to zoom into the pages, 0.8.0 has some additional features to offer as well: The command line option parser was severly broken, as was the image display mode and support for portrait-format pages. Some uncommon command line options now have capital letters as shortcuts, so if you have any scripts calling Impressive, don't forget to fix them. A new option has also been added to select which transition(s) to use if no other transition is specified in the page properties.

2005-10-24Some quick additions again ...

In the brand-new 0.7.2 release, there are some critical fixes for regression bugs found in 0.7.1. (Changing most of the event handling tends to break things ...) In addition, there are two new command-line options, –a and –w, that come in handy if you intend to use Impressive as an automatic slideshow tool.

2005-10-22Usability improvements in 0.7.1

Today, I implemented two suggestions from users. The first one affects highlight box handling: Boxes are no longer created and destroyed with the middle mouse button, but intuitively with the left button (drag to create a box) and the right button (delete a box). This is how I should have done that in the first place, I think :)
The other suggestion was to add an option to specify the page that is shown right after initialization (start page, initial page, ... you name it). Now it's there: Try –i and note how even the pre-rendering process is adopted to reflect your wish.

2005-09-29Impressive 0.7.0 – let there be sound!

schrd, the guy who had most of the cool ideas that sum up to the Impressive experience, reported a bug yesterday, so I fixed it: If the user clicked at some areas in the overview page, Impressive would crash. Oops.
However, this is not the reason for the leap in the version number. The 0.7 is due to two additional features that have been requested by schrd, too: First, a timeout PageProp can be used to create semi-automatic presentations, and second, there's experimental sound support!

2005-09-07Bugfix No. 2: 0.6.3

Yesterday night, a friend of mine informed me about another bug in 0.6.2: Some PDF files produced with »uncommon« pdfLaTeX packages had negative(!) object counts in them. This confused my oh-so-simple PDF page count parser, so that Impressive wouldn't play those files at all. This is (of course) fixed in the new release.

2005-09-060.6.2, the first bugfix release

The worls seems to spin really fast these days. Only a couple of hours after releasing 0.6.1, some guy found the first (really annoying) bug: On Win32, filenames containing spaces didn't work. This is fixed in 0.6.2, and now I wait for the next bugs to come :)

2005-09-05Initial official release: 0.6.1

It's been more than a month that the nearly-done package and webpage waited for finally being released. Now I finally found some time to add another feature (the supersampling option) to 0.6, lifting it to 0.6.1. The activation of the sourceforge project was done in less then 24 hours, so here we go ...