Sigil-0.9.7

@dougmassay dougmassay released this Oct 29, 2016 · 32 commits to master since this release

Sigil-0.9.7

This Sigil-0.9.7 release is a mix of bug fixes and new features for both epub2 and epub3 users.

Bug Fixes

  • Allow tags in the svg and mathml namespace to automtically self-close if empty to help work around a bug in Kindlegen that will not seem to accept a closing svg image tag even though image is non-void
  • Prevent TextTab from constantly recentering page when focus is lost
  • Fix bugs in plugin basename_to_id when used with xpgt files or any unrecognized extensions
  • Fix typos in pls mimetype in plugins
  • Fix code synchronization issues among 3 places where file extensions are mapped to mimetypes
  • Fix plugin readotherfile interface to rebuild the opf on the fly only if it has been modified
  • Fix plugin validation issues with integer vs string representations of line number and character offsets
  • Fix duplicate filename in multiple directories bug when updating CSS urls
  • Fix bug in page-map.xml mimetype when "Add Existing ..." is used
  • Fix undefined behaviour shifting signed negative values in 3rdparty libs and fix many warnings
  • Fix text vs binary file type recognition in the plugin interface (CSS and js files are text not binary)
  • Fix too small toolbar icons on high dpi displays
  • Fix bug that caused text highlighting to get lost on some systems when doing a CSS Find & Replace.
  • Fix bug in plugin interface basename_to_id to recognize .htm extensions
  • Fix bug in epub3 semantic popups to always refect the local name of epub:type setting
  • Fix bug where creation on an HTML TOC could overwrite an existing Nav under epub3
  • Fix manifest id not starting with alpha character bug

New Features

  • Extend validation plugin interface with add_extended_result() method to allow better cursor positioning
  • Extend TextTab and Tabs derived by it to position cursor based on offset
  • Allow editing of page-map.xml files, xpgt files and other misc xml based files inside Sigil
  • Update Windows builds use Python 3.5.2, VS2015
  • Update Mac OS X builds and build instructions to use Python-3.5.2
  • Remove support for python2.7 only plugins and simply Manage Plugins settings
  • Update to Qt 5.6.1-1 with QtWebKit added back for release builds for Windows (VS2015) and Mac OSX
  • Update Mac OS X and Linux build instruction documentation for recent changes
  • Allow Linux Dictionaries to look up default paths for dictionaries passed in by build cmake settings
  • Make the columns in the Manage Plugins table be sortable by the user
  • Better detect undefined and non-existing url fragments to prevent issues when splitting or merging files
  • Make tooltips for Run Plugin Icons show the name of the selected plugin on hover
  • Upgrade from jquery 1.6.2 to version 2.2.4
  • Upgrade from jquery.scrollTo 1.4.2 to version 2.1.2
  • Upgrade to double sized 48x48 pixel icons for High DPI displays, Special Thanks to PatNY for creating our icons

Be aware that Sigil-0.9.7 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.7 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.7 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.7

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.7-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.7. 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.7 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 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 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.7'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 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

Downloads

Sigil-0.9.6

@kevinhendricks kevinhendricks released this Jun 16, 2016 · 127 commits to master since this release

Sigil-0.9.6

This Sigil-0.9.6 release is a mix of bug fixes and new features for both epub2 and epub3 users.

