summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2018-10-12 15:30:24 +0200
committerMatthias Beyer <mail@beyermatthias.de>2018-10-12 15:30:24 +0200
commit57ec27887fbacd5669efac6208248abc3c51fc7a (patch)
tree1e53ade381d29150b53b5f14dc5194e4e2e170ca
parentf91488e6b84b679ab6e3658e8233937dd35b3dd4 (diff)
Add post: Whats coming up in imag (37)
-rw-r--r--content/blog/2018-10-12-what-s-coming-up-in-imag-37.md110
1 files changed, 110 insertions, 0 deletions
diff --git a/content/blog/2018-10-12-what-s-coming-up-in-imag-37.md b/content/blog/2018-10-12-what-s-coming-up-in-imag-37.md
new file mode 100644
index 0000000..0c27e8c
--- /dev/null
+++ b/content/blog/2018-10-12-what-s-coming-up-in-imag-37.md
@@ -0,0 +1,110 @@
+---
+title: "What's coming up in imag (37)"
+date: "2018-10-12T11:59:40"
+tags: [ "linux", " open source", " programming", " rust", " software", " tools", " imag" ]
+---
+
+This is the
+37th
+iteration on what happened in the last four weeks in the
+[imag project, the text based personal information management suite for the commandline](https://imag-pim.org).
+
+<!-- more -->
+
+# What happenend?
+
+The last update on what's happening in the imag codebase was in May, so we
+have a bit to catch up to, right? We had the 0.8.0 release after that last
+post, so we'll go from there.
+
+* The merges
+ [30d58379](https://git.imag-pim.org/imag/commit/?id=30d5837950ee41b27b4ef04dd3089c863e229e49),
+ [7c44bc1a](https://git.imag-pim.org/imag/commit/?id=7c44bc1aa3dfc87c15ad76ce44e2c5f31b68d4b4),
+ [f912d3e7](https://git.imag-pim.org/imag/commit/?id=f912d3e7f362e524347cd061f316d3569dfb18a0),
+ [c911be87](https://git.imag-pim.org/imag/commit/?id=c911be87ee81631648b8fc6fcaa9c8c7a84612d8),
+ [c8da09f6](https://git.imag-pim.org/imag/commit/?id=c8da09f687c83bd6ec920d242c74917f2720a36b),
+ [a138dd40](https://git.imag-pim.org/imag/commit/?id=a138dd408dfab3325bd5513c7b5b035853e2b351) and
+ [e5020404](https://git.imag-pim.org/imag/commit/?id=e50204041566b0ae02526da4a3bb344f1e33ffd5)
+ added post-release-patches, fixed code for compiler warnings, updated the
+ rust compiler and added minor patches
+* [851db4ab](https://git.imag-pim.org/imag/commit/?id=851db4abe4d8d0aebafe35ef41c5594213b1be6b)
+ was a contribution from [newpavlov](https://github.com/newpavlov) which
+ replaced the `rust-crypto` crate with `sha-1` and others. Thank you a lot
+ for your contribution!
+* [2a62b6df](https://git.imag-pim.org/imag/commit/?id=2a62b6dffb9f82a464cc7d9e21a488aee04197ca)
+ fixed a bug in libimagstore where the filesystem was accessed without using
+ the filesystem abstraction.
+* [acdc1e84](https://git.imag-pim.org/imag/commit/?id=acdc1e84bc3082579d844947a978485152b4f6e6)
+ fixed a missing header in imag-diary
+* [f2916aa5](https://git.imag-pim.org/imag/commit/?id=f2916aa51a43996e56f452bb47bfbceda291d519)
+ updated rustc on travis
+* [5b82d53f](https://git.imag-pim.org/imag/commit/?id=5b82d53fd29294ac598d3e80fcee0e7b27f59c0c)
+ changed the backend so that the filesystem abstraction does not hold the
+ `File` open anymore. Files are now read into memory and re-opened on
+ `write()`, thus reducing the amount of FDs held open.
+* [6a81c0af](https://git.imag-pim.org/imag/commit/?id=6a81c0afd1d98520d4820f6a1dcb161ee4029761)
+ updated rustc on travis once more
+* [ccbc2b26](https://git.imag-pim.org/imag/commit/?id=ccbc2b2672defc61f4e67040fc193b8271bd9f60)
+ added a progressbar to imag-diagnostics
+* [c791977a](https://git.imag-pim.org/imag/commit/?id=c791977aab6eb94520cf299fb05a8355da10718c)
+ added minor patches
+* [9bce68b1](https://git.imag-pim.org/imag/commit/?id=9bce68b1bff5e2f77f7c86424de5c16a7e38a2cc)
+ optimized the iterator story from libimagstore for accessing the filesystem
+ fewer times when iterating over all entries. This was done by introducing an
+ `Entries` iterator which is returned by `Store::entries()`. The `Entries`
+ iterator supports selecting subcollections, which is optimized to not simply
+ ignore everything else (but still iterating over it), but replacing the
+ underlying `walkdir::WalkDir` iterator with a newly created and optimized
+ one.
+* [01c56257](https://git.imag-pim.org/imag/commit/?id=01c562570638600e43e1a0c70da8cea384e235bf)
+ updated dependencies
+* [6b8c2916](https://git.imag-pim.org/imag/commit/?id=6b8c29163ab06f0c027b96e7ab70506437efdcfa)
+ rewrote the github templates. We're now not developing on github anymore.
+ [Rationale here](/blog/2018/06/10/off-of-github/).
+* [8ab5f550](https://git.imag-pim.org/imag/commit/?id=8ab5f5507470b51f2e6aadd6e20a38d08baa984d)
+ added some optimizations for travis jobs
+* [879dc253](https://git.imag-pim.org/imag/commit/?id=879dc25316a87372b177cfbb879c51cfc0984e11)
+ added a Code of Conduct.
+* [a101e777](https://git.imag-pim.org/imag/commit/?id=a101e777f365bc1e1fcd9f4ca3f9a9b6198e70af)
+ updated dependencies
+* [3dba5c21](https://git.imag-pim.org/imag/commit/?id=3dba5c219be1da3982a7f7fce0853b94e9cd9300)
+ fixed a bug in imag-link where links were not properly detected when creating
+* [42247170](https://git.imag-pim.org/imag/commit/?id=42247170a64d96f502fed2531c81d75be57a060a)
+ fixed a bug in imag-contact where `Store::create` was used rather than `Store::retrieve`
+* [3c801a26](https://git.imag-pim.org/imag/commit/?id=3c801a264d6b3ef2ef77a16c759ef918d66a9357)
+ added a few minor bugfixes
+
+# What will happen
+
+Right now, we're in the middle of two major refactorings which are necessary
+unfortunately:
+
+1. [Transition to `failure` for error management](https://git.imag-pim.org/imag-matthias/log/?h=failure).
+ By replacing `error_chain` and introducing `failure` to the codebase and
+ abstractions created in the imag libraries, we redefine the whole
+ error-handling story in imag. Hopefully this will ultimatively reduce the
+ amount of code needed to handle errors conveniently.
+ The only thing that's left to be done is removing all `error-chain`
+ calls/generation and replacing it with the new infrastructure.
+ Patches to the branch are **wholeheartedly welcome**!
+1. [Redefining the IO Story in imag](https://git.imag-pim.org/imag-matthias/log/?h=runtime-io-story).
+ This is a bit more complicated to explain.
+ We wrote everything down in
+ [the documentation of libimagrt](https://git.imag-pim.org/imag-matthias/tree/doc/src/05100-lib-rt.md?h=runtime-io-story).
+ By now, everything seems to work rather well and we're planning to include
+ that change in the next release.
+ Although, some work is still needed as all the crates have to be changed to
+ use the new IO system (rather trivial to implement actually).
+ Patches to the branch are **wholeheartedly welcome**!
+
+After that I plan to get `imag-entry` implemented. It is another plumbing tool
+for programmatically modifying entries without having to implement the logic
+yourselves. For example, it could not only be used to check whether variables
+in an entry header are present or have a certain value, but also to create
+entries, delete them and so on.
+It will be a better alternative to `imag-store`, which is too low-level
+(CLI-wise) to be used by end-users.
+
+I hope we can get these things done before mid-November, because by then I'll
+be back traveling (see the last section of
+[this post](https://imag-pim.org/blog/2018/05/06/whats-coming-up-in-imag-36/)).