email rss
What's coming up in imag (36)
May 6, 2018
4 minutes read

This is the 36th iteration on what happened in the last four weeks in the imag project, the text based personal information management suite for the commandline.

What happenend?

As we got 67 merges since the last post, here only the most important ones. During the last four weeks, imag 0.7.0 happened as well (the first half of the changes noted here is in the release, the next half will be in 0.8.0):

  • 7d96ee5e added a feature to imag-ids to filter by “collection” (directory in the store).
  • 76c8443e fixed the clap setup so that text is wrapped in the help output.
  • 90eb83a5 re-adds shell completion generation. Thanks goes to mario-kr for this feature. Autocompletion scripts are generated during build time now.
  • 877f0dfb fixed a bug where the logging level could not be set via the --verbose parameter
  • 88b57910 removed “pipe magic”. We do not go down this path at all.
  • 13e69240 added documentation on how to write imag modules.
  • 95d3fbeb and 51205af6 added “libimagwiki” and “imag-wiki” respectively.
  • c27a5ac7 prepared the 0.7.0 release.

And the following changes will be available in the next release (most of the bugfixes are already in imag 0.7.1):

  • 705c6a33 added functionality to imag-tag so that it can read ids from stdin.
  • e0decb72 added functionality to imag-diary to be able to list diaries.
  • ca5e150f added wrapping functionality to imag-view.
  • 1fcd4f93 removed Store::retrieve_for_module() and related code.
  • 726e4c51 added imag-git, a wrapper to call git in the imag store.
  • 16747aa2 added functionality to compile markdown even when printing to stdout (in imag-view).
  • 2ac4fa42 removed the backend mapping functionality in libimagstore (which was dead code anyways).
  • 0e567e23 added a functionality to print a seperator line with imag-view when showning multiple entries.
  • 2b10ab0b changed libimagcontact to be not based on libimagentryref. This means that the store entries change completely and contacts added in prior versions of imag (0.7.0 for example) will not be compatible anymore.
  • 493fa022 fixed a bug in imag-contact where the UID of the created contact was not set.
  • ead8413c rewrote libimagcategory to automatically do linking.
  • 1dd5cb55 added email property support in libimagcontact. This is required for tools like mutt.
  • 0976cab0 changed libimagentrygps to use 64 bit values instead of 8 bit.
  • ebc2e49c removed the edit command from imag-diary. imag-edit shall be used.
  • 900d9f09 added cache flushing functionality for the Store. This is required when accessing a lot of entries, as this might result in too few file descriptors at some point.
  • 195d9212 rewrote the libimagstore library (its iterator interface) to never actually collect internally. This caused the interface of libimagstore to change (iterators now return Result<StoreId> instead of StoreId. This change was necessary. The patchset fixed all usages (easily!).
  • eb20a9d8 removed the Store::walk() interface and related code. The interface was unused anyways.
  • 9c36fc8a added functionality in imag-ids to filter by header values. A language for filtering was introduced (which might change in further development) which can be seen as first step towards a general filtering language.
  • 16dafb17 added imag-category.
  • a0d7f832 added a vacation/sabatical notice.

Upcoming release and maintainer on vacation

I will re-iterate the following in the release blog post of imag 0.8.0 (which will be next week), but I want to state this here as well:

As some of you already now, I will be gone for a sabatical from next week until early 2019.

This does not mean that the imag project is “dead”. I will continue developing it and will most certainly continue developing it when I’m back.

But what it does mean is that developing will slow down significantly. I don’t know how much I will be able to hack on it or whether I will have access to the internet (or whether I will have time, as I will hopefully go hiking a lot). And there won’t be any releases until early 2019, as I simply do not have the computing power to do a full release (my ThinkPad takes simply too long to compile the complete codebase). I will be mostly “off the grid” and may respond slowly to issues and pull requests.

This does also mean that this will probably be the last “What’s coming up in imag” blog post for this year.

I hope you stay tuned until 2019. I hope I can maintain the repository from wherever I may be during that time. As there are only a few contributions by now - and I don’t expect that number to increase that dramatically - I hope for the best.

Have a nice summer, you all! Maybe we see eachother on Portland Rust Conf in August (if I can make it)!

Back to posts