~matthiasbeyer/imag

4fd2feb6f3fa6805231edcff7cede2a13630a7c1 — Matthias Beyer 3 years ago 47707bf + 17d4123 v0.9.0
Merge branch 'prepare-0.9.0'

This merge marks the release 0.9.0 of the imag distribution.

Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
M bin/core/imag-annotate/Cargo.toml => bin/core/imag-annotate/Cargo.toml +1 -1
@@ 25,7 25,7 @@ maintenance                       = { status     = "actively-developed" }
log = "0.4.0"
url = "1.2"
toml = "0.4"
toml-query = "0.7"
toml-query = "0.8"
failure = "0.1"

libimagstore           = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M bin/core/imag-category/Cargo.toml => bin/core/imag-category/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"

libimagstore           = { version = "0.9.0", path = "../../../lib/core/libimagstore" }
libimagrt              = { version = "0.9.0", path = "../../../lib/core/libimagrt" }

M bin/core/imag-diagnostics/Cargo.toml => bin/core/imag-diagnostics/Cargo.toml +1 -1
@@ 18,7 18,7 @@ build = "../../../build.rs"
[dependencies]
log  = "0.4"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
indicatif  = "0.9"
failure    = "0.1"


M bin/core/imag-edit/Cargo.toml => bin/core/imag-edit/Cargo.toml +1 -1
@@ 25,7 25,7 @@ maintenance                       = { status     = "actively-developed" }
log          =  "0.4"
version      =  "3"
toml         =  "0.4"
toml-query   =  "0.7"
toml-query   =  "0.8"

libimagstore     = { version = "0.9.0", path = "../../../lib/core/libimagstore" }
libimagrt        = { version = "0.9.0", path = "../../../lib/core/libimagrt" }

M bin/core/imag-git/Cargo.toml => bin/core/imag-git/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log        = "0.4"
toml       = "0.4"
toml-query = "0.7"
toml-query = "0.8"

libimagrt    = { version = "0.9.0", path = "../../../lib/core/libimagrt" }
libimagerror = { version = "0.9.0", path = "../../../lib/core/libimagerror" }

M bin/core/imag-gps/Cargo.toml => bin/core/imag-gps/Cargo.toml +1 -1
@@ 25,7 25,7 @@ maintenance                       = { status     = "actively-developed" }
log = "0.4.0"
url = "1.2"
toml = "0.4"
toml-query = "0.7"
toml-query = "0.8"
failure = "0.1"

libimagstore     = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M bin/core/imag-ids/Cargo.toml => bin/core/imag-ids/Cargo.toml +1 -1
@@ 26,7 26,7 @@ filters    = "0.3"
nom        = "3.2"
log        = "0.4"
toml       = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
is-match   = "0.1"
failure    = "0.1"


M bin/core/imag-link/Cargo.toml => bin/core/imag-link/Cargo.toml +1 -1
@@ 25,7 25,7 @@ maintenance                       = { status     = "actively-developed" }
log = "0.4.0"
url = "1.5"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
prettytable-rs = "0.8"
failure        = "0.1"


M bin/core/imag-store/Cargo.toml => bin/core/imag-store/Cargo.toml +1 -1
@@ 52,5 52,5 @@ default-features = false
features         = ["testing"]

[dev-dependencies.toml-query]
version          = "0.7"
version          = "0.8"


M bin/core/imag-tag/Cargo.toml => bin/core/imag-tag/Cargo.toml +1 -1
@@ 37,7 37,7 @@ default-features = false
features = ["color", "suggestions", "wrap_help"]

[dev-dependencies]
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
env_logger = "0.5"
failure = "0.1"


M bin/core/imag-view/Cargo.toml => bin/core/imag-view/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
handlebars = "1.0"
tempfile = "3"
failure = "0.1"

M bin/core/imag/Cargo.toml => bin/core/imag/Cargo.toml +1 -1
@@ 34,7 34,7 @@ maintenance                       = { status     = "actively-developed" }
walkdir = "2"
log = "0.4.0"
toml = "0.4"
toml-query = "0.7"
toml-query = "0.8"

libimagerror = { version = "0.9.0", path = "../../../lib/core/libimagerror" }
libimagstore = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M bin/domain/imag-bookmark/Cargo.toml => bin/domain/imag-bookmark/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure = "0.1"

libimagrt        = { version = "0.9.0", path = "../../../lib/core/libimagrt" }

