summaryrefslogtreecommitdiffstats
path: root/content/blog/2018-03-09-what-s-coming-up-in-imag-34.md
blob: fac51fdf83cfd8051a1b2bcfa2d238c1e89cb5fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
---
title: "What's coming up in imag (34)"
date: "2018-03-09T11:59:40"
tags: [ "linux", " open source", " programming", " rust", " software", " tools", " imag" ]
---

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](http://imag-pim.org).

<!-- more -->

# What happenend?

We had a [release](/blog/2018/02/10/imag-0-6-0/) and two
[patch](/blog/2018/02/11/imag-0-6-1/)
[releases](/blog/2018/03/03/imag-0-6-2/)
to fix some severe bugs.

Besides that, we had 45 merges since
[the last blog article](/blog/2018/02/07/whats-coming-up-in-imag-33/).
I'm not listing all of them, but only the most important ones:

* [7bbc379b](http://git.imag-pim.org/imag/commit/?id=7bbc379b73d93e48eee02534a81acb454d62de71)
  changed "imag" to list the commands alphabetically now.
* [1f462e46](http://git.imag-pim.org/imag/commit/?id=1f462e4635316465136dc0f8b49957063519bc60)
  aliased the "show" subcommand to "list" in the `imag-log` module.
* [7f4cdced](http://git.imag-pim.org/imag/commit/?id=7f4cdced4a5a1e42f72a28907f5ca8dab2fbfb63)
  changed all binaries to _not_ print "Ok" on successfull execution.
* [d5e0c234](http://git.imag-pim.org/imag/commit/?id=d5e0c23499b0b38556c7c8ea4d0066d21231668a)
  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](http://git.imag-pim.org/imag/commit/?id=4ead39233bd06ec9bb735507e18ac3c91ab5052b)
  fixed a severe bug where `imag-init` created the git repository _in_ the imag
  runtimepath rather _for_ the imag runtime path.
* [938601f4](http://git.imag-pim.org/imag/commit/?id=938601f4fd6966b77333ef382eee8ae87d88cf28)
  added a check in `imag-link` so that an entry cannot be linked to itself (or
  rather: it made the error much clearer).
* [f33768ab](http://git.imag-pim.org/imag/commit/?id=f33768abbf7f84f06b60009f00cf4dab969939e9)
  added `kairos` support for `imag-timetrack` CLI inputs.
* [1d46004d](http://git.imag-pim.org/imag/commit/?id=1d46004da22fb5861aaaa04d7754256f301da1ca)
  refactored the complete error handling.
* [3341e364](http://git.imag-pim.org/imag/commit/?id=3341e3640cbdca41343c88ab09bd42fe0b023fa2)
  added a feature whether the imag version is now built from `git describe` if
  compiling in debug mode.
* [97e863f8](http://git.imag-pim.org/imag/commit/?id=97e863f8fb24ae4fda1653d1394bf8f906c58b7d)
  fixed a bug where piping imag output to an external tool resulted in broken
  pipe errors.
* [2c0c8347](http://git.imag-pim.org/imag/commit/?id=2c0c8347e973dcd0c4113700eba37b67959561ed)
  rewrote `libimagentryref` and its usage.
* [912a48cb](http://git.imag-pim.org/imag/commit/?id=912a48cbfe024bdd70eddf4cd5155253eb24a321)
  added the "plumbing module" `imag ids` and removed the same functionality
  from `imag store`.
* [9c98d8f5](http://git.imag-pim.org/imag/commit/?id=9c98d8f56edf5e849f46afba669ea9b64bf37376)
  removed `libimagentrylist` which was basically unused.
* [461bebe6](http://git.imag-pim.org/imag/commit/?id=461bebe60adff66da5a2bc98740c2a795bc5a739)
  fixed `libimagdiary` to use the header-type marker functionality
  (`libimagentryutil::isa::Is`) which it did not before.
* [1521005e](http://git.imag-pim.org/imag/commit/?id=1521005e79d99b1500e95f12c776d5288a393666)
  rewrote the entry parsing in `libimagstore` and fixed a bug in it.
* [9c63c820](http://git.imag-pim.org/imag/commit/?id=9c63c82063c5281579f7155520576a2745ff7615)
  added a "unlink" functionality in `libimagentrylink` for conveniently
  removing all links from an entry.
* [ef3b60ee](http://git.imag-pim.org/imag/commit/?id=ef3b60eea57356efd4871cc44f43aaad346ac196)
  updated "uuid" and "task-hookrs" (thanks [Dylan-DPC](https://github.com/Dylan-DPC))!
* [7cd3bb05](http://git.imag-pim.org/imag/commit/?id=7cd3bb059f9eb729650614d00cabf65f857c7af9)
  fixed a severe bug which was introduced by [1521005e](http://git.imag-pim.org/imag/commit/?id=1521005e79d99b1500e95f12c776d5288a393666).
* [c9af23f6](http://git.imag-pim.org/imag/commit/?id=c9af23f6634031969e1e53bf293ef99895531c99)
  changed `imag` to not instantiate a `Runtime` object, which is not necessary
  in this context.
* [590a2e8f](http://git.imag-pim.org/imag/commit/?id=590a2e8f1d6d16fec22073c1b38312352da8c3bb)
  added "daily" support in `imag-diary`.
* [763f3fab](http://git.imag-pim.org/imag/commit/?id=763f3fab86c973c77b4e5afb98b20d07767d9792)
  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.