Monday, May 3, 2010


The first Release Candidate is here and you can get it from the downloads section. Between now and final 0.2.0, I’m fixing only showstopper bugs and maybe a few of the trivial ones. If all goes according to plan[1], there won’t be any need for further changes before the final release and thus you’ll see it a few days from now. This is not called a Release Candidate for nothing.

So hammer this version hard, especially the Find & Replace functionality.

Here’s the changelog. It’s by far the largest batch of changes to Sigil for one release (disregarding the first 0.2.0 beta, of course). Also, some very important bugs were finally fixed plus lots of new features, so this really is a big release. Some highlights have been… highlighted:

  • changes in the Book Browser now update the modified state of the main window (issue #331)
  • the Book Browser can now be opened/closed from the View menu (issue #335)
  • all the toolbars now have UI-facing names
  • by injecting a custom XML reader into QDom, the following issues were fixed:
    • Book View search sometimes skipping over instances (issue #253)
    • Book View ReplaceAll causing Sigil to hang on rare occasions (issue #293)
    • spaces disappearing from some HTML constructs (issue #352)
  • implemented component-wide search&replace for Code View searches (issue #372)
  • the Find&Replace dialog now remembers up to 20 previously used search and replace strings (issue #369)
  • fixed an issue with positive regex lookaheads in normal Replace (not ReplaceAll) (issue #261)
  • fixed a rare off-by-one error in Book View searching when the caret was at the start of the matched string; this made the search skip that instance of the match (issue #280)
  • fixed an issue with the Find Dialog not correctly scrolling to the found text in Book View (issue #195)
  • fixed an issue with Tidy not fixing free ampersands into "&", even when configured to do so (issue #365)
  • fixed an issue with the current tab unnecessarily reloading after book saves (issue #354)
  • fixed issues with filename basenames being read only until the first dot; was causing problems with OPF manifest ID generation (issue #351)
  • hitting the keyboard shortcut for the Find&Replace window while the window is open now switches focus to that window (issue #362)
  • fixed an issue with the applied headings not "sticking" and not showing up in the TOC editor (issue #300)
  • the special iPad- and Calibre-friendly cover meta tag information is now preserved after loading
  • added a new "Cover Image" entry for image resource in the "Add Semantics" Book Browser menu
  • if an image is not set as a cover image manually, Sigil now uses heuristics on save to determine if the epub has a cover image
  • if an epub has an image set as a cover image, Sigil will now write a special meta tag that identifies this image in the OPF; this tag is then used by the iPad (and Calibre) for the book cover, for instance
  • all OPF <guide> element information when loading epubs is now preserved
  • added a new "Add Semantics" menu for XHTML documents; it can be used to mark XHTMLs as "Dedication", "Colophon", "Glossary" etc. for the <guide> element of the OPF
  • the status bar now shows a message after chapter split operations
  • fixed an issue with filenames with characters that should not appear in valid XML IDs having those characters added anyway (issue #344)
  • fixed an issue with files with uppercase extensions not having a mimetype set in the OPF (issue #349)
  • fixed an issue with Sigil rewriting headings when the TOC was opened and no heading was edited (issue #327)
  • fixed an issue where adding an existing HTML file through the Book Browser would clear the current metadata in the book (issue #329)
  • added a check that prevents Sigil from loading the same resource multiple times in invalid epubs (issue #339)
  • fixed a bug that made the direct XHTML references in the NCX file less likely (issue #333)
  • fixed an issue with Sigil crashing when trying to save a loaded epub that had some badly formed metadata elements (issue #325)

It’s pretty damn huge.

Book-wide search

For now, you have to perform your book-wide searches in Code View. I know, I know. It’s not everything you wanted. But technical restrictions are causing problems[2]. I’ll try to write a post about it tomorrow explaining the issue, I’m too tired to go into it now. Just learn to live with only Code View searching until I work around this[3]. It should cover 95% of all your needs.

I’m making it up with the new remember-20-last-used-search-strings feature. The input fields also provide automatic text completion for previous searches. All of this was scheduled for 0.2.1, but hey.


[1] Do I even need to chuckle at that?

[2] Cookies to the first person that points out the framework giving me grief.

[3] Something like 0.2.2, maybe sooner.