M bin/domain/imag-contact/Cargo.toml => bin/domain/imag-contact/Cargo.toml +2 -2
@@ 24,8 24,8 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
vobject    = { git = "https://github.com/matthiasbeyer/rust-vobject", branch = "master" }
toml-query = "0.8"
vobject    = "0.7"
handlebars = "1.0"
walkdir = "2"
uuid = { version = "0.7", features = ["v4"] }

M bin/domain/imag-diary/Cargo.toml => bin/domain/imag-diary/Cargo.toml +1 -1
@@ 25,7 25,7 @@ maintenance                       = { status     = "actively-developed" }
chrono = "0.4"
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
itertools = "0.7"
failure = "0.1"


M bin/domain/imag-habit/Cargo.toml => bin/domain/imag-habit/Cargo.toml +2 -2
@@ 25,8 25,8 @@ maintenance                       = { status     = "actively-developed" }
chrono = "0.4"
log = "0.4"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
kairos = { git = "https://github.com/matthiasbeyer/kairos", branch = "failure" }
toml-query = "0.8"
kairos = "0.3"
prettytable-rs = "0.8"
failure = "0.1"


M bin/domain/imag-log/Cargo.toml => bin/domain/imag-log/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
is-match = "0.1"
itertools = "0.7"
failure = "0.1"

M bin/domain/imag-timetrack/Cargo.toml => bin/domain/imag-timetrack/Cargo.toml +1 -1
@@ 27,7 27,7 @@ chrono = "0.4"
filters = "0.3"
itertools = "0.7"
prettytable-rs = "0.8"
kairos = { git = "https://github.com/matthiasbeyer/kairos", branch = "failure" }
kairos  = "0.3"
failure = "0.1"

libimagstore     = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M bin/domain/imag-todo/Cargo.toml => bin/domain/imag-todo/Cargo.toml +1 -1
@@ 24,7 24,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
is-match = "0.1"
failure  = "0.1"


M bin/domain/imag-wiki/Cargo.toml => bin/domain/imag-wiki/Cargo.toml +1 -1
@@ 19,7 19,7 @@ build = "../../../build.rs"
clap = ">=2.17"
log = "0.4"
toml = "0.4"
toml-query = "0.7"
toml-query = "0.8"
is-match = "0.1"
regex = "1"
filters = "0.3"

M doc/src/09020-changelog.md => doc/src/09020-changelog.md +82 -1
@@ 14,13 14,94 @@ the changelog (though updating of dependencies is).
Please note that we do not have a "Breaking changes" section as we are in
Version 0.y.z and thus we can break the API like we want and need to.

## 0.9.0

