diff --git a/Cargo.toml b/Cargo.toml index 8c1a232..bf52a04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,10 +1,13 @@ [package] name = "lipsum" -version = "0.2.0" +version = "0.3.0" authors = ["Martin Geisler "] description = """ Lipsum is a lorem ipsum text generation library. Use this if you need some filler text for your application. + +The text is generated using a simple Markov chain, which you can also +instantiate to generate your own pieces of pseudo-random text. """ documentation = "https://docs.rs/lipsum/" repository = "https://github.com/mgeisler/lipsum/" diff --git a/README.md b/README.md index 7adbce0..db02a62 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ application. Add this to your `Cargo.toml`: ```toml [dependencies] -lipsum = "0.2" +lipsum = "0.3" ``` and this to your crate root: @@ -52,6 +52,27 @@ lorem ipsum text is derived from part of that book. ## Release History +### Version 0.3.0 — July 28th, 2017 + +Performance is improved by about 50% when generating text, but +training the Markov chain now takes about twice as long as before. + +The `MarkovChain` struct has many new methods: + +* `new_with_rng` makes it possible to specify the random number + generator used by the Markov chain. Use this to get deterministic + and thus reproducible output for tests. `MarkovChain` now owns the + RNG it uses and as a consequence, it has an extra type parameter. + This is a breaking change if you used struct directly in your code. + +* `iter` and `into_from` return iterators over words in the Markov + chain. The `generate` and `generate_from` methods are now + straight-forward convenience wrappers for the iterators. + +* `len` tells you the number of stats in the Markov chain and + `is_empty` tells you if the Markov chain is empty, meaning that it + hasn't been trained on anything yet. + ### Version 0.2.0 — July 10th, 2017 Rust version 1.6.0 is now supported. This is checked with TravisCI.