diff options
author | Matthias Beyer <mail@beyermatthias.de> | 2018-02-09 22:36:31 +0100 |
---|---|---|
committer | Matthias Beyer <mail@beyermatthias.de> | 2018-02-10 15:17:52 +0100 |
commit | e9a90e0651d37e0c807f0d47db993f97085afa30 (patch) | |
tree | cd683d6fe096495fa3092bc179a3f6b8e141562c | |
parent | c7ed682c30e54c6ce36a216319721f0c328ba9e1 (diff) |
Add post: imag 0.6.0
-rw-r--r-- | content/blog/2018-02-10-imag-0-6-0.md | 153 | ||||
-rw-r--r-- | content/releases.md | 14 |
2 files changed, 167 insertions, 0 deletions
diff --git a/content/blog/2018-02-10-imag-0-6-0.md b/content/blog/2018-02-10-imag-0-6-0.md new file mode 100644 index 0000000..044e08c --- /dev/null +++ b/content/blog/2018-02-10-imag-0-6-0.md @@ -0,0 +1,153 @@ +--- +title: "imag 0.6.0" +slug: "imag-0-6-0" +date: "2018-02-10T13:22:06" +tags: [ "linux", " open source", " programming", " rust", " software", " tools", " imag" ] +--- + +<!-- more --> + +**First of all (same as with the 0.5.0 release): This is not production-ready +software. Use at your own risk! Make sure you have backups** + + +# What's in there + +You might have noticed that there is something missing with the above warning. +With the 0.5.0 release and prior releases, we had a note in the warning saying + +> There _are_ bugs. This is _not_ perfect. This is +> alpha quality or pre-alpha quality software! + +And we do not have that anymore. + +That's because I am confident now to use imag for _my_ personal data. +I do not necessarily recommend imag to all users, but if you want to try it, +go ahead! With the 0.6.0 release, I will start using imag myself. +This is a big step for me. + +* 204 commits +* 46 merge-commits / 158 non-merge commits +* 1 contributor (That was me. We need more!) +* 363 files changed +* 3799 insertions(+), 2211 deletions(-) + +Some more statistics about the codebase (thank you, +[tokei](https://github.com/Aaronepower/tokei)), because why not: + +``` +------------------------------------------------------------------------------- + Language Files Lines Code Comments Blanks +------------------------------------------------------------------------------- + CSS 1 27 24 0 3 + Makefile 1 161 97 29 35 + Markdown 142 3441 3441 0 0 + Nix 2 98 77 0 21 + Rust 277 31519 19916 6600 5003 + Shell 12 419 235 101 83 + TOML 55 2278 1577 272 429 +------------------------------------------------------------------------------- + Total 490 37943 25367 7002 5574 +------------------------------------------------------------------------------- +``` + +In the following sections I will explain what changed for _users_. +For a complete list of changes (also library-wise), have a look at the +[CHANGELOG file in the repository](http://git.imag-pim.org/imag/tree/doc/src/09020-changelog.md) +or the changelog section below. + + +# New tools + +* `imag-init` was introduced. Albeit only usable by direct call and not via + `imag init` (note the missing dash), it was introduced as simple + setup-script-like tool. It creates the imag store and dumps in the default + configuration. It also initializes a git repository, if wanted. +* `imag-log` as a thin layer above `imag-diary`. A "log" is considered a + lightweight blog, like when you "dump in" single lines of text. +* `imag-edit` as simple tool for editing contents of an imag entry (or + headers) + + +# New features + +* `imag-diary` is now able to create per-second entries. This was necessary + for the `imag-log` tool, but was also included in the `imag-diary` command. +* `imag-timetrack stop` (without mentioning any tags) stops all running tags + now +* `imag-timetrack list` uses an ASCII-table now. + + +# Bugfixes + +* The `imag` command prints the error message that the called subcommand filed + to stderr now. Was stdout before. +* Before it was necessary to fix links by hand after moving an entry with + `imag mv`. This works automatically now. + + +## The release process + +The release was done with our +[release.sh script](http://git.imag-pim.org/imag/tree/scripts/release.sh) +which was added for that purpose. + +It worked as smoothly as we expected. + + +# What's coming + +The +[0.7.0 milestone](https://github.com/matthiasbeyer/imag/milestone/7) +already exists and there are a lot of things already added to it. + +When will I be there? The next version will be there if its ready. +Honestly I don't know. We have a lot of things to tackle and this is growing +to be a _really_ huge project, especially for a one-man-show, which it almost +is, still. + + +# Changelog + +Finally, here again the changelog. You can also find it +[in the repository](http://git.imag-pim.org/imag/tree/doc/src/09020-changelog.md). + +* Major changes + * The config infrastructure of `libimagstore` was removed, as it was unused. + * The iterators of `libimagstore` were improved and are now abstract over + all iterator types. For example, all iterators over `StoreId` can now be + transformed into a `StoreGetIterator`. + * `imag-log` was introduced + * `imag-init` was introduced + * `libimagdiary` supports second-granularity now. + * `libimagstore::store::Store::retrieve_copy` was renamed to + `libimagstore::store::Store::get_copy`, which describes the semantics of + the function way better. + * `libimagentryutil` was introduced, a library for helpers for + `libimagstore::store::Entry` handling and writing extension-writing. + * `imag-edit` was introduced + * `imag-diary` got second-granularity support in the CLI. +* Minor changes + * Internals were refactored from `match`ing all the things into function + chaining + * The `toml-query` dependency was updated to 0.5.0 + * `imag-timetrack list` lists with a table now + * `imag-timetrack stop` now stops all running tags if none are specified + * The `toml-query` dependency was updated to 0.6.0 + * `ResultExt::map_err_trace_exit()` was removed in favour of + `ResultExt::map_err_trace_exit_unwrap()`. + * `imag-view` shows content by default now. Use `-C` to hide the content. + * `kairos` dependency was updated to 0.1.0 +* Bugfixes + * `libimagbookmark` contained a type which wrapped a `FileLockEntry` from + `libimagstore`. This was considered a bug and was fixed. + * We depended on a crate which was licensed as GPLv2, which would yield imag + GPL as well. The dependency was removed. + * The `imag` crate prints the "command filed" error message to stderr now. + It also prefixes the subcommand with `imag-<command>` for better user + experience. + * `libimagnotes` did not set the note name in the header of the note. + * `imag-mv` automatically fixes links when moving an entry in the store. + * `imag-log` listed non-log entries (normal diary entries) before, was + changed to only list `log` entries. + diff --git a/content/releases.md b/content/releases.md index d83adf4..f8737cc 100644 --- a/content/releases.md +++ b/content/releases.md @@ -2,6 +2,20 @@ title: Releases --- +* [v0.6.0](http://git.imag-pim.org/imag/tag/?h=v0.6.0) + * Note: imag is still a hobby project, still in 0.y.z state, so expect bugs + and faulty behaviour. + * Documentation of the release + * [HTML](https://imag-pim.org/doc/web/0.6.0/) + * [PDF](https://imag-pim.org/doc/pdf/0.6.0.pdf) + * Changelog + * See [the Blog article about the release](http://imag-pim.org/blog/2018/02/10/imag-0-6-0/) + * `git log v0.5.0..v0.6.0 --oneline --merges` + * Hosted: + * [git.imag-pim.org](http://git.imag-pim.org/imag/tag/?h=v0.6.0) + * [github](https://github.com/matthiasbeyer/imag/releases/tag/v0.6.0) + * crates + * [v0.5.0](http://git.imag-pim.org/imag/tag/?h=v0.5.0) * Note: imag is still a hobby project, still in 0.y.z state, so expect bugs and faulty behaviour. |