* [f912d3e7f3](https://git.imag-pim.org/imag/commit/?id=f912d3e7f362e524347cd061f316d3569dfb18a0)
  Fix: Duplicated printing of output in `imag log show --all`
  The problem was that the used `Diary::diary_names()` iterator does not
  call `unique()` on its output.
  That decision was made because the return type would get more
  complicated with that feature.
  The fix was to call `Itertools::unique()` on the iterator.

* [851db4abe4](https://git.imag-pim.org/imag/commit/?id=851db4abe4d8d0aebafe35ef41c5594213b1be6b)
  Do not use rust-crypto anymore, but other crates
  A contribution from newpavlov. Thank you very much!

* [5b82d53fd2](https://git.imag-pim.org/imag/commit/?id=5b82d53fd29294ac598d3e80fcee0e7b27f59c0c)
  Optimize libimagstore filesystem backend
  This optimization changes the backend so that the files are not held open. The
  files are now read whenever they are requested, then they are cached and are
  written back on "Store::update()" (which is also called when the store is
  dropped).
  This change allows us now to read more files into memory than there are FDs for
  the process (which was a problem with really large stores and, for example,
  imag-diagnostics.

* [6a81c0afd1](https://git.imag-pim.org/imag/commit/?id=6a81c0afd1d98520d4820f6a1dcb161ee4029761)
  Update rust compiler for travis

* [ccbc2b2672](https://git.imag-pim.org/imag/commit/?id=ccbc2b2672defc61f4e67040fc193b8271bd9f60)
  Add progress bar for imag-diagnostic tool, so that a user can see
  that something is happening.

* [a101e777f3](https://git.imag-pim.org/imag/commit/?id=a101e777f365bc1e1fcd9f4ca3f9a9b6198e70af)
  Update dependencies
  Dependencies of these imag crates where updated:
  Binaries:
  * imag
  * imag-contact
  * imag-edit
  * imag-git
  * imag-grep
  * imag-habit
  * imag-link
  * imag-timetrack
  * imag-view
  * imag-wiki

  Libraries:
  * libimagbookmark
  * libimagcontact
  * libimagentryfilter
  * libimagentrytag
  * libimagentryview
  * libimagerror
  * libimaginteraction
  * libimagmail
  * libimagrt
  * libimagstore
  * libimagtimeui
  * libimagtodo
  * libimagutil
  * libimagwiki

* [9bce68b1bf](https://git.imag-pim.org/imag/commit/?id=9bce68b1bff5e2f77f7c86424de5c16a7e38a2cc)
  Optimized the libimagstore `Store::entries()` interface to have
  the possibility to limit the filesystem access to subdirectories in the store
  path, so that IO operations are minimized.

* [a749d97a16](https://git.imag-pim.org/imag/commit/?id=a749d97a16af553e4a6f949538433067a757d9e8)
  Switched the whole ecosystem to use `failure` for error handling.

* [ecf4cead93](https://git.imag-pim.org/imag/commit/?id=ecf4cead93da0b04cb74370082dbfc998d7a2752)
  Introduced the runtime IO system, which can now be used to chain
  imag calls like so: `imag ids | imag tag add "foobar"`.

In the process of these major changes, small bugfixes and improvements were
applied to the codebase. Too much to list all of them here, though.

The merge messages of the respective feature branches contain more details on
the changes.


## 0.8.0

After the last release (0.7.0), we changed how we keep our changelog from manual
adding things to the list, to using `git-notes`. Hence, there's no
categorization anymore.

* Add imag-diary functionality to list existing diaries
* Add imag(https://git.imag-pim.org/imag/commit/?id=imag)diary functionality to list existing diaries

* `libimagentryview`s `StdoutViewer` is now able to wrap lines


M lib/core/libimagrt/Cargo.toml => lib/core/libimagrt/Cargo.toml +1 -1
@@ 25,7 25,7 @@ toml = "0.4"
xdg-basedir = "1.0"
itertools = "0.7"
ansi_term = "0.11"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
atty = "0.2"
failure        = "0.1"
failure_derive = "0.1"

M lib/core/libimagstore/Cargo.toml => lib/core/libimagstore/Cargo.toml +2 -2
@@ 29,8 29,8 @@ walkdir = "2"
is-match = "0.1"
serde = "1"
serde_json = "1"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
failure        = "0.1"
toml-query = "0.8"
failure    = "0.1"

libimagerror = { version = "0.9.0", path = "../../../lib/core/libimagerror" }
libimagutil  = { version = "0.9.0", path = "../../../lib/etc/libimagutil" }

M lib/domain/libimagcontact/Cargo.toml => lib/domain/libimagcontact/Cargo.toml +2 -2
@@ 23,8 23,8 @@ maintenance                       = { status     = "actively-developed" }
failure      = "0.1"
log          = "0.4"
toml         = "0.4"
toml-query   = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
vobject      = { git = "https://github.com/matthiasbeyer/rust-vobject", branch = "master" }
toml-query   = "0.8"
vobject      = "0.7"
uuid         = "0.7"
serde        = "1"
serde_derive = "1"

M lib/domain/libimagdiary/Cargo.toml => lib/domain/libimagdiary/Cargo.toml +1 -1
@@ 23,7 23,7 @@ maintenance                       = { status     = "actively-developed" }
chrono = "0.4"
log = "0.4.0"
toml = "0.4"
toml-query = "0.7"
toml-query = "0.8"
itertools = "0.7"
failure = "0.1"
filters = "0.3"

M lib/domain/libimaghabit/Cargo.toml => lib/domain/libimaghabit/Cargo.toml +2 -2
@@ 23,8 23,8 @@ maintenance                       = { status     = "actively-developed" }
chrono = "0.4"
log = "0.4"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
kairos     = { git = "https://github.com/matthiasbeyer/kairos", branch = "failure" }
toml-query = "0.8"
kairos     = "0.3"
failure    = "0.1"

libimagstore     = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M lib/domain/libimaglog/Cargo.toml => lib/domain/libimaglog/Cargo.toml +3 -3
@@ 20,9 20,9 @@ is-it-maintained-open-issues      = { repository = "matthiasbeyer/imag" }
maintenance                       = { status     = "actively-developed" }

[dependencies]
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
failure = "0.1"
toml       = "0.4"
toml-query = "0.8"
failure    = "0.1"

libimagstore = { version = "0.9.0", path = "../../../lib/core/libimagstore" }
libimagerror = { version = "0.9.0", path = "../../../lib/core/libimagerror" }

M lib/domain/libimagnotes/Cargo.toml => lib/domain/libimagnotes/Cargo.toml +1 -1
@@ 22,7 22,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure = "0.1"

libimagstore     = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M lib/domain/libimagtimetrack/Cargo.toml => lib/domain/libimagtimetrack/Cargo.toml +1 -1
@@ 23,7 23,7 @@ maintenance                       = { status     = "actively-developed" }
filters = "0.3"
chrono = "0.4"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
lazy_static = "1"
is-match = "0.1"
failure  = "0.1"

M lib/domain/libimagtodo/Cargo.toml => lib/domain/libimagtodo/Cargo.toml +2 -2
@@ 20,10 20,10 @@ is-it-maintained-open-issues      = { repository = "matthiasbeyer/imag" }
maintenance                       = { status     = "actively-developed" }

[dependencies]
task-hookrs = { git = "https://github.com/matthiasbeyer/task-hookrs", branch = "failure" }
task-hookrs = "0.6.0"
uuid = "0.7"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
log = "0.4.0"
serde_json = "1"
failure = "0.1"

M lib/domain/libimagwiki/Cargo.toml => lib/domain/libimagwiki/Cargo.toml +1 -1
@@ 22,7 22,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log         = "0.4"
toml        = "0.4"
toml-query  = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query  = "0.8"
filters     = "0.3"
failure     = "0.1"


M lib/entry/libimagentryannotation/Cargo.toml => lib/entry/libimagentryannotation/Cargo.toml +1 -1
@@ 22,7 22,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
lazy_static = "1"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure        = "0.1"
failure_derive = "0.1"


M lib/entry/libimagentrycategory/Cargo.toml => lib/entry/libimagentrycategory/Cargo.toml +1 -1
@@ 22,7 22,7 @@ maintenance                       = { status     = "actively-developed" }
[dependencies]
log        = "0.4.0"
toml       = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure    = "0.1"

libimagerror     = { version = "0.9.0", path = "../../../lib/core/libimagerror" }

M lib/entry/libimagentrydatetime/Cargo.toml => lib/entry/libimagentrydatetime/Cargo.toml +1 -1
@@ 21,7 21,7 @@ maintenance                       = { status     = "actively-developed" }

[dependencies]
chrono = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
lazy_static = "1"
toml = "0.4"
failure = "0.1"

M lib/entry/libimagentryfilter/Cargo.toml => lib/entry/libimagentryfilter/Cargo.toml +1 -1
@@ 26,7 26,7 @@ log = "0.4.0"
regex = "1"
semver = "0.9"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure        = "0.1"
failure_derive = "0.1"


M lib/entry/libimagentrygps/Cargo.toml => lib/entry/libimagentrygps/Cargo.toml +1 -1
@@ 21,7 21,7 @@ maintenance                       = { status     = "actively-developed" }

[dependencies]
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
serde_derive = "1"
serde = "1"
failure        = "0.1"

M lib/entry/libimagentrylink/Cargo.toml => lib/entry/libimagentrylink/Cargo.toml +1 -1
@@ 27,7 27,7 @@ url = "1.5"
sha-1 = "0.7"
hex = "0.3"
is-match = "0.1"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure        = "0.1"
failure_derive = "0.1"


M lib/entry/libimagentryref/Cargo.toml => lib/entry/libimagentryref/Cargo.toml +1 -1
@@ 23,7 23,7 @@ maintenance                       = { status     = "actively-developed" }
itertools = "0.7"
log = "0.4.0"
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure = "0.1"
sha-1 = { version = "0.7", optional = true }
sha2 = { version = "0.7", optional = true }

M lib/entry/libimagentrytag/Cargo.toml => lib/entry/libimagentrytag/Cargo.toml +1 -1
@@ 26,7 26,7 @@ toml = "0.4"
itertools = "0.7"
is-match = "0.1"
filters = "0.3"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
failure    = "0.1"

libimagstore = { version = "0.9.0", path = "../../../lib/core/libimagstore" }

M lib/entry/libimagentryutil/Cargo.toml => lib/entry/libimagentryutil/Cargo.toml +1 -1
@@ 21,7 21,7 @@ maintenance                       = { status     = "actively-developed" }

[dependencies]
toml = "0.4"
toml-query = { git = "https://github.com/matthiasbeyer/toml-query", branch = "failure" }
toml-query = "0.8"
filters = "0.3"
failure = "0.1"