| Home | Parent | ← Go → | Prior | Next |
(BookMacster 1.7 and later require Mac OS X 10.6 or later. Version History for Mac OS 10.5 users is shown below.)
SUMMARY. This update is important for anyone using BookMacster with Pinboard, syncing Google Chrome bookmarks to an Android device, using Smart Search bookmarks in Firefox, or using BookMacster to sync with Camino, iCab, OmniWeb, or Opera. For users synchronizing browser bookmarks with the Agents feature, it improves performance and simplifies the experience, particularly for new users, by adding a button to the toolbar. It also adds AppleScriptability for landing new bookmarks from applications such as NetNewsWire, and many little bugs have been fixed.
The following list shows all the changes since the last production release, 1.9.7. Beta testers may scroll down to see the changes from 1.9.8 to 1.9.9 or from 1.9.9 to 1.10.
A Sync button has been added to the toolbar, and the initial Export required when activating syncing is now prompted. Thus, new users with common syncing requirements such as Keep my Safari and Firefox bookmarks synchronized should be able configure BookMacster correctly without reading the Getting Started page in the Help Book.
Added an AppleScript command: land new bookmark. BookMacster can now land new bookmarks directly from other AppleScriptable applications such as NetNewsWire. A sample AppleScript for NetNewsWire is posted on our forum
Now plays properly with Pinboard’s new protocol for getting all bookmarks. HTTP Error 429 is no longer displayed after importing from Pinboard.
Added a Preference to truncate the length of Comments when landing a new bookmark from another application. (This is necessary because comments coming in from the internet via, for example, NetNewsWire, are otherwise uncontrolled. The default value is 180 characters.)
The Tag Delimiter Replacement is now a user preference (in the General tab) and may be changed from its default value of “_”, the underscore character.
Does a better job of identifying items in Imports and Exports with Pinboard. (Pinboard has apparently eliminated some URL normalizations, so that, for example, bookmarks with pathless URLs, with and without a trailing slash, for example, http://apple.com/ and http://apple.com, are allowed in Pinboard as two distinct bookmarks.)
Avoids some unnecessary downloading of all bookmarks from Delicious or Pinboard. (BookMacster no longer registers that changes were exported if in fact not only the export but merging was skipped because there were no changes in either the Bookmarkshelf or the Client since the last merge, which resulted in no changes to export.)
No longer alphabetizes all bookmarks when importing only from Client(s) which do not recognize ordering, such as Delicious, Pinboard, Diigo and/or Google Bookmarks.
Exports to Chrome when Chrome is not running now ignore and preserve Chrome’s Mobile Bookmarks, which Chrome syncs to Android devices.
Fixed a bug which caused failure to import Pinboard or Delicious bookmarks if the very first character in any attribute of any bookmark was an ASCII control character. The failure appeared as Error 65 in NSXMLParserErrorDomain.
Now properly handles throttling responses from the Pinboard server, and the Bookmark Request parameters (Initial Time Interval, Rest Time Interval, and Backoff Factor appear in the Advanced Settings sheet for Pinboard Clients. Pinboard Clients in existing documents will have these values set to their minimums, which do not work well if Pinboard decides to throttle during an Import or Export. Accordingly, if such values are found when a document is opened, they are changed to appropriate values and saved in Local Settings.
Smart Search Bookmarks imported from Firefox are no longer omitted when later exporting to Firefox. (The “q=%s” key/value pair in the query portion which makes them invalid URLs is now ignored.)
Eliminated re-importing from Safari after exporting to Safari, if the Bookmarkshelf Content had any folders in its Reading/Unsorted. (Fixed a bug which caused BookMacster to erroneously think that folders had been moved into the Reading List. In fact, they were not moved into the Reading List, because Safari does not allow folders in its Reading List. The erroneous conclusion would cause a BookMacster Agent to re-import repeatedly if iCloud Bookmarks Syncing was activated.)
Improved user experience if an Agent’s Worker begins work while user is editing a Bookmarkshelf document. This can occur if user had edited bookmarks in a Client a few minutes earlier, or if a Client changes its bookmarks or quits, or if another syncing actor such as iCloud suddenly decides to do a sync. Instead of the automatic import and other actions commencing abruptly and interrupting the user, a warning sheet is now presented in most cases, giving the user the opportunity to either cancel or accelerate the process while it is still staged, and after it starts, another sheet prevents the user from editing during the actions.
Before a manually-initiated Export, a warning that bookmarks will be modified in Clients, and the inconvenience of undoing an export, is presented to the user. Experienced users may disable this warning.
A tad less resource usage, and no more logging of failure by launchctl during some operations by Agents. (No longer attempts to unload a standby agent which has not been loaded.)
Whenever a Bookmarkshelf Document is opened, now checks that Mac OS X launchd agents are in sync with the document’s Agents, and installs, uninstalls, loads or unloads as required.
Now displays a warning upon user entering duplicate triggers, which is possible when using Advanced Agents view.
If the Client of a Client-based Trigger is changed from a Client which does not support observing changes when it is running (such as Camino, iCab, Opera or OmniWeb) to a Client which does support observing such changes (such as Safari, Firefox, or Chrome), the trigger type is now automatically changed from Browser Quit to Bookmarks Changed. And vice versa, so that the changed Client now has the most appropriate trigger type. (Although it is possible to have a Browser Quit trigger for one of the latter browsers, the Bookmarks Changed trigger is better, and we want to use the best one because the trigger type is not visible in the Simple Agents view which is that seen by most users.)
The Switch off Auto Export checkbox in the Auto Export warning dialog now works even if the Cancel button is clicked.
When an Agent is configured to sync Clients, and is set to import from a Client which, by design, cannot participate in syncs while it is running (Opera, OmniWeb, Camino, or iCab), and this Client is above some other Client in the list, and if a new bookmark is added to this other Client while the non-participatory Client is running, the new bookmark is no longer deleted in a subsequent sync when the non-participatory Client browser is quit.
Fixed a bug which would cause changes made in BookMacster, or imported from other browsers, to be not exported to Camino, iCab, OmniWeb or Opera if these browsers were running during the export, and if additional bookmarks changes were made in these browsers before they were quit.
When activating or changing Local Settings (Clients, Agents) to sync bookmarks, the requirement to Export is now prompted and enforced by presenting the user a dialog sheet and requiring the user to either Export immediately, or temporarily Pause syncing.
Improved automatic conflict resolution when bookmarks are changed in another browser Client before BookMacster has imported pending changes from a first browser Client.
Fixed a bug which caused Tag changes which were in fact cancelled out by Delimiter Replacements to be listed as changes in the Sync Log.
Fixed a bug which caused an import to be skipped, missing changes, if the Client’s Content had indeed not changed, but the Content in the Bookmarkshelf had changed (meaning that the old Content should be re-imported), or if the Import Postprocessing (Advanced) Settings had been changed (meaning that the results of the import might be different even if both source and destination Content were unchanged). Also, this bug did not appear if the import Clients included Firefox and/or Chrome .
Eliminated some extra Import and Export operations which would sometimes occur when spurious changes were detected during the prior Import or Export. These appeared in the Sync Log as CHANGE in proprietary attribute(s). Although all Clients may have been affected in a few cases, the churn was most prevalent if Opera was involved, and particiularly upon the initial export to Opera.
Fixed a bug which caused a spurious Error 384005 to sometimes be logged and displayed if an Agent’s Worker ran to sync multiple Clients while BookMacster was running with the subject Bookmarkshelf open.
Fixed a bug which caused error 613902 Apple’s iCloud is currently syncing your bookmarks to be unnecessarily indicated if iCloud had been syncing when first probed, but had actually finished within the allotted time.
Fixed a bug which sometimes caused unnecessary do-over Agent operations in Bookmarkshelf documents that have multiple local Clients. (Fixed random crosstalk among import hashes.)
Resource usage during exports to Safari has been reduced. (Now takes advantage of file locking, so that BookMacster-Worker is no longer retriggered after an export to Safari for a short run to recheck hashes for any changes made during the export.)
Fixed a bug which caused the Local Settings controls (Clients, Agents, etc.) to have no effect if these were changed after prior version of a Bookmarkshelf document had been resurrected from Lion’s Versions Browser, until it was closed and re-opened.
During Import operations from a single Client, items which are not exportable to this Client, and thus were not exported to it, and thus absent from the Import, no longer move to the top. This could cause a rather large number of extraneous changes, or churn as we call it, in large folders wherein many siblings would be displaced.
Fixed a cosmetic bug in the Bookmarkshelf window that sometimes caused buttons in a sheet to be moved on top of other controls when there was no need to do so. (When a sheet is shown that would overflow the bottom of the screen, BookMacster now takes into account the fact that Mac OS X will animatedly move the window up to accomodate the screen when it calculates if and how far the important buttons in the sheet need to be moved up to stay on-screen.)
When exporting to Safari, if the Show All Bookmarks page is showing in Safari, the method by which BookMacster changes this to a blank page and then changes it back to show the bookmarks after the export has been updated so that it works again with the current version of Safari.
When exporting to Safari, now waits for iCloud activity and file locks to clear even if Safari is not running. Also, if the Bookmarkshelf window is open, the status bar now indicates indeterminate progress when Waiting for Safari or iCloud to let go.
A change was made which may avoid triggering a sporadic bug which sometimes causes a Bookmarks Changed Agent to stop working until it is either recreated, or the user logs out and back in. (This appears to be a bug in the launchd service of Mac OS X. The change is that BookMacster’s Worker now always exits with status 0.)
No longer displays Error 19015, because it turns out to be usually a false alarm.
When exporting to Safari, the timeout for which a Worker process will wait for iCloud to finish its work before giving up has been increased from 10 minutes to 20 minutes, and this longer timeout is now applied also when a Worker commands an open Bookmarkshelf document in the BookMacster app to perform its work. Previously, the shorter timeout of 15 seconds, which applies when the user commands the export manually in the BookMacster app, had applied to this case.
If the preference has been set to launch BookMacster in the background, and BookMacster-Worker encounters an error which needs to be displayed, that preference is now disregarded, so that the error can be seen.
Fixed a bug which caused Google Chrome to be launched and then quit if it was not running, when uninstalling BookMacster’s Chrome extension.
When uninstalling the Chrome extension, if Google Chrome is detected to be running in its broken state wherein it silently ignores a “quit” command even from its own user interface, now just kills it.
When the Chrome plug-in is not installed, the Manage Browser Add-Ons window now correctly indicates it as not installed instead of the head-scratching Version 0.
Now accepts any .bookmacsterlicenseinstaller file issued by our server, even if our server generated strange line-ending delimiters when creating the file.
Fixed a bug which caused warnings to be logged and probably misbehavior of BookMacster’s Status Menulet after a license installer file (.bookmacsterlicenseinstaller) had been opened by the user.
As was originally intended, records of whether folders are expanded or collapsed, for folders which no longer exist in a Bookmarkshelf document, are now deleted from the documents Settings database when their document is closed.
If user insists on closing a Bookmarkshelf document window while operations such as Import, Export or Save are running in the Status Bar, and if an unfulfilled Auto Save operation has been recently requested by OS X Lion, the document now ignores the user’s request, instead of hanging and needing to be force quit.
Fixed a bug which caused .rawdata files, sometimes needed for debugging, to not always be written while importing from Delicious or Pinboard.
CHANGES IN VERSION 1.10 AFFECTING CHANGES IN BETA VERSION 1.9.9 [betaChanges1_9_9to1_10]
CHANGES IN BETA VERSION 1.9.9 AFFECTING CHANGES IN BETA VERSION 1.9.8 [betaChanges1_9_8to1_9_9]
The new Sync button in the toolbar now also functions to open the Agents tab and prompt the user to configure syncing, if no syncing agents are available, and its label changes appropriately to Sync, Pause or Resume depending on whether or not a syncing agent is available and whether or not syncing is paused. In the Main Menu, the two items Set Up Sync… and Pause|Resume Syncing have been combined into a single menu item that works in the same way. (Thanks to a beta tester who asked, “Do I click the Sync button to do a sync?”, and to the original Macintosh designers who insisted on that one-button mouse.)
The new Sync button in the toolbar now works properly if Advanced Agents were paused when the document was last closed. (Shows the correct state, and Resumes on the first click).
But sometimes three buttons are needed. Added a third button, It’s OK to the new dialog which appears advising user to Export upon activating an Agent which performs syncing.
Fixed a bug which caused a crash about half the time upon clicking the Perform… button in the tab Settings ▸ Agents ▸ Advanced.
If you’ve updated to 1.9.6, and don’t plan to reconfigure any Agents in the forseeable future, you can skip this version.
The Help Book now contains an interactive Syncing Visualizer to illustrate how BookMacster can sync other browsers’ bookmarks via iCloud to Safari on iPhone, iPad and iPod Touch devices.
Some terminologies have been changed to eliminate confusion between iCloud and other clouds.
Updated method for verifying Google account login, so that attempting to import from or export to Google Bookmarks no longer fails with Error 54267. (This problem appears to have started yesterday, due to a change by Google in their service.)
Improved conflict resolution when local Clients and clients on another Mac synced via Dropbox or other Online File Syncing Service make near-simulatenous changes.
Fixed a bug which sometimes caused the Export changes from Other Macs to Clients agent to fail silently, causing bookmarks changes synced via Dropbox or other Online File Syncing Service to not always appear in the expected client browsers as expected.
If a Bookmarkshelf has Agents watching for multiple triggers, such as changes in multiple web browser clients, and multiple triggers occur before the Worker runs in response to the first trigger, the jobs are now combined and the Worker only runs once, resulting in the changes being made properly based on Client order, and, obviously, less resource usage.
Fixed a bug which, in multi-Client Bookmarkshelf Documents, caused imports from earlier Clients to be skipped if the last Client had no changes.
Fixed a bug which caused an import to be silently skipped if changes were made manually to a Bookmarkshelf Document’s Content but no changes were made to the Client’s content, or if Content was changed by restoring an Auto Saved Version in OS X Lion, or if Content was changed by an Undo or Redo action, since the last import from that client.
Fixed a bug which caused a hang while installing Chrome extension if Chrome happened to be displaying its Extensions window.
Fixed a bug which caused installing Chrome extension or Firefox extension to sometimes silently abort before anything was done.
Fixed a bug which would cause BookMacster’s Worker to crash if the Agent for which it had been invoked was deleted between the time the Worker was triggered and the time it ran (usually 1-5 minutes later).
Removing or deactivating an Agent by switching off its checkbox always works now. (Besides killing the regular Agent, this action now kills any transient Agents which have have been staged, and any associated Workers which are currently executing.)
Importing, or not, of Separators from Clients now consistently works as specified in BookMacster Help (sec. 5.2.8).
Restored operation of the filter which prevents Bookmarkshelf documents in the Dropbox trash (.dropbox.cache) folder from being opened. (This safety feature had stopped working with Dropbox 2.x.)
If the text views on a sheet extend beyond the bottom of the display, as can occur for example when showing the results of a Consolidate Folders operation on newly-imported bookmarks which had never been managed, the buttons and other critical controls are now moved up so that they are visible.
Updated instructions given for disabling the bookmarks sync feature which is built in to Google Chrome, to reflect the user interface in current versions of Google Chrome.
In BookMacster’s AppleScript dictionary, removed the force import all parameter from the perform command. An operation now executes for all triggers if the optional for trigger parameter is simply omitted. Also, it now works properly.
New version of Google Chrome Extension gives better error reporting.
Fixed two images in the Help Book, the BookMacster icon on the title page, and the Getting Started diagram in sec. 0.1.1, so that they now display properly in all browsers. (The first had size metadata which did not reflect the actual size, and the second was a pdf, which is not compliant to the HTML standard. They worked in Safari and Help Viewer, but not in Google Chrome or Camino, for example.)
If your BookMacster add-on or extension for Firefox and Chrome are installed OK at this time, or if everything worked fine during your last BookMacster update, you should skip this update.
This version has bug fixes, performance improvements, and improvements to user experience.
Fixed two bugs in process of installing Chrome and Firefox extensions; if an error occurred during the first attempt, subsequent attempts would also fail, displaying the same old error, until BookMacster was quit and relaunched.
BookMacster no longer causes Firefox to beachball by asking it for all bookmarks once during each Import operation and once during each Export operation. Although the beachball duration was less than a second with the typical 1000 bookmarks on most Macs, it seemed to increase exponentially with an exponent of 2 or so, as a function of the number of bookmarks, and became quite annoying at 4,000 bookmarks. (Now uses our faster but unofficial method of reading Firefox bookmarks while Firefox is running. This method works consistently now because we no longer support Firefox 3.6.)
Includes a new version of the Sheep Systems Firefox Extension, version 284, which no longer causes Firefox to be very slow and beachball if the user manually does something which moves, deletes or restores a large number of bookmarks in Firefox’ Library window which is displayed upon clicking Show All Bookmarks in Firefox. (Notifications of bookmarks content changes to BookMacster are now coalesced and throttled.)
When importing settings from Bookdog, BookMacster no longer creates any Agents based on Bookwatchdog settings. We’ve found that, in most cases, users are better off creating new Agents from scratch, rather than importing settings which were compromised by the limited capabilities of Bookwatchdog. Also, if an initial import failed for some reason, subsequent Agent operations could cause unexpected results, including deleting bookmarks in browsers. An initial import could fail if a web browser had some settings in Bookdog, but had not been used for a long time, and its bookmarks experienced bit rot. If this happened to be the last browser imported, the Bookmarkshelf would be empty, and exporting from an empty Bookmarkshelf, by default, causes bookmarks content in the exported-to browsers to reflect that emptiness. That is, it would delete all bookmarks. More simply, creating Agents automatically violates the advice we give new non-Bookdog users, which is that BookMacster Agents should not be activated until a user has successfully imported, reviewed and approved their Bookmarkshelf Content, and exported manually.
When importing from Bookdog, if the import fails for some reason, the Status Bar no longer incorrectly includes failed items in its tally of the number of items imported.
Fixed a bug which could cause automatic triggering of BookMacster agents to always fail after a system crash or other extraordinary event. (BookMacster-Worker would crash or choke on defunct doOver, doSoon or standby launch plist files which had been left stranded in ~/Library/LaunchAgents.)
Fixed a bug which caused an Export to fail when exporting to a Choose File (Advanced) Client.
Replaced the detailed-but-not-detailed-enough wordiness in presenting Errors 144770 and 264948 with an explicit reminder to click the Help button for more information, and expanded the Help Book sections which these buttons display to include step-by-step instructions. Instead of trying to please everyone, power users will no longer be annoyed reading a long explanation they don’t need, and novice users can get the detailed instructions that they do need. (144770 occurs when Mac OS X reports a bogus Login Item, and 264948 occurs when Chrome or Firefox get fouled up during installation of a browser Extension.)
Added some housekeeping for defunct Agents. (Now removes any associated and defunct Agent plist files whenever any changes to Local Settings are made to a Bookmarkshelf, and whenever a Bookmarkshelf document is saved, in the BookMacster application.)
This update only affects the process of crossgrading from Bookdog, and the Perform… button in the Agents ▸ Advanced tab. Unless you have not done the Bookdog import yet, and plan to, or use that button, which most users don’t even know is there, you should skip this update and instead do something more enjoyable.
• Fixed a bug which sometimes caused a crash if user entered the Agents ▸ Advanced tab and clicked the Perform… button.
Fixed a bug which caused a document to become unsaveable and uncloseable, indicating Error 134030 in NSCocoaErrorDomain, if Undo or Redo was commanded while a text field was focused for editing in the Content view.
When a Bookmarkshelf window is displaying a tab view such as Sorting or Simple Agents which would become a mess if the user resized it, the window is no longer resizable in OS X Lion.
While web browsing, users may now add or visit BookMacster bookmarks with one keystroke, by using one of three new keyboard shortcuts. Users may activate the new shortcuts in a new Preferences tab named Shortcuts.
After installing this version, BookMacster’s Firefox extension will no longer need to be updated and reinstalled whenever a new Firefox major version is released, and the BookMacster application package has been reduced by ~300 KB. (The enclosed Sheep Systems Firefox Extension version 282 contains a modernized, multi-Firefox-version dynamic library.)
Firefox 3.6 is no longer supported. The Firefox version used with BookMacster 1.8 must be version 4.0 or later. (BookMacster 1.6.x still works with Firefox 3.6.)
Fixed compatibility issues with Bookmarkshelf documents produced on Macs using the PowerPC processor, or Mac OS X 10.5. (These Macs must use BookMacster version 1.6.x. The 1.6.x track is still being updated, but is missing some new features not available in Mac OS X 10.5.)
The terminologies Mirror-Open and Mirror-Save have been changed to Auto Import and Auto Export, respectively, to take advantage of the analogy to Apple’s new Auto Save in OS X Lion. Also, Auto Export is now run if there are unexported changes when a document is closed as well as when it is saved. This is necessary to not miss unexported changes in OS X Lion or later, because Auto Export is not run during an Auto Save by Mac OS X.
Exports to Safari play nicer with iCloud syncing.
Restored capability to import more than 1000 bookmarks from Delicious, which was recently broken by Delicious/AVOS.
No longer supports Delicious-Yahoo! accounts, because this service no longer exists. Because the “new” Delicious uses what had been called the “Old Skool” access method only, labels in menus and other user interface elements which had referred to Delicious-Old-Skool now say simply Delicious.
No longer emits Error 651105 at times when used with Dropbox version 1.2 or later. (Dropbox updates itself automatically. If you are a Dropbox user and don’t have Dropbox 1.2 yet, you will soon.)
No longer able to automatically move a Bookmarkshelf into a user’s Dropbox folder, and no longer able to automatically determine whether or not a Bookmarkshelf is in the user’s Dropbox. (This is due to new security measures implemented by Dropbox in the Dropbox app version 1.2.)
Now displays a small floating window with a progress bar when the Status Menulet or Dock menu are clicked for the first time, when Safari is the active web browser, during the 5-10 seconds while BookMacster is waiting for Safari to get its act together and return information about its current web page.
Improved the mechanisms for ensuring that Agents do not miss any bookmarks changes from browsers, particularly in Bookmarkshelf documents with multiple clients, when users make bookmarks changes in different browsers in rapid succession. (Now stores and calculates a hash value with each import, for comparison with later imports.)
Changing the Expanded/Collapsed state of a folder in the Content Outline no longer creates an Undo action, and these states are not persisted when opening the same Bookmarkshelf on a different Mac account. (This state is no longer saved in the .bkmslf document file but is now saved in the Local Settings database.)
If the user has minimized the Bookmarkshelf window to the Dock, then creates a new bookmark using one of the Bookmarking Widgets, Status Menulet, Dock Menu, BookMacsterize Bookmarklet, or one of the new keyboard shortcuts, with the Add & Inspect option, the Inspector panel is now displayed without bringing the Bookmarkshelf window out of the Dock.
Fixed a bug which caused the Import Safe Limit to be ignored for new documents. (Import count was not being incremented.)
The BookMacsterize Bookmarklet is no longer added to new Bookmarkshelf Documents by default. This is because we now have so many better ways to add bookmarks, its use is discouraged.
Fixed a bug which caused error recovery to fail (import to not be repeated) if the Safe Limit was exceeded during an Import operation performed in the background by a BookMacster’s Worker, and the user clicked View and then Retry when presented with the error in BookMacster.
Fixed a bug which could, on rare occasions, cause an Agent Bookmarks Changed Trigger to stop functioning until the main BookMacster application was launched. (Fixed a race condition in which the finishing agent could delete the staging of the next agent to execute, if it started too soon.)
Churning of bookmarks (replacement of bookmarks with identical bookmarks) which could occur during Import or Export of iCab bookmarks has been eliminated, if using iCab version 5.0 or later. (Our thanks to iCab developer Alexander Clauss, who made it possible by adding unique identifiers to iCab bookmarks!)
Fixed a bug which caused a hang while writing an export to iCab, if iCab’s designated Favorites folder happened to be a subfolder of a folder which was deleted during the merging.
No longer momentarily flashes a progress window on the screen when accessing a document which is already open. (Usually this flash was too brief to be seen but sometimes it was.)
The text shown in the Save as Move… dialog sheet is more clear and concise.
This update fixes some sporadic hangs or crashes in OS X Lion, updates protocols for Google Bookmarks access, and fixes export of Reading List to Safari 5.1.
Fixed a bug which could cause BookMacster to hang during a Save operation (if a non-cancellable autosave had been requested by OS X Lion after the Save had been commanded but before it had executed).
When importing from a Client (browser) which is not the first client, moves of existing items are now ignored. This should better meet expectations of more users. Here is an example. Bookmarkshelf has two Clients, Safari and Firefox, with Safari first, and has bookmarks in the root. These bookmarks would have been exported to the root in Safari, but, because Firefox does not allow bookmarks in its root, they would have been exported to the Unsorted Bookmarks hard folder in Firefox. If the Simple Agent to Import changes and Export to all Clients was activated, and later a new bookmark was added in Firefox, the Agent would detect the change and import from Firefox only, and BookMacster would move all of those root bookmarks into the Bookmarkshelf’s Reading/Unsorted folder, because that is equivalent to their location in Firefox. Then, when exported to Safari, they would be moved into Safari’s Reading List. This behavior would be unexpected. In this new version, such root bookmarks are not moved in this situation. As a contrary example, if a user purposely moves bookmarks from one folder to another in Firefox and expects such a change to be imported to Safari, this would work in previous versions, but in this new version such moves would be ignored, and during the next Export, be overwritten back to the old arrangement. However, we feel that this situation is a more rare usage, and reorganizing bookmarks in the web browser is indeed something that we have always recommended against.
Now supports Firefox version 8.
When Restoring a Bookmarkshelf document from Lion’s Versions Browser, any actions which had been set in Settings ▸ Open/Save to occur when opening, such as Import, are now skipped. This prevents the document’s Contents from being immediately changed. (In the previous version, these actions were skipped when opening the document in the Versions Browser, but we now know that, when the user clicks the Restore button, Lion actually closes, probably moves, and then re-opens the restored document. Although there are other workarounds, such as Undo Import, they are not immediately apparent to the average user.)
Fixed a bug which caused BookMacster to hang when opening a previous document version, which was corrupt but repairable, in Lion’s Versions Browser. (BookMacster would repair the document and then try to save it to the .DocumentRevisions-V100 directory, but this would fail since changing history is not allowed. Starting with BookMacster 1.7.3, the document integrity tests are skipped if a document is in the Versions Browser. If the user selects to Restore a corrupt document, the tests, repair and save are performed a few seconds later, when the document is re-opened normally.)
Reading List bookmarks are now reliably exported to Safari 5.1, and are exported even if Safari’s Reading List was originally empty.
Updated detection of the currently-logged in account to eliminate errors caused by recently-observed GAUSR cookies that have a prefix and a colon character before the account name (email).
Fixed the back-up method for determining the Google account to which the user is logged in, to work with recent Google services. (The back-up method is used in case none of the known cookies are found.)
Fixed a bug which could cause an Undo operation to silently fail, raise an exception, or crash, if bookmarks and folders were added, then deleted, then the Bookmarkshelf was saved, and then the user clicked Edit ▸ Undo, to undo the deletions.
Fixed a bug which sometimes caused a silent failure when logging into Google Bookmarks to perform an Import or Export.
Fixed two bugs which could cause a crash if an error occured while importing or exporting with Google Bookmarks.
Simplified the method used to make HTTP requests during operations such as imports and exports to web services such as Pinboard or Google Bookmarks.
Improved mechanism for warning user if ever a Bookmarkshelf created by a newer version of BookMacster cannot be opened by the current version. (This can happen if a user syncing via Dropbox updates BookMacster on one Mac before the other(s)).
Fixed a bug which caused error messages to be printed to the system console when opening a Bookmarkshelf which had been created by a previous version of BookMacster in Browse All Versions in OS X Lion. (Now checks to make sure that document is not in viewing mode before attemping to write updated metadata.)
No longer writes warnings to system console when creating a new Trigger. (Removed depracated launchd key ‘ServiceDescription’ in task schema.)
No longer writes warnings to system console involving Couldn’t stat … /LaunchAgents/ … No such file or directory sometimes, when an Agent’s Worker is triggered.
Upon landing a new bookmark from the BookMacster’s Status Menulet, Dock Menu, or BookMacsterize bookmarklet, if the receiving Bookmarkshelf document window is showing, its Content View tab is revealed even if a different tab view was showing, and if the Inspector is shown or was showing, the new bookmark is shown in the Inspector even if the Content tab was not initially showing.
In menu item File ▸ Export Bookmarklet to ▸, the submenu no longer includes two items, (Client Settings) and (Quick Merge – No Delete), for each local app client. By design, such exports have always executed as Quick Merge – No Delete even if user clicked Client Settings.
Upon launching, the previous BookMacster 1.7 beta required that the Browser Add-On Plug-In for Chrome or Chromium, if installed, be updated to version 81. That was not really necessary and this version does not require that. Any Chrome/Chromium Plug-In version 77 or later is OK and does not need to be updated.
Now supports the Diigo web bookmarking and annotation service as a Client.
Fixed a bug when running in OS X Lion which caused changes due to a long operation, such as a multi-Client Import, to sometimes not be saved (actually, not autosaved) if the long operation was executed, and then BookMacster was quit within 15 seconds after the long operation completed.
BookMacster no longer keeps its own backups of the last 5 Firefox bookmarks files. Existing backup files for a Firefox profile are deleted during the next Export to that profile which occurs while Firefox is not running.
If an error occurs when an Agent’s Worker is performing, and the error is presented to the user, and the user approves a recovery option to be performed by BookMacster, performance by the Worker is now bypassed, so that the work is not done twice. This sometimes caused Error 67000 from NSCocoaErrorDomain to appear when running in OS X Lion, and may have been causing other problems.
Fixed a bug which caused errors generated by Mac OS X (typically indicated by NSCocoaErrorDomain), to not perform the desired recovery after the user clicked a recovery button. In one case, which only occurs in OS X Lion, Error 67000, the Bookmarkshelf could not be closed and BookMacster would have to be force quit.
Fixed a bug which caused an Import operation to be bypassed without actually importing new bookmarks content, if a prior operation by an Agent’s Worker had imported the new content, but then terminated before saving due to, for example, a Safe Limit being exceeded during an intervening Export operation. There could have been other pathological cases, although generally not under OS X Lion due to Lion’s autosave.
When running Verify, BookMacster now sends the User-Agent string of Safari 5.1, instead of its own User-Agent string. This is so that some sites, notably facebook.com and capitalone.com, will not incorrectly assume that BookMacster is a mobile app and respond with a permananent redirect to their m subdomain, for example “m.facebook.com”. Such subdomains send minimal web pages appropriate for mobile devices with small screens.
In Preferences ▸ Adding, added a popup in which the user may indicate how BookMacster should act when they land a new bookmark which duplicates an existing bookmark. The choices are “Ask”, “Merge”, “Cancel” and “Keep Both”. Previously, the action was always “Ask” if BookMacster was running as a normal app and “Cancel” if BookMacster was running as a background app.
Fixed a bug which caused account names from any available web app Client (Delicious, Pinboard, Google Bookmarks) to appear in the popup menu for all available web app Clients, whether or not these accounts actually existed. For example, if user had a credential for Delicious account with username “suzie”, the popup menu would contain “Pinboard (suzie)” and Google Bookmarks (suzie)” in addition to the expected “Delicious (suzie)”. Attempting to log in, import or export bookmarks involving such a nonexistent account would, of course, result in an error.
Creating a new bookmark by dropping or pasting text into the Content View from other applications is now more likely to Do what I mean.
Improved reliability of Agent triggering, particularly triggering Export Changes from The Cloud to Clients to import from The Cloud when operating in OS X Lion. The difference is that we have implemented more reliable, closed-loop methods for inhibiting self-triggers, replacing the fixed 16-second blackout following any extended operations. Extended Operations are, for example, Exporting, including quitting web browsers if necessary, and saving a Bookmarkshelf document. The improvement is most effective in OS X Lion because Lion’s sometimes-frequent autosaves caused sometimes-frequent 16-seconds blackouts. These improvements also make the operation cleaner, eliminating some instances where a Worker would be re-launched a second time after performing work, just to verify that there was no new work to do and then terminate itself after a few milliseconds.
Improved reliability of getting all Google Bookmarks during an Import operation, for users that have more than 1000 Google Bookmarks.
During an Import or Export operation to a web app such as Delicious, Pinboard or Diigo which require a separate request for each bookmark, the little red Cancel button now responds immediately when clicked instead of after the next request. (This was done to better support Diigo, which sometimes keeps BookMacster waiting for up to an hour during large exports.)
If system sleeps during an Export operation to a web app such as Delicious, Pinboard or Diigo which require a separate request (upload) for each bookmark, now waits 20 seconds after the system wakes before resuming requests. This allows other applications to wake faster, and also greatly reduces the probability that the first request will generate an error indicating that internet access is not available (yet).
During an Export to a web app such as Delicious, Pinboard or Diigo which require a separate request for each bookmark, if user attempts to close the document window twice, the operation is now cancelled and the window is allowed to close, without user clicking the little red Cancel button in the Status Bar.
Fixed two bugs, either of which could cause an export to Google Chrome to fail with Error 453973 if performed while Google Chrome was running, and if an incoming bookmark was merged by URL with another bookmark that had been in a different folder in Google Chrome.
Menu item File ▸ Export Bookmarklet to ▸ no longer includes web apps in its submenu. (Exporting our bookmarklet to a web app would be useless even if it worked, which it didn’t since BookMacster generally does not export JavaScript bookmarklets to web apps.)
When opening a previous version of a document after clicking Browse All Versions in OS X Lion, no longer attempts to perform any of the actions which are set under After opening this document, do automatically in Settings ▸ Open/Save. (The available actions are Import, Sort and Find Duplicates. If the results of such actions were allowed to be saved, which Lion did not allow anyhow, it would have been essentially changing history.)
Fixed a bug which foiled BookMacster’s attempts to extract a web app password written by another app from the Mac OS X Keychain, if the other app had prefixed the host name with a subdomain such as “www” or “my”, in some cases.
Fixed a bug which caused a bogus wrong password error during an Import or Export operation, if the Client had just been changed from one web app/account to another web app/account, because the password from the prior web app/account would be sent in the request to the new web app/account.
Implemented a proper lockout mechanism so that an Auto Save in OS X Lion can no longer sometimes initiate several cycles of ping-ponging when a Bookmarkshelf is configured to synchronize between two Macs via Dropbox.
Fixed this bug: If Find Duplicates command was disabled, and if Settings ▸ General ▸ Ignore Duplicates descending from different Hard Folders checkbox was ON, when this checkbox was checked OFF, the Find Duplicates command did not become enabled. It should have, because unchecking this box can cause groups of bookmarks spanning different Hard Folders, which were not considered to be duplicates when the box was checked, to become duplicates. This works properly now.
Fixed this bug: After duplicates had been effectively deleted by changing the rules, for example, checking the box Settings ▸ General ▸ Ignore Duplicates descending from different Hard Folders, the summary line at the top of the Reports ▸ Duplicates table would indicate more Duplicate Groups than were listed in the table.
A Bookmarkshelf document can now be edited during a Save operation in OS X Lion. On the surface, this is a trivial improvement, but under the hood it means that we have implemented Lion’s new asynchronous saving feature (not to be confused with Auto Save and Versions, which we’ve had since Lion was released). This reason for doing this is because it gets us more fully in step with the Apple program, which means that we’ll avoid some present or future bugs in the area of saving and autosaving, either in BookMacster or in OS X Lion.
Major operations (Save, Import, Export, Sort, Find Duplicates, Verify, Install/Uninstall Browser Add-On, etc.) may now be performed concurrently by different Bookmarkshelf documents, and/or the Manage Browser Add-Ons window. Like the previous change, we certainly didn’t have any users screaming for this capability, although it is occasionally nice to be able to work around exports to throttled web services such as Delicious and Diigo, which can take many minutes or hours to swallow thousands of bookmarks. It was done primarily to better implement the document model assumed by OS X Lion, eliminating some possibilities whereby an Auto Save operation could cause BookMacster to deadlock under the hood and require a force-quit.
No longer enters User Cancelled errors into the log. This is to reduce extraneous log entires in OS X Lion, wherein User Cancelled errors occur without the user actually cancelling, when Lion requests an Auto Save while BookMacster is busy with a major operation.
Silently recovers from rare, nuisance Error 67000 in NSCocoaErrorDomain when running in OS X Lion, by effectively clicking the “Save Anyway” button before the error would have been displayed, and logging information about the occurrence to the system’s stderr. Although some of the other changes may have eliminated this nuisance, we’re not sure and shall continue to look for the root cause if we see any such logs.
This is the first version in a new branch which requires Mac OS X 10.6 or later, and an Intel processor. We plan to release a roughly equivalent version for users with Mac OS X 10.5 or PowerPC processors.
———
BookMacster updates were split into two tracks starting with version 1.7. BookMacster versions 1.7 and later require Mac OS 10.6 or later. Beginning with version 1.6.8, versions numbered 1.6.X are for Mac OS 10.5 users only.
This version is equivalent to the Mac OS X 10.6+ version BookMacster 1.8.
While web browsing, users may now add or visit BookMacster bookmarks with one keystroke, by using one of three new keyboard shortcuts. Users may activate the new shortcuts in a new Preferences tab named Shortcuts.
The terminologies Mirror-Open and Mirror-Save have been changed to Auto Import and Auto Export, respectively, to take advantage of the analogy to Apple’s new Auto Save in OS X Lion. Also, Auto Export is now run if there are unexported changes when a document is closed as well as when it is saved. (This is necessary to not miss unexported changes in OS X Lion or later, because Auto Export is not run during an Auto Save by Mac OS X.)
Restored capability to import more than 1000 bookmarks from Delicious, which was recently broken by Delicious/AVOS.
No longer supports Delicious-Yahoo! accounts, because this service no longer exists. Because the “new” Delicious uses what had been called the “Old Skool” access method only, labels in menus and other user interface elements which had referred to Delicious-Old-Skool now say simply Delicious.
No longer emits Error 651105 at times when used with Dropbox version 1.2 or later. (Dropbox updates itself automatically. If you are a Dropbox user and don’t have Dropbox 1.2 yet, you will soon.)
No longer able to automatically move a Bookmarkshelf into a user’s Dropbox folder, and no longer able to automatically determine whether or not a Bookmarkshelf is in the user’s Dropbox. (This is due to new security measures implemented by Dropbox in the Dropbox app version 1.2.)
Now displays a small floating window with a progress bar when the Status Menulet or Dock menu are clicked for the first time, when Safari is the active web browser, during the 5-10 seconds while BookMacster is waiting for Safari to get its act together and return information about its current web page.
Improved the mechanisms for ensuring that Agents do not miss any bookmarks changes from browsers, particularly in Bookmarkshelf documents with multiple clients, when users make bookmarks changes in different browsers in rapid succession. (Now stores and calculates a hash value with each import, for comparison with later imports.)
Changing the Expanded/Collapsed state of a folder in the Content Outline no longer creates an Undo action, and these states are not persisted when opening the same Bookmarkshelf on a different Mac account. (This state is no longer saved in the .bkmslf document file but is now saved in the Local Settings database.)
If the user has minimized the Bookmarkshelf window to the Dock, then creates a new bookmark using one of the Bookmarking Widgets, Status Menulet, Dock Menu, BookMacsterize Bookmarklet, or one of the new keyboard shortcuts, with the Add & Inspect option, the Inspector panel is now displayed without bringing the Bookmarkshelf window out of the Dock.
Fixed a bug which caused the Import Safe Limit to be ignored for new documents. (Import count was not being incremented.)
The BookMacsterize Bookmarklet is no longer added to new Bookmarkshelf Documents by default. This is because we now have so many better ways to add bookmarks, its use is discouraged.
Fixed a bug which caused error recovery to fail (import to not be repeated) if the Safe Limit was exceeded during an Import operation performed in the background by a BookMacster’s Worker, and the user clicked View and then Retry when presented with the error in BookMacster.
Fixed a bug which could, on rare occasions, cause an Agent Bookmarks Changed Trigger to stop functioning until the main BookMacster application was launched. (Fixed a race condition in which the finishing agent could delete the staging of the next agent to execute, if it started too soon.)
Churning of bookmarks (replacement of bookmarks with identical bookmarks) which could occur during Import or Export of iCab bookmarks has been eliminated, if using iCab version 5.0 or later. (Our thanks to iCab developer Alexander Clauss, who made it possible by adding unique identifiers to iCab bookmarks!)
Fixed a bug which caused a hang while writing an export to iCab, if iCab’s designated Favorites folder happened to be a subfolder of a folder which was deleted during the merging.
No longer momentarily flashes a progress window on the screen when accessing a document which is already open. (Usually this flash was too brief to be seen but sometimes it was.)
The text shown in the Save as Move… dialog sheet is more clear and concise.
Now supports the Diigo web bookmarking and annotation service as a Client.
No longer writes warnings to system console when creating a new Trigger. (Removed depracated launchd key ‘ServiceDescription’ in task schema.)
No longer writes warnings to system console involving Couldn’t stat … /LaunchAgents/ … No such file or directory sometimes, when an Agent’s Worker is triggered.
Upon landing a new bookmark from the BookMacster’s Status Menulet, Dock Menu, or BookMacsterize bookmarklet, if the receiving Bookmarkshelf document window is showing, its Content View tab is revealed even if a different tab view was showing, and if the Inspector is shown or was showing, the new bookmark is shown in the Inspector even if the Content tab was not initially showing.
In menu item File ▸ Export Bookmarklet to ▸, the submenu no longer includes two items, (Client Settings) and (Quick Merge – No Delete), for each local app client. By design, such exports have always executed as Quick Merge – No Delete even if user clicked Client Settings.
BookMacster no longer keeps its own backups of the last 5 Firefox bookmarks files. Existing backup files for a Firefox profile are deleted during the next Export to that profile which occurs while Firefox is not running.
If an error occurs when an Agent’s Worker is performing, and the error is presented to the user, and the user approves a recovery option to be performed by BookMacster, performance by the Worker is now bypassed, so that the work is not done twice. This sometimes caused Error 67000 from NSCocoaErrorDomain to appear when running in OS X Lion, and may have been causing other problems.
Fixed a bug which caused errors generated by Mac OS X (typically indicated by NSCocoaErrorDomain), to not perform the desired recovery after the user clicked a recovery button. In one case, which only occurs in OS X Lion, Error 67000, the Bookmarkshelf could not be closed and BookMacster would have to be force quit.
Fixed a bug which caused an Import operation to be bypassed without actually importing new bookmarks content, if a prior operation by an Agent’s Worker had imported the new content, but then terminated before saving due to, for example, a Safe Limit being exceeded during an intervening Export operation. There could have been other pathological cases, although generally not under OS X Lion due to Lion’s autosave.
When running Verify, BookMacster now sends the User-Agent string of Safari 5.1, instead of its own User-Agent string. This is so that some sites, notably facebook.com and capitalone.com, will not incorrectly assume that BookMacster is a mobile app and respond with a permananent redirect to their m subdomain, for example “m.facebook.com”. Such subdomains send minimal web pages appropriate for mobile devices with small screens.
In Preferences ▸ Adding, added a popup in which the user may indicate how BookMacster should act when they land a new bookmark which duplicates an existing bookmark. The choices are “Ask”, “Merge”, “Cancel” and “Keep Both”. Previously, the action was always “Ask” if BookMacster was running as a normal app and “Cancel” if BookMacster was running as a background app.
Fixed a bug which caused account names from any available web app Client (Delicious, Pinboard, Google Bookmarks) to appear in the popup menu for all available web app Clients, whether or not these accounts actually existed. For example, if user had a credential for Delicious account with username “suzie”, the popup menu would contain “Pinboard (suzie)” and Google Bookmarks (suzie)” in addition to the expected “Delicious (suzie)”. Attempting to log in, import or export bookmarks involving such a nonexistent account would, of course, result in an error.
Creating a new bookmark by dropping or pasting text into the Content View from other applications is now more likely to Do what I mean.
Improved reliability of Agent triggering, particularly triggering Export Changes from The Cloud to Clients to import from The Cloud when operating in OS X Lion. The difference is that we have implemented more reliable, closed-loop methods for inhibiting self-triggers, replacing the fixed 16-second blackout following any extended operations. Extended Operations are, for example, Exporting, including quitting web browsers if necessary, and saving a Bookmarkshelf document. The improvement is most effective in OS X Lion because Lion’s sometimes-frequent autosaves caused sometimes-frequent 16-seconds blackouts. These improvements also make the operation cleaner, eliminating some instances where a Worker would be re-launched a second time after performing work, just to verify that there was no new work to do and then terminate itself after a few milliseconds.
Improved reliability of getting all Google Bookmarks during an Import operation, for users that have more than 1000 Google Bookmarks.
During an Import or Export operation to a web app such as Delicious, Pinboard or Diigo which require a separate request for each bookmark, the little red Cancel button now responds immediately when clicked instead of after the next request. (This was done to better support Diigo, which sometimes keeps BookMacster waiting for up to an hour during large exports.)
If system sleeps during an Export operation to a web app such as Delicious, Pinboard or Diigo which require a separate request (upload) for each bookmark, now waits 20 seconds after the system wakes before resuming requests. This allows other applications to wake faster, and also greatly reduces the probability that the first request will generate an error indicating that internet access is not available (yet).
During an Export to a web app such as Delicious, Pinboard or Diigo which require a separate request for each bookmark, if user attempts to close the document window twice, the operation is now cancelled and the window is allowed to close, without user clicking the little red Cancel button in the Status Bar.
Fixed two bugs, either of which could cause an export to Google Chrome to fail with Error 453973 if performed while Google Chrome was running, and if an incoming bookmark was merged by URL with another bookmark that had been in a different folder in Google Chrome.
Menu item File ▸ Export Bookmarklet to ▸ no longer includes web apps in its submenu. (Exporting our bookmarklet to a web app would be useless even if it worked, which it didn’t since BookMacster generally does not export JavaScript bookmarklets to web apps.)
Fixed a bug which foiled BookMacster’s attempts to extract a web app password written by another app from the Mac OS X Keychain, if the other app had prefixed the host name with a subdomain such as “www” or “my”, in some cases.
Fixed a bug which caused a bogus wrong password error during an Import or Export operation, if the Client had just been changed from one web app/account to another web app/account, because the password from the prior web app/account would be sent in the request to the new web app/account.
Fixed this bug: If Find Duplicates command was disabled, and if Settings ▸ General ▸ Ignore Duplicates descending from different Hard Folders checkbox was ON, when this checkbox was checked OFF, the Find Duplicates command did not become enabled. It should have, because unchecking this box can cause groups of bookmarks spanning different Hard Folders, which were not considered to be duplicates when the box was checked, to become duplicates. This works properly now.
Fixed this bug: After duplicates had been effectively deleted by changing the rules, for example, checking the box Settings ▸ General ▸ Ignore Duplicates descending from different Hard Folders, the summary line at the top of the Reports ▸ Duplicates table would indicate more Duplicate Groups than were listed in the table.
Major operations (Save, Import, Export, Sort, Find Duplicates, Verify, Install/Uninstall Browser Add-On, etc.) may now be performed concurrently by different Bookmarkshelf documents, and/or the Manage Browser Add-Ons window. Like the previous change, we certainly didn’t have any users screaming for this capability, although it is occasionally nice to be able to work around exports to throttled web services such as Delicious and Diigo, which can take many minutes or hours to swallow thousands of bookmarks. It was done primarily to better implement the document model assumed by OS X Lion, eliminating some possibilities whereby an Auto Save operation could cause BookMacster to deadlock under the hood and require a force-quit.
No longer enters User Cancelled errors into the log. This is to reduce extraneous log entires in OS X Lion, wherein User Cancelled errors occur without the user actually cancelling, when Lion requests an Auto Save while BookMacster is busy with a major operation.
This is the first version in a new branch which requires Mac OS X 10.6 or later, and an Intel processor. We plan to release a roughly equivalent version for users with Mac OS X 10.5 or PowerPC processors.
Google Bookmarks Imports and Exports now work for Google accounts which have been upgraded to Google+.
BookMacster is now built on a Mac running OS X Lion. If all goes well, this should have no effect whatsoever.
———
Updates below this line run on any Mac OS X version, 10.5 or later. (This is the point at which BookMacster updates were split into two tracks.
Google Bookmarks Imports and Exports now work for Google accounts which have been upgraded to Google+.
BookMacster is now built on a Mac running OS X Lion. If all goes well, this should have no effect whatsoever.
Implemented an effective workaround for a bug in OS X Lion, which launches a Worker two or three times within a period of several minutes, instead of just once, to perform commands (import, sync, sort, export, whatever) after bookmarks or Bookmarkshelf were changed. To eliminate this unnecessary resource usage, Workers now detect if Lion has launched them unnecessarily, and if so terminate themselves after a few milliseconds.
Fixed a bug which caused installation of Firefox Add-On to fail repeatedly if Firefox was updated to a new major version, such as Firefox 5.x to Firefox 6.x, while BookMacster was running. With each Import or Export, BookMacster would prompt the user to reinstall the Firefox Add-On, but each time, it would install the Add-On for the old Firefox version, which wouldn’t work. The proper Add-On would not be installed until after BookMacster had been quit and re-launched.
Fixed a bug introduced in BookMacster 1.6.2 which caused AppleScript references to Agents to fail, and Agent Workers to fail silently if BookMacster was currently open with the subject Bookmarkshelf document when an Agent action was triggered. This would result in bookmarks not being imported, sorted, or whatever when as expected.
Bookmarkshelf Documents opened in OS X Lion which are more than several weeks old no longer show “– Locked” in the title bar, and no longer have Auto Save disabled until the user saves manually. Lion’s Auto Save is now working for all Bookmarkshelf Documents, always. (In the previous version 1.6.4, we had bypassed the warning which Lion wanted to display when these documents were opened. This fix complements that previous fix.)
Auto Save operations initiated by OS X Lion are now prohibited while BookMacster is busy with intensive operations such as multiple-Client imports, so that the time to complete these operations is no longer extended by Auto Saves being performed senselessly when more changes are imminent.
Auto Save operations initiated by OS X Lion no longer display “Completed: Save” in the Status Bar at the bottom of a Bookmarkshelf window, and therefore no longer wipe out previous completion messages which may be there.
Auto Save operations initiated by OS X Lion can no longer trigger an agent, in particular an Export Changes from The Cloud to Clients agent.
Fixed a bug which caused the Logs (menu ▸ BookMacster ▸ Logs) to indicate time in Coordinated Universal Time (UTC) instead of the local time zone when operating in OS X Lion.
When creating a new bookmark using the Add Here or Add To menu items in the Status Menulet or Dock Menu, if browsing in Safari, Opera or OmniWeb, if no text is selected in the browser, the browser no longer emits an “alert” sound. (Selected text, if any, still becomes the Comment of the new bookmark.)
When using the Sort Now, by ▸ contextual menu items, if the chosen attribute is a date, the order is now newest to oldest starting at the top, and when sorting by Visit Count, the order is highest to lowest starting at the top.
Fixed bugs which caused three dialogs indicating that a User Cancelled Error 3072 to be displayed, and in some cases fail to open the document, when opening a Bookmarkshelf Document which is more than several weeks old in OS X Lion.
Bugs were fixed so that clicking in the menu File ▸ Duplicate when operating in OS X Lion works properly now.
An (annoying) new feature of OS X Lion, which displays a warning when opening a document which was last opened more than several weeks ago, has been bypassed for Bookmarkshelf documents. Old documents now just open (although, as before, they take longer to open the first time if an intervening BookMacster update requires that their data model be updated).
Fixed a bug which caused empty folders resulting from merging folders to not be deleted when importing from multiple Clients, if these Clients had folder structures which were similar but not identical in certain pathological respects.
Fixed bug which caused exceptions to be written to system console log when scrolling through the Sync Logs of a Bookmarkshelf document when operating in OS X Lion.
Fixed a bug which caused the Sort Now, by contextual menu item introduced in version 1.6.2 to not work for all of the non-string (dates and number) attribute types in its submenu.
Fixed a bug which sometimes caused a crash when closing a Bookmarkshelf document window in our test lab with AppleScript. Theoretically, similar crashes could have been occurring in real life.
Fixed a bug which could cause a Bookmarkshelf to log exceptions to the system log and cause the application to hang after viewing an item in the Inspector.
After the first phase of a Verify operation, the time that BookMacster will wait for websites to respond has been reduced to 30 seconds, instead of 60 seconds in the Leopards and more in OS X Lion.
Summary. This update, and the prior update to 1.6 beta improve the user interface and user experience, particularly for those that are using BookMacster Directly. It also fixes a couple more bugs we found when operating under OS X Lion, and Bookmarkshelf Documents now sport Lion’s new Auto Save and Versions features.
Add To menu items have been added to the Status Menulet and Dock Menu, to complement the Add Here items added in version 1.6 beta. The Add to item has a submenu which remembers the ten most recent folders to which the the user has added a bookmark, in addition to the users’s default New Bookmark Landing.
Bookmarkshelf Documents now have the Auto Save and Versions family of features when operating in OS X Lion. Lion users can easily copy and paste or drag and drop bookmarks or folders from back in history, or roll entire Bookmarkshelf Documents back in time.
Fixed a bug, active when operating under OS X Lion, whereby edits made to a Bookmarkshelf would not dirty the red close button in the title bar, so the document could not be saved.
Fixed a bug which caused a Bookmarkshelf window to stop operating properly in various ways if one of the columns in the Find tab was set to display Add Date, Last Modified Date or Last Visited Date, always when operating under OS X Lion, and rarely when operating under one of the Leopards. A message regarding “Cannot remove an observer for the key path ‘xxxx.medDateShortTimeString’” was observed in the system console.
Added a new item, Sort By, to the contextual menu on items in the Content View and in the Find Report. This item is enabled for folders. It does a one-time sort of the folder’s content, by any of nine attributes (name, URL, shortcut, and Added Date, etc.), selectable from a submenu.
The Help Book now explains how to work through Google’s 2-Step Verification when syncing with a Google Bookmarks client. (See sec. 5.3.11.)
When operating in OS X Lion, a checkmark in the Always save unsaved changes when closing – Don’t ask checkbox in Settings ▸ Open/Save is ignored, because this feature is obviated by Lion’s Auto Save.
During an Export operation, if there are multiple Hard Folders which are present in BookMacster but not present in the Export Client (for example, Camino has neither Shared Bookmarks nor Reading/Unsorted), when the contents of these hard folders are merged into the client’s Default Parent, they are now inserted as contiguous blocks from each Hard Folder, instead of being interleaved.
Names of bookmarks and folders shown in the Dock Menu and Status Menulet are now truncated to a reasonable length so that the menu will no longer take over the screen if a folder happens to have a bookmark with a long name.
Throughout the application, in many places where text is truncated to fit in a desired space, whole words are removed if possible so that you won’t see “nons…se” or “gar…ge”.
The size of the Folder and Add To icons in the Status Menulet and Dock Menu have been reduced so that they are the same size as the menu font, making the menu more compact and allowing more items to fit on the screen, for the same font size setting.
All menu items in Status Menulet and Dock Menu now respect the Menu Font Size set in Preferences ▸ Appearance.
Added seven new AppleScript commands: import, export, quick import, quick export, make new local client, delete all clients, and write sync log. We added these for our automated regression testing, but they are documented in BookMacster’s AppleScript dictionary, anyone can use them, and we’ve already found them to be quite handy for other purposes.
When presenting an error from BookMacster-Worker or via the present last logged error AppleScript command, if the last logged error was a trivial error which should not be presented (User Cancelled, for example), BookMacster now displays the next non-trivial error, instead of silently presenting nothing.
Fixed a bug which caused, during export to an iCab client, if the iCab client did not have any bookmarks or folders in it at all, and thus no designated Favorites folder, bookmarks from BookMactser’s Bookmarks Bar were not exported.
Fixed a bug which occurred when attempting to import from an Other Macintosh Account Client – if the required disk was not mounted, instead of presenting an error, BookMacster would proceed as though this Client had no bookmarks in it.
Fixed a bug which caused some errors to not appear after BookMacster-Worker encountered an error and user clicked View Now.
Fixed a bug which caused unmatched items to be deleted during an Import with Delete Unmatched Items checked OFF, if a previous Import had been done during in the same window with Delete Unmatched Items checked ON, followed by an Undo Import.
Several anomalies have been removed during the writing of Sync Logs, so that Sync Logs now contain fewer spurious entries in corner cases.
Fixed a bug which caused BookMacster-Worker to crash after completing its work if a Trigger had recently become invalidated, for example, if a Bookmarkshelf document had an Agent with a Trigger that was supposed to activate when Dropbox updated its file, but the Bookmarkshelf had been moved out of the user’s Dropbox.
Fixed code which could sometimes cause a crash while launching or quitting BookMacster, if a Bookmarkshelf document was being opened or closed at the same time, particularly if these actions were driven by AppleScript.
XBEL exports now contain all bookmarks and hierarchy.
Summary. This update improves the user interface and user experience, particularly for those that are using BookMacster Directly.
Add Here menu items have been added to BookMacster’s Status Menulet. These items add a bookmark to the current web page, directly to the current Bookmarkshelf, in a designated folder. This new feature is supported when browsing in Camino, Chromium, Firefox (3.6-7.0), Google Chrome, OmniWeb, Opera, and Safari.
Upon clicking a bookmark in BookMacster’s Status Menulet or Dock Menu, if the active application is a web browser, the bookmark will be visited with that web browser instead of the browser which has been designated in the Inspector for that bookmark. The Help Book now explains explains how users can now use BookMacster to quickly visit any web page with any desired browser.
When triggered by a web browser app quitting, or by a drop from The Cloud, sync Agents are no longer subjected to the 5-minute delay but execute immediately.
In the main menu ▸ Window, added three menu items, with keyboard shortcuts, to reveal the Content, Settings, and Reports tabs.
In the main menu ▸ Selection, added three menu items, with keyboard shortcuts, to Add New Soft Folder, Add New Bookmark, and Add New Separator.
When creating a new bookmark using that menu item, or with the old “+” button in the Content view, if the clipboard contains a valid absolute URL, that URL is assigned to the new bookmark.
To make room for the Add New Soft Folder keyboard shortcut, and to emphasize that creating a New Bookmarkshelf should be rare, the keyboard shortcut for File ▸ New Bookmarkshelf has been changed from ⌘N to ⌘⇧N.
When users who have only one Bookmarkshelf Document begin to create a second Bookmarkshelf, they are now warned that this is usually undesirable, and are given options to either proceed, reopen their first Bookmarkshelf instead, or trash it before creating a new one, and are also given a Help Button which is linked to the appropriate place in the documentation.
Fixed a bug which caused a crash during an Import if the relevant Bookmarkshelf had its Sync Log ▸ Days to keep set to zero (0).
All menu items in the Status Menulet, including Bookmarkshelf Document Names, Quit BookMacster, and Show BookMacster, now respect the Menu Font Size set in Preferences ▸ Appearance.
Fixed a bug which caused error recovery in an Import or Export to silently abort in some cases, for example, if the operation required sending a query to a server on the internet which had just been queried during the last to minutes, and the user clicked Retry to indicate that BookMacster should retry when it was safe. That works now.
When opening a Bookmarkshelf Document, if a prior setting for Show Folders (Outline Mode) is not found for the document, which can happen if preferences were trashed, the setting now defaults to YES instead of NO.
BookMacster Agents now launch Worker processes with a nice value of 20 instead of 0, to minimize any performance impact on other processes.
Removed nonsense in presentation of error 519892.
Fixed a bug which caused the Delete All Content and Remove Bookdog Artifacts menu items to be incorrectly disabled after an Import operation which populated a previously-empty Bookmarkshelf.
Fixed a bug in Help Book which caused section 1.1 to have no title in the Table of Conents.
Fixed a bug which sometimes caused a failure to log into Delicious via OAuth.
Fixed a bug which caused Undo to fail at times, for example if an error occurred during an Import or Export operation, and then the operation was repeated. A message stating that there were too many Undo Groups open would be printed to the system console because the error preempted closing of an Undo Group.
Summary. Since the last production release, 1.5.4, this update fixes bugs triggered in OS X Lion, restores functions that were broken with the release of Firefox 5, improves the user experience particularly when errors occur, and incorporates other bug fixes and updates, including several affecting syncs with Firefox, Opera, Google Bookmarks, and Safari in OS X Lion.
The bookmarking widgets, import/export while browser is running, and automatic detection of bookmarks changes now work in Firefox 5, Firefox 6, and Firefox 7. (Users who have BookMacster’s Firefox Extension installed will be prompted to approve the update in Firefox upon launching this version of BookMacster.)
Fixed a bug introduced in 1.5.7 which caused the “Export ➞ Whatever ()” result to not appear, and all previous results to be cleared, after an Export operation under some conditions.
If the user clicks Cancel or if an error occurs while configuring a Choose File (Advanced) or Other Macintosh Account (Advanced) Client, the resulting non-functional Client is now always removed. (Non-functional Clients would cause errors later, typically Error 19675 : 541875 during a subsequent Import or Export.)
Note: This update does not support Firefox 5 beta. Mozilla fixed a bug last week which supposedly makes it possible for us to support Firefox 5 in an upcoming release.
The events which occur when an Import or Export operation exceeds the Safe Limit have been redeveloped to be more informative and less annoying, including an Undo for imports and a Dry Run for exports. When executed in the main application, an Import or Export which exceeds the Safe Limit is no longer treated as an error. If it occurs during an Import, the import is allowed to complete and the user is advised to examine the results and click Undo if desired. If it occurs during an export, the export is temporarily halted while waiting for the user to click Dry Run, Cancel or Proceed. Dry Run directs the user to the Sync Log report after the dry run is complete, so that the user can see what would have been changed. In either case, the dangerous option to Change Limit is no longer offered (but is still available elsewhere). When executed by an Agent’s Worker, an Import or Export which exceeds the Safe Limit is still treated as an error, but if the user clicks View, the dangerous and head-scratching Ignore Limit recovery option has been replaced with an option to Retry in the main application, which executes safely, as described above. Unlike the old Ignore Limit, Retry only executes the Import or Export that failed, instead of the whole sequence of Agent operations (typically Import, Sort, Export, etc.)
Exports to multiple Clients are now more independent of one other. For example, if an Export to a given Client is aborted due to the Safe Limit being exceeded, or if a browser must be quit but the relevant Trigger’s settings do not allow automatic quitting of this btrowser, exports to other Clients complete normally.
Fixed a bug, whereby under certain conditions, an import exceeding the Safe Limit could cause a prior action to be undone, if the import did not contain any changes.
When a browser is running and needs to be quit to effect an Import or Export (which is still necessary for browsers other than Safari, Chrome and Firefox), the situation now gets custom handling instead of being treated as an error.
Other improvements were made to the running of various tasks (Import, Export, Sort, etc.), both when run manually in the BookMacster app, and when sequenced automatically by Agents. The logic is now much more robust, and it’s now more likely to recover gracefully and less likely to present an error, and the behavior when multiple errors occur is better controlled.
When a new bookmark is landed by one of the Bookmarking Widgets or BookMacsterize Bookmarklet, or when a bookmark is moved or copied to a new location using the Copy To or Move To contextual menu commands, or the Copy To or Move To gear menu item in the Inspector, or the Move hyperlink in the Inspector, and if the landing folder is specified to be sorted when sorting occurs, the landing folder is now sorted immediately according to the Bookmarkshelf’s settings. In other words, items which are moved or copied into a folder without specifying their position (such as by dropping) are now put in their proper position automatically.
The term Diary has been renamed to Sync Log.
The term Safe Limit has been renamed to Safe Sync Limit.
Three “shortcut” menu items have been added under the Import and Export items in the Bookmarkshelf menu. They don’t add any new functions but make things easier to find for new users who are accustomed to the word Sync. Set Up Sync… opens the Settings ▸ Agents tab. Safe Sync Limit… guides the user to set a desired Safe Sync Limit for a particular Import or Export operation, like the Change Limit in the old Error dialog shown when the limit was exceeded, but with an improved animation. Show Sync Log opens the Reports ▸ Sync Log tab.
Supports the new Reading List in Safari in OS X Lion. During Imports and Exports, the Reading List maps into BookMacster’s Unsorted Bookmarks hard folder, the name of which has now been changed to Reading/Unsorted. This hard folder still maps into Firefox’ Unsorted Bookmarks too, so that bookmarks (not folders) in Firefox’ Unsorted Bookmarks sync to Safari’s Reading List and vice versa.
No longer fails to find Opera bookmarks when populating Client menus, or doing imports or exports, if Opera is freshly installed at version 11.11 without having had Opera bookmarks previously.
Updated method for determining the account currently logged in to Google Bookmarks so that Google Bookmarks can be reliably accessed with the current version of Google Bookmarks being served by Google.
Fixed a long sought-after bug which caused a Firefox Import or Export to fail, it turns out, on the first such attempt if Firefox was not running, and if BookMacster had to create the Library in Firefox because the user had never used the Manage Bookmarks function in Firefox (which was called Organize Bookmarks prior to Firefox 4).
When the contents of the Content View change for any reason, for example, sorting, if there are items which were selected, these same items remain selected after the change, even if they have moved.
When an operation (Import, Export, Sort, etc.) is completed, the result in the Status Bar no longer mixes results from repeated operations into the same item in the comma-separated list, but instead lists them as separate items, so that this is no longer a head-scratcher. The tooltip which is shown when text of old results overflows the Status Bar has been reformatted to be more readable, and the time that results are shown before being discarded has been increased back up to 10 seconds.
Fixed a bug which sometimes caused recent bookmarks changes in Firefox to be missed when importing from or exporting to a Firefox Other Macintosh Account client. This bug may also have affected simple Firefox clients (those on the current Macintosh account), although we’ve never seen this happen unless Firefox had crashed or been force quit. (Now checkpoints the Write Ahead Log used in Firefox 4.0 or later, before importing or exporting Firefox clients while Firefox is not running.)
Pre-processing to export a large Bookmarkshelf documents (thousands of bookmarks) to web a app Client (Google Bookmarks, Pinboard, Delicious) no longer takes a really long time.
Fixed a bug which caused spurious changes to be indicated when exporting to a Client if Special Options affecting mapping of items had been set. This is possible for Clients of Opera, Google Chrome, and Chromium.
When exporting to a Client which is not hierarchical, that is, does not support folders, the Merge Folders step, which can take several seconds in a Bookmarkshelf containing thousands of items, is now skipped.
Occasional failures to quit web browsers when needed to perform an Import or Export have probably been fixed, thanks to AppleScript guru Shane Stanley.
Fixed a bug which caused Undo to fail in some cases.
Fixed a bug which caused changes in item attributes, for example a bookmark’s name, to be not counted if the item had also been moved or slid within its family by an Import or Export operation. This could cause under-counting of changes, allowing an Import or Export operation which had over the Safe Limit number of changes to be not detected as such.
When performing an Import or Export to a web browser’s built-in bookmarks on another Macintosh account, the warning to quit web browsers on the other Mac account now has a checkbox to Don’t show this warning again, and this is also controllable in Preferences ▸ General.
When exporting bookmarks to an Other Mac Account client, no longer tries to set the Unix Group ID of whatever files are written. Prior versions would try to set the Group ID to the Group ID of the new file’s parent folder, which resulted in a failure, even after authenticating as an administrator, if someone had annointed this parent folder with a weird group ID such as 501. (We no longer try to copy other peoples’ mistakes.)
Fixed a bug which was introduced by a recent change in Mac OS X that caused no browsers bookmarks to be found when configuring an Other Mac Account (Advanced) client on another Mac, if the other Mac was not mounted with authentication as that other user.
Fixed a bug which could cause the sheet warning that a Bookmarkshelf must be in The Cloud to appear multiple times after a from The Cloud trigger is added.
Fixed a bug which caused a message about a Client entity being deallocated while key value were still registered with it to be printed to the system console whenever a Bookmarkshelf window containing a Client for which the Advanced Client Settings sheet had Special Options which had been showing was later closed. Theoretically, this also could have caused a crash or other subsequent unexpected behavior.
During Import and Export operations, the intervals when the Status Bar momentarily goes blank instead of showing a progress indication are fewer and shorter. Progress is shown more consistently.
Fixed a bug which caused the titles of the entries in the popup menu in a Bookmarkshelf window Reports ▸ Sync Log (formerly Diaries) to not update immediately when an entry was changed.
Cosmetic improvements were made in Bookmarkshelf window’s Settings ▸ Agents ▸ Simple.
Cosmetic improvements were made in Bookmarkshelf window’s Settings ▸ Clients. The tooltip explaining what a Client is now only appears when the mouse is over the Client List View, instead of when anywhere in the whole tab view.
Cosmetic repairs were made to the list of Clients presented during the New Bookmarkshelf wizard.
In a Bookmarkshelf’s Setting ▸ General, the By default, visit bookmarks with popup, and in Inspector, the Visit this bookmark with popup no longer contain empty menu items representing browsers which are supported by BookMacster but not installed on the user’s system.
Fixed a bug which caused exports to subsequent browser Clients to be aborted if an error occurred when exporting to a prior browser Client.
Automatic saving of a Bookmarkshelf when landing a new bookmark, in addition to occurring immediately after the bookmark is added, also now occurs, if the Inspector pops up, edits are made, and the Inspector is closed within 60 seconds.
No longer attempts to install a browser add-on which we know won’t work during each Import and Export operation. For example, BookMacster’s Firefox Add-On is not yet compatible with Firefox 5, pending resolution of a bug in a Firefox 5 component.
When creating a new Client for Opera, the Advanced Options to “Import items marked ‘Show on Personal Bar’ into Bookmarks Bar” and “Don’t import items from Trash” are now ticked ON by default.
Preferences ▸ Adding tab is now large enough to show the bottom of the last control withit clipping.
Advanced Agents with a Scheduled trigger now begin promptly at the scheduled time instead of being subject to the 5-minute delay that other triggers are subject to.
Fixed a bug which sometimes raised an exception and could cause future unexpected behavior including crashes and items appearing in the Content Outline as disclosure triangles with no name.
Fixed a bug which raised an exception, possibly causing unexpected behavior, if the ↑ or ↓ keys were hit while the list of Clients was being displayed in during the New Bookmarkshelf wizard, or while the Settings ▸ Clients tab was being displayed.
Clicking the “Perform” button in Agents ▸ Advanced to no longer quits web browsers if necessary to perform the commands if the options in the Trigger did not specify to do so.
Eliminated some unnecessary data in Bookmarkshelf Documents that have Safari Clients. Documents will be updated the first time that they are opened in this version.
Fixed a bug which caused clicking “Cancel” when presented with the dialog indicating that an Import or Export operation exceeded the Safe Limit of changes to not always undo the Import if multiple Clients were involved.
Increased the timeout for importing bookmarks while while a Client browser is running from 80 seconds to 90 seconds, fixed a bug which caused a crash if the timeout is exceeded, and changed the error message of this timeout to advise the user that the process can be speeded up by quitting the slow Client, usually Firefox.
The Cancel button has been removed from the sheet that shows the list of available Clients during the New Bookmarkshelf wizard, because at that point it’s already too late to cancel creating the document.
A Play Sound checkbox has been added to Preferences ▸ Adding so that users may land bookmarks from the BookMacsterize Bookmarklet or the Bookmarking Widgets in Firefox and Chrome in silence. Play Sound is on by default.
The Duplicate sound effect (two quick beeps) now always plays when landing a duplicate bookmark, instead of only when BookMacster is in the foreground.
In a Bookmarkshelf Settings ▸ Clients, it is no longer possible to add more Clients than are available on the user’s Macintosh account, which in previous versions resulted in phony clients labelled Under Construction… to be added. Also, bugs were fixed which could cause a crash later, after such a phony client had been added.
Fixed a bug which could cause the Do sort / Do not sort setting of folders which are initially visible in a Bookmarkshelf’s Content when opened to revert to their default setting.
Fixed a bug which, apparently, caused Client settings to not appear in the Settings ▸ Clients tab for some users.
Fixed a bug which sometimes caused duplicate bookmarks to be deleted during exports.
When opening a document and finding minor corruptions which can be fixed, even if some settings are unknown and must be reset to default values, added several cases where this is done so. (Prior BookMacster versions would refuse to open the document, and present an annoying error dialog, if any settings needed to be assumed.)
Similarly, when opening an old Bookmarkshelf and finding that an auxiliary file of Settings, Diaries or Identifiers is corrupt, now silently sets the unreadable file aside by adding a one or more “#” to the end of the file’s base name, and creates and uses a new file with empty/default settings.
Fixed a bug so that the middle button in the dialog which appears when landing a duplicate new bookmark now says Keep Both instead of the semi-sensible Keep matched item from Both.
Fixed a bug which caused a crash when opening some old Bookmarkshelf documents under Mac OS X 10.5.
Fixed a bug which caused a crash when attempting to import from or export to Firefox or Chrome if another instance of BookMacster was already running, or for some other reason Mac OS X refused to give BookMacster the port that it uses to receive data from Firefox and Chrome.
Added an Uninstall… operation which is executed by a new item in the File menu.
Now plays sound effects when landing a new bookmark from the BookMacsterize Bookmarklet or the Bookmarking Widgets in Firefox and Chrome.
Fixed bugs which caused the “Show Menu” menu item, which is present in the Status Menulet when BookMacster has been set to launch in the background, to not always show windows properly. Also, the name of this menu item has been changed to “Show BookMacster”.
Fixed a bug which caused an error to be displayed, indicating that a browser add-on could not be installed into Camino when attempting to import from Camino while Camino was running. The error was wrong because Camino does not support a browser add-on.
Fixed a bug which caused the Merge by URL option to be ignored on some imports.
Fixed a very old bug which caused the “Show on Personal Bar” attribute to not be exported to Opera bookmarks which should have had them.
Fixed a bug which caused the Bookmarkshelf Window to not be populated with text, and many of its functions to not work, or in Mac OS 10.5 to not open at all, if its Clients were web apps such as Pinboard or Delicious in some combinations.
Improved the Help Book sections 0.1.1 Getting Started and 1.2.2 How to Configure Syncing.
Fixed a crash introduced in version 1.5 which occurred when attempting a Quick Import from a Choose File (Advanced) Client.
A couple cosmetic fixes in the Bookmarkshelf window.
This update includes the first general release of our Firefox and Chrome extensions, which make it possible to detect bookmarks changes while Firefox and Chrome are running, import from and export to Firefox and Chrome while they are running, and, optionally, install bookmarking widgets which are nicer to use than the BookMacsterize bookmarklet. This version is also able to launch in the background, has major improvements to the sync triggering processes, uses a much more reliable method for identifying Firefox bookmarks, does a better job of watching its file for updates, and has many other improvements, updates and bug fixes. If you are syncing with Firefox as a Client, this version requires Firefox 3.6 or later. Enjoy!
The Bookmarks Changed trigger is now available for Chrome and Chromium as well as Firefox and Safari. For users who have directed an Agent to Import Changes from Clients, bookmarks changes made within these browsers are now imported within 5 minutes (and sorted and/or synced to other Clients and back into Chrome), instead of being deferred until the browser has been quit. If the computer is put to sleep or is shut down before the Agent activates, the operation is run after waking or starting up.
Added the capability to install Bookmarking Widgets into the Firefox and Google Chrome web browsers. These are more handy alternatives to the BookMacsterize Bookmarklet, for users who are keeping their bookmarks in BookMacster now instead of syncing browsers built-in bookmarks. To install a widget, check the appropriate box in Preferences ▸ Adding.
The New Bookmarkshelf wizard has been improved based on user feedback. Instead of offering to automatically activate Agents in most cases, it now offers to open to a little Getting Started diagram in the Help Book which shows the user how to get started, why Agents are sometimes used, and what should be done before activating one to make sure that there are no surprises.
Added a menu command BookMacster ▸ Manage Browser Add-ons, which opens a new window in which BookMacster’s Extensions and Plugins for Chrome, Chromium, and various Firefox profiles can be installed, updated, tested and uninstalled.
Running in a Macintosh account with a preferred language of French, German, Italian, Japanese or Spanish no longer results in a patchwork of English and non-English text in the user interface. For now, BookMacster is not localized; all text appears in English.
Vast improvements have been made to the reliability of the mechanism which triggers Agents to do sorts, syncs, etc. In order to work around the less-than-stellar reliability which we have observed in the launchd mechanism Mac OS X, we now re-create launchd agents after each use, and use our own mechanism to throttle them. In addition, Standby agents watch while an Agent is running, in case a system crash, logout or shutdown interrupts a Worker process. The whole thing is much more robust and self-healing.
In Preferences ▸ General, added a checkbox to Launch in Background. Users who are using the Bookmarking Widgets or BookMacsterize Bookmarklet, and are visiting bookmarks with the Status Menulet now have the option of keeping BookMacster completely in the background and not even in the Dock. To provide necessary control in this mode, two menu items, Show Menu and Quit BookMacster have been added to the Status Menulet.
In the Status Menulet and Dock Menu, when no Bookmarkshelf is open, the menu item Open Recent and Minimize has been renamed to Open Recent, Into Dock, and two more menu items have been added: Open Recent and Open Recent, Invisibly. The last item only appears when BookMacster is Launched in Background. So now there are three ways to open a Bookmarkshelf: in a regular window, in a regular window but immediately minimized to the Dock, and invisibly, in the background.
Added some graphics to the Bookmarkshelf tab Settings ▸ Agents ▸ Simple so it’s easier to visualize what each of the four checkboxes do.
If Worker is triggered to perform for an Agent while BookMacster is running, and the Bookmarkshelf which needs work is open in the BookMacster app, the Worker will now tell the running BookMacster to perform the work even if BookMacster is the active application, instead of ignoring the trigger. This is because the work usually performs syncing of bookmarks, and on the rare occasions when this occurs while the Bookmarkshelf is active in BookMacster (generally while either our Test Department or a user is stress-testing BookMacster’s synchronization by making multiple bookmarks changes in multiple browsers on multiple Macs sharing the same Bookmarkshelf via Dropbox™), we’ve concluded that it is more important to maintain synchronization of bookmarks than to worry about the user being interrupted once in a blue moon.
BookMacster is now more watchful of the document’s .bkmslf file. If another application moves or renames the file, BookMacster knows immediately, even if it is not the active application, and is less much less likely to be outsmarted by Dropbox™ or other sync services churning files around.
If an open and active Bookmarkshelf window has its file modified on disk (for example, due to an update by Dropbox™), the warning of conflict, with choice to Ignore or Revert, is no longer displayed unless the Bookmarkshelf has unsaved changes.
The warning dialog that “You have never exported this content to
When login to Pinboard or Delicious fails due to bad credentials in Keychain, the dialog of re-entering username and passwords is now commenced automatically.
File ▸ Revert now executes much faster since the document is no longer reloaded from scratch. It’s still not as smooth as, say, reverting a TextEdit document, but it’s as good as it gets without abandoning Apple’s Core Data technology, which we don’t want to do.
In the File menu, under submenus Quick Import and Quick Export, the suffixes have been changed from (Your Settings) and (Default Settings) to (Client Settings) and (QuickMerge – No Delete). The actions are the same, but we hope that they are better implied so that fewer people need to look them up in the Help Book.
Fixed a bug which, depending on their relative locations, could cause a bookmark which was duplicated in a single Client to only be imported once.
Reduced some unnecessary launches and re-examination of bookmarks by additional Worker processes after a first Worker process, which actually did something, had terminated.
BookMacster no longer creates or presents errors when Workers are unable to find Triggers, Agents, or Bookmarkshelf Documents required to perform tasks. The tasks are aborted silently.
Fixed a bug which allowed the index numbers of Triggers to sometimes get out of sequence when Clients were removed while the Agents were showing their Advanced view. This in turn could cause Agents to fail with an error that the requested trigger index was higher than the number of triggers available.
Fixed a bug which allowed the index numbers of Commands to sometimes get out of sequence when Commands were added and/or deleted in Agents ▸ Advanced view.
Fixed a bug which, under rare conditions, could allow two Agents to run simultaneously, giving unexpected results.
Fixed several bugs in the way that hidden proprietary attributes are exported to Opera, to conform to Opera version 11.x.
Fixed a bug which sometimes caused Agents to still be indicated in the user interface after they had in fact been automatically deleted due to an error.
When opening a Bookmarkshelf, the silent Integrity Test which runs now detects and corrects discontiguous indexes in any folders’ children.
Fixed bugs which caused Worker processes to be killed prior to normal completion if an error occurred. Although the user did not see this, its may have been causing other unexpected behaviors.
Fixed a bug which caused a warning to indicate that the document’s file has been modified by another application if problems were detected and repaired while opening a Bookmarkshelf, and said Bookmarkshelf was later modified and saved.
In menu BookMacster ▸ Logs, the number of updates given in Will save changes in Bkmslf enrties is no longer inflated above the true value.
When importing from multiple Clients, when merging folders, if merged folders come from different Clients, the folder that is kept is now reliably the one from the higher Client in the table of Clients (Settings ▸ Clients).
When deleting empty folders at the end of an Import or Export operation, folders which contain only other folders which were also emptied as a result of merging items and consolidating folders are now reliably deleted. (We now empty folders in order of depth, starting with the deepest.)
This version requires that Camino be quit before exporting or importing with it, which eliminates the possibility that bookmarks changes in Camino will not be imported. (Prior versions only required that Camino be quit before exporting.) The reason for this new restriction is that recent versions of Camino do not always write bookmarks changes to the disk until Camino has been quit, and also because Camino does not offer a facility by which BookMacster can use to access its bookmarks while it is running, as Safari, Firefox and Chrome now do.
Fixed a bug introduced in version 1.3.19 which caused, during an import operation from multiple Clients, folders which were not pre-existing in the Bookmarkshelf but came from an Import Client, and which were emptied as a result of merging bookmarks among the multiple Clients, to be imported into the Bookmarkshelf as empty folders, instead of being deleted as stated in the documentation.
When quitting Chromium in order to perform an Import or Export operation, if the user OKs installation of the Extension, for the next such Import or Export, Chromium no longer needs to be quit. (The Internet Plug-in which is installed along with the Extension now works with Chromium as well as with Google Chrome.)
If an older version of BookMacster is launched after using a version built with a newer data model, the error arising from the inability to log is now logged silently and is no longer presented to the user in an error dialog, several times.
In Inspector, if the Mac OS does not give a display name for a browser when displaying the Visit this bookmark with menu, now logs the error to the system console and substitutes an alternate name.
Possibly fixed a bug which causes, on rare occasions, the “BookMacster will now install an extension…” dialog sheet to appear twice when installing an extension into Google Chrome or Firefox, with the second sheet not rolling up until the window was closed.
The Bookmarks Changed trigger now works for Firefox as well as Safari Clients on the current user’s account. The Bookmarks Changed trigger causes changes in Firefox bookmarks to be sorted and/or synced to other Clients automatically, a few minutes after they have been changed, instead of being deferred until Firefox has been quit.
Fixed a couple bugs which could cause the dialog process for choosing a Client on with Other Mac Account to end without explanation before the browser had been chosen.
Fixed a bug, introduced in version 1.3.19, which caused the dialog process for choosing a Client on with Chooose File (Advanced) to show No Selection after a file had been chosen, and fail to Import or Export.
Fixed a bug which caused soft folders to be deleted and replaced with identifical soft folders (churned) when importing from a loose file (Choose File), closing the document, re-opening, and re-importing.
Fixed a bug which sometimes caused the same dialog to appear the next time, if user began to close a document with a new Export Client that had never been exported to, and then clicked Export and Close in response to the warning of that.
Fixed a bug which, if user began to close a document with a new Export Client that had never been exported to, and then clicked Close in response to the warning of that, with certain documents, if one of the columns in the Content or Reports ▸ Find tab had been set to show ‘Tags’, sometimes caused a crash.
Fixed a bug which could cause our Chrome Plug-In to display a “unexpectedly quit” crash dialog as it Chrome was quitting.
Moved the location of our Chrome Plug-In in the package, from Contents/Resources, to Contents/Plugins, per Apple recommendation TN2206.
This release is alpha because it updates your Bookmarkshelf documents in a couple ways, and more importantly it includes our new Firefox Extension. For now, the extension merely allows BookMacster to export to or import from Firefox without quitting Firefox. We plan that the next version will install a Firefox menu item to replace the BookMacsterize bookmarklet, and allow changed Firefox bookmarks to trigger an Agent before Firefox quits, working as we do now with Safari.
To install the Firefox extension, launch Firefox, then open a Bookmarkshelf in BookMacster 1.3.19, and Import from (or Export to) Firefox. If you don’t want the import, either click Edit ▸ Undo Import or close the document with Don’t Save. If you have multiple Firefox profiles, this must be done for each profile.
We’ve found that Firefox is quite slow to insert and delete new bookmarks. While this is not an issue during normal day-to-day operation when you’re adding a few bookmarks, if you’re doing a “wholesale” export which inserts or deletes hundreds of bookmarks, it will be much faster to quit Firefox so that the our old method will be used instead. On a typical Mac, with Firefox running, expect 4 minutes per thousand bookmarks, during which time Firefox will beachball.
This version drops support for Firefox 3.0 - 3.5. Import or Export of Firefox bookmarks with this version of BookMacster now requires Firefox 3.6 or later.
Changes in this version:
No longer requires that Firefox be quit during import or export with Firefox (except for the first import or export after this update, or once after a new installation of BookMacster, to allow a Firefox Extension to be installed.)
Improved performance during Delete All Duplicates, Delete All Content, and Consolidate Folders operations when large numbers of items are being deleted, by reducing peak memory allocations.
Improved performance when moving or deleting large numbers of items in the Content View, by reducing peak memory allocations.
Improved performance when importing large numbers of Firefox bookmarks
Landing a new bookmark from the BookMacsterize Bookmarklet now resets the filter criteria (Quick Search text and Tag Filters) in the Bookmarkshelf’s Content View, so that these filters no longer prevent the new bookmark from being selected and thus displayed in the Inspector.
An Agent is no longer removed when its last Trigger is removed in Settings ▸ Agents ▸ Advanced. This is to allow advanced users (and our Automated Testing Department) to employ triggerless Agents which are run via BookMacster’s perform
When relaunching a web browser application after an Import or Export operation which required it to be quit, if multiple instances of said web browser are installed, now always relaunches the same instance which had been quit.
This version makes better decisions of which item to keep during Delete All Duplicates operations, Consolidate Folder operations, and the Merge Folders phase of Import and Export operations.
Fixed a bug which caused a crash later, after clicking in the menu File ▸ Quick Import ▸ Delicious-Yahoo! (New/Other).
Fixed a bug which aborted an import or export requiring all bookmarks to be requested from the Pinboard server, and displayed an error, saying that an identical request had been made less than two minutes ago and that the operation could result in the user being temporarily being banned by the server, if in fact the prior request had actually been made to Delicious and not Pinboard, or vice versa.
Fixed a bug which caused changes made to Clients ▸ Advanced Settings ▸ Export ▸ Safe Limit to sometimes not be registered after the document was closed.
Fixed a bug which caused errors originated by BookMacster-Worker (Agent) processes to sometimes be displayed and logged several times.
Fixed a bug which caused the Verify operation to end before all eligible bookmarks were verified upon encountering a bookmark with no name (nil, not an empty string).
Fixed a bug which caused a warning to be displayed saying that Google Chrome Sync was syncing Bookmarks, when in fact it was syncing only other data, for example Apps and Extensions.
If a Firefox profiles.ini file is not accessible during Import or Export with a Firefox client, BookMacster-Worker now generates an error message instead of crashing.
Now, automatically sets aside corrupt Settings files so that Error 315006 is not displayed repeatedly.
More explicit instructions recovery instructions are given for Error 354160.
Omits exporting bookmarks whose scheme is “chrome://” to Firefox, since Firefox chokes on them.
No longer stores normalized and un-normalized URLs of bookmarks as separate attributes; all URLs are normalized immediately upon import or other entry, and only this value is stored and exported to all Clients, whether the Client normalizes URLs or not. (At this time, Chrome, Delicious, Firefox, Google Bookmarks and Pinboard all do normalization, and although Chrome and Firefox are quite similar, none of them behave exactly the same in all cases.) This is mostly an under-the-hood change to reduce complexity and increase efficiency; however it has some noticeable facets. For example, if the user types in a new bookmark with url “http://apple.com”, a trailing slash (path) is now added as soon as the entry is complete, changing it to “http://apple.com/”. URLs in Bookmarkshelf documents created with earlier versions of BookMacster are silently updated and the documents are re-saved immediately when they are opened with this version of BookMacster. Note: URL normalization is called canonicalization by developers at Google.
Now uses a more robust globally unique identifier (guid) when matching Firefox items during Import and Export, instead of the primary key. This should eliminate some rare but annoying corner cases wherein a Firefox export would fail indicating an “SQL Error” of some kind. For Bookmarkshelf documents created with earlier versions of BookMacster which have Firefox Clients, their associated external identifiers (Exid) files are silently updated when the associated document is opened for the first time with this version of BookMacster. Also, if items in the Firefox database do not already have globally unique identifiers (as is the case if the user has never used Firefox 4.x and never used any other bookmarks management application), globally unique identifiers are created and added to Firefox’ bookmarks database.
Uses a more robust algorithm for importing and exporting to Chrome while Chrome is running, to eliminate some corner cases where items could get their identifiers crossed, causing them to end up in the wrong location.
Eliminated a performance bottleneck which occurred while opening or scrolling through items in the Content window which are associated with (Advanced) Clients that are Loose Files which have been deleted since the last Import or Export.
Items in a Bookmarkshelf newly-created by a Save As operation no longer incorrectly show Diary entries, Clients and associated external identifiers from the spawining document until the new document is closed and re-opened. Also, new associations are now correctly set if an Import or Export operation is executed before closing and re-opening.
Eliminated memory leaks of auxiliary objects (external identifier links, diary records, settings) after Bookmarkshelf documents are closed.
Eliminated unnecessary storage of empty external identifier links for Content items that are not associated with a Client.
When BookMacster-Worker sends an AppleScript message to BookMacster to display duplicates found or display an error, it now specifies the path to BookMacster currently in use, which eliminates the possibility that Mac OS X will choose the wrong BookMacster in the event that the user has more than one copy of BookMacster on their computer.
No longer modifies some URLs during an Export to Google Chrome. Examples: No longer deletes the path portion of a URL if it is ‘index.htm’ or ‘index.html’; no longer removes trailing slashes on non-empty paths. Some of these modifications could cause a some bookmarks to visit the wrong site. (Succinctly, no longer normalizes, or as they say canonicalizes URLs when exporting to Google Chrome.)
Fixed a bug which could cause BookMacster or BookMacster-Worker to hang during an Import operation. The only known trigger for this bug was having multiple Import commands in the same Agent, which is odd, and only affected BookMacster-Worker. But possibly there were other triggers.
Reliably re-activates the correct web browser, in cases where the Inspector does not show, after landing a new bookmark from the BookMacsterize bookmarklet. In particular, no longer activates Safari when the bookmark came from Google Chrome. (Digs out the sender of the Apple Event instead of trying to decode its User Agent string.)
When creating a New Bookmarkshelf, for the first Client, under Advanced Settings ▸ Export ▸ Merging, the *Keep matched item from” is no longer set to the Client but is set to “Bookmarkshelf”, same as the other Clients.
Fixed logging into Google Bookmarks, to accomodate recent protocol changes by Google. (Gets GALX from HTML if not provided as cookie.)
When asking if a browser should be relaunched during an Import or Export, other tasks in the Import or Export are now postponed until the user clicks their response. This is to reduce user confusion, and also prevents sheets from being left hanging if the user clicks responses out of order.
Now reliably gets even the lastest changes when importing frome Google Chrome while Chrome is running. (Chrome Imports now also use Extension if Chrome is running).
If a web browser must be quit in order to complete an Import or Export operation, the dialog sheet announcing this no longer bears the ominous title “Error: 1060”.
Bookmarks dragged from the Show All Bookmarks or Show All History window of Safari version 5.0.3 or later are now accepted as drops.
When installing the Extension into Google Chrome, if the window which opens in Google Chrome is not wide enough to show its extension-installation controls in its status bar, now makes this window wider.
Menu items Bookmarkshelf ▸ Import and Export now list Clients in correct order.
Added checks to prevent crashes when dealing with Clients that were incompletely constructed for some reason.
In the Inspector Panel, Identifiers drawer, any new Clients’ identifiers are now updated after an Export without switching to a different item and back.
Additional information is now provided with Error 1538022.
During Import or Export with Firefox, the progress bars in the Status Bar are now all consistently sized to complement the progress text.
Note to our beta testers: Version 1.3.14 is exactly the same as version 1.3.13 except that the label Beta has been removed. Thank you for testing!
Now supports Firefox 4.0 which is in beta. No longer fails to Import or Export bookmarks which have been written by Firefox 4.0 beta with Error 453008.
Other improvements to the robustness of Firefox Imports and Exports.
No longer requires that Google Chrome be quit before exporting to Google Chrome (except for the first time after this update, or once after a new installation of BookMacster, to allow our new Chrome Plugin and Chrome Extension to be installed.) Note: This does not yet apply to Firefox, but will in a future version.
When moving items from one Bookmarkshelf document to another using the Move To… contextual menu item or drag and drop, the Move operation is silently changed to a Copy operation, meaning that the items are not deleted from the source Bookmarkshelf document. This is to conform to Apple Human Interface Guidelines.
A New Bookmarkshelf now has its Safe Limit for Import and all of its Export clients set to 25 changes maximum. This is so that new users who click Later instead of Do It when asked if an Import should be performed during the New Bookmarkshelf Wizard will not accidentally delete many bookmarks in their Clients if they later Export before Importing. Also, additional warning text now appears if more than 25 items are set to be deleted.
The Ignore Duplicates in Different Hard Folders setting now considers bookmarks which descend from soft folders which descend directly from Root to be in the Root, and consider the Root to be a Hard Folder.
Fixed bugs which sometimes caused exceptions to be logged, or values of prior selections to be displayed in the Inspector, and fields to be enabled in the Inspector, when there was no selection to edit.
Fixed bugs which sometimes caused the Duplicates Status near the top of the Reports ▸ Duplicates tab to not be updated after duplicates were eliminated.
Fixed bug which caused hyperlinks in Help Book to fourth-level headings to be broken links.
Fixed some program code which may have been allowing the Verify operation to abruptly stop on rare occasions.
Fixed a bug which sometimes caused items to not be deleted in the Client during an Export operation, which could lead to duplicate items.
In the Client’s Advanced Settings sheets, the controls to Merge By URL are no longer disabled when the corresponding Delete Unmatched Items box is checked.
Now properly exports items to Bookmarks Bar in Opera 11. (Note: In previous Opera versions, the Bookmarks Bar was called Personal Bar.)
Now properly presents several strings regarding Opera when Opera 11 is in use; no longer substitutes the word “Opera” in some controls.
Fixed a bug which could cause items deleted during an import to remain as unconnected orphans in a .bkmslf file.
In various contextual menus, the Show Inspector item is no longer permanently disabled. It is now enabled if the Inspector is not showing, and absent if the Inspector is already showing.
Added a Consolidate Folders menu item in the Bookmarkshelf menu. This command merges like-named folders in the same parent folder into one, and deletes any empty soft folders in the Bookmarkshelf.
Now supports the beta version 11.0 of the Opera web browser.
Fixed a bug which aborted drawing of the hierarchical menu in BookMacster’s Status Menulet upon attempting to draw a Separator which had been imported from an XBEL file.
Separators in BookMacster’s Status Menulet are now properly drawn as actual menu separator items instead of as bookmarks named “Separator”.
Upon opening a Bookmarkshelf, now detects and silently deletes any conflicting agents from deleted Bookmarkshelf documents. Such a “ghost agent” can be created by setting an Agent in a Bookmarkshelf, then closing it and deleting the .bkmslf file, then creating a new Bookmarkshelf at exactly the same file path as the one which had been deleted.
In the Settings ▸ Clients tab, hovering the mouse over a Client popup set to a Choose File (Advanced) type of Client now produces a tooltip which shows the path to the Client’s file.
No longer produces extraneous warnings in console log during creation of a Choose File (Advanced) Client.
No longer produces extraneous warnings in console log during Import or Export of Google Bookmarks Clients.
Errors produced when unable to open a Bookmarkshelf document now include information about the parent process.
Triggers based on Clients are now only allowed for Clients which have the Import option checked ON, and if a Client is deleted or if a Client’s Import option is checked OFF, triggers based on watching it are deleted.
Simple Agents now properly re-set the underlying (Advanced) Agents when Clients are added, deleted, or activated or deactivated for Import.
Checking integrity of Agents is now performed when a Bookmarkshelf window is closed, instead of when it is saved. This is to reflect the fact that, in recent versions, Agent settings have been stored as Local Settings, and not in the Bookmarkshelf document file.
Fixed a bug which caused extraneous entries in the system log when bookmarks in Soft Folders were exported to Clients such as Google Bookmarks which do not support Soft Folders.
Fixed a bug which could cause a crash after beginning to add a Google Bookmarks client but cancelling during the process.
Fixed a bug which caused some Bookmarkshelf documents last saved with BookMacster 1.1.x or earlier to fail to open.
Import and Export statistics (shown in the Status Bar after an Import or Export), and also the Diary Reports, now report a fifth change type called Moves (↖), which indicate when an item has been moved to a new parent. Prior to this, there were four change categories: Additions (+), Updates (Δ), Slides (↕), and Deletions (-).
During an Import or Export operation, when multiple items which are in the root level of the source cannot be mapped into the root level of the destination due to its structural restrictions, they are now mapped into the default parent using the same order in which they appeared in the source.
During login to Import or Export with Google Bookmarks, now properly handles when Google acknowledges a non-Google account name with an @googlemail.com account name. This can occur if a Google account is created with a non-Google email address, which gets into the user’s Mac OS X Keychain as such, and a BookMacster Client is created with this account name, but in the meantime a @googlemail email is added to the account. Prior verions of BookMacster were able to handle if a @gmail.com email address was added and returned, but in some European countries, Google uses googlemail.com instead of gmail.com.
This version has several bug fixes and performance improvements. (Early adopters who have 1.3.3 may skip this update since there are no new changes.)
Eliminated a performance logjam which would cause seconds of beachballing after making any change to the Content, in a Bookmarkshelf with many thousands of bookmarks and many duplicates.
Eliminated a performance logjam which occurred when importing a large XBEL file containing many duplicated bookmarks that also do not have externally-supplied identifiers.
Fixed bugs which prevented Bookmarkshelf documents created on very old versions of BookMacster from opening.
Eliminated occurrence of Error 32452 when setting an Agent on some Macs which, for some strange reason, require -w or -F option to launchctl(1) in order to load some launchd jobs, even if the launchd job does not have a ‘Disabled’ key.
Important: If you are syncing bookmarks via The Cloud, after you install this update on one Mac, current (older) versions of BookMacster on your other Mac(s) will display an error when attempting to open synced bookmarks, until you update their BookMacsters too. Just click in the menu BookMacster ▸ Check for Update to fix the problem. (Improvements in this update will make this process neater in the next update.)
In Import and Export settings, the terminology Clean Slate has been changed to Delete Unmatched Items.
Now able to import and export bookmarks files in the XML Bookmark Exchange Language (XBEL) file format. Therefore, migrations are now possible between other bookmarks management applications which also support XBEL, such as URL Manager Pro™ and Webnote™.
In the File menu, added two new items, Quick Import and Quick Export. Usage is explained in a new section in the Help Book.
After purchasing a Regular License on one Mac, if syncing a Bookmarkshelf to on other Macs via The Cloud, it is no longer necessary to manually copy the new License Information to the other Macs.
Added ability to set text color for each bookmark and folder (Inspector Panel).
Added preference to set font size of contextual menus and status menulet menu (Preferences ▸ Appearance).
In BookMacster’s Status Menulet, the three Visit items now appear in contextual menus on the first click, even if the clicked document window is not yet the frontmost or key window.
Now remembers deleted items if an Export operation fails to a certain browser, and ignores them on subsequent imports. This prevents, for example, deleted bookmarks from reappearing if export fails because a non-cooperative web browser is running, and then later bookmarks are re-imported from this browser/Client.
When this version of BookMacster attempts to open a Bookmarkshelf document created by the next version of BookMacster (as will happen if a user updates BookMacster on one Mac, saves a Bookmarkshelf, that Bookmarkshelf gets updated via The Cloud to another Mac, and then either the user or an Agent attempt to open that Bookmarkshelf on the other Mac), a concise message will be displayed, with a Check For Update button to solve the problem immediately.
When creating a new Bookmarkshelf, if no other Bookmarkshelf is set to open when BookMacster launches, the new Bookmarkshelf is now automatically set to do so. If other Bookmarkshelf(s) are already set to open when BookMacster launches, now presents a sheet asking user “Yes” or “No”.
If a Bookmarkshelf is created with Client(s) whose Export is checked ON, and the user attempts the close the document before exporting at least once to all such Export Client(s), a warning sheet will appear with recovery button options “Close”, “Export and Close”, and “Cancel”. Clicking “Export and Close” will export to those Client(s) which have never been exported to by this Bookmarkshelf. This warning will never appear again, even on subsequent launches, after each such Export Client has been exported to at least once. It will appear again if the user adds a new such Export Client, and attempts to close before exporting.
Now able to migrate the hidden Application Support files (Logs, Settings, Diaries and External Identifiers) after doing a multiple-hop update of the application. Multiple Hop means to update from a much older version. (Previously, multi-hop migration worked for Bookmarkshelf document files but not Application Support files, so that the Open/Save, Clients, and Agents settings would be lost.)
When executing a Revert operation, the After opening this document, do automatically actions (sort, import, find duplicates), if any are set to go, are now skipped.
The Settings ▸ Clients panel now updates to show the new order after the up or down buttons have been clicked to change the order. This was apparently broken in one of the 1.1.x updates.
Eliminated redundant processing which caused a spinning beachball for a long time at the end of “Find Duplicates”, if there were already a lot of duplicates which had been found previously.
Error 19675 is now displayed with a Recovery Suggestion explaining how to fix the problem. (But we’re still trying to figure out why this error has occurred for a few people.)
Fixed a bug which caused the “Add” ([+]) button for Commands in a Bookmarkshelf’s Settings ▸ Agents ▸ Advanced to not function in some circumstances.
Added a Export Bookmarklet to ▸ item in the File menu, so that users who prefer to not have any Clients but bookmark directly in BookMacster (Usage Style 3) can now insert the BookMacsterize bookmarklet only into desired Client browsers, without exporting any other items, and without jumping through any hoops.
When the new Dropbox version 0.8.x “Experimental” is in use, now correctly finds the Dropbox folder, and no longer incorrectly reports that Dropbox account information could not be found.
Fixed a bug which caused the BookMacsterize bookmarklet to not be inserted into a New Bookmarkshelf if no Clients were added during the New Bookmarkshelf wizard.
Fixed two bugs which caused bookmarks at the root level displayed in the Dock Menu or Status Menulet to (1) have a submenu and (2) not visit their site when clicked, if only one Bookmarkshelf was open.
When an Agent is performed by a Worker or by a Worker messaging the BookMacster main app, if an Import or Export to a browser Client cannot be completed due to the browser running and insufficient settings to quit it, the Commands are not completely aborted; some later operations still occur. In particular, other Clients later in the Export still receive their exports if possible, and the Save Document command is still executed.
If a Worker ends in error, and user clicks “View” in the dialog which is presented, instead of opening the Error Log, BookMacster now presents the error in a dialog. This is advantageous if the error is that of Safe Limit being exceeded, because the recovery option to simply re-perform the Agent’s commands while ignoring (“Ignore Once”) the limit is now available.
Fixed bug which could cause Settings ▸ Agents ▸ Advanced view to become unresponsive if multiple Agents were listed and the selected Agent was changed.
Queries from Agents are now inhibited during the updating of a Bookmarkshelf (database migration), when a Bookmarkshelf is opened for the first time by a version of BookMacster which requires such updating. This eliminates a potential for trouble which may or may not have occurred for some users during previous updates.
Fixed cosmetic defects in Reports ▸ Diaries table.
The Structure of a New Bookmarkshelf created with no Clients is now, by default, able to accept all items (bookmarks, folders, separators) in its Root.
This version has a half-dozen bugs fixed, and is better able to handle corruptions in Firefox bookmarks and OmniWeb files. Beta versions 1.2.2-1.2.5 have been rolled into this production version.
Fixed a bug which caused, in Bookmarkshelves with multiple Clients, when an Import : Triggering Client operation was executed, items deleted in a Client to not be deleted in the Bookmarkshelf nor the other clients, and consequently reinserted into the Client from which it was deleted, unless the Client was the last active Import Client.
If a Bookmarkshelf document is not found when attempting to open it, now removes that document, if it was present, from the list of documents which BookMacster attempts to open automatically upon launch.
Fixed a bug which caused the “Open this document when BookMacster launches” checkbox in Settings ▸ Open/Save to sometimes indicate a checkmark when in fact the switch was off, and probably this was most likely if the document was created by an old version of BookMacster.
Fixed a bug which caused RSS Articles in Firefox Live Bookmarks (which are imported but not displayed in BookMacster except in a tooltip when hovering over the Live Bookmark) to not always be exported back out to Firefox.
More tolerant of corruption in Firefox database. During an Export to Firefox, now deletes orphaned items found in the Firefox database, so that they can no longer cause the export to fail with SSYSqliterErrorDomain error 453009 : Sqlite error “PRIMARY KEY must be unique” when attempting to insert a legitimate new item with the same identifier as the orphaned item.
Fixed a bug so that Visit Count and Last Visited are now correctly imported from OmniWeb.
During an Import from or Export to OmniWeb, improved ability to recover from reading corruptions in OmniWeb’s Preferences and History.plist files.
During an Import or Export from Firefox, no longer hangs when encountering a corrupt bookmark which claims to be its own parent.
Now built with LLVM Compiler 1.5 instead of GCC 4.2.
Automatic cross-browser synchronization across multiple Macs is now no longer restricted to using Dropbox™ – other in the online file-syncing services can be used.
Now supports the iCab Internet Taxi as a Client.
Now supports Pinboard – Social Bookmarking for Introverts as a Client.
Fixed a bug which caused some of the hidden proprietary attributes which are only used used by one type of browser client (for example, the Last Checked Time in OmniWeb) to be lost after multiple round trips of Import and Export.
Because this update is to fix a bug in Reports ▸ Find, most users will
In tab Settings ▸ Agents ▸ Advanced ▸ Commands, corrected the logic so that the popup menu indicating Cancel job if it is pre-empted by browser running, Quit browser and relaunch if needed, and Force quit browser and relaunch if needed are available for additional trigger types.
When asking user’s permission in a dialog to quit or force quit a web browser application in order to accomplish an Import or Export operation, the message now correctly states that permission is granted not only for the current web browser but for other web browsers that may need it during the operation.
Fixed a bug which caused License Information to fail validation if Licensee Name contained a multi-byte UTF8 character near the 8th position.
Corrected Sec. 1.2 of Help Book to explain how you can still use MobileMe and iSync to sync Safari bookmarks to your iPhone and iPad, while using BookMacster’s new Dropbox™ integration for cross-browser syncing on your Macs.
If duplicate external identifiers are encountered during an Import or Export operation, instead of aborting the operation with an error, now silently attempts to set new nonduplicated identifiers as required. If this succeeds, just logs the issues to the console and continues.
Summary. This is the first production release of BookMacster 1.1.x. Since our last production release, version 1.0.5, back in May, we’ve added automatic cross-browser syncing of bookmarks between multiple Macs, simplified the user interface, made many bug fixes, and also some updates to support recent changes in browser applications.
Regarding that email you may have gotten… Regular licensees who had not opted out received an email from us on July 15 asking for feedback on a proposal to make BookMacster a non-document-based application like, for example, iTunes. Thank you for your feedback. We decided to not do that.
LIST OF CHANGES
Changes in all the 1.1.x beta versions have been consolidated into the following single record. For differences since the last beta 1.1.21, see Incremental Changes.
Now features automatic cross-browser syncing of bookmarks among multiple Macs, using a free Dropbox account.
The New Bookmarkshelf wizard has been redesigned so that it only hits the important points, and in an understandable way. In particular, it no longer requests selecting a Usage Style.
The Settings ▸ Clients tab is now clean and understandable. There is only one list of clients, instead of separate tables for Import and Export, crowded with confusing attributes. Advanced Settings for each Client and advanced Import Postprocessing have been moved into sheets, which have plenty of room and are customized as required for the Client type.
The Settings ▸ Agents tab has been subtabbed to show a Simple or Advanced view. The default Simple tab has only four checkboxes and a button, and can configure the Agents desired by most users. The Advanced subtab contains the old Agents view, with its three tables, allowing custom setting of multiple Agents, Triggers and Commands.
The checkbox in Settings ▸ General to Show Advanced Settings has been removed. Advanced settings are now hidden individually, as described in the two previous items.
Referring to the Settings tab in the Bookmarkshelf document, settings in the Open/Save, Clients, and Settings tabs are now stored as a user preference for that particular Bookmarkshelf, instead of in the Bookmarkshelf itself. This has been done to support file syncing schemes such as Dropbox, so that the same Bookmarkshelf can have different Open/Save behavior, different Clients, and different Agents when opened on different Macintosh accounts. It also means that changes to these settings are not undo-able and do not result in the Bookmarkshelf having unsaved changes, because user preferences are automatically saved, immediately, to a data store in ~/Library/Application Support instead of to the .bkmslf file.
The order of the subtabs in Settings has been changed so that the three whose settings are saved in the .bkmslf file (General, Sorting, Structure) are followed by the three whose settings are not saved in the .bkmslf file (Open/Save, Clients, Agents). The latter are now referred to as “Local Settings” and are so noted in their tabs.
The Status Bar along the bottom of the Bookmarkshelf window has been reduced in height, and given a snazzy gray background gradient, so that it complements the toolbar and looks more like the status bar in other apps such as Safari, Xcode, iTunes.
Added an option in Clients ▸ Client Advanced Info, for Google Chrome clients, to Don’t Use ‘Other Bookmarks’. When this box is checked, during Import, items from Chrome’s Bar and Other Bookmarks are combined into BookMacster’s Bookmarks Menu, and during Export, items from BookMacster’s Bookmarks Bar and Bookmarks Menu are all exported to Chrome’s Bookmarks Bar (which means that they all appear in the Bookmarks menu).
Added an option in Clients ▸ Client Advanced Info, for Opera clients, to Don’t Import Trash. When this box is checked, during Import, the Trash is ignored. During Export, it is stashed while items are merged, and then inserted at the end of the Opera bookmarks just before the Opera bookmarks file is rewritten.
Individual RSS Article links which are imported from Firefox as constituents of Live RSS bookmarks are no longer exported to OmniWeb as regular bookmarks. Only the Live RSS bookmark itself is exported to OmniWeb, the same behavior as when exporting to other Clients.
Firefox’ Smart Bookmarks are no longer exported to Safari, Camino, Opera or Google Chrome. (Google Chrome immediately deletes them anyhow.)
Import and Export with an Other Macintosh Account now Actually Works™ for Macintosh accounts on the same Mac, as well as those on other networked Macs, except that for OmniWeb Clients it requires Mac OS X 10.6 or later.
Import and Export with Firefox bookmarks on an Other Macintosh Account on another networked Mac is now much faster. (The actual change is that for all Other Macintosh Account clients, we now copy the file to the local Mac, do our transactions, then copy it back. For most Clients, it doesn’t help, but for Firefox it is much faster because the old way required sqlite transactions to be sent over the network.)
When an Import or Export operation attempted with a Client on an Other Macintosh Account is interrupted by a Warning to make sure that the client web browser on the other Mac account is not running, clicking the “Proceed” button now inhibits the warning (for 3 minutes) and retries the operation automatically. The user no longer needs to guess that they should retry the operation manually.
The Agent Command choices Import and Export have each been bifurcated, so that in the Advanced view we now we have instead these four choices: Import Triggering Client Import All Clients Export Triggering Client Export All Clients The All Clients versions behave the same as the old Import and Export commands. The Triggering Client versions only operate upon the Client browser which triggered the Agent. For example, if there are three Import Clients, one of which is Safari, and if one of the Triggers is Bookmarks Changed : Safari, then when Safari bookmarks change, if the Import command is Import Triggering Client, then only Safari bookmarks are imported. Since this is what users will want most of the time, it is the new default when creating a Simple Agent, or when creating an Advanced Agent from scratch. The default Export command is still Export : All since was and is what most users want. Users who want to convert an existing Simple Agent to the new behavior may do so by checking OFF and then back on the Simple Agent. For an Advanced agent, change the Command in the popup.
In Settings ▸ Structure, the option to Configure this document’s structure automatically… [for] Import Clients has been removed. Some background to explain the new behavior: The automatic or non-automatic configuration had affected had three groups of items: (1) which Hard Folders (Bookmarks Bar, Bookmarks Menu, Unsorted Bookmarks, My Shared Bookmarks) were present in the Bookmarkshelf, (2) the types of items were allowed at Root (Hard Folders, Soft Folders, Bookmarks, Separators) and (3) the Default Parent for importing. In the new version, automatic configuration of groups (1) and (2) is still performed when a Bookmarkshelf is initially created and whenever Clients are changed, but there is no effort made to update them if the Bookmarkshelf is later re-opened on a different Mac account which has different Clients. (If there were, and if the Bookmarkshelf were synced via Dropbox or other means to different Mac accounts which had different Clients for the Bookmarkshelf, there would be a continual argument – an infinite loop – between the two accounts. This is because different Clients are now possible on different Mac accounts). Regarding (3), the Default Parent, this is now set only when a Bookmarkshelf is initially created but never again. All of the settings can still be changed manually – (1) and (2) in Settings ▸ Structure, and (3) in Settings ▸ Clients ▸ Import Postprocessing (Advanced).
Updated method for authorizing the Client, when adding a Delicious Yahoo! Client, to comply with new security restrictions recently imposed by Yahoo! Because the Yahoo! web page will no longer invoke BookMacster using a custom url scheme, when authorizing BookMacster to access a Delicious account for the first time, users must now copy an authorization token from their web browser and paste it into BookMacster.
When adding a Delicious Client (either Yahoo! or Old Skool), if authorization fails or is cancelled, now deletes the non-functioning Client.
During an Export operation, the Safari Logins Bookmarklet created by 1Password version 3.x, is now only exported to Safari Clients. (This is the same behavior as we’ve had for the old 1Password 2.x bookmarklet.)
When a Worker is triggered to perform for an Agent, and it finds that the BookMacster main app has the required Bookmarkshelf open in the background, and it therefore messages to BookMacster to perform the work, and if BookMacster needs to quit a browser in order to execute an Import or Export command, and if it has been so authorized by the detail setting in the command, and so quits the browser, now it no longer displays a sheet asking the user if said browser should be relaunched first. It just relaunches it without asking, since this is what the Worker is expected to do if the Worker had done the work itself. The said sheet now appears only if the command was initiated manually by the user.
If an Agent’s Worker is triggered by a Bookmarks Changed trigger (only available for Safari), instead of reacting immediately, Worker now sleeps a minimum of 60 seconds after the trigger before executing its first Command. This is in case the user makes additional changes. For example, if a user creates a new bookmark in Safari, the change is detected immediately. If ten seconds later the user renames or moves the new bookmark, in previous versions the Worker might already be at work with the original new bookmark. In this version, any change within the next 60 seconds is coalesced into one change, which triggers only a single Worker process. (The delay of 60 seconds may be changed by users who know how to change hidden preferences. The hidden preference key for this value is “bookmarksChangeDelay”.)
When creating a new Bookmarkshelf, no longer tries to generate a cute/smart filename based on the Clients’ name(s).
In Settings ▸ Agents ▸ Advanced ▸ Commands, command Indexes now appear in human-readable form, beginning with 1 instead of 0.
Agent’s Worker now skips writing the Bookmarkshelf file if there are no changes in it.
During an Export, for Client browsers whose bookmarks can be read but not written while they are running (all browsers except Safari and Firefox), now reads the bookmarks and checks to see if there are any changes which need to be written before attempting to quit the browser. If there are no changes to write, no longer attempt to quit the browser.
In Agents, the Command options to Quit and relaunch browser if needed and Force Quit and relaunch browser if needed are now available if the agent has any Trigger of any type. A trigger of type Scheduled or Dropbox™ updates this file is no longer required.
The tortuous checkbox When it is necessary to log out of the current Google account… has been moved from Preferences ▸ General to Clients ▸ Client Advanced Info, for Google Bookmarks clients.
In Settings ▸ Open/Save, the default setting of Open when BookMacster launches is now ON for all newly-created Bookmarkshelves, because it is assumed that 98% of users will regularly use only one Bookmarkshelf.
In Settings ▸ Clients ▸ Import Postprocessing (Advanced), the default setting of Clean Slate is now ON for all newly-created Bookmarkshelves.
The Safe Limit settings for Import and Export now no longer default to 20 after the first Import or Export. The default values remain infinite, and may be manually changed by the user at any time. (The reason for the change is that we’re no longer worried that BookMacster is going to hose anyone’s bookmarks).
Unnecessary churn or dithering in bookmarks placement and attributes which was sometimes seen when performing consecutive Imports and Exports, which showed itself as the number of changes after repeated Imports and Exports not converging to zero (+0, Δ0, ↕0, -0) after a finite number of imports or exports, has been, with a fairly high confidence level, eliminated. As one example, churn occurred when there were duplicate items are present in Client or Bookmarkshelf, because our valid but nondeterministic algorithms might in some cases match different bookmarks or folders with different mates (between Bookmarkshelf and Client) on each Import or Export. Churn now only occurs for one or two cycles, and only in a few understood corner cases where it is expected behavior. (Although the new algorithms take typically a few tens of milliseconds longer, eliminating churn improves the confidence that saavy users have in BookMacster, and more importantly it makes it much easier for our quality assurance testing when a test has only one correct answer.)
The Open Active Agent menu item has been moved from the File menu to the BookMacster menu, and renamed to Active Agent…. Instead of showing a submenu of Bookmarkshelves with active Agents, it now opens a window which shows these in a list, with a little explanation of how to edit them. Besides being easier to understand, this also improves responsiveness throughout the app since aliases no longer need to be resolved to show the paths in menu item tooltips every time the system decides that this menu needs to be updated (which it does too frequently).
The menu item BookMacster ▸ View Errors from Agents’ Workers has been replaced with BookMacster ▸ Logs. Clicking it opens a new Logs window which shows, in tabs, Messages and Errors (history), from both the main application and from Agents’ Workers.
In BookMacster’s AppleScript terminology, the name of the command view errors from worker has been changed to display error logs, and it now simply activates the Logs window and tabs to the Errors tab.
Since errors are now logged internally, most errors are no longer logged to the system console log upon presentation.
In the Bookmarkshelf window, the tab Settings ▸ Logs has been renamed to Settings ▸ Diaries, to eliminate confusion between these Import/Export records and the new Logs window. Also, the diaries are not labelled to indicate if they were the result of the main app vs. an Agent’s Worker.
Improved the built-in verbose debug logging facility and changed its name to Trace, so that it would not be confused with the un-verbose Messages which are displayed in the Logs… window.
A Trouble Zipper item has been added to the Help menu. Clicking this menu item downloads the latest Trouble Zipper script from our server, unzips and launches it.
New Preferences tab Updates allows choice of Production, Beta (Early Adopter) and Alpha (Very Early Adopter) policies when running a Check for Update.
Improved algorithm for exporting to Delicious. Instead of a fixed wait time of 1.2 seconds for the first 900 bookmarks and 5.0 seconds thereafter, with a “banning” by Delicious requiring user intervention to retry, it now detects when Delicious has banned, waits for a time, then restarts uploading at a slightly lower rate. User may adjust the algorithm’s parameters in Settings ▸ Clients ▸ Advanced Info sheet ▸ Special Settings. The old algorithm had been frequently requiring user intervention due to recent unpublished but de facto policy changes implemented by Delicious, and the adjustmentability allows for some future-proofing.
No longer uploads any bookmark whose URL has scheme ‘data’, such as a 1Password bookmarklet, to Delicious. (Delicious accepts such a bookmark, but truncates its URL to simply “http://data///”, which makes it even more useless than it already is, up there in the cloud. The 1Password bookmarklet only functions in locally-installed web browser apps.)
No longer uploads a BookMacsterize bookmarklet to Delicious.
Now recovers properly, no longer suggesting that user re-enter their username and password, if Delicious sends us an HTTP Status Code 999 (which is undefined).
An Export operation now no longer causes a Bookmarkshelf document to have unsaved changes.
When contemplating an Export to Safari, no longer temporarily locks Safari bookmarks and blanks Safari’s Show All Bookmarks view, if currently being displayed, unless there are actually changes to be exported.
The default deference for the Export command in the prefabbed Export updates from Dropbox™ cloud to Clients Agent has been changed from Cancel job if pre-empted by browser running to Quit and relaunch browser if needed. This is because we expect that, in most cases, this action will occur a minute after a Mac is awakened from sleep, after Dropbox™ checks in and updates the Bookmarkshelf, and also we expect that most users will leave their web browsers running during sleep. Therefore, momentarily quitting the browser is required for bookmark updates to appear as expected (except for Safari which accepts bookmarks updates while it is running).
Now supports the open-source Chromium web browser.
In order to accomodate a recent policy change at Delicious, now recognizes bookmarks with a slightly different URL, but the same normalized URL, as different bookmarks. Because previous versions of BookMacster followed the old Delicious policy of using normalized URLs, Import and Export operations have recently exhibited omissions in changes and deletions with Delicious clients. This change corrects that situation.
During an Export operation, no longer counts a bookmark as changed if the receiving Client does not support the attribute that changed. This eliminates extraneous Diary (formerly Log) entries, and improves performance a little, except for Delicious it improves performance alot, since Delicious requires at least 1 second to upload a changed bookmark.
Fixed retain cycles which caused Bookmarkshelf documents to be leak memory, once they had undergone an Import or Export operation. This would cause excess memory to be used between the time, if any, that a Bookmarkshelf was closed and the app was quit. (Therefore, there was no effect unless multiple Bookmarkshelf documents were opened and closed. The memory leak happened in Worker processes also, but likewise was of no consequence since Worker processes open only one Bookmarkshelf exit as soon as their work is done. Fixing memory leaks is done to improve overall quality and reduce the probability of other bugs.)
When executing an Export operation (or an Import, for Firefox) while operating in Mac OS X 10.6, and when a running browser needs to be quit, now works around a bug in the system which sometimes caused the browser to be reported as still running after it had in fact quit.
When executing an Export operation and a browser refuses an AppleScript message to quit, as Google Chrome sometimes does, now displays an error with the underlying error returned by the browser immediately, instead of waiting 15 seconds and then displaying an error without the underlying error.
When writing OAuth passwords to the Mac OS X Keychain for Delicious-Yahoo (new skool) accounts, the account name is no longer dot-suffixed onto the service name. The service name for all such items is now simply “com.sheepsystems.BookMacster.ExtoreDelicious2”. Upon running BookMacster 1.1.3 or later for the first time, during launch, the Mac OS X Keychain is searched for prior-style items and any found are converted to the new style.
Reflecting the changes which became effective in BookMacster 1.1 regarding the storage of the Open/Save, Clients and Agents settings, the external identifiers which are used to locate items (bookmarks, folders separators) within Client browsers are now stored in Application Support for each Mac account, instead of in the Bookmarkshelf file. This change reduces the size of a typical .bkmslf file by 75%, eliminates the appearance of unsaved changes when a Bookmarkshelf is exported to a new Client browser for the first time, and we have judged it to be a more natural, correct and therefore robust data model to build upon.
Fixed a bug which, during Export to a Delicious client, caused overwriting the Shared/Private status of a bookmark existing in the cloud from Private to Shared to fail silently. That is, BookMacster would indicate that it had uploaded the state change to Shared, but the Delicious server would not get it.
Fixed a bug which caused, during an Export, Clean Slate to not clean out destination items which are not supposed to be exportable to the Export Client, but were somehow already in there before the export. Non-exportable items are, for examples, Separators in Clients which do not support separators, 1Password bookmarklets in Clients whose browser is not Safari, etc.
Fixed bugs and improved logic in recovering from errors. In some cases, error recovery just wouldn’t work. In other cases, error recovery was excessive. Using this version, for example, if user clicks “Export” with three active Export Client browsers, and the last export to, say Firefox, fails because Firefox needs to be quit, when the user clicks, “Quit Firefox”, after successful quitting only the export to Firefox is subsequently repeated instead of all three exports. Same idea if a Safe Limit is exceeded for one Client.
Added a patch to prevent a crash which might occur when first opening a new version of BookMacster in Mac OS 10.5, per Apple recommendation. (This crash became possible in BookMacster 1.1.11 since the update requires migrating a subentity.)
Fixed a bug which caused silent failure when after clicking “Reenter” to re-enter username and password for a Delicious Old Skool client.
Fixed a bug which allowed a Worker, which should have been inhibited due to recent saving of the Bookmarkshelf, to perform later, after it got the baton from another Worker which had it when this Worker was launched. This resulted in unnecessary and redundant work being done (importing, sorting, exporting, saving, etc.) as well as Dropbox activity if applicable.
Fixed a bug which caused occurred during an Import or Export, while merging folders, when two folders were merged, if one folder had no external identifiers and the other folder had some, that none would survive in the merged folder. This could have caused unnecessary churning (deletion of items and replacement by identifical items with no net effect) during the Import or Export.
In the Inspector ▸ side drawer (identifiers), Clients are now identified with the human-readable display names used elsewhere instead of with a geeky string including five pipe (|) characters.
When exporting new items for the first time, now properly copies the unique external identifiers (exids) provided by the Client browser. Although these should have been copied previously, this bug didn’t make any difference before Dropbox syncing was in use, because new items never had identifiers provided by the Client. Now, they can have identifiers from the same Client browser over on the other Mac, and these need to be copied.
When executing a Clean Slate on Import, the BookMacsterize Bookmarklet will now be deleted if it is not present in the Import Client. The old reason for not deleting it, retention of the BookMacsterize Bookmarklet during the first Import of a New Bookmarkshelf, is now no longer a requirement since we add the bookmarklet after the Import instead of before. Theoretically, the old behavior was OK, but the new behavior is more logical and robust, and will no longer add additional symptoms to other bugs (such as the previous item).
Fixed a bug which could cause failure to indicate an error that Export to Safari failed because Safari was busy for more than the allowed timeout.
Fixed a bug which could cause the BookMacsterize Bookmarklet to be placed at the top/left of a New Bookmarkshelf instead of the bottom/right.
Fixed a bug which could cause Duplicate Groups to remain even after all duplicates had been deleted. (The remaining Duplicate Groups would each contain only one bookmark; not really a Duplicate Group any more.)
The status indication at the top of the Reports ▸ Duplicates view (i.e. “6 Duplicate Groups”) now updates correctly following Undo and Redo operations.
Fixed a bug which could cause failure of Reports ▸ Duplicates view to load properly if deleted duplicates were un-deleted via Undo. In order to maintain performance, the maximum number of bookmarks in a Duplicate Group which cause them to appear unsorted in the Duplicates view has been reduced from 32 to 8.
Fixed a bug which could cause Delicious-Yahoo (new skool) accounts to silently fail to properly record all of their settings during initial setup.
Fixed bug which could Delicious Clients to lose their user names.
Fixed a bug which would cause entire Delicious bookmarks to be downloaded unnecesarily if only minor changes, such as changing the shared/private attribute of a bookmark were performed during a previous Export. Such an export causes BookMacster to use a workaround for a bug in Delicious, which was that they do not update their last-modified timestamp for these minor changes, but this workaround triggered our own bug.
Fixed bug which could theoretically have caused various failures if someone used a pipe character (“|”) in a Firefox profile name, or Delicious user name or Google account name.
Fixed a bug which caused all Local Settings (Clients, Agents, Open/Save) associated with a Bookmarkshelf to be lost when BookMacster opened a Bookmarkshelf with minor corruptions that it was able to fixed, and silently fixed them.
Fixed a bug which caused a conflict accessing Client bookmarks between the BookMacster application and one of its Workers, or between Workers, to be incorrectly displayed as an error and explained as a conflict “possibly with another application”, instead of just being ignored.
By default, the Quick Search field now has Folders checked ON too, instead of only Bookmarks.
Fixed a bug which could cause a crash during the summarizing phase, if tags had been deleted while exporting to a Delicious or Google Bookmarks account.
To aid in troubleshooting, when downloading all bookmarks from Delicious during an Import, now writes a file containing the downloaded XML data to the user’s Application Support directory. (This file is overwritten with each new complete download.)
Fixed a couple bugs which may have caused corrupt Bookmarkshelf documents which had been set to open upon launch to continue to open on each launch, even after repeated failures.
The [+] and [-] buttons in Settings ▸ Agents - Advanced are now disabled when their action is not available.
The Import/Export Logs are now stored in ~/Library/Application Support instead of in the Bookmarkshelf document files. (Although this is a better design and would have been done this way the originally had more design time been available, it is necessary now for Dropbox compatibility, since Import and Export events occur independently on each Mac.)
Displaying and resizing a Bookmarkshelf window tabbed to Content is now faster. (Attribute types are cached instead of being read from a temporary managed object context for each displayed item.)
Bookmarkshelf windows now load faster for users with more than a few web app accounts in their Mac OS X Keychain. (Keychain information is now cached temporarily instead of re-read for each web app account.)
Probably no longer gets confused if the Delicious account userame for a Yahoo!-linked Delicious account is different than the linked Yahoo! account name. We hope that this does not break anything for users who may have somehow got these names reversed. Oh, Yahoo!!
Fixed a bug which could cause a crash if an error was received while exporting bookmarks to a Delicious-Yahoo! account.
Fixed a bug which could cause a crash if an error was received while exporting bookmarks to a Delicious Old Skool account.
Fixed a bug which, after attempting to Import from Firefox on an Other Mac Account, receiving the warning about Firefox not running, and clicking “Proceed”, nothing got better – repeating the Import resulted in the same warning.
Fixed a bug which, if a Bookmarkshelf contained duplicate bookmarks, when exporting to Google Bookmarks or Delicious, caused the duplicate bookmarks to be identified with the same non-duplicate bookmark in Google Bookmarks or Delicious. (Google Bookmarks and Delicious do not allow duplicate bookmarks.) During subsequent imports or exports, these multiple bookmarks with the same client identifier would cause false matches, which would cause changes to these bookmarks to be missed.
Although Camino did not seem to notice the differences between BookMacster’s writing of its bookmarks file and its own, made a few corrections to the way Camino bookmarks files are written.
Added several more measures to avoid crashing due to corrupt preferences files.
The Close and Delete menu item now invokes Finder to trash the file via AppleScript.
Fixed a bug which could result in the Sort Order not being set in Opera Preferences if necessary. (This bug was only triggered Sort Order was the last item in the Opera Preferences file, and possibly this happens with Opera 10.6.)
Fixed a bug which caused Chrome bookmarks to be exported with the same identifier if more than one new one was exported during one export, which would cause all but one to be removed when bookmarks were later re-imported.
Fixed a bug which caused the URL to be omitted when exporting Firefox Live Bookmarks to Opera.
Fixed bug which caused the Shortcut (Keyword), Visit Count, and Last Visited Date attributes to be not read from OmniWeb during an Import or Export.
Fixed a bug which causes items exported Shiira to have the wrong index.
Fixed a couple bugs which could cause Agent operations to execute repeatedly, or not complete execution, possibly resulting in file corruption, if they were interrupted and took too long. Toward the same end, increased the inhibit time after a new Agent is saved from 10 seconds to 20 seconds.
Fixed a bug which caused the Fabricate Folders feature to just not work in most situations.
Fixed bugs which, during Import, sometimes caused merged items to end up in the wrong place.
Fixed a bug which would cause a New Bookmarkshelf to be written as two files, neither of which was complete, if the user deleted the default filename extension .bkmslf when specifying the filename in the Save panel. Needless to say, neither of the incomplete files would work very well when subsequently re-opened.
Fixed a bug which would often result in a misbehaved Import or Export if, since the time of the last Import or Export with the Client, either the Client itself, or some other application, or a backup restoration, had rewritten the Client’s bookmarks so that persistent identifiers were reassigned to different types of items. For example, if an identifier which had been assigned to a folder was reassigned to a regular bookmark, depending on the folder structure, other such reassignments, and random events in program execution, the Import or Export operation could hang in an infinite loop, necessitating a Force Quit.
Fixed a bug which would falsely cause an Import or Export operation to fail because the Safe Limit was supposedly exceeded if it was initiated by clicking the “Perform…” button in the tab Settings ▸ Agents ▸ Advanced, if the change counts from the previous Import or Export plus the new change counts exceeded the limit, and if in fact it the actual import or export was skipped because it was not necessary. (The prior change counts were not being cleared.)
Fixed a bug which could cause a nameless Soft Folder to appear as an Update in the log after an Import, supposedly because its Verify Disposition changed from -1 to 1.
Fixed a bug which caused a Save As operation to fail with Error 64510 if user executed a Save As operation but then did not give a different path, and clicked Replace. The action now degenerates to a Save, Close and then re-Open. (This bug was introduced with the new Save As implementation in version 1.0.3.)
Fixed a bug which disabled opening of loose Opera bookmarks files using Choose File (Advanced).
Fixed a bug which caused Triggers to apparently keep their old order after reordering by drag and drop, although actually the order was changed as could be seen the next time time Bookmarkshelf was reopened. (This is actually just a cosmetic fix because there is no need to reorder triggers; the order of triggers is meaningless.)
Added integrity testing (for nonunique exids) during Import and Export.
Now displays a warning during an Export operation if the browser’s built-in syncing is turned ON when exporting to Chrome or Chromium.
Fixed a bug which could sometimes caused a crash during Verify.
Fixed a bug which would cause a New Bookmarkshelf to be written as two files, neither of which was complete, if the user deleted the default filename extension .bkmslf when specifying the filename in the Save panel. Needless to say, neither of the incomplete files would work very well when subsequently re-opened.
Fixed a bug which would often result in a misbehaved Import or Export if, since the time of the last Import or Export with the Client, either the Client itself, or some other application, or a backup restoration, had rewritten the Client’s bookmarks so that persistent identifiers were reassigned to different types of items. For example, if an identifier which had been assigned to a folder was reassigned to a regular bookmark, depending on the folder structure, other such reassignments, and random events in program execution, the Import or Export operation could hang in an infinite loop, necessitating a Force Quit.
In tab Settings ▸ Open/Save, added a checkbox to “Automatically save unsaved changes when closing [this Bookmarkshelf]”. This nonstandard behavior is thus provided as an option for users who are annoyed by the standard Don’t Save | Save dialogs which appear when closing or quitting.
Fixed a bug which sometimes caused Smart Folders in Firefox, particularly after editing the URL, to be exported to Firefox as a Separator.
Fixed a bug which caused an error originating in a BookMacster Agent Worker to be not displayed after user clicked “View”.
Fixed a bug which occurred if user opened an old Bookmarkshelf after updating BookMacster to a newer version which required migration to a new data model, and while this Bookmarkshelf was opened for the first time, the user happened to activate a Finder window containing the newly-migrated (and old) Bookmarkshelf. (The old Bookmarkshelf typically has a tilde (~) appended to its name.) The bug is that the open Bookmarkshelf would become associated with the old file, which would cause subsequent Save operations to fail due to “persistent store” or “data model” errors.
Re-implemented the Save As function to work around some crashes which usually occur when executing Save As on a few rare Bookmarkshelf specimens via the Save As function built into Mac OS X. The new behavior is a little slow because it copies the file, saves the document, closes it, moves it to the Save As path, re-opens it, and finally renames the copy back to the original name. But it no longer has this particular crash possibility.
Improved performance when finding, displaying, and deleting duplicates of Bookmarkshelf which has thousands of duplicate bookmarks. The large memory demands which previous versions imposed upon the system during such operations, sometimes resulting in a crash if the demands could not be met, have been reduced to typical and manageable levels.
Now opens special .bookmacsterlicenseinstaller files which our Support department may provide to users who have lost their Preferences and need to reinstall their License Information, so that all it takes is doubleclicking such a file.
This version is for keeps. Although frequent updates are expected to finish things up during the next few months, this version will not expire on you every couple weeks the way previous versions did. It requires a License to Save or Export bookmarks, as described on the product web page – free demo licenses are available and installed automatically. Qualified beta testers should have all received their coupon codes last week. Thanks again to our beta testers.
Fixed a bug which caused indefinite hang if an Agent’s commands included Verify, and the Perform Commands button was clicked to test this Agent.
Unclogged a performance bottleneck which caused Undo of an Import or Export to take a long time, proportional to the number of changes in the Import or Export. (Now ~80x faster measured with 1500 changes).
Our Beta Testers are now listed in the Acknowledgments section of the Help Book.
Unclogged a performance bottleneck which could cause huge memory usage, and progress to apparently come to a standstill (although actually it would eventually finish), during an Import operation if there were any changes to bookmarklets with very long URLs, such as a 1Password bookmarklet.
Added more tests to ignore illegal tagged folders (1) when setting tags and (2) when exporting to Firefox.
When a Bookdog user runs BookMacster for the first time, the option to Cancel when asked whether to import Bookdog settings has been replaced with an option to start anew (New), which starts the New Bookmarkshelf wizard.
Fixed a bug which could cause hard folders to be incorrectly set as not sorted in a new Bookmarkshelf created by importing from Bookdog.
More appropriate Help Book page shown after importing from Bookdog.
Now able to read old Bookmarkshelves from any previous version.
Cosmetic improvements to New Bookmarkshelf “wizard”.
Changed the command Delete All Duplicates to Delete All Duplicates…, and it now shows a warning sheet with option to cancel before acting.
When opening a Bookmarkshelf, now detects and removes any tags from any folders. Folders should not have tags. Folders with tags would cause errors during subsequent operations, in particular when exporting to a Firefox client.
One or more bookmarks with no URL will no longer cause the Find Duplicate operation to fail.
This version has several bug fixes and changes in Import operations. The first few changes in particular should further reduce or possibly eliminate the occurence of Error 54760, and also the appearance of “ghost” items (empty, nameless disclosure triangles) after an Import, which have been reported by a few users and reproduced in our lab.
Fixed a bug which sometimes caused, during Import, items which exist in the Bookmarkshelf, and also in multiple Import Clients, to have their attributes obtained from a higher/earlier Import Client to be overwritten by attributes from a later/lower Import Client. The higher/earlier Import Clients’ attributes now take precedence, per documentation.
Fixed a bug which caused the change to not be recognized during Import if a Client had re-used an old identifier of an old bookmark for a new folder, or vice versa.
Fixed a bug which caused empty folders to not be imported if they were from a second or later/higher Import Client.
When opening a Bookmarkshelf, automatically removes orphaned or untyped items which may have been created by buggy earlier versions, so that they cannot cause confusion and failure in subsequent Import operations.
During Import or Export, some unnecessary processing steps have been eliminated, and the text which announces the current step beside the progress bar at the bottom of the Bookmarkshelf window now makes more sense.
During an Import or Export, no longer merges like-named folders, as was described in Help Book sec. 1.1.10 of BookMacster 0.9.28, if the two folders being merged are from the same source (client, bookmarkshelf, etc.). Only folders from different sources are now merged.
In previous versions, an Import operation initiated by a Worker, by AppleScript or by clicking the Perform Commands button in a Bookmarkshelf’s Settings ▸ Agents tab would skip importing Clients which had not been modified since the last import. This is done to reduce unnecessary work by Agents’ Workers. In this version, the client is skipped only if, in addition, the content of the Bookmarkshelf itself has not been modified either.
If an Import or Export operation with Safari cannot proceed because Safari’s bookmarks are locked, BookMacster now reads the lock and removes it if the locking process is deemed to have crashed or hung, instead of repeatably failing with error 61390 until Safari or Sync Services get around to removing the lock.
Fixed a bug which caused items to appear as “ghost” items (empty, nameless disclosure triangles) if an Import was aborted due to an error, then repeated after recovering from the error.
Some reorganization of the Help Book.
Now detects recent versions of Firefox’ Minefield alpha tests when checking to see if Firefox is running before accessing Firefox bookmarks during an Import or Export. (Recent versions of Minefield are using the bundle identifier org.mozilla.minefield instead of org.mozilla.firefox. This version of BookMacster checks for both of them.)
Help Button in Verify Drawer of Bookmarkshelf window now moves properly when drawer or window is resized.
Fixed a bug which would cause a Bookmarkshelf to be declared as corrupt and refuse to open if (1) a certain Hard Folder had item(s) in it, (2) its Structure was set to Configure Automatically, (3) any client(s) requiring that certain Hard Folder were deleted, (4) Bookmarkshelf was saved and then (5) reopened.
Error 144770 with underlying error -35 now gives a “Suggestion to Fix this Error” (same as if underlying error is -43).
Fixed a bug and some flaky code which could cause a crash if no version of Opera was installed.
Fixed a bug which caused drag and drop of groups of items to be sometimes to be added to their new location in reverse order (upside down) with respect to their original order. Known Issue: This can still happen if the selected items are from different parents.
Added Opera 10.5 Beta bookmarks to the search list for Opera Bookmarks, so that Opera 10.5 beta is now supported.
Added graphics and improved explanations in the first “New Document” dialog box.
Cleaned up the About BookMacster window, and the Acknowledgments page in the Help Book.
Now supports Google’s Chrome web browser.
Up and Down Arrow Keys now work (again?) in radio button matrices in dialog boxes, now by design instead of by accident.
Fixed a bug, probably introduced in a recent version, which caused items which were merely moved in an Import or Export source to not have their moves be reflected in the destination.
Simplified the error presentation when, upon launch, the Mac OS informs BookMacster of a broken login item, and provided a Help Button which opens a new page in the Help Book giving further explanation.
Added a Final Integrity Test to Import and Export operations. This is to prevent a particular, rarely-triggered bug from corrupting a Bookmarkshelf, and possibly provide information we can use to fix it.
Fixed unresponsive, slow performance while a fourth-party menu-enhancing application was repeatedly asking BookMacster to validate its menus. This would occur, for example, during the first 55 seconds after launch, if KeyCue (version 4.5) was running because it asks for menu validation 88-100 times during this period.
Agent operations which are dispatched by a Worker to be performed by the BookMacster main app (when the required Bookmarkshelf is open and BookMacster is not active) now no longer perform Mirror-Save when saving. This is not desired because because Save is a separate command, and this is the way it works when a Worker performs the operation itself.
Fixed a bug which caused radio buttons in some dialogs to select the top button whenever the title of any of its buttons was clicked.
Consolidated the warning dialogs which appear when BookMacster or Worker quit or force-quit Bookdog or Bookwatchdog (which they do to avoid conflicts).
When recovering from a Change Limit Exceeded error which occurred in a Worker, the Ignore Once recovery option now works.
Possibly fixed a possible bug that caused a Bookmarkshelf to sometimes not be saved if it was open in BookMacster and was commanded to do so as part of an Agent operation.
Fixed a bug introduced in 0.9.20 which caused an emtpy “Error:” dialog to appear occasionally.
In Bookmarkshelf Reports ▸ Logs, added a Write to File button.
Fixed a bug which caused folders moved in an Import Client to not always be moved when re-imported, as they should if the Merging Keep is set to Client. This bug was introduced in 0.9.13 when we went a little too far in fixing a bug in 0.9.13; see the first item listed in 0.9.13 Release Notes.
Added coordination between BookMacster and Agents’ Workers to avoid document conflicts. These conflicts would appear as “This document’s file has been changed by another application since you opened or saved it. The changes made by the other application will be lost if you save. Save anyway?”. These conflicts occurred when attempting to save a Bookmarkshelf after an Agent had been triggered to perform its Commands on that same Bookmarkshelf. In the new version, workers perform Commands themselves only if the subject Bookmarkshelf is not open in BookMacster. (a) If the subject Bookmarkshelf is open in BookMacster and the BookMacster app is not active, then instead of opening the Bookmarkshelf itself, the Worker messages BookMacster to perform the Agent’s commands on the already-open Bookmarkshelf. This is for the benefit of Usage Style 3, when a Bookmarkshelf is left open in the background to receive new items from web browsers. (b) If the subject Bookmarkshelf is open in BookMacster and the BookMacster app is active, the Worker silently aborts itself and the Commands are not performed. This is so that a user who is manually editing content in BookMacster will not be interrupted.
In BookMaster’s AppleScript terminology, ‘agent’ elements of ‘bookmarkshelf’ documents have been exposed, and they respond to a new command, ‘perform’. These additions allow Agents to be triggered to perform their commands via AppleScript.
Fixed bug so that an AppleScript asking for the ‘identifier’ of a bookmarkshelf now returns the identifier instead of error -10000.
Now supports new Delicious accounts, or converted old Delicious accounts, which are linked to Yahoo! accounts. Old and new Delicious account selections now appear in the menus and tables prefixed with Delicious - Old Skool and Delicious - Yahoo!, respectively.
Fixed a bug which caused a bookmark to fail to be deleted at Delicious during an Export, if the bookmark in the Bookmarkshelf was normalized and the bookmark at Delicious was not normalized, or vice versa.
Fixed a bug which caused items to be incorrectly deleted and then restored on alternate imports if the Merging Keep setting was Bkmslf.
Fixed a bug which caused any new items in the Bookmarks Bar of a Bookmarkshelf, except the first new one, to fail to be exported to any Opera client.
Fixed a bug in New Document wizard which caused Export Clients to be (unnecessarily) requested when user selected Usage Style 1 or Usage Style 3.
In logging the changes resulting from an Import or Export operation, a new category named slides has been split off from the category of updates (Δ), and slides are not counted toward the Change Limit for an Import or Export operation. Slides are items which have had only their position changed, and are indicated by the symbol ↕ in the summary in the Status View and in the Import/Export Logs. The reason for this change is that, under the old definition, adding, say, one bookmark at the top of a folder of 400 bookmarks would cause 400 items to be displaced downward by 1, thus have their position changed, and cause the update count for this one addition to be 400. This would make a big deal out of a little deal, and exceed any reasonable Change Limit which the user had set to declare an error and abort such operations.
The error which occurs when an Import or Export operation attempts to exceed its Change Limit is now presented as a warning instead of an error, and a additional recovery option, to ignore the limit this one time only, is available.
Fixed a bug in the conception of the internal operation queues which, if a Bookmarkshelf had more than one Import or Export Client, and a second Import or Export operation was commanded before a first such operation had begun to Import or Export its last Client, caused the first Client of the second Import or Export to be imported or exported before the remaining Clients of the first Import or Export. This would usually result in some or all content disappearing, but it seems that orphaned items or crashes would have been possible too.
Fixed a bug which, during recovery from an error in which multiple Clients were being imported or exported, caused Client Imports or Export queued after the one during which the error occurred to be omitted.
Fixed a bug which caused the space available for displaying the subject bookmark name to be only enough to show a half dozen or so characters, next to the progress bar in the Status View, when adding or deleting subject bookmark during an Export to a Delicious client, or when deleting subject bookmark during an Export to a Google Bookmarks client.
No longer checks the minimum version of a web browser before importing its bookmarks. Instead, checks this only after an import fails, and if the browser is found to be too old, presents this to the user as a possible reason underlying the failure. This change resolves inability to import bookmarks if the latest web browser is installed in a nonstandard location, or in File Vault, and the system instead finds a too-old version somewhere.
Now presents the web page when, instead of sending bookmarks, Yahoo!-Delicious sends an undefined HTTP Status Code with an unexpected web page.
Fixed a bug which caused the blue “hint” arrow which appears if the user clicks “Change Limit” during an excessive Export Operation to sometimes point to the wrong column or row in the Export Clients table.
Added gopher:// and color: to the list of http schemes that may be exported to Delicious clients, in conformance with the latest revision of Restricted Bookmarks on Delicious.
Removed the possibility that Opera 9 bookmarks might be opened instead of Opera 10. This would happen if Opera 9 had been used more recently than Opera 10. BookMacster does not support Opera 9 bookmarks as a Client.
Added a Log Path Aliases menu item to the Help menu. This is for use by a particular beta tester who has experienced a problem we need to understand better.
The New Document wizard now explains the first choice in terms of the Usage Styles, including the new Usage Style 3, which is Import my browsers’ current bookmarks, but from then on, bookmark with BookMacster directly. Also, this dialog now has a Help Button.
The recently-introduced term “User Case” in the Help Book has been changed to “Usage Style”.
When adding a new bookmark from a web browser via the BookMacster bookmarklet, now searches for an already-existing bookmark with the same normalized URL and if found gives user choice to Merge, Cancel, or Keep Both.
General updates to Help Book, in particular all of the screenshots have been to reflect the current window designs.
In Help Book, removed HTML frames so that content pages now get the full window width, and also the forward and back buttons work as expected in Mac OS 10.6’s Help Viewer, which is buggy when handling framesets or inline frames.
In Help Book generation, fixed a bug which caused some hyperlinks to fail.
Clicking the Help Button in the Bookmarkshelf window now opens the Help Book to the page which is relevant to the current window tab, instead of the Home Page of the Help Book.
Fixed a bug which caused Bookdog and Bookwatchdog to usually be force quit if they were running when BookMacster was launched, since the time allowed for them to quit was too short for most systems. Also, if quitting fails, now alerts the user with an error instead of force quitting the offender.
Fixed a bug which caused, in a Bookmarkshelf ▸ Reports ▸ Duplicates, the Allow and Delete buttons to be disabled if more than one bookmark was selected.
BookMacster and its Workers now check to make sure that Bookdog and Bookwatchdog are not running before performing any Import or Export operation, instead of just when launching.
Fixed a bug which caused BookMacster to crash the first time that it was launched on a Mac account which also has a very old version of Bookdog, earlier than 4.4.0.
In the New Document wizard, if the filename suggested by concatenating Client names in Usage Style 1 or 2 is too long, it now substitutes simply “Bookmarkshelf-N”, where N is a number, instead of truncating the suggestion to something which doesn’t make sense.
Upon opening a Bookmarkshelf, BookMacster and Workers now check that the presence or absence of each Hard Folder in the Content matches the Settings in Structure, and fails with an error if any discrepancy is found.
This update attempts to fix a problem for some users who cannot open their Bookmarkshelf documents after updating to BookMacster 0.9.15 or 0.9.16.
If you’re not having this problem, you can skip this update.
If you are having this problem, please install this update and let us know via Forum or email if it fixes it, your Mac OS X version, and what was the last BookMacster version that saved the problem Bookmarkshelf, or the approximate date that you did so.
Updated Google Bookmarks protocol to reflect recent changes at Google. At the present time, at least in California, depending on the nature of the bookmarks change(s), users of prior BookMacster versions will encounter either HTTP Error 502, or a silent failure, when exporting to a Google Bookmarks client. BookMacster 0.9.16 talks to Google using its new protocol.
BookMacster now sports its own Status Menulet (aka Status Menu, Menulet – an icon in the top right of the screen). It is off by default, and can be activated by a new checkbox in Preferences ▸ General. When activated, it can be used to visit sites bookmarked in an open Bookmarkshelf, using the browser indicated by that bookmark.
Improved and added hyperlinks to Help Book sec. 0.1, “Introducing BookMacster”.
To eliminate two levels of navigation, if only one Bookmarkshelf is open, the Root level is now omitted from the hierarchical “Visit Bookmark” section of the Dock Menu, and the root-level folders are shown directly in the menu.
Help Book has been updated to reflect recent changes, and reorganized to make basic usage instructions more prominent. (The Help Book still has old screenshots, though.) BookMacster 0.9.14, which was posted for a couple hours, still had the old opening page on the Help Book.
Now supports adding bookmarks directly to a Bookmarkshelf, via a BookMacsterize bookmarklet which is exported to web browsers. Other methods of adding bookmarks directly to a Bookmarkshelf are still under study.
Now supports visiting bookmarks of open Bookmarkshelves from BookMacster’s Dock Menu.
To protect bookmarks in case of unexpected file corruption, Safe Limit controls have been added to limit the number of additions+changes+deletions in an Import or Export operation. For users of the Advanced Settings, there are two new controls, in the Clients tab of a Bookmarkshelf. For users not using Advanced Settings, there is one control in the General tab of a Bookmarkshelf.
Fixed a bug which sometimes caused the number of deleted items in an Export operation to be under-counted.
When moving an item while it is being displayed in the Inspector, its displayed Lineage now updates immediately to reflect the new location.
Fixed a bug which allowed items to be moved above Hard Folders when copying or moving items to Root, when using Copy To… or Move To… menu contextual items.
If only one Bookmarkshelf is open, the first item in the Copy to… and Move to… contextual menus are now titled simply Root instead of the Bookmarkshelf filename.
The items shown in the hierarchical Copy to… and Move to… contextual menus are now displayed with folder icons.
To more accurately reflect usage of the Description field when bookmarks are added directly to a BookMacster Bookmarkshelf, the name of this field has been changed to Comments.
The Inspector Panel now does not open when opening a Bookmarkshelf unless it had been open when the last Bookmarkshelf was closed.
The font size in the table in Reports ▸ Logs now tracks the font size set in Preferences ▸ Appearance, as the other tables do.
Fixed a small memory leak which occured when clicking the Gear Menu Button in the Inspector.
Fixed a bug which was triggered during repeated Imports from multiple Clients which contained matching items with different attributes, for example, different locations. The bug was that, the attributes (such as location) of these items in the Bookmarkshelf would oscillate, on alternate imports, between the attributes (locations) in the first Client and the attributes (locations) in the second Client.
Results during an Import/Export, if Merge By URL is switched on and is used to match an item, now better match user expectations if Clients have bookmarks with the same normalized URL scattered in different locations in different Clients. If the matching algorithm finds more than one item in the destination with the same normalized URL as a source item, the best one is now chosen from among them by comparing parents, and if that fails to produce a unique match, then by comparing names, instead of just choosing one arbitrarily.
During an Import or Export, the policy for deleting empty folders has been clarified to affect any folder, from either source or destination, which was not empty at the beginning of the operation but was empty at the end of the operation. Previously, the behavior was not well-defined.
Fixed a bug which, when importing from multiple Clients with Merge by URL switched on, if there were duplicates within Clients, caused the duplicate items from different Clients which were so merged to only be registered as being present in only one Client instead of all. We’re not sure if this caused any problem, since registration would have occurred upon the first Export.
Fixed a bug which caused an old tag joiner for each tag to be not deleted, every time there was an export to a Firefox Client. This would increase the file size with redundant tag joiners, and also when inspecting tagged bookmarks in Firefox’ Organize Bookmarks, tags would be listed multiple times. For example, if a bookmark was tagged with “News”, after three exports from BookMacster, in Firefox’ Organize Bookmarks this bookmark’s tags would be listed as “News, News, News”. Because the current version properly deletes and rewrites all old tag joiners whenever it exports, exporting to that Firefox Client once with this version of BookMacster will remove all the redundant tag joiners, and from then on it should only say “News”.
Improved speed of some operations by eliminating unnecessary processing. In particular, Delete All Content is much faster.
Added a new Reports tab named Logs. This tab displays a history of Import and Export operations, showing the additions, deletions and changes made during each operation, and other information.
Fixed some bugs in counting the numbers of items Added, Changed and Deleted which appear in the Status Bar after an Import or Export (and now also appears in the Logs).
Fixed a bug which caused the autosaved settings of a Bookmarkshelf window (Table vs. Outline Mode of Main Content View, window size, tab selections, window minimum size and column widths in tables) to be forgotten the second time that its document was opened.
Fixed a bug which caused too-wide and too-narrow column sizes to be sometimes applied to a New Bookmarkshelf. The too-ness was proportional to how much the width of any prior Bookmarkshelf window had last been resized away from the default width.
Fixed a bug which caused the Bookmarkshelf window to jump up by about 140 pixels, or to the top of the screen, whenever a new tab view item was selected, if Show Advanced Interface was unchecked.
Fixed a bug which caused the Undo Action name to sometimes become other than “Undo Import” or “Undo Export” after Import or Export, followed by an Undo operation followed by a Redo operation.
After creating a new Bookmarkshelf, the third column in the Main Content View is now set to show the attribute which most users would find third-most interesting given the Clients, instead of always showing Tags.
In Bookmarkshelf window, more cosmetic fixes were applied to how windows are resized and controls are placed when switching tabs.
When creating a New Bookmarkshelf with multiple Clients, the “Skip duplicate Bookmarks which hit the same page when merging Clients” checkbox is now switched ON by default.
Fixed a bug which caused the folder is expanded attribute to be sometimes incorrectly imported from or exported to Opera Clients.
In a Bookmarkshelf’s Main Content View and Find Table, it is no longer possible to resize the rightmost column inward from the right edge and reveal ugly artifacts.
Fixed two bugs in writing Google Bookmarks and Delicious passwords to the Mac OS X Keychain. First, if user checked box to “Keep in my Mac OS X Keychain”, passwords were only written during initial testing, after setting the Client, and not if a password was required to replace an incorrect or removed password during an Import or Export operation. Second, passwords were sometimes written incorrectly. This version finds and removes incorrect keychain entries written by previous versions.
If a Google Bookmarks server rejects a password which BookMacster obtained from the Mac OS X Keychain, now provides an error recovery option to remove the invalid password from the Keychain, instead of just telling the user that login failed without giving a clue how to fix it.
In Bookmarkshelf window, cleaned up sloppy some control placement and margin sizes when resizing, and restoring autosaved sizes.
Holding down the ‘option’ or ‘alt’ key while launching now inhibits Bookmarkshelves set to Open when BookMacster Launches from doing so. Note: This is in addition to, and does not conflict with, the feature that holding down the ‘option’ or ‘alt’ key while opening a Bookmarkshelf causes settings of Mirror-Open, Sort and/or Find Duplicates when launching to be inhibited.
Reduced number of Firefox backup files archived in ~/Library/Application Support/BookMacster/Firefox 3 Backups from 32 to 10. (In the final release, we plan to either improve or remove this.)
This is a beta test with a built-in expiration date of 2010 Feb 14. Known issues are that still we don’t support new Delicious accounts based on Yahoo! ID, localization is sporadic, and many of the screenshots in the Help Book don’t reflect the current user interface.
Preferences ▸ Appearance ▸ Show Icons in Bookmarkshelf Toolbar now allows icon sizes None, Small and Regular instead of just None and Regular, and Small is the default setting for new users.
Added menu item File ▸ Close and Delete.
Fixed bugs which caused incorrect progress indicator behavior in the Status Bar at the bottom of the Bookmarkshelf window during Delete All Duplicates and possibly other operations.
Fixed a bug which, with some combinations of Import and Export Clients, would cause an Import or Export Client to immediately change its web browser or service to one which was not in use, after it was moved.
Fixed a bug which caused an empty Undo Action labelled “Undo (null)” to be registered when changing the expanded/collapsed state of a folder was Redone.
Better error message is given if Safari bookmarks cannot be exported because Safari, iSync or another application is currently editing or syncing them. Also, the timeout before an Agent raises this error has been increased from 20 to 180 seconds.
Fixed tooltip in Bookmarkshelf ▸ Settings ▸ Clients ▸ Export Separators.
Fixed a bug which, if Preferences ▸ Appearance ▸ Icons in Bookmarkshelf Toolbars was set to None, and more than one Bookmarkshelf was open, and user clicked the Quick Search tool in one of them, toolbars in all Bookmarkshelves would temporarily show icons during the search instead of just in the one that was clicked.
This is a beta test with a built-in expiration date of 2010 Feb 14. Known issues are that still we don’t support new Delicious accounts based on Yahoo! ID, localization is sporadic, and many of the screenshots in the Help Book don’t reflect the current user interface.
Bookmarks which are RSS Feeds now show, if available, the names of their articles in their tooltip. Currently, Firefox Live Bookmarks and RSS Feeds from OmniWeb have these available when imported into BookMacster.
Fixed a bug which caused export to fail with Error 15993 when exporting to a Firefox or OmniWeb profile or loose file, when the bookmarks being exported contained one or more RSS Feeds with articles that were imported from a different Firefox or OmniWeb profile or loose file.
In the Main Content View and Find Table, when hovering mouse over a text cell or tags cell with truncated text or tags, the Expansion Tool Tip which shows the entire text or tags now appears properly in Mac OS X 10.6.
When the Detail View or a table/outline column is set to show Tags (without hovering the mouse over the cell), more tags that can fit in the available space are now indicated by an ellipsis.
Attempting to add a duplicate tag to a bookmark now produces an Alert sound, and the duplicate tag is not added.
Fixed a bug which caused some Bookmarkshelf documents to open with unsaved changes and Undo (null) showing in the Edit menu.
The subject of the email message which gets produced when BookMacster encounters an error now includes the error code number.
In the Content Tab, in the “+” (Add) button, added a little triangle pointing down to indicate that clicking this button exposes a menu.
The annoying “Context-Click for Contextual Menu” tooltip is no longer displayed in the Main Content View.
This is a beta test with a built-in expiration date of 2010 Jan 31. Known issues are that still we don’t support new Delicious accounts based on Yahoo! ID, localization is sporadic, and many of the screenshots in the Help Book don’t reflect the current user interface.
Fixed bugs which caused the default column widths which should be used when creating a new Bookmarkshelf to sometimes be ignored. (For users of earlier versions, behavior will still be wonky until the first time you resize a “Name” column, which will fix your Preferences.)
Fixed bug which caused a new Bookmarkshelf created by Importing from Bookdog to be born with unsaved changes under some conditions.
Fixed a bug which sometimes caused the “Bookdog Grads” Help page to show on the second time after a Bookmarkshelf created by Importing from Bookdog was saved, instead of when it was first created and saved.
For minimalist users, Preferences ▸ Appearance now has a checkbox to turn off showing icons in Bookmarkshelf toolbars.
This is a beta test with a built-in expiration date of 2010 Jan 31. Known issues are that still we don’t support new Delicious accounts based on Yahoo! ID, localization is sporadic, and many of the screenshots in the Help Book don’t reflect the current user interface.
The Tags View (formerly Tag Cloud) has been moved from the top of the Content Tab to the left side, and its tooltip now includes advice on how multiple bookmarks can be tagged by dragging bookmarks to tags, and vice versa.
When viewing the Main Content View in Table Mode, a sentence appears above the outline whenever filtering has been applied by a Quick Search string or filtering by tags, dynamically explaining the current filter criteria.
Several buttons, and the Detail View, which were scattered around the Content Tab have all been aligned to a single row just under the toolbar at the top.
The labels “✖”, “Any” and “All” on the Tag Filter switch have been changed to “-“, “✓”, and “✓✓”. This has been done because the new labels look better, and not many people understood the meaning of “Any” and “All” without reading the tooltip or Help anyhow. In addition, the new dynamic explanation (see previous item) makes the effect of this switch readily apparent and easy to learn.
Inconsistent terminology in the Content Tab has been made consistent (although the Help Book still needs to be updated). It now consists of a Main Content View, a Tags View, and a Detail View. The Main Content View has two modes: Outline Mode (hierarchical) and Table Mode (flat).
Undo and Redo operations now show the display the tab in which the change was made, clearly showing the undone or redone data, up to an infinite number of undo and/or redo operations, instead of only up to the second redo. Several other fixes were made to the Undo and Redo operations, where it was found that incorrect Undo Actions names would be shown in the menu, in few places multiple Undo clicks were still required to undo single commands, the Show Advanced Interface value would be changed but not be realized in the view, etc.
Fixed a bug which caused items in the Main Content View to appear as blank lines with disclosure triangles if a Bookmarkshelf was saved with the Main Content View in Outline Mode but not dislaying the Content Tab at the time it was closed, until the mode was changed to Table mode and then back to Outline mode once.
Fixed a bug which caused items in the Main Content View to be all collapsed, ignoring their stored expanded/collapsed state, if a Bookmarkshelf was saved dislaying a tab other than the Content Tab at the time it was closed, until the mode was changed to Table mode and then back to Outline mode once.
Fixed a bug which, when using the Hold shift key down to stop folders from springing open feature during a drag and drop in the Content Outline, would cause all folders in the entire outline to collapse when the items were finally dropped.
Fixed a bug which caused all Delicious bookmarks to always be downloaded during any Import of Delicous bookmarks, even if the server indicated that BookMacster’s local cache was in sync.
During an Import, when attempting to download from two Delicious accounts consecutively, or if a download is repeated too soon for some other reason, now gives a better error message and offers to retry the Import automatically when it is safe to do so.
Now displays a more descriptive error message if a server sends a response with an HTTP Status Code which is not defined in internet standards. In particular, this accomodates the fact that Yahoo!’s Delicious now usually sends an undefined 999 instead of proper 503 when the user’s IP address has been temporarily banned.
When selecting tags in the Tags View with mouse clicks, the selection now changes on mouse up instead of mouse down if a modifier key is not down. This is the standard Mac behavior and allows drags to be initiated immediately, no longer requiring a wonky triple-click which I don’t even think I can describe.
After dropping one or more tags from the Tags View onto a bookmark, the target bookmark is now selected and the Detail View is switched to the Tags position, so that the result of the operation is apparent.
Immediately after creating a New Bookmarkshelf, the Undo menu item is now disabled, indicating Nothing To Undo, instead of being enabled to undo weird stuff.
Upon creating a new Bookmarkshelf, if Outline mode results, all of the items are now always expanded.
When executing an Import from Bookdog, things execute and results appear in a more orderly fashion.
Fixed a bug which caused column widths set by user to be forgotten upon reopening a Bookmarkshelf, restoring default column widths instead, if one of them was too narrow to show the title in its header.
This is a beta test with a built-in expiration date of 2010 Jan 22. Known issues are that still we don’t support new Delicious accounts based on Yahoo! ID, localization is sporadic, and many of the screenshots in the Help Book don’t reflect the current user interface.
A Toolbar has been added to the top of the Bookmarkshelf window, and several controls have been moved into this new toolbar. The moved controls are the Help button, the top-level tab selector (Content|Settings|Reports), the Quick Search field, and the Inspector button. Upon typing into the Quick Search field, the Content tab is selected, to display the results.
The menu attached to the Quick Search Field has been expanded to allow setting of Search for parameters (Bookmarks, Soft Folders) and Search in parameters (Name, URL, Tag, Shortcut, Comments)
Folders as well as bookmarks are now included in the Content Outline when it is in Flat mode, if “Folders” is checked ON in the Quick Search menu. (By default it is not.)
Entering text into the Quick Search field now resets the Filter by Tag (X|Any|All) switch to off (X), so that results are filtered by text only. (The user can still filter by text and tags by re-clicking the Filter by Tag switch to Any or All, after entering text. Although this is an inconvenience when doing repeated Quick Searches by text and tags with different text, it is less confusing for the much more common usage style of doing a quick search by text only, while not noticing that a Filter by Tag had also been set, causing unexpected omissions.)
When executing an Undo or Redo of data which is not visible in the currently-displayed Bookmarkshelf tab, now selects the tab in which the result of the Undo Redo operation is visible, at least up until the second Redo action.
All actions in Bookmarkshelf’s Settings > Clients and Agents are now correctly described in the Edit menu, at least up until the second Redo action.
Welcome Window is now a non-modal window, and there is a checkbox and preference to not show it when no document opens upon launch.
The method for storing the states of two switches in a Bookmarkshelf’s user interface has been changed so that changing their settings no longer causes a saved document to need to be saved, and also the changes no longer appear in Undo or Redo. The two switches are (1) the switch for Hierarchical-vs.-Flat above left of the outline and (2) the Detail View switch for Tags-vs.-Lineage below the outline. Their states are now stored in Preferences instead of in the .bkmslf document file. (This also makes things cleaner under the hood.)
All tables in Bookmarkshelf’s Settings now support reordering of items using drag and drop, ⌘↑ or ⌘↓.
Added missing ToolTips to Bookmarkshelf’s Settings > Clients.
Fixed a bug which could caused the Triggers popup in a Bookmarkshelf’s Settings ▸ Agents to omit the “Bookmarks Changed” and “Browser Quit” triggers, when in fact the Bookmarkshelf’s Clients should have allowed these triggers.
Fixed a bug which could cause elements in a Bookmarkshelf window to be incorrectly resized upon reopening the document.
When launching or saving, no longer tries (and fails, presenting an error) to quit the BookMacster-Quatch process if it is running on another user account on the same Macintosh.
During Verify, if the internet pipeline becomes clogged, the progress bar in the Status Bar now spins indeterminately until the pipeline unclogs, instead of disappearing until the pipeline unclogs.
Improved error messages if failure occurs getting identifiers for items during Import or Export, especially with Firefox.
Added more defenses against corrupt preferences files.
This is a beta test with a built-in expiration date of 2010 Jan 15.
Fixed a problem, introduced in 0.9.4, which can cause a crash while closing a Bookmarkshelf document. (This problem was triggered by introduction of GCUndoManager but appears to be the fault of Apple’s frameworks, not GCUndoManager).
More Undo Action Names have been provided, so that the Undo and Redo menu items are now much more likely to give a meaningful description instead of just Undo or Redo.
After clicking Undo or Redo to effect changing of a Client, the new (or old, as the case may be) setting now shows up immediately in a Bookmarkshelf’s Settings ▸ Clients. In previous versions, the change appeared mysteriously after de-activating and then re-activating the tab, window or application.
When saving a Bookmarkshelf document while Mirror-Save is on, in the “will export now” warning sheet, if user checks the box to “Switch Off Mirror-Save”, the switching off is now done before the saving, so that the document does not need to be immediately re-saved.
When logging in to Google Bookmarks in order to Import or Export, if the user is already logged in to the correct Google account with a cookie, now skips the unnecessary dance of logging out and then back in.
This is a beta test with a built-in expiration date of 2009 Dec 31.
Fixed a bug (probably introduced in 0.9.2) which would cause a crash, or cause Import or Export to fail silently, when logging into Google Bookmarks if a good password for the desired Google Bookmarks account was not found in the Keychain.
Fixed a bug which could cause a crash when undoing addition or deletion of Clients in Bookmarkshelf’s Settings ▸ Clients.
Now uses Graham Cox’ GCUndoManager.
This is a beta test with a built-in expiration date of 2009 Dec 31.
Fixed a bug which could cause bookmarks from Google Bookmarks or Delicious Clients to be omitted during an Import from multiple clients, if the Google Bookmarks or Delicious Client was not the last one in the list.
During an Import or Export, when unmappable items are mapped into the Default Parent or other alternative parent, they are now all added neatly underneath their aboriginal siblings, instead of being shoved in at some random index.
Bookmarkshelf’s Status Bar (the line of text and progress bar at the bottom of the window) now scales appropriatedly when the window is resized.
When a Bookmarkshelf window opens and shows the Content tab, the Detail View near the bottom now correctly indicates “No Selection” instead of an empty space.
This is a beta test with a built-in expiration date of 2009 Dec 31. The special debugging log-writing in the previous version has been removed since tht experiment is now concluded.
This is a beta test with a built-in expiration date of 2009 Dec 31.
This is also a special debugging version which writes a file to the desktop when attempting to log in to Google Bookmarks, to help us troubleshoot an issue reported by a particular user.
This is a beta test with a built-in expiration date of 2009 Dec 31. A new version will be available in Check for Update by then.
Upon selecting a tab view of a Bookmarkshelf window, the window size now changes appropriately to the new view, and when user resizes the window, the window size is remembered for each resizable tab view when it is reselected later, for each Bookmarkshelf.
When Importing with Clean Slate on, existing Separators in a Bookmarkshelf are now deleted.
In Settings ▸ Clients ▸ Export, a checkbox has been added to disable exporting of any separators whatsoever.
Behavior of separators during Import and Export is now clearly explained in BookMacster Help, Sec. 2.8.2.
After adding a new Bookmark or Folder using the popup menu in the Content Outline View, when a field editor opens and grabs focus for immediate editing of the new item’s name, it now stays opens instead of closing after a few milliseconds.
Measures have been added to prevent writing and reading of corrupt column widths to the Preferences. In prior versions, when corrupt column widths were read, the body of the Content Outline and Reports ▸ Find table would appear to be empty, although sometimes items would reappear after relaunch, and the second and third columns might be missing, or if they were there, would not respond to clicks in their column header.
This is a beta test with a built-in expiration date of 2009 Dec 25. A new version will be available in Check for Update by then. All of the special debugging behavior present in 0.8.1-0.8.3 has been removed, because all of those issues have been resolved.
When importing from Bookdog, creating a Bookmarkshelf from a single Bookdog Bookmarks Document (resulting in the same single Client for Import and Export), now checks on Mirror-Save in addition to Mirror-Open. With the addition of the warning before saving several versions ago, it seems that the prevalence of Bookdog cross-graders being surprised by Mirror-Save has been eliminated, and so this fix addresses the issue of such users making changes in the Bookmarkshelf, saving, and then finding their changes gone after re-opening because their old bookmarks were re-imported.
Fixed a bug which caused a crash when clicking the “+” button under the Import or Export Clients list in a Bookmarkshelf’s Settings ▸ Clients tab, if BookMacster could not guess which new Client was wanted next and added a “No Selection” Client.
The initial Client set when adding a new Import or Export Client will now never show a Client that is already listed, and in general it now makes a more intelligent choice.
Fixed a bug which caused a crash when attempting to log into Google Bookmarks with invalid credentials.
During an Import or Export, if valid credentials are entered for Delicious or Google Bookmarks after an initial failure due to invalid credentials, now recovers automatically and completes the login, the retries the desired Import or Export.
This is a special version with some extra logging to help us track down a crash experienced by a particular user when logging into Google Bookmarks.
Fixed a bug which caused a Bookmarkshelf to become unresponsive following an Undo or Redo operation which restored previously-deleted Duplicate Groups.
Now implements Safari’s file locking protocol, to prevent Safari from crashing in the event that BookMacster or its Worker happen to export to Safari while the user is editing bookmarks in Safari.
This is a special debugging version with the normal throttling of Worker operations due to Bookmarks Changed set to 5 seconds instead of 5 minutes. Also, the Worker plays a “Tink” sound when it begins and a “Pop” sound when it ends. This version if for testing only.
This is a special version with some extra logging to help us track down a certain problem which is being experienced by a particular user.
We still have several crashes reported by individuals which have not yet been fixed in this version, but it does fix a major crash which has been reported by several people, so we decided to push this version out anyhow. Again, this is a beta test with a built-in expiration date of 2009 Dec 25. A new version will be available in Check for Update by then.
Fixed a bug which could cause a crash, or deleted duplicates to still appear, if all the bookmarks of a Duplicate Group existing in the Duplicates Report were deleted in one operation. This could be triggered by selecting all the bookmarks in the Content Outline and hitting ‘delete’, but there are other sneaky ways that the triggering factors can occur. For example, they can occur when BookMacster is launched, if a Bookmarkshelf with such content is set to open on launch, and also to Mirror-Open Import from a Client not currently containing these bookmarks. The signature of this crash was that it took several seconds and resulted in a long crash report with stack of 511 calls, including calls to com.sheepsystems.Bkmxwork alternating in groups of 2 and 5.
Opening a Bookmarkshelf while holding down the ‘option’ key now inhibits operations normally caused by the Settings After Open… Import (Mirror-Open), Sort or Find Duplicates. Same idea as when you restart or log in to your Mac with the certain keys held down.
Now responds as expected to AppleScript ‘open’ and ‘open documents’ command, and understands the AppleScript term ‘bookmarkshelf’.
Added a few AppleScript commands: activate (an override of Apple’s default method), view errors from worker, and reveal tab.
The methods by which BookMacster’s Workers activate BookMacster to show errors and duplicates have been redesigned and made more robust and better-behaved by using the new AppleScript commands.
This is a beta test with a built-in expiration date of 2009 Dec 25. A new version will be available in Check for Update by then.
BookMacster can now open Bookmarkshelves created by any earlier version of BookMacster. When opening Bookmarkshelves created by versions of BookMacster prior to 0.1.9, it will immediately re-save the Bookmarkshelf, leaving the original file with a tilde (“~”) appended to its name. This is explained further in section 1.0.3 of BookMacster Help.
It is no longer necessary to quit BookMacster in order for Agents to work. Instead, a locking mechanism has been provided which prevents BookMacster the Worker initiated by an Agent from importing or exporting at the same time.
After deleting items in the Content Outline, adjacent remaining items are no longer selected.
This is a beta test with a built-in expiration date of 2009 Dec 21. A new version will be available in Check for Update by then.
This is a beta test with a built-in expiration date of 2009 Dec 21. A new version will be available in Check for Update by then.
Fixed bug which caused Bookmarkshelf window to open with missing elements, and generally not work correctly, when operating under Mac OS X 10.5.
Fixed bug which caused an exception if a New Bookmarkshelf was created without specifying any Clients in the Wizard.
This is a beta test with a built-in expiration date of 2009 Dec 21. A new version will be available in Check for Update by then.
This is a beta test with a built-in expiration date of 2009 Dec 21. A new version will be available in Check for Update by then.
During importing of bookmarks from multiple web Clients, if a Client is delayed by waiting for the user to approve quitting the web browser, other Clients no longer jump ahead of it in the order. This had resulted in bookmarks content from the delayed Client being orphaned and missing from most views. This affected Import from Bookdog of multiple Clients into one combined Bookmarkshelf, as well as executing a regular Import with multiple Clients active.
Fixed a bug which caused separators from Camino to be coalesced into fewer separators, losing some, during an Import.
In the New Bookmarkshelf Wizard, an additional dialog has been added which asks, after user picks multiple Import Clients, which one should be imported first, and offers the option to merge by Url for the remaining Import Clients. (This is actually the same dialog which appears during Import From Bookdog after selecting a Combined Bookmarkshelf.)
Changed order of default Commands in default Agent so that Save Document occurs after Export instead of before. This order is required, for example, so that items’ external identifiers exported to the Client can be fed back and saved in the Bookmarkshelf. Without this feedback, if a Bookmarkshelf is closed, reopened, and then the same export repeated to the same Client (as typically happens with Agent invocations), new items will not be properly recognized as old items in subsequent exports, and changes will be repeated.
Items copied and pasted to within the same parent now land at the expected location, in the expected order. (However note that, as in the table/outline views in other Mac apps, the landing location is just below the most recent item which was added to the current selection, which is not necessarily the highest-indexed item in the current selection. This sometimes leads to unexpected results if a multiple selection is created by extending a selection upwards. But it is correct.)
In the Status Bar, after an import or export, the number of updated (“Δ”) items is no longer overstated if items move around due to deletions during the process but end up back where they started.
Separators (either Glims or BookMacster) are now recognized as such when importing from Safari.
When importing and exporting Safari separators, changed Glims detector to detect the Agent which powers Glims 1.x. (No longer detects the old Input Manager of Glims 0.x.)
Camino separators which have been previously imported now behave like other imported items: They are recognized as already existing and not as new items, so that after an Import or Export, they are no longer counted in the Status Bar in the numbers of deleted (“-“) and (re-)added (“+”) items.
This is a beta test with a built-in expiration date of 2009 Dec 07. A new version will be available in Check for Update by then.
Fixed a bug introduced in 0.1.9 which might haved caused a crash, but usually Google or Delicious Bookmarks would “just not import” when a password was extracted from the Mac OS X Keychain.
In Reports ▸ Duplicates, when a bookmark is selected and the “Allow” button is clicked, item(s) which should no longer be in the report now disappear immediately.
Fixed bug which allowed the Inspector Show/Hide button to get out of sync with reality sometimes. Also, added a checkmark to menu Bookmarkshelf ▸ Show Inspector so that it can now also be used to hide the Inspector.
In Inspector Panel, added a field which displays the Clients which the selected item is identified with. Also, a little cosmetic cleanup of Inspector Panel.
After selecting an item in the Content tab and then switching Reports ▸ Duplicates tab, the “Allow” and “Delete” buttons are now disabled if no bookmark is selected in the Duplicates Report above them.
Tooltips added in the Reports ▸ Duplicates tab, to the “Allow” and “Delete” buttons.
Content items whose names should not be editable (Hard Folders and Separators) names are no longer editable in any view, in particular, the Inspector Panel where they had been editable.
Fixed a bug which, under a rare circumstance (item with nil name) would cause Export to a Firefox Client to hang the app.
This is a beta test with a built-in expiration date of 2009 Dec 07. A new version will be available in Check for Update by then.
Applied a temporary fix to a bug which caused an error when Bookmarkshelves created with versions of BookMacster prior to 0.1.9 were opened, edited and then attempted to be saved. Such Bookmarkshelves will now refuse to open.
Fixed a bug which would cause a crash if a simple Bookmarkshelf was created by importing from Bookdog, and if the “Show Advanced Interface” checkbox was unchecked to Off and then re-checked to On.
Fixed bugs which caused sorting by Agents to not happen when triggered if the relevant bookmarks only had minor changes such as moved bookmarks.
In Settings ▸ Clients ▸ Merge ▸ Keep, eliminated the setting Both (i.e. keep both), because there seems to be no reason that this would ever be desirable, and also because it could cause more than one item to have the same external identifier, which will probably have many unintended bad consequences.
In Agent Worker, increased the timeout allowed for the system to return the Bookmarkshelf file path from 3 seconds to 120 seconds. This should eliminate occurrence of Error Code 19005 if an Agent is triggered when the system is too busy to respond immediately, such as when waking from sleep.
When performing a Save As operation, the status bar now correctly indicates that data is being written to the new filename, instead of the old filename.
When performing an Import or Export with a Client whose browser does not allow it to be running during operation, increased the time allowed for the browser to quit, before giving up and proposing Force Quit, from 6 seconds to 15 seconds.
All three outline/table views (Content, Duplicates, and Find) in the Bookmarkshelf window, the Tag Cloud and the Detail View in the Content tab now change their font size and row height immediately when the font size is changed in Preferences ▸ Appearance.
In Reports ▸ Find, the spacing between the table rows now properly tracks the font size.
If user had previously quit with Inspector panel open, when BookMacster is relaunched, now it only re-opens after the first pre-existing Bookmarkshelf is done reopening, or never if no pre-existing Bookmarkshelves are reopened.
Fixed a bug which caused a crash if, while selecting a Client in Other Macintosh Account, user clicked Cancel in the Choose Account sheet.
Preferences Window has had cosmetic cleanup. For example, the window height now animates to fit the content of the selected tab, just like a regular app.
If user has the old Bookwatchdog set as a Login Item, and if this Bookwatchdog has now been deleted (not trashed – deleted), when BookMacster attempts and fails with error code 19584 to delete this Login Item, the error displayed now includes a Failure Reason and Recovery Suggestion
Help Book now explains about Show Advanced Settings.
In Bookmarkshelf window, Settings ▸ Clients tab, aligned table headings and columns.
Added some extra logging (“Mercrash …”) to help find a reported crash involving contextual menu.
This is a beta test with a built-in expiration date of 2009 Nov 30. A new version will be available in Check for Update by then.
In Settings ▸ Clients, added Merge Keep controls to the Import and Export configurations, so that for each Client, user may configure whether to keep items from the Client, items from the Bookmarkshelf, or items from Both. Operation is explained in BookMacster Help §2.6.1. Some bugs in this area of merging were also fixed.
When Importing from Bookdog, if user selects a Combined Bookmarkshelf and more than one Client, now presents an additional dialog asking which Client has the best structure and giving the option to Skip Duplicates between Clients.
Settings ▸ General now has a checkbox to specify Show Advanced Settings. Unchecking the box reveals a “simplified” user interface with the Clients, Structure and Agents subtabs removed from Settings. A single Client and a single default Agent (which keeps bookmarks sorted) may be selected in the General subtab. The simplified user interface is used, when generating simple Imports from Bookdog and simple New Bookmarkshelves.
Import Clients’ Clean Slate now only affects the first client imported.
Modified the import/export of Separators to follow the new Merge Keep control instead of Clean Slate, except for Both.
Modified which folder is kept when merging folders to follow the new Merge Keep control instead of Clean Slate. Operation is explained in BookMacster Help §2.8.2.
When analyzing for duplicates, now distinguishes between URLs with different fragment identifiers.
Fixed a crash which would occur while Finding Duplicates if bookmarks contained a corrupt bookmark with an undefined “host” portion.
Fixed a bug which caused a crash if an early error occurred while logging in to Google Bookmarks.
Fixed a possible bug introduced in 0.1.7 which might cause BookMacster-Worker to quit on launch because of failure to “load library SSYLocalize”.
Disabled License Info menu item for versions such as this which do not require a license.
Fixed Help button in About BookMacster box.
This is a beta test with a built-in expiration date of 2009 Nov 23. A new version will be available in Check for Update by then.
When performing a Save As or Save As Move operation, now ignores the Mirror-Save setting if it is on, and thus does not perform an Export. Mirror-Save now only affects Save operations.
When performing a Save operation, if Mirror-Save is turned on, now gives a warning and choice to override Export and/or turn off Mirror-Save.
An Import operation which does not change any bookmarks content no longer causes a Bookmarkshelf document to indicate that it has unsaved changes. The explanation for the former phenomena, which had been in BookMacster Help §1.2.3, has been deleted.
When performing a Save As operation, the Status Bar now indicates Completed: Save after the operation has actually completed, instead of before the file name has even been specified in the dialog sheet.
Drag-dropped items now land at their expected locations instead of one or more rows down.
Copying an item from a source document to a destination document no longer causes the source document to indicate that it has unsaved changes.
Fixed a bug which caused bookmarks to be imported from loose files without identifiers, printing many error messages to the console in the process.
Speeded up Delete All Duplicates in some cases by coalescing internal notifications.
While executing Delete All Duplicates, the progress bar in the Status Bar now progresses properly.
When done executing Delete All Duplicates, the notation that New duplicates, not shown, may exist no longer appears above the report.
Fixed a bug which would cause a crash if user rapidly hit the ‘enter’ key three or more times as BookMacster was launching, giving default responses to the Welcome and Choose [Recent] Bookmarkshelf dialogs, along with extra hit(s) during a window of vulnerability.
Corrected misinformation in BookMacster Help §6.2.1.
This is a beta test with a built-in expiration date of 2009 Nov 23. A new version will be available in Check for Update by then.
Fixed a major bug which was inadvertantly introduced a couple weeks ago as a side effect of fixing another problem. This bug would cause items to be misplaced or lost during import and export. With each import or export, different items would be misplaced and sometimes it would cause a crash. The crash report would show a “stack” of 511 lines in Thread 0, with the last 505 or so being identical.
Fixed Google Bookmarks login which was recently broken when Google added a ‘GALX’ parameter to their login protocol. (Most Google Bookmarks users, with only one Google account, to which they are almost always logged in, would probably not have noticed this problem.)
This is the initial beta release of BookMacster. It has a built-in expiration date of 2009 Nov 23. A new version will be available in Check for Update by then.
Known issues are:
Thank you for testing BookMacster!
| Home | Parent | ← Go → | Prior | Next |