diff options
author | Daniel Silverstone <dsilvers+gitlab@digital-scurf.org> | 2021-10-21 08:26:16 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers+gitlab@digital-scurf.org> | 2021-10-21 08:26:16 +0000 |
commit | 15b88423c0dd54101f1883213fe520b53178c2a6 (patch) | |
tree | badabb6f54d980ac4b4f847974d0d71e6919407a | |
parent | 5280dc012961537a10407382a5f4d3b6caf583c6 (diff) | |
parent | 5587eea4e9d2b4afecf8922406f1921a8f961561 (diff) | |
download | subplot-15b88423c0dd54101f1883213fe520b53178c2a6.tar.gz |
Merge branch 'release-prep' into 'main'
Prepare release 0.3.0
See merge request subplot/subplot!226
-rw-r--r-- | Cargo.lock | 150 | ||||
-rw-r--r-- | Cargo.toml | 2 | ||||
-rw-r--r-- | NEWS.md | 120 | ||||
-rw-r--r-- | debian/changelog | 6 | ||||
-rw-r--r-- | subplot-build/Cargo.toml | 2 |
5 files changed, 234 insertions, 46 deletions
@@ -87,9 +87,9 @@ dependencies = [ [[package]] name = "bstr" -version = "0.2.16" +version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90682c8d613ad3373e66de8c6411e0ae2ab2571e879d2efbf73558cc66f21279" +checksum = "ba3569f383e8f1598449f1a423e72e99569137b47740b1da11ef19af3d5c3223" dependencies = [ "memchr", ] @@ -108,9 +108,9 @@ checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" [[package]] name = "cc" -version = "1.0.70" +version = "1.0.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d26a6ce4b6a484fa3edb70f7efa6fc430fd2b87285fe8b84304fd0936faa0dc0" +checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" [[package]] name = "cfg-if" @@ -133,12 +133,24 @@ dependencies = [ [[package]] name = "chrono-tz" -version = "0.5.3" +version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2554a3155fec064362507487171dcc4edc3df60cb10f3a1fb10ed8094822b120" +checksum = "64c01c1c607d25c71bbaa67c113d6c6b36c434744b4fd66691d711b5b1bc0c8b" dependencies = [ "chrono", + "chrono-tz-build", + "phf", +] + +[[package]] +name = "chrono-tz-build" +version = "0.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db058d493fb2f65f41861bfed7e3fe6335264a9f0f92710cab5bdf01fef09069" +dependencies = [ "parse-zoneinfo", + "phf", + "phf_codegen", ] [[package]] @@ -457,9 +469,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.102" +version = "0.2.104" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a2a5ac8f984bfcf3a823267e5fde638acc3325f6496633a5da6bb6eb2171e103" +checksum = "7b2f96d100e1cf1929e7719b7edb3b90ab5298072638fccd77be9ce942ecdfce" [[package]] name = "linked-hash-map" @@ -478,15 +490,17 @@ dependencies = [ [[package]] name = "loom" -version = "0.5.1" +version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2111607c723d7857e0d8299d5ce7a0bf4b844d3e44f8de136b13da513eaf8fc4" +checksum = "b2b9df80a3804094bf49bb29881d18f6f05048db72127e84e09c26fc7c2324f5" dependencies = [ "cfg-if", "generator", "scoped-tls", "serde", "serde_json", + "tracing", + "tracing-subscriber", ] [[package]] @@ -656,6 +670,45 @@ dependencies = [ ] [[package]] +name = "phf" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9fc3db1018c4b59d7d582a739436478b6035138b6aecbce989fc91c3e98409f" +dependencies = [ + "phf_shared", +] + +[[package]] +name = "phf_codegen" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb1c3a8bc4dd4e5cfce29b44ffc14bedd2ee294559a294e2a4d4c9e9a6a13cd" +dependencies = [ + "phf_generator", + "phf_shared", +] + +[[package]] +name = "phf_generator" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5d5285893bb5eb82e6aaf5d59ee909a06a16737a8970984dd7746ba9283498d6" +dependencies = [ + "phf_shared", + "rand", +] + +[[package]] +name = "phf_shared" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b6796ad771acdc0123d2a88dc428b5e38ef24456743ddb1744ed628f9815c096" +dependencies = [ + "siphasher", + "uncased", +] + +[[package]] name = "pikchr" version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -673,9 +726,9 @@ checksum = "8d31d11c69a6b52a174b42bdc0c30e5e11670f90788b2c471c31c1d17d449443" [[package]] name = "ppv-lite86" -version = "0.2.10" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac74c624d6b2d21f425f752262f42188365d7b8ff1aff74c82e45136510a4857" +checksum = "c3ca011bd0129ff4ae15cd04c4eef202cadf6c51c21e47aba319b4e0501db741" [[package]] name = "proc-macro-error" @@ -703,9 +756,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9f5105d4fdaab20335ca9565e106a5d9b82b6219b5ba735731124ac6711d23d" +checksum = "edc3358ebc67bc8b7fa0c007f945b0b18226f78437d61bec735a9eb96b61ee70" dependencies = [ "unicode-xid", ] @@ -724,9 +777,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.9" +version = "1.0.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3d0b9745dc2debf507c8422de05d7226cc1f0644216dfdfead988f9b1ab32a7" +checksum = "38bc8cc6a5f2e3655e0899c1b848643b2562f853f114bfec7be120678e3ace05" dependencies = [ "proc-macro2", ] @@ -967,9 +1020,9 @@ dependencies = [ [[package]] name = "sharded-slab" -version = "0.1.3" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "740223c51853f3145fe7c90360d2d4232f2b62e3449489c207eccde818979982" +checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" dependencies = [ "lazy_static", ] @@ -981,6 +1034,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6fa3938c99da4914afedd13bf3d79bcb6c277d1b2c398d23257a304d9e1b074" [[package]] +name = "siphasher" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "533494a8f9b724d33625ab53c6c4800f7cc445895924a8ef649222dcb76e938b" + +[[package]] name = "slug" version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -991,9 +1050,9 @@ dependencies = [ [[package]] name = "smallvec" -version = "1.6.1" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe0f37c9e8f3c5a4a66ad655a93c74daac4ad00c441533bf5c6e7990bb42604e" +checksum = "1ecab6c735a6bb4139c0caafd0cc3635748bbb3acf4550e8138122099251f309" [[package]] name = "state" @@ -1012,9 +1071,9 @@ checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" [[package]] name = "structopt" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf9d950ef167e25e0bdb073cf1d68e9ad2795ac826f2f3f59647817cf23c0bfa" +checksum = "40b9788f4202aa75c240ecc9c15c65185e6a39ccdeb0fd5d008b98825464c87c" dependencies = [ "clap", "lazy_static", @@ -1023,9 +1082,9 @@ dependencies = [ [[package]] name = "structopt-derive" -version = "0.4.16" +version = "0.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "134d838a2c9943ac3125cf6df165eda53493451b719f3255b2a26b85f772d0ba" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" dependencies = [ "heck", "proc-macro-error", @@ -1036,7 +1095,7 @@ dependencies = [ [[package]] name = "subplot" -version = "0.2.2" +version = "0.3.0" dependencies = [ "anyhow", "base64", @@ -1106,9 +1165,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.76" +version = "1.0.80" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6f107db402c2c2055242dbf4d2af0e69197202e9faacbef9571bbe47f5a1b84" +checksum = "d010a1623fbd906d51d650a9916aaefc05ffa0e4053ff7fe601167f3e715d194" dependencies = [ "proc-macro2", "quote", @@ -1142,9 +1201,9 @@ dependencies = [ [[package]] name = "tera" -version = "1.12.1" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf95b0d8a46da5fe3ea119394a6c7f1e745f9de359081641c99946e2bf55d4f2" +checksum = "ed0c0eee8fbbbaab449287574b292f21ca53224b92a07b4a23266b77376f0ce7" dependencies = [ "chrono", "chrono-tz", @@ -1173,18 +1232,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "602eca064b2d83369e2b2f34b09c70b605402801927c65c11071ac911d299b88" +checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.29" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bad553cc2c78e8de258400763a647e80e6d1b31ee237275d756f6836d204494c" +checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b" dependencies = [ "proc-macro2", "quote", @@ -1212,9 +1271,9 @@ dependencies = [ [[package]] name = "tracing" -version = "0.1.28" +version = "0.1.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "84f96e095c0c82419687c20ddf5cb3eadb61f4e1405923c9dc8e53a1adacbda8" +checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if", "pin-project-lite", @@ -1235,9 +1294,9 @@ dependencies = [ [[package]] name = "tracing-attributes" -version = "0.1.16" +version = "0.1.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98863d0dd09fa59a1b79c6750ad80dbda6b75f4e71c437a6a1a8cb91a8bcbd77" +checksum = "f4f480b8f81512e825f337ad51e94c1eb5d3bbdf2b363dcd01e2b19a9ffe3f8e" dependencies = [ "proc-macro2", "quote", @@ -1246,9 +1305,9 @@ dependencies = [ [[package]] name = "tracing-core" -version = "0.1.20" +version = "0.1.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46125608c26121c81b0c6d693eab5a420e416da7e43c426d2e8f7df8da8a3acf" +checksum = "1f4ed65637b8390770814083d20756f87bfa2c21bf2f110babdc5438351746e4" dependencies = [ "lazy_static", ] @@ -1276,9 +1335,9 @@ dependencies = [ [[package]] name = "tracing-subscriber" -version = "0.2.23" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56c42e73a9d277d4d2b6a88389a137ccf3c58599660b17e8f5fc39305e490669" +checksum = "0e0d2eaa99c3c2e41547cfa109e910a68ea03823cccad4a0525dcbc9b01e8c71" dependencies = [ "ansi_term 0.12.1", "chrono", @@ -1309,6 +1368,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" [[package]] +name = "uncased" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5baeed7327e25054889b9bd4f975f32e5f4c5d434042d59ab6cd4142c0a76ed0" +dependencies = [ + "version_check", +] + +[[package]] name = "unescape" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -1,6 +1,6 @@ [package] name = "subplot" -version = "0.2.2" +version = "0.3.0" authors = [ "Lars Wirzenius <liw@liw.fi>", "Daniel Silverstone <dsilvers@digital-scurf.org>", @@ -3,7 +3,121 @@ title: Release notes for Subplot ... This file summarises the changes between released versions of Subplot and its -associated libraries. +associated libraries, especially with regards to changes visible to +the user of the Subplot software. + +# Version 0.3.0, released 2021-10-20 + +This is still an ALPHA quality release, and includes breaking changes. + +## Breaking changes + +You definitely need to pay attention to these changes. + +* Subplot is moving to libraries and subplots being able to support + multiple step implementation languages at once. In this release, + bindings can indicate different functions for each language. Note + that a binding only needs to support one language. The new binding + format is: + +```yaml +- given: foo + impl: + python: + function: foo + cleanup: foo_cleanup + rust: + function: somelib::foo + cleanup: somelib::foo_cleanup +``` + +* The Subplot code generator now uses the `pulldown-cmark` crate for + parsing Markdown input. The reason for this change is to not have to + have Pandoc installed in a CI or other environment that only + generates and runs test programs. + + The document generator still uses Pandoc for this, but it, too, will + migrate to `pulldown-cmark` so that all parsing is done in the same + way. + + The parsing crate should support the same Markdown variants as + Pandoc does, more or less. + + Unfortunately, the YAML document metadata block is less forgiving + now. The new metadata parser doesn't accept everything Pandoc does, + and there will be a need to change input documents. The next release + of Subplot is likely to introduce further changes, and we will + document the new metadata format then. + +* The generated test programs no longer clear the environment + variables before running scenarios. This is partly to allow Subplot + to be more easily ported to operating systems other than Debian + (such as NixOS, but also Windows and macOS), but also because + clearing the environment variables is not a good way to make sure + the tests run in a known environment. Subplot now makes it the + responsibility of the person running the test program to control + where it is run: what software is installed, what services are + available, etc. + +* Subplot code generation now refuses documents that have no + scenarios. Document generation still accepts them so that Subplot + can be used to produce typeset documents and web pages. + +## General + +The changes in this section should not break any existing Subplot +documents. They affect all uses of Subplot, regardless of step +implementation language and whether Subplot code or document +generation is used. + +* After a bug fix, Subplot now handles better the input files being + elsewhere than the current directory. If the Markdown input file is + in `foo/bar/yo.md`, the files referred to from the input file are + looked up relative to `foo/bar` instead of the current working + directory. + +* Subplot now has initial support for logging to make it easier to + find out what it's doing, when it's doing something surprising. The + environment variables `SUBPLOT_LOG`, `SUBPLOT_LOG_FILE`, and + `SUBPLOT_LOG_FORMAT` (`oneline`, `json`, or `pretty`). What Subplot + logs is still rudimentary but will be improved over time. We'd + welcome suggestions. + +* The Subplot Debian package now builds in the resource into the + Subplot binary. + +* Document titles can now use markup to indicate `literal` text. + +* Subplot now automatically handles versions of Pandoc that don't have + a separate `pandoc-citeproc` binary, and want the `--citeproc` + option instead. + +* Subplot now works with version 1.48.0 of the Rust language and + toolchain, in order to make it possible for the Sequoia-PGP project + to use Subplot. + +## Python support + +* The generated Python test program now supports the `--run-all` + (`-k`) option to run all scenarios even if one or more fail. + +## Rust support + +* Subplot now provides the `subplot-build` crate, for using Subplot + code generation from another project's `build.rs` script. + +* We are in the process of elevating Rust into a supported language, + so that it will be on par with Python. This release does not get + there, but starts the process. + +## Bash support + +* We've not made much effort to improve the Bash support (modulo the + environment cleanup). Compared to Python and Rust it is not a + well-support language in Subplot. Lars and Daniel do not feel it is + a target worth spending much of their free time one, but would + welcome help with that. + # Version 0.2.2, released 2021-08-07 @@ -37,7 +151,7 @@ breaking changes in future releases. * The documentation now makes it clearer that the `files_get` function returns the contents of the embedded file and not a filename. (By Richard Maw) - + * Some spelling and other language mistakes have been fixed in the documentation for Bash support. (By Richard Maw) @@ -47,7 +161,7 @@ breaking changes in future releases. * The generated Bash test program now supports the `--env` option to let the user pass in environment variables when invoking the test program. (By Richard Maw) - + * Assertion functions now return an error rather then terminating the test program. This lets cleanups run. (By Richard Maw) diff --git a/debian/changelog b/debian/changelog index 0f2ee06..40e778f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +subplot (0.3.0-1) unstable; urgency=medium + + * New upstream release. + + -- Lars Wirzenius <liw@liw.fi> Thu, 21 Oct 2021 11:07:02 +0300 + subplot (0.2.2-1) unstable; urgency=medium * New upstream release. diff --git a/subplot-build/Cargo.toml b/subplot-build/Cargo.toml index 40e4bac..c4fe932 100644 --- a/subplot-build/Cargo.toml +++ b/subplot-build/Cargo.toml @@ -14,6 +14,6 @@ repository = "https://gitlab.com/subplot/subplot" [dependencies] -subplot = { version="0.2.2", path = ".." } +subplot = { version="0.3.0", path = ".." } tracing = "0.1" tempfile = "3.1.0" |