This release contains an exciting new feature: client side caching (on Linux, BSD, macOS). The idea was to make repeated requests for the same item or vault faster.
This is how it works in a nutshell:
The cache is actually a background process, which
op commands can connect to via a UNIX socket. The background process stores encrypted versions of keyset, vault and item data in memory. It doesn't have the ability to decrypt the data.
op commands getting data from the cache verify that the data is up-to-date, otherwise they fetch it from the server. The background process will terminate itself if it wasn't contacted by an
op process for 24 hours.
Caching is opt-in at the moment. Even though the background process will always run (it does more than just storing things in memory),
op commands won't connect to it if the
--cache flag isn't set.
For various reasons, in order to benefit from the cache for fetching items,
op --cache list items --vault .... needs to be run prior to fetching the items (repeatedly).
Please let us know if you have any questions or run into problems.