Bug Fixes
- Make StdWarningDialog resizeable when "Show Details" is used
- Fix CleanSource svg prefix removal bug that sometimes broke valid svg code
- Remove svg image and html5 menuitem from the list of void elements in the Sigil and plugin code
- Properly xml escape "&" in metadata attribute values
- Properly perform source updates on epub on load even when they do not follow recommended spec
- Make handling of comments in both xhtml and xml more robust
- Properly url escape css file names to handle css files with spaces in them
- Try to make direct editing of content.opf more safe by auto-fixing errors when possible
- Properly handle WellFormed checks for pure XML in XMLResource.cpp by using embedded python3 lxml
- Make opf_newparser.py and xmlprocessor.py more robust to broken user input in content.opf
- Make ProcessXML (repairXML in xmlprocessor.py) - leave untouched anything well-formed
- Fix thinko in plugin bookcontainer.py and outputcontainer.py contributed by wrCisco
- Fix for improper encoding in plugins on Mac OS X due to missing inherited plugin environment
- Fix for typos in epub xmlns when splitting epub3 ebooks in BookView
- Update testplugin_v012.zip to testplugin_v013.zip to handle sgc-nav.css new feature
- Fix bugs in DeleteUnusedStyles when selector exists more than once in the same stylesheet
- Fix bugs in DeleteUnusedStyles when group selectors span more than one line
- Fix bugs in Reports: CSS Styles missing cases when selector exists more than once
- Fix bug in Reports: All Files to use Landmark Semantics under epub3 not guide semantics
- Fix bug, slow in loading ini when too large clipboard history, user can now delete them via dialog
- Stop cosmetic double-spaces being introduced into OPF manifest, spine and guide entries
- Prevent bug when user selects too much in BookView and then tries to change case
- Fix bug in Delete Unused Media when css urls do not use quotes
- Try to set all ways of updating the ncx to use 2 character indentation of head element
- Fix Building Relocatable Python on Mac build instructions to remove BeautifulSoup4 requirement
- Fix for generating empty guide for epub3 when in plugins

New Features
- created sgc-nav.css stylesheet for nav and allow templates in Prefs Dir for user to control it
- Added General Setting to allow user to set own temporary directory location
- Added Qt Stylesheet support - Recognize and load "qt_styles.qss" file if stored in Sigil Preferences folder
- Extended the plugin interface to add support for epub3 bindings elements
- Add option + forward delete shortcut to active Metadata Editor remove

Be aware that Sigil-0.9.6 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.6 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.6 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.6

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.6-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.

Linux Users
There are currently no 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 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.6'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 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

Downloads

Sigil-0.9.5 Release

@kevinhendricks kevinhendricks released this Mar 26, 2016 · 191 commits to master since this release

Sigil-0.9.5

This Sigil-0.9.5 release is a quick follow-up bug fix release to primarily address some regressions that had snuck into the code over the past two releases.

Bug Fixes

* Fix regression when ImportHTML in gathering HTML based DC. metadata
* Fix regression - remove incorrect use of opf:scheme from dc:creator and dc:contributor under epub2
* Fix regression - the guide reference tag is always a void tag
* Fix issues with hunspell spell checking under Windows when non-ascii paths to dictionaries
* Fix issues with overridding the prefs directory on Windows with non-ascii paths
* Fix broken manual "Check" button on W3C stylesheet validation's generated html form.
* Fix media-type recognition for .m4a and .m4v file extenstions in main Sigil and plugin code
* Treat ruby and rt as inline tags when pretty-printing in Sigils and for plugins

Even our one new feature fixes a bug in which CSS version is sued to validate CSS under epub3.

New Feature

* Allow user to choose what level of CSS gets used in the "Validate Stylesheets
     With W3C" tool via user preference (General).

Be aware that Sigil-0.9.5 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.5 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.5 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.5

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.5-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.

Linux Users
There are currently no 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 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.5'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 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

Downloads

Sigil-0.9.4 Release

@kevinhendricks kevinhendricks released this Mar 13, 2016 · 208 commits to master since this release

Sigil 0.9.4 is both a bug fix release and a release to greatly improve epub3 editing and generation all without impacting Sigil's epub2 capabilities.

The main bug fixes are:

* Prevent the use of zero length key fields when obfuscating fonts
* IDPF font obfuscation key accepts all input except as specified
* Fix typo in main.ui accelerator assignment
* Update Transifex project URL
* Prevent NCX Weirdness with ampersand added when editing NCX in codeview and TOC widget showing
* Fix lost namespace attributes on metadata tag
* Allow auto conversion from package version 1.0 to 2.0
* Remove unused parameter from gumbo create_text_node
* Fix bug that hits package version when no xml declaration on opf on import
* Add id to Heading structure to greatly speed up NCX/TOC creation even more
* Only the true nav should ever have the nav manifest property set
* Prevent nav property from being overwritten when updating manifest properties
* Prevent segfault if user selects add semantics but never chooses one
* Prevent Add Cover from returning the wrong doctype for epub3
* Make sure cover-image and svg (if needed) are added as epub3 manifest properties when adding a cover
* Make sure all referenced resources are found for Delete Unused Media
* Remap non-standard epub namespace prefixes in the opf to those now reserved for epub3
* Make loading epubs with broken opf files more robust
* Better identify the true nav when loading epub3s

