Bookshelf 5.2.1 Release notes for Mac

What's new in Bookshelf 5.2.1 (Mac)
(also applies to the Coursesmart and Evolve eBooks release)

  • Accessibility improvements
  • Improved support for MacOS X 10.6 Snow Leopard
  • Full localization
  • Bug Fixes

Full list of accessibility fixes:

  • Add the highlighter label to the highlight tooltip. This is primarily for accessibility (colorblindness) but it is useful for fully sighted users as well, who don't have their highlighter color key memorized. (VSTBS-2062)
  • Add the highlighter label and created by to the accessibility description for note table entries, which means it will be read by VoiceOver, even though it does not appear in the row text. This allows non-sighted users to access this information, which is normally available only through a tooltip. Also added some labels so that the separation between the note text and highlighted text are more obvious to voiceover users. These things are conveyed by font changes in the UI and are not obvious when the text is simply read. (VSTBS-2071)
  • Add accessibility descriptions to all of the color wells on the "Colors" preferences panel. (VSTBS-2063)
  • In the bookshelf window, the book list accessibility description was accidentally applied to the collections table, instead of the book list table. This meant that the collections table was misidentified and the book list table was unidentified.
  • The "inside book" kind column behavior in VoiceOver did not match other items. Instead of describing the icon, ie "note icon," it should be describing the kind of item, ie "highlight with note" as best it can.
  • Add an accessibility description to the brand image in the about box.
  • Support for speaking the textual.rep of an image or movie in VoiceOver instead of just saying "image." Note that it does not currently work if you have a textual.rep set on an inline image, but it works for normal images.
  • Fix for a lockup that can occur when opening a picture book with voiceover when none of the text is visible on the screen. (For example, when all that is visible is a book cover image.) If none of the text is visible, it tries to speak all of the text, which causes Bookshelf to appear to lock up. It's actually just decompressing all of the page text and trying to load it all into a string at once.
  • Set the navigation panel as "hidden" when it is collapsed. This prevents VoiceOver from still attempting to access the controls in the navigation panel. (VSTBS-2064)
  • Also hide collapsed caption views and bookshelf inside books panel - same issue as with navigation views. (VSTBS-2064)
  • Enable accessibility in the new book info window, the "cover view" in the Dash and picture book windows, in the lower part of the navigation pane, and in the crash report dialog text. (These all use the SimpleDashView.)
  • Make the note conflict dialog accessible. (VSTBS-2088)
  • Added keyboard shortcuts for Start / Stop Speaking Text.
  • Make start / stop speaking more "global" - stop speaking now works from almost anywhere, stopping whatever is currently speaking, and start speaking now stops any other book that is speaking. Note that it still isn't perfect, its global state is separate from the WebKit / NSTextView global state.

Other misc smaller changes and fixes:

  • Bookshelf is now being linked against the 10.6 SDK. This activates some bug fixes in AppKit on 10.5 and 10.6 that the system was not using (for backward compatibility reasons) when we were linked against the 10.4 SDK.
  • Change to the dmg compression format. They now use bzip2. This means that they are about 1 mb smaller to download, and that they cannot be mounted on 10.3 systems. As a nice side effect, this is a good way to keep 10.3 users from accidentally installing 5.2. (Why didn't I think of this before?)
  • File copy complete shows confusing "download complete" message. (VSTBS-2073)
  • QuickLook plugin was spewing debug information to the console. It should only output to console when something unexpected occurs. Also, telling the plugin to ignore license.vbk - currently the plugin spews errors whenever it tries to read the book cover from a license.vbk file. (VSTBS-2076)
  • Don't search for an empty string when the search string only contains separators and whitespace. (VSTBS-2061)
  • Close a DRM hole in Dash books. Demo books that do not allow any copying shouldn't let the user copy figures, either. There's about eight different ways, by my count, to copy a figure that Bookshelf lets you get away with when copy is supposed to be disabled. User should still be allowed to drag a figure, from Dash or the figures list, to a custom bookshelf group, and create a link. (VSTBS-2058)
  • Add a build number to the about box so that we can distinguish between different builds that happen to have the same version number, otherwise.
  • Remove application name text string from below the application logo image, because its redundant with the image (which contains the full application name), and removing it makes the dialog less crowded.
  • Localization bug - in 5.2, the application menu bar comes up in English and then changes visibly to the correct language after a second or two on launch. Now it should immediately appear in the correct language. Moved the localization step earlier in the initialization process.
  • Fix for a potential crash (uncaught exception) while displaying search results in the table of contents of a book. Not really a fix for the bug, just catching the exception.
  • Text to speech continues to play after the book window is closed. (VSTBS-2079)
  • Fix for a crash on quit that (rarely) happens on 5.1.x and later.
  • Improve highlight text appearance in tooltip after feedback from Robert. It goes at the top now and matches the "Created by" label. (VSTBS-2062)
  • Fix for the error reporting code when loading the landing page. It is supposed to show the error inline in the landing page web view, rather than spamming the user with unending error dialogs. This was working when the web page couldn't load, but not when the services XML could not be loaded.
  • Remove some obsolete calls that cause log spewage on 10.6.
  • Fix some NSSplitView bugs that cause log spewage on 10.5 and 10.6 when linked against the 10.5 SDK. Also speeds up drawing, and prevents nonexistant captions from being exposed as weird window garbage in VoiceOver.
  • Fix a search bug where tables and media boxes are treated as "figures" by the book search code but not by the bookshelf search code. (VSTBS-2083)
  • Fix a search bug where multiple hits in the same figure in the bookshelf search results show multiple copies of the same search result entry instead of showing the actual search results. (VSTBS-2083)
  • Make the wording for bookshelf search results more precise in the case of multiple search hits in the same figure. (VSTBS-2083)
  • Defer the opening of an "internet image" window for a few tenths of a second to avoid the flicker of showing a progess bar, immediately hiding it, and then resizing the window, if the image loads immediately. (Such as if it is cached.) If the image loads before the timer fires, show it immediately, once the timer fires show the window with progress. The delay is not noticable, but the lack of flicker makes a big difference.
  • Fix for an area of pixels along the bottom of the bookshelf results list where mouse click events were not getting through. In 5.2, the "down" scrollbar arrow and contextual menus were not working on the bottom item. This only happens when the "message pane" along the bottom of this area was not shown. An invisible box the exact size and location of the message pane was over the list view and not allowing clicks to pass through.
  • Fix problems with the image and figure window autosize code. The scrollbars are only shown if the image does not fit. In cases where the size of the image was on the edge of being able to fit on the screen, scrollbars were being shown when the image should have fit with no scrollbars.
  • Fixed a problem where the figure window autosize code was making the window too wide in cases where there was a caption. The code was intended to fit exactly to the image width, but it was too wide by about 18 pixels.
  • Fixed all of the custom table cell drawing code that uses Dash so that it can draw directly to the table instead of drawing to an offscreen bitmap first. This fixes problems with the text looking "fuzzy" or improperly antialiased, and behaves correctly with resolution independence.
  • Fixed crash dialog refresh problems on 10.4. (VSTBS-2092)
  • Optimization to speed up text selection in picture books on the Mac.