Codebook for macOS 4.5.8 Released - Secret Agent and Google Drive fixes

Codebook for macOS 4.5.8 is available now for download.

Version 4.5.8 of Codebook for macOS fixes a number of new and old bugs that were identified recently. Thank you to everyone who helped us to track down these problems quickly.

Changes in this Version

  • Fixes crash when attempting to Google Drive sync on macOS versions older than 10.15. Google Drive sync is only available on macOS versions 10.15+
  • Fixes Secret Agent not working on Macs with Apple Silicon which don’t also have Rosetta enabled
  • Fixes Dropbox sync stalling during download phase when attempting to download a large amount of changes
  • Fixes Secret Agent keyboard shortcut not working after locking and unlocking
  • Fixes invalid CSV formatting during Export for some Fields and Note Entries with double-quote characters–customers who have archived CSV exports are advised to regenerate them
  • Preferences window will remain on previously selected tab when re-opening until quitting and re-opening Codebook

Read on for more information about these issues and changes.

Secret Agent

There were two problems affecting Secret Agent. The one related to Secret Agent no longer presenting after the application locks was an unintended side-effect of some clean-up work we did in 4.5.6. The other issue preventing Secret Agent from working was the keyboard shortcut listener service crashing on Apple Silicon Macs, a bug that was laying in wait for Macs that ship without the Rosetta compatibility layer for Intel software, which is now the case. We started building Codebook for macOS with support for Apple Silicon some time ago, but a misconfiguration in our build settings (valid archs strikes again!) was preventing the keyboard shortcut listener service from being built for both Intel and Apple Silicon architectures.

Google Drive

In version 4.5.7 we upgraded the authorization service from Google that we use to allow customers to sync with Google Drive. Unfortunately, this new library only supports macOS 10.15 Catalina and later, which was causing version 4.5.7 to crash on Macs running macOS 10.12 - 10.14. We’ve fixed the crashing behavior in this version, but we are opting not to support Google Drive on macOS 10.12 through 10.14. We’re sorry about this, but we think it’s best not to back out the upgrade. Codebook for macOS supports three other sync services that may be suitable replacements until the affected customers are ready to upgrade macOS. Please get in touch if you have any questions or need help.


Customers who have been using Codebook to sync with Dropbox and have accumulated a significant enough number of changeset files (let’s say around 2000 or more) were running into a vexing issue when attempting to set up Codebook on a new device and restore all that data from Dropbox: it kept stalling out! Apparently the default behavior of the Dropbox client library was to dispatch the requests to download all of these files simultaneously! We’ve throttled that down quite a bit in this version, still taking advantage of concurrent requests, but much more carefully.

CSV Export

Now here is a bug, this one has been waiting twelve years to be discovered. Customers who have securely archived a CSV export of their Codebook data may wish to regenerate their export and replace their archived version.

Our CSV formatting code for the CSV export feature quite reliably escapes and formats string content for CSV output and has held up for a long time. However, thanks to a recent bug report and a lot of testing it turns out that if you create a field on an entry (or a note entry) with either of the following properties:

  • A double-quote character at the beginning of the text
  • Double-quote characters wrapping the entire text (first and last character)
  • A double-quote in the middle of the field value, with no other space, comma, or newline in the field value

Then export to CSV, and attempt to import that CSV, undesirable behavior results. The first two cases cause an import error reporting an incorrect number of fields on the row, and the third will import but with two double-quotes in place of the one that should be there in the resulting text.

That’s all fixed up in version 4.5.8.