The main new features available are:

* Completely redesigned the MetaEditor gui to work with both epub2 and epub3 metadata
    * Extended epub3 metadata is now supported
    * Added the default metadata language and title for the user
    * Extracted and updated the MarcRelators codes so they can be shared

* The Nav is now a required part of an epub3
    * Sigil will create an empty one upon import if need be
    * The Nav TOC can now be generated from Book Headings using the normal CreateTOC tool
    * Added support for Adding/Removing Nav Landmarks
    * Similar to the NCX, Nav documents can not be deleted, split, or merged

* Completely Revamped the BookBrowser interface to support both Guide and Landmark Semantics
    * Created a new Add Semantics Dialog to better handle epub2 and epub3 semantics
    * Both Landmark and Guide Semantics now show up in BookBrowser tooltips

* Completely Revamped how the dockable TableOfContents gui widget is built and updated
    * Allow dockable Table Of Contents to refresh from Nav under epub3, and NCX under epub2

Be aware that Sigil-0.9.4 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.4 like its predecessor 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.4 also supports javascript based local-storage and display of embedded pdfs.

Our plan for moving forward for epub3 support in future releases:

* add gui to easily set epub:type semantics on highlighted tags
* add support to preview fixed layout epubs
* support for media-overlay (SMIL) playback during preview, and in metadata editing

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.4

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.4-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.

Linux Users
There are currently no 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 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.4'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 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

Downloads

Sigil-0.9.3

@kevinhendricks kevinhendricks released this Jan 30, 2016 · 304 commits to master since this release

Sigil-0.9.3 Release

Sigil 0.9.3 is a major new release that greatly improves Sigil's ability to work with and generate epub3 ebooks without losing any of its epub2 capabilities. This release also includes a number of bug fixes and stability improvements.

The main bug fixes are:
- Add a python based updatechecker for Sigil updates to prevent Windows OpenSSL build issues
- Stop 'Generate TOC' from introducing unnecessary spaces in front of class attibute values
- Use localeAwareCompare to attempt to add Index Entries to build them sorted
- Fix segfault caused by use of possibly stale htmlresource pointer in FlowTab destructor
- Workaround a Qt bug that causes slow selection/highlighting of xhtml in CodeView on Linux
- Fix multiple typos in sigil_gumbo_bs4_adapter code and other plugin interface fixes

The main new features aavailable for both epub2 and epub3 users are:

- Add an autostart/autoclose capability for plugin developers to simplify the plugin user's experience
- Add 3 User-assignable ToolBar Buttons for up to 3 plugins - users can now an assign key accelerators to them 
- Add General Settings Preference for setting default (epub 2 or 3) for new documents
- Merge CleanSource Preference Settings into General Settings Preferences

The primary focus of this release was to continue improving Sigil's epub3 capabilities. This involves a number of internal changes and additions to better support epub3 users

- Completely reworked Sigil internals to support epub version (2 or 3) specific functionality
    - ImportHTML, ImportEPUB, Splitting and Merging, Index Generation, and Mend
        are all now epub version aware and safe for epub3 users
- Add an "Epub3 Tools" submenu to the Tools menu with 3 new epub3 specific tools:
    - Update Manifest Properties
    - Generate Nav From NCX
    - Generate NCX From Nav
- AddModificationDate upon save is now epub2 and epub3 aware
- Added support for MathML in Preview via Mathjax.js-single polyfill (not available in BookView)
- Added support to recognize and update upon load SMIL files and Adobe page-map.xml files
- Recognize and store .vtt and .ttml files for video subtitles and captioning
- Prevent attempts from using Metadata Editor gui from hurting epub3 until support is added later
- Reworked the plugin_launcher epub3 interface code to allow fallback and media-overlay attributes
- Add Setting to control Epub access non-multimedia remote resources
- Add local-storage support to PV/BV for epub3's that use javascripts
- Make quoteurl url scheme-aware in both python and for Qt, since epub3 allows external resources
- Many epub3 related bug fixes and changes to make sure all new epub3 href/links are properly updated
- Extend url address recognition to include track, video, and object elements attributes
- Added the MathML list of void tags to GumboInterface for proper serialization

