What's coming up in imag (23)

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

imag is a personal information management suite for the commandline. Its target audience are commandline- and power-users. It does not reimplement personal information management (PIM) aspects, but re-uses existing tools and standards to be an addition to an existing workflow, so one does not have to learn a new tool before beeing productive again. Some simple PIM aspects are implemented as imag modules, though. It gives the user the power to connect data from different existing tools and add meta-information to these connections, so one can do data-mining on PIM data.

What happenend?

I’m a bit late this month, I know. Anyways, things happened in the imag distribution and I’m eager to write them down, so here we go!

In the last four weeks I merged a lot of PRs - 27 actually! Here are the most awesome ones:

  • #836 eliminated the EntryHeader type entirely from the codebase. We are using toml::Value objects now!
  • #852 was contributed by @mario-kr to enable cargo workspace support! That was a really awesome PR, as it reduced our build times down to ~4 minutes!
  • #854 removed a lot of things (>4k lines) due to the focus-shift to libimagruby (read below)
  • #871 added the ruby build setup (read below)
  • #872 and #873 and #874 and #892 fixed some things to compile with fewer warnings. Awesome!
  • #878 updated the regex dependency.
  • #894 reverted the changes from #871 as it broke master :-(

Ruby?

Yes, Ruby!

We implemented the libimagruby, which contains Ruby bindings for libimagstore. So imag can now be programmed in Ruby!

There is a release (0.3.0) in the pipeline (waiting for fixes in cargo), which will then contain rudimentary support for programming the store in the wonderful Ruby programming language. I’ve written about that before and now it finally works. It is just not released yet.

The next release (0.4.0) will then contain more functionality to program imag, including some more bindings for libraries.

I think this will speed up development a bit, as we have more libraries in Ruby available.

What’s coming?

Well, I hope to get out 0.3.0 soonish. We have to wait for Cargo, as we ran into a bug (misbehaviour) of cargo with the current release. As soon as the next cargo version is out I will try to release 0.3.0 and then we’ll see…

Of course, I really hope to get some binaries implemented then. Starting with imag-diary and imag-mail, but also more advanced things like imag-music, imag-calendar and imag-contacts.