Version 2.0.2
What's Fixed in 2.0.3
- Publishing
- Fixed a bug in the 'Shelves' template where we weren't setting the correct encoding, so multi-byte characters would not show up correctly on some web servers.
- When viewing a library on the iPhone or iPod Touch, we do a better job of switching to the special version of the published library.
- Publishing libraries with unnamed shelves now works.
- Cleaned up memory usage when publishing, so it should be a bit less resource-intensive.
- Fixed typo in "Library Shelves" template that gave wrong icon to iTunes Music shelf.
- The "Paper Stencil" template would throw an error if any of your items had "$" in their names or creator names. (For example, the rap artist "Too $hort" couldn't be published with the Paper Stencil.)
- If the user quits when publising her collection, she is now always asked if she really wants to leave her site half-published.
- FTP publishing
- FTP has been completely rewritten. It should work much better, not crash, and is hundreds of times faster publishing if you've already published once (it does a smart merge).
- FTP error messages are now very descriptive, and shouldn't ever return bizarro numbers like 'Error code 8'.
- FTP publishing to absolute pathnames (eg, "/var/www/html/") now works. Before we could only publish to relative paths (eg, "html_files/").
- When editing FTP sites, the 'viewing URL' field is now automatically populated with a decent guess (that is, we look at your ftp host, strip the prefix "ftp." from it if it has one and add "www.", and assume you're probably publsihing to the top level of your website).
- When editing FTP sites, the 'path' and 'viewing URL' both now always show "/deliciouslibrary/" as their final component. This was always (quietly) added in the past, but it wasn't really clear in the UI, so some people were adding extra components to their paths themselves, and trying to publish to paths that didn't exist on their FTP site, which resulted in 'file not found' errors, except it used to say 'Unknown Error 550', to make matters even worse.
- MobileMe publishing
- We're now using the latest MobileMe interface from Apple, which should make MobileMe publishing less tweaky.
- Loading friend libraries:
- Optimized memory use when loading friends' libraries, so DL2 doesn't suck up all available memory, slow down, and (in some cases) crash.
- We show a progress sheet when reading another user's library, either from a friend or over Bonjour. This makes it much more obvious why DL2 sometimes pauses (often for a long time) on startup -- it's loading the user's friends' libraries.
- If a friend library load (from the internet) is cancelled, we pop up an auxilliary sheet asking the user if she'd like to stop trying to load this library forever, since a lot of users appear to have not realized they were loading friends' libraries at all.
- When creating or editing a friend shelf:
- Fixed how we parse Google results when attempting to auto-find a friend's library, because Google recently changed their results format, so we just started getting NO matches, ever.
- We now score (and sort) Google's results based on how close they are to the friend we are looking for, and ignore results below a certain threshold. No more returning libraries for "Bob Smith" when you search for "John Doe"!
- Changed the UI in "Add Friend" sheet a bit, so it's a bit clearer when the user is loading friend libraries.
- There's now a preference to turn off storing of loaned items in iCal.
- USB barcode scanners now work much, much, much more reliably.
- Shelves with numbers in their names now sort intuitively, so instead of "Box1, Box10, Box2, Box3, ..." you now get "Box1, Box2, Box3, ... Box10."
- Fix idiotic bug I introduced in 2.0.2 where the Dashboard widget didn't work. Duh duh duh.
- The progress HUD is now a sheet instead of a free-floating pane (like it always should have been), so it won't obscure other applications when Delicious Library is in the background.
- Currency conversion:
- If a currency conversion rate can't be found for a price, currencies fall back on being equal to USD, so that they'll at least sort somehow with each other, although their values relative to other currencies will of course be incorrect.
- We now attempt to reload global currency conversion rates from the internet every three days.
- Added a baseline set of currency data for South Korean Won (KRW), Maltese Lira (Lm), Mauritius Rupee (MUR), Nepalese Rupee (Nrs), Danish Krone (DKr), Malaysian Ringgit (RM), United Arab Emirates Dirham (AED), Chinese Yuan Renminbi (Y), Cyprus Pound (£C), Japanese Yen (¥), Kuwaiti Dinar (KD), Pakistan Rupee (Pra), Swedish Krona (SKr), Qatari Rial (QR), Czech Republic Koruna (CZK), Taiwan New Dollar (NT$), Slovak Koruna (Sk), Swiss Franc (SwF), Kazakhstan Tenge (T), Sri Lanka Rupee (SL Re), Hungarian Forint (Ft), Australian Dollar ($A), Oman Rial (RO), Singapore Dollar (S$), Thai Baht (THB), Icelandic Krona (ISK), Indian Rupee (Rs.), South African Rand (R), Norwegian Krone (NKr), Brunei Dollar (BND), Euro (€), Bahraini Dinar (BD), Brazilian Real (R$), Hong Kong Dollar (HK$), Indonesian Rupiah (Rp), Venezuelan Bolivar (Be), British Pound Sterling (£), New Zealand Dollar ($NZ), Canadian Dollar (Can$), Israeli New Sheqel (ILS), Mexican Peso (MEX$), Russian Ruble (RUB), Saudi Riyal (SRl), Chilean Peso (Ch$). This data is current as of the publish time of DL2, but obviously will fall further and further out of date as time goes by if the user can't connect to the internet and never runs the "Unit Converter" widget on the Dashboard.
- Borrower tab:
- The borrower pull-down now shows the borrower's name, not the phrase "Borrower Name". Heh.
- If an item is loaned to or from you, the word "You" is shown in the correct place on the borrower tab instead of the word "LIBRARY", to be more clear.
- The "Loan" menu item has been renamed to "Borrower" to match the name of the tab it shows, and is now hidden unless the currently-selected item is loaned-out, so users aren't fooled into thinking that this item is how you loan out items.
- Searching for cover art for items with special characters in their titles now works.
- Fixed bug where some version 1 libraries would not load into version 2 correctly, and would instead claim to be "corrupted" even though they worked fine in version 1. (We are now more strict about enforcing XML rules.) If this bug affected you, you need to delete your version 2 collection in Library / Application Support / Delicious Library 2 before running version 2.0.3, so that DL2 will auto-update your version 1 data file again.
What's Fixed in 2.0.2
- Searching is now much richer:
- There are now three major search categories: "Title & People", "Descriptions" and "Numbers".
- "People" now includes all people involved, whether actors or illustrators or what-have-you.
- "Descriptions" includes tracks, primary synopsis, your synopsis, your review, notes, features, genres, media types, languages, and a ton more.
- With the first two categories you can enter the medium type now, too, so you can type "Book Niven" to find Larry Niven's books.
- "Numbers" includes Library of Congress (if filled in) and Dewey Decimal and prices.
- A tooltip on the search field now shows you exactly what fields will be searched in each of these three categories. (There is some overlap between them.)
- If you type multiple words, we now consider each word separately when searching -- before, if you typed "Niven Mote" you'd have to have a person or title that literally contained "Niven Mote", in order. Now you can have a person named "Larry Niven" and a title that's "Mote in God's Eye" and it'll be found, like you'd expect. (This is like iTunes' search.)
- You can now quote substrings to search literally, for example, "Larry Niven" (with the quotes) will only match against Larry and Niven in that order, with exactly one space between them. (This is what the old searching behavior always was in 2.0.1 and before.)
- You can even switch the search field category to "Descriptions" and type "Blue Book" to see all your books with blue covers!
- Fixed bug where searching for multiple words in the "Music" category of the manual item creation panel always failed to return any results.
- If Delicious Library 2 is installed in any folder named "Applications", it doesn't prompt the user to move itself, even if it's not the One True Applications folder.
- A very bad bug in updating version 1 files was introduced in to Delicious Library 2 late in our beta and not found until now — attributes which have multiple lines (like actors, genres, and features) loaded into version 2 with their line breaks replaced by spaces! This was due to me calling Apple's XMLTidy, which I did to work around some invalid Amazon HTML I found in a beta-tester's collection...
I have now worked around the busted Amazon HTML in a different manner, so line breaks aren't lost when updating any more. I apologize to those of you who have already upgraded your collections and have bizarre lists with no linefeeds - this will mess up autocompletion and makes lists very hard to read, and makes the horizontal layout seem really egregious. There are two things you can do to get your line breaks back:
- If you still have your version 1 collection in the normal place, quit Library 2, move aside your version 2 collection (rename the "Delicious Library 2" folder in your home folder under "Library" -> "Application Support") and launch Library 2 again and let it re-upgrade your collection. Unfortunately, you'll lose any new items added or changes made to your version two collection. Again, I'm sorry.
- If you have added items to version 2 and don't want to re-add them, you can force-revert any items that are missing linefeeds by hitting command-option-R with those items selected. Note that this will delete ANY changes you've made to those items! If you want a more gentle (but harder) way to do this, you can simply clear out only the fields that are missing linefeeds (for example, delete all the actors for a movie), then hit command-R (no option) to do a soft refresh on the item — this will fill in empty fields but not overwrite any other changes you've made (like custom covers or descriptions).
- Large libraries (thousands of items) with lots of smart shelves (ten or so) were VERY slow due to a bug in Cocoa bindings — simply selecting an item could take thirty seconds! I've worked around this bug and this is now two orders of magnitude faster.
- Smart shelves based on descriptions are also now two orders of magnitude faster to update themselves.
- Put in a catch for any errors raised when publishing, so we don't just leave the publishing panel up forever and appear to hang.
- We now sort when publishing to the web (or printing) the same way as the user has the sort set on the shelves being published.
- When sorting by title, we now remove articles from the beginning of titles using a language-dependent algorithm, where we first look at what language the item is in, and if that's empty we look at the country it's from and guess the language. (Eg, items from Germany are assumed to have German titles unless their 'languages' field is set otherwise.)
Now, for example, French titles starting with "Le " will have that article stripped when sorting, but an English book called "Die Fuzzy" won't have the "Die " stripped (as a German one would).
- Fixed problem where items loaded from the Amazon Japan were not correctly linked to their store, took longer than necessary to load or refresh.
- When scanning in books which are actually collections, the "editor" is now considered an author.
- Very large version 1 collections (> 4,000 items) no longer run out of address space when loading (crashing machine, hanging machine, or throwing signal 10), due to memory-mapped cover images.
- Sped up loading of version 1 files by processing covers more intelligently.
- iTunes libraries that have been moved are now found, and iTunes libraries that have aliases (links) in the path are also now found.
- iTunes covers are now correctly searched for in the iTunes music folder, even if it has moved.
- iTunes covers should now load much more reliably (especially for very large files, like movies), and not use as much virtual memory.
- Fix a very rare crasher when updating iTunes shelves while iTunes is still downloading songs from the iTunes Store.
- Delicious Library 2 now tells the Finder it needs 10.5, so on earlier systems it won't even try to launch. Unfortunately, Mac OS X doesn't do anything particularly friendly with this information — it just draws a Ghostbusters-style slash through the applications' icon.
- Some French and German translation strings were missing due to typos.
What's Fixed in 2.0.1
- Fixed bug in item lookup code where scanned items were often preferring the UK Amazon store over all others. (Also fixes strange blank entry in manual item creation panel's country popup.)
- Somewhat related, all UK Amazon items now have the ISO country code of "GB" as their country of origin, to be consistent. This enables smart shelves to search for these items correctly now.
- Redid AppleScript to work around a surprisingly common problem where the user's ~/Library/Scripts folder is owned by root and is read-only to the user — apparently installing VirtualPC and/or the old Kinkless GTD scripts would do this, we can't tell for certain.
- Rewrote Apple Remote handling code so we don't raise spurious "NSXError" exceptions if the remote is being used by some other app.
- Fixed bug in Bonjour library sharing so we don't crash with an "NSUncaughtSystemExceptionException" if we are suddenly cut off from the remote machine during communication.
- Fixed bug in text file importing where we'd crash with an "NSRangeException" in some cases.
- Fixed bug when you would open/close/open/close the iSight scanning window where we'd raise a "NSInternalInconsistencyException" because we were failing to stop observing something that was dead.
- Fixed memory leak when converting items from version 1 (or creating items), that would cause Library to crash on first launch (after a long pause) if the user had an extremely large version 1 collection (eg, multiple thousands of items).