email rss
What's coming up in imag (34)
Mar 9, 2018
3 minutes read

This is the 34th 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?

We had a release and two patch releases to fix some severe bugs.

Besides that, we had 45 merges since the last blog article. I’m not listing all of them, but only the most important ones:

  • 7bbc379b changed “imag” to list the commands alphabetically now.
  • 1f462e46 aliased the “show” subcommand to “list” in the imag-log module.
  • 7f4cdced changed all binaries to not print “Ok” on successfull execution.
  • d5e0c234 added a license-header-checker script to the CI. Our CI jobs fail now if a file does not have the license at its top.
  • 4ead3923 fixed a severe bug where imag-init created the git repository in the imag runtimepath rather for the imag runtime path.
  • 938601f4 added a check in imag-link so that an entry cannot be linked to itself (or rather: it made the error much clearer).
  • f33768ab added kairos support for imag-timetrack CLI inputs.
  • 1d46004d refactored the complete error handling.
  • 3341e364 added a feature whether the imag version is now built from git describe if compiling in debug mode.
  • 97e863f8 fixed a bug where piping imag output to an external tool resulted in broken pipe errors.
  • 2c0c8347 rewrote libimagentryref and its usage.
  • 912a48cb added the “plumbing module” imag ids and removed the same functionality from imag store.
  • 9c98d8f5 removed libimagentrylist which was basically unused.
  • 461bebe6 fixed libimagdiary to use the header-type marker functionality (libimagentryutil::isa::Is) which it did not before.
  • 1521005e rewrote the entry parsing in libimagstore and fixed a bug in it.
  • 9c63c820 added a “unlink” functionality in libimagentrylink for conveniently removing all links from an entry.
  • ef3b60ee updated “uuid” and “task-hookrs” (thanks Dylan-DPC)!
  • 7cd3bb05 fixed a severe bug which was introduced by 1521005e.
  • c9af23f6 changed imag to not instantiate a Runtime object, which is not necessary in this context.
  • 590a2e8f added “daily” support in imag-diary.
  • 763f3fab refactored all usage of stdin/stdout so that libimagrt provides access to IO resources now. That’s the first step towards an easy command-chaining approach where libimagrt holds all resources for interactive functionality and IO resources.

What will happen

I’m currently working more on the “command chaining” thing than on the modules. I hope I can get imag-calendar and imag-wiki ready before April, but I cannot promise anything.

I’m also thinking a lot about how to simplify contributions. Writing new modules for imag is not hard, but it is too hard for a person not knowing the imag code infrastructure and all the nice abstractions and tools we have around.

Back to posts