summaryrefslogtreecommitdiffstats
path: root/content
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2018-02-09 22:36:31 +0100
committerMatthias Beyer <mail@beyermatthias.de>2018-02-10 15:17:52 +0100
commite9a90e0651d37e0c807f0d47db993f97085afa30 (patch)
treecd683d6fe096495fa3092bc179a3f6b8e141562c /content
parentc7ed682c30e54c6ce36a216319721f0c328ba9e1 (diff)
Add post: imag 0.6.0
Diffstat (limited to 'content')
-rw-r--r--content/blog/2018-02-10-imag-0-6-0.md153
-rw-r--r--content/releases.md14
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.