Sigil-0.9.8 Released

Sigil-0.9.8

For the impatient, the installer files (and source) can be found as attachments at the bottom of the Github Release page.


This Sigil release is a mix of bug fixes and new features for both epub2 and epub3 users. Some of the highlights for this release include:

PyQt5 support for plugins. The full-blown PyQt5 is not included with the Mac and Windows bundled Python, but the Core, Gui, Widget, and SVG bindings (and a few others) are available. PyQt5 should be able to be used to create much more robust plugin GUIs that are translatable and that match Sigil’s Qt “look and feel”.

A new “Menus” tab in the Appearances Preferences section has a slider to adjust the size of Sigil’s main icons to your liking. This eliminates the need for setting the SIGIL_ICON_SCALE_FACTOR environment variable to achieve a similar effect. So those who were using that variable take notice.

The Windows directory structure has had a bit of an overhaul to eliminate the need for the duplication of some included DLLs and to accommodate PyQt5. The installer will be able to accommodate these changes (as well as test for Service Pack minimum requirements before the installation begins) with no manual intervention.

There was also an important fix for temp_folder issues on Windows systems that create a new system temp folder each login that made it into this release.

The specific changes/additions follow.


Bug Fixes

  • Make sure when new empty epub3’s are created that the toc does not use a doctype (Issue #250)
  • Make GetUniqueFilenameVersion work even on Case-Insensitive filesystems (Issue #247)
  • Properly urlencode/decode all hrefs in plugin’s ResultXML in launcher/PluginRunner to prevent parse errors
  • Enable Basic Cut Copy Paste Icons/Actions in OPF, NCX, XML, SVG, and other Misc Text Tabs
  • Add proper detection for minimum service pack requirements in Windows installer
  • Include workaround for bug in KDE Qt5 plugin on Linux that keep plugins from launching from menu
  • Prevent splitting Section0001.xhtml (Split at Cursor) needlessly rewrite the file’s manifest id with a uuid
  • Fix issue where merging files when non-xhtml tabs were open was causing Python errors or crashes
  • Fix segfault in Image Reports when deleting unused image files
  • Fix bug in prettyprint_xhtml in sigil_bs4 (put back inadvertently dropped is_void_tag routine)
  • Fix gumbo serialize to better handle injected newlines
  • Harden bundled Python isolation on Windows and add subset of PyQt5 to bundled modules
  • Harden plugin interface code to properly unquote/quote hrefs
  • Stop Sigil from nagging about unsupported mimetypes when epubs with Adobe xpgt page-templates are opened
  • Fix Book Browser highlighting issue when editable XML files from the “Misc” folder are opened
  • Pull upstream bug fixes from google’s gumbo parser for Sigil
  • Force formatting buttons in BookView to generate inline-styled spans instead of “strike”, “b”, etc
  • Fix bug from deprecated use of jquery $.browser.msie introduced when jQuery was updated
  • Fix temp folder specification on Windows systems that delete the system temp folder for every login (Issue #285)
  • Fix typos in metadata descriptions to allow better translations

New Features

  • New preference setting (Appearance section) which allows user to adjust the size of the main menu icons
  • Add manifest properties to Book Browser tooltips and to All Files Reports Widget for epub3
  • Make Sigil’s UI and spellchecker language settings available to plugins
  • Add support for PyQt5 for plugin gui widgets
  • Internal builds now use Qt 5.6.2 with Webkit added back
  • Windows structural changes to eliminate file duplication and to accommodate PyQt5 requirements
  • Update all build it yourself from source documentation for new requirements

Be aware that Sigil-0.9.8 still enforces the need for epub3 to have and support an NCX so that it generates as backward a compatible epub as possible. This may be relaxed in future releases.

Sigil-0.9.8 like its predecessors passed all of the following tests for epub3 support: iframe, img, audio, video , mathml, svg (except for svg support in the spine), javascript, and of course recognizing and allowing html5 specific tags like section, and etc. Sigil-0.9.8 also supports javascript based local-storage and display of embedded pdfs.


Download Location
The official location for downloading this Sigil release (and all official releases) is:

https://github.com/Sigil-Ebook/Sigil/releases/tag/0.9.8 (downloads found at the bottom)

The latest version of the Sigil User Guide can be downloaded from: https://github.com/Sigil-Ebook/Sigil/raw/master/docs/Sigil_User_Guide_0_7_2.epub

Downloading binaries from anyplace else is simply NOT a good idea as they could inject anything into their own downloads. After downloading, please verify the downloaded binary exactly matches what was originally posted by running an SHA 256 checksum on the file before installing it. See the file Sigil-0.9.8-CHECKSUMS.sha256.txt for the correct checksums for each file and instructions for how to calculate a SHA 256 Checksum for your download. The Mac OS X Package has also been code signed with my Apple Developer signature.


Windows Users
If your current version of Sigil is 0.9.6 or earlier, it’s recommended (but not required) that you uninstall that version before installing 0.9.8. Some compiled Python files have had their file extentions changed (as well as the change to Python 3.5). As a result, there will be a lot of extraneous files left lying around if you just install the new over the old. It won’t cause any functionality problems, but if disk space is at a premium, you may want to clean things up a bit. You can do this by uninstalling Sigil at any time (even after 0.9.8 is installed) and reinstalling. Doing so won’t affect your any of your preferences, plugins, keyboard shortcuts, clips, saved searches, etc.

Linux Users
There are currently no official binary releases available for Linux on the Sigil Release page. Please check with your favorite distro’s software repositories to see if they have Sigil for installation via your OS’s package management system. If not, there are build instructions for compiling Sigil yourself in the source archive’s docs directory: https://github.com/Sigil-Ebook/Sigil/tree/master/docs

Don’t forget the FlightCrew plugin
Please note, the epub2 validator FlightCrew has been converted to a plugin for Sigil 0.8.900 and later.
This plugin has been updated for Sigil-0.9.3 (and later). It can be downloaded from the official Sigil-Ebook flightcrew repository if you have not already installed it.

https://github.com/Sigil-Ebook/flightcrew/releases/tag/0.9.1

Attention Mac OS X Users
Per the recommendation of http://www.python.org (see https://www.python.org/download/mac/tcltk/), due to bugs and the age of Apple’s internal Tcl library, you should also download and install ActiveState’s ActiveTcl Community Edition. To get the latest bug fixes, Sigil-0.9.8’s embedded Python has been linked with the very latest version: Tcl 8.6.4.1

We may not redistribute this Package with Sigil due to ActiveState’s binary non-redistribution policy.

So please, if you have not already done so download and install this version of ActiveState’s Active Tcl Community Edition, until we get a chance to do our own build of Tcl 8.6.4.1 from source for future releases. ActiveState is a primary contributor to http://www.python.org and a respected and trusted source for python and tcl/tk related binaries on both Windows and Mac OS X.

See: http://www.activestate.com/activetcl/downloads
Version: 8.6.4.1


Some Additional things

When you fire up Sigil for the very first time:

  • navigate to the new General Preferences and select the default
    epub version you plan to work with (epub 2 or epub3) so that new
    empty ebooks start with the correct code.
  • if you plan to work with epub3 epubs, you should change your
    PreserveEntities setting to use ONLY NUMERIC entities.
    For example use & # 1 6 0 ; for non-breaking spaces and etc.
  • We strongly recommend enabling Mend On Open in your settings
    for best performance with Sigil