With these changes in place, and running the first of the epub3 Testsuite (http://epubtest.org/testsuite/) tests for Reflowable Content Tests (EUPTEST 0100), Sigil will now pass all tests except for the following:

Failed Tests:
    - vide0-010:    support for VP8 video (optional test)
    - video-060:    suport for TTML video (optional test)
    - video-080:    support for video with TTML subtitles (optional test)
    - trigger-010 ...
      trigger-040:  support for epub:trigger (required test)
    - mathml-080:   support for long division (passes on Linux and Mac OS X, fails on Windows)
    - mathml-081:   support for mstack,  mscarries (passes on Linux and Mac OS X, fails on Windows)
    - bindings-010: support for opf bindings (optional test)   
    - fallback-010 ...
      fallback-040: support for opf fallbacks (required test)
    - switch-010 ...
      switch-020:   support for epub:switch element (required test)

In addition there is NO support for:

  • previewing /working with fixed format layouts
  • playback or design set-up of media-overlays
  • navigation via epub:cfi (Content Fragment Identifiers).

Be aware that Sigil-0.9.3 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.3 passed all of the following tests for epub3 support: iframe, img, audio, video (except as noted above), 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.3 also supports javascript based local-storage and display of embedded pdfs.

As there is talk at the IDPF of removing the requirement to support epub:switch and epub:trigger form future versions of the epub3 specifications, these will be very low priority items for the future. Fallbacks and bindings are really things meant for epub viewers and not epub editors in that they control what get shown in the ebook when a user navigates to something the epub reader does not support. You can of course use Sigil to code-up any of these features for use in an epub, it is that Sigil does not have the capability to actually preview it properly for you.

There is still much work that needs to be done to improve epub3 support, but we hope epub3 users will find Sigil-0.9.3 to be a big step forward in this regard.

Our plan for moving forward for epub3 support in future releases:

  • add a dc: metadata editor gui for epub3
  • add a gui way to easily set epub:type semantics on highlighted text blocks
  • change TOC/NAV generation tools to be built directly instead of form an existing NCX
  • change TOC/Nav generation to recognize and use epub:type / section semantic information
  • add support to preview fixed layout epubs
  • add gui editor for more advanced metadata editing to support SMIL and Fixed-Layout epubs
  • make the NCX removable in epub3 by preference setting but default to keep it
  • support for media-overlay (SMIL) playback during preview
  • at a lower priority: add support for epub:trigger, epub:switch during preview

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.3

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.3-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.

The FlightCrew plugin has been updated
Please note, the epub2 validator FlightCrew has been converted to a plugin for Sigil 0.8.900 and later.
This plugin has been updated from the last release to include support for autostart/autoclose tags and
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 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.2'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 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 

Downloads

Sigil-0.9.2 Released

@kevinhendricks kevinhendricks released this Dec 18, 2015 · 413 commits to master since this release

Sigil 0.9.2 is a bug fix and stability improvement release of the stable Sigil-0.9.X series
It includes all of the changes and improvements so far and it has shown itself to be very stable in testing. Most of the changes from our last release Sigil-0.9.1 are bug fixes:

Bug Fixes:
- Update BuildingOnLinux docs
- Update Building on Mac OS X docs
- Fix example clips/searches loading on Linux
- Simplify UseBundledInterpreter Logic
- Fix bug when adding existing html links to stylesheets not being updated
- Fix bug in Well-Formed error messages due to bug inside gumbo's error.c
- Add xmlns="http://www.w3.org/1999/xhtml" attribute to html tag if missing
- Fix lost DOCTYPE info when splitting or merging
- Completely rework pretty printing via gumbo to be much more robust
- Make identification and storage of page-map.xml more robust
- Restore Sigil's update checker that's been broken for a while
- Update sigil_bs4 prettyprint_xhtml and serialize_xhtml routines to use logic of code in GumboInterface
- Update sigil_bs4 to use numeric entities when faced with nbsp so they do not get lost later in Sigil
- Fix bugs in sigil_bs4/prettyprint_xhtml and serialize_xhtml routines that failed to handle some void tags properly
- Fix out of date error message referencing Tidy
- Coerce missing or bad doctypes to meet either epub2 or epub3 standard
- Inject empty title tag if missing from head
- Html escape Index entry text used to create index.html

Improvements:
- Include Pull Request 161 by pinotree "Switch TempFolder to QTemporaryDir" to improve safety
- Preliminary Linux binary installer support added
- Add ability to change Sigil's user preferences directory by specifying a new path
via the SIGIL_PREFS_DIR environment variable (path must be user-writable).

User Interface Changes:
- Add keyboard accelerators to the Spell Check dialogue see Sigil Issue# 164
- Completely revamp Cleaning to use "Mend Code" and remove PrettyPrintGumbo as on option
- Rename PrettyPrintGumbo to "Mend and Prettify" and move to CodeView Right-click menu and Tools Menu
- Rename "Sanity Check" to "Well-Formed Check EPUB" and remove check icon people confused with FlightCrew
- Change ToValidXHTML by using serialize not prettyprint

It is hoped this release will provide a stable and up-to-date version of Sigil while development work continues on adding some additional epub3 support features.

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.2

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.2-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.

Don't Forget FlightCrew
Please note, the epub2 validator FlightCrew has been converted to a plugin for Sigil 0.8.900 and later.
This plugin remains unchanged from the last release and 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.0

Attention Mac OS X Users
Per the recommendation of 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.2'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 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 

Downloads

Sigil-0.9.1 Release

@kevinhendricks kevinhendricks released this Nov 25, 2015 · 467 commits to master since this release

Sigil 0.9.1 is a bug fix and stability improvement release of the stable Sigil-0.9.X series
It includes all of the changes and improvements from our Sigil-0.8.900 series of pre-releases and it has shown itself to be very stable in testing. The changes from our last release Sigil-0.9.0 are all bug fixes:

- Fix bug when template sgc_toc.css could be changed to blank on save, since no InitialLoad() was done
- Change order of TextResource m_IsLoaded and m_CacheInUse flags to minimize potentail race exposure.
- Fix PluginRunner bug that introduced errors into xhtml files when both the content.opf and xhtml were modified
- Automatically XML decode and escape Metadata entries created in the Metadata GUI
- Alter pluginhunspell.py so a missing libhunspell doesn't stop ALL plugins from working
- Default to using clean by gumbo vs prettyprint gumbo in new installs
- Fix prettyprint bug with trailing whitespace improperly inserted after inline tags inside div tags
- Fix for bundled interpreter packages PIL and cssutils on Mac OS X that were missing
- Fix for crash when using Find in BV on pages with no text, only images (issue #156)
- Added testplugin_v010.zip to docs to allow Linux packagers to test their plugin implementation
- Fix for prettyprint bug with tables (issue # 158)
- Fix for serialize in gumbo to limit injection of new lines to barest minimum
- Update Plugin Framework documentation to Revision 6 - see docs/Sigil_Plugin_Framework_rev6.epub
- Make build order of Sigil's internal gumbo deterministic in order to help Linux packagers
- Make plugin launcher success and error messages robust to non-utf-8 strings
- Fix for crash bug when comments exist inside manifest of opf
- Fix for Sigil's internal gumbo to  only inject end tags when current token does NOT need to be reprocessed

It is hoped this release will provide a stable and up-to-date version of Sigil while development work begins on adding some additional epub3 support features.

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.1

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.1-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.

Don't Forget FlightCrew
Please note, the epub2 validator FlightCrew has been converted to a plugin for Sigil 0.8.900 and later.
This plugin remains unchanged from the last release and 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.0

Attention Mac OS X Users
Per the recommendation of 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.1'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 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 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 

Downloads

Sigil-0.9.0 Release

@kevinhendricks kevinhendricks released this Nov 4, 2015 · 504 commits to master since this release

Sigil 0.9.0 is the first full post Sigil 0.8.7 release. It includes all of the changes and improvements from our Sigil-0.8.900 series of pre-releases and it has shown itself to be stable in our tests. The changes from our last pre-release Sigil-0.8.901 are almost all bug fixes:

- Add "Use Bundled Python" option to bring sanity and choice to Python3 Interpreter selection
- Merge EmbeddedPython code across platforms and fix python flags for all platforms
- Properly build translation base.ts to prevent blank message fields being generated by tr()
- Update to the latest translations from transifex
- Allow PrettyPrint_Gumbo to condense whitespace where allowed
- Fix bug in PluginRunner auto-repair modified xml (opf, ncx), do not check xml with xhtml wellformed check
- Fix bug in plugin epub3 interface, conversion of properties with null strings to None
- Restore ability to override hunspell dictionary locations on Linux with SIGIL_DICTIONARIES env var
- Restore ability to build Sigil against system hunspell libraries on Linux
- Adjust pluginhunspell.py to try to find system hunspell if bundled hunspell is not built/installed
- Fix hang/slowness in TOC creation when huge number of headings all exist in the same file
- Performance speedups for NCX writing to help with slow ToC Creation
- Fix bug for better detecting comments in sanitycheck.py
- Fix bug for Adding Blank xhtml files to an epub3
- Fix bug for Issue 140 - TOC gets cut-off under some platforms (lxml needs utf-8 not unicode)
- Add cmake option INSTALL_BUNDLED_DICTS to enable/disable installation of bundled hunspell dictionaries
- Allow SIGIL_DICTIONARIES env var to specify multiple paths (colon delimited)
- Fix bug in sanitycheck.py error message creation
- Identify woff files as fonts when importing epubs
- Fixes for nbsp being potentially "lost" when linking in stylesheets and when splitting and merging chapters
- Fix for lost whitespace inside text containing tags when pretty printing
- Workaround for broken QShortCut in Qt 5.4.X see Issue 149
- cleanup up some compiler warning

One new "feature" is that the Mac OS X Package has been code signed.
It is hoped this release will provide a stable and up-to-date version of Sigil while development work begins on adding some additional epub3 support features.

Don't Forget FlightCrew
Please note, the epub2 validator FlightCrew has been converted to a plugin for Sigil 0.8.900 and later.
This plugin reamins unchanged from the last release and 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.0

Attention Mac OS X Users
Per the recommendation of 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.0'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 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 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

Downloads

Sigil 0.8.901 Second in the Pre_Release Series

@kevinhendricks kevinhendricks released this Oct 4, 2015 · 560 commits to master since this release

Sigil 0.8.901 is the second in the pre-release series and primarily is a bug fix release.
If no major showstopper bugs are found, this pre-release will form the official Sigil 0.9.0 release.

Thanks to all who tested and reported bugs in the initial Sigil-0.8.900!

Bug Fixed

- fix for hang when trying to add a cover

- multiple fixes for segfaults in the TOC creation code

- fixes for blank TOC headings caused by tags nested inside of h1-h6 tags

- workaround for an instability caused by a compiler bug in 
      Visual Studio 2013 on Windows

- fixes for multiple xml header declarations appearing when using sigil_bs4 
      prettyprint_xhtml() or serialize_xhtml()

- build fixes to include MSVCR100.DLL for Windows machines that are too 
      new to have it

- fix pretty printing using gumbo to support some mbp: tags

- fixes to deal with self-closing iframe tags which made gumbo stumble

- fixes to more robustly convert from QByteArray types to their char * pointers

- fixes and improvements to the Building on Linux instructions

- protect gumbo parsing with a mutex to prevent unknown issues with potential 
    for non-reentrant code in that library

- workaround Qt QHash operator()= bugs that caused static QHash objects to 
    freed multiple times

- fix for internal opf processing encoding detection being confused by xml header 
    declarations potentially resulting in missing spine and manifest items.

New Features

- new launcher/wrapper code interface to support plugins that operate on epub3 
    ebooks

- added cssutils, cssselect, and chardet to the site-packages of the embedded 
    Python 3.4 interpreter

- validation plugins that report no errors will now have "No problems found" appear 
    in the Sigil Validation window.

- validation plugins will auto accept/close the plugin runner window no matter 
    the results

- Windows installer now detects whether MS redistributable runtimes are already
    installed

Please note, the epub2 validator FlightCrew has been converted to a Sigil 0.8.900
(and later) plugin. This plugin can be downloaded from the official Sigil-Ebook
flightcrew repository
:

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

Downloads

Sigil-0.8.900

@kevinhendricks kevinhendricks released this Sep 24, 2015 · 603 commits to master since this release

Sigil 0.8.900 (first of the pre Sigil 0.9.0 release series)

FYI: Sigil has had most of its internals torn out and rebuilt from scratch with new components including Google’s Gumbo html5 parser and the use of an embedded Python 3.4.3 interpreter with lxml to replace Xerces and Tidy which had some serious issues with potential ePub3 support. As such, we do expect users to run into corner cases we have not yet found ourselves. So please test this new release and report any irregularities you see so that we can quickly iron out any difficulties before continuing our development towards support for both ePub2 and ePub3.

In addition, due to Compiler/DLL literal hell on Windows we have been forced to mix a VS2013 built Sigil, and Qt with a VS 2010 built Python 3.4. Given that Python 3.4 is C based (not C++) and given all python memory allocation/deallocation never crosses over our Python embedded interface, this has not proven to be an issue under all of our testing. That said, once Qt 5.5.1 actually builds with VS2015 on Windows, we will move towards using a VS2015 built version of Sigil, Qt, and Python 3.5 to make sure all pieces of the Sigil app are compiled with the exact same compiler on Windows. On Linux and Mac OS X where the compiler designers actually understand the concept of backwards compatibility using versioned symbols, separation of exception handling, and etc, none of this is an issue.

Features

- Removed Tidy and replaced it with a combination of a specially modified Gumbo 
     parser that supports html5

- Removed Xerces, XercesExtras, Boost, and unused bundles.

- Updated the source code to be compatible with the latest clang compiler by replacing all 
    "undefined - behaviour" use of "Null" References with proper pointers across entire codebase

- Completely revamped the build process to embed the Python 3.4 Interpreter 
     inside of Sigil and integrate it in, including as site-packages:
     [lxml, bs4, PIL, regex, six, html5lib].  This will allow plugins 
     that use the internal Python 3.X engine access to all of these 
     specialized packages by default with no additional action
     needed by end users of their plugin.

- Created our own version of BeautifulSoup4-4.4.0 called sigil_bs4 that 
     fixes lxml namespace bugs, fixes serialization/prettyprinting of 
     inline xhtml tags, and modifies the bs4 codebase so that a single 
     source code works equally well on both Python 2.7 and Python 3.X

- Replaced internal opf and ncx xml processing and cleaning with a 
     combination of embedded Python 3.4, sigil_bs4 / lxml

- We now build Hunspell as a shared library and added  a ctypes interface to allow
     plugins to spellcheck

- We now build our modified gumbo html5 parser as a shared library 
     and provide a bs4 ctypes interface to it for easy xhtml processing 
     in plugins that use either Python 2.7 or Python 3.X

- Allowed plugins to auto-fix "text/html" media-types to "application/xhtml+xml"

- Began the transition to allow for both epub2 and epub3 editing 
     (Note: epub3 editing is still incomplete)

- Converted Flightcrew to become a Sigil plugin and replace it with
     a simple and fast internal sanity checker.

- Updated Hunspell dictionaries to be actual dictionaries and not just word lists for en_US and en_GB

- Updated other dictionaries to their most current version to match what is used in LibreOffice 5

- Fix issue #54 modified date using local numerials when it should be
     using Arabic numerals per the spec.

- Set the book to modified when font's are obfuscated.

- Change FORCE_BUNDLED_COPIES build flag to USE_SYSTEM_LIBS. This flips
     the meaning of the flag. Now USE_SYSTEM_LIBS will enable using system
     libraries. Also, SYSTEM_LIBS_REQUIRED was added which will fail the
     cmake configure if any system libraries are not found instead of
     falling back to the bundled copy. Finally, this makes the build more
     consistent for Windows and OS X users.

Downloads