Releases: mlange-42/yarner
Releases · mlange-42/yarner
Yarner 0.6.1
Yarner 0.6.0
👀 Introducing watch mode 👀
Features
- 👀 Watch mode - re-builds a project when changes are detected
- Colored log output
Breaking changes
- None for
yarner-lib
- Removed plugin alias
preprocessor
forYarner.toml
file
Bug fixes
- Does not modify empty links (like
[label]()
)
Yarner 0.5.2
Features
- Plugin commands can take arguments
- Reverse mode stops with error if not defined for any language in the config
- Stops with error on unclosed code blocks in sources
Releases
- Yarner is published to crates.io and can be installed with
cargo install yarner
- Downloadable binaries have the naming format
yarner-<version>-<os>-amd64.tar.gz
instead ofyarner-<version>-<os>.tar.gz
Yarner 0.5.1
Features
- Pre-processors are now called plugins, and are basically post-processors. I.e., they are run after code extraction, so they can only manipulate documentation output, not the generated code
- The
Yarner.toml
sections for plugins are now[plugin-<name>]
. The old[preprocessor-<name>]
sections are still supported, but backward-compatibility will be removed in release0.6.0
Yarner 0.5.0
🎉 Custom pre-processors to add functionality 🎉
Features
- Pre-processors as external programs to add functionality
- Library
yarner-lib
to build pre-processors in Rust - JSON schema to build pre-processors in other languages
- Library
Pre-processors available:
- yarner-block-links adds links to all referenced and referencing blocks, below each code block.
- yarner-fold-code puts all code blocks into collapsed
<details>
tags.
Bug fixes
- Prevent circular macro calls and transclusions; abort with a helpful error message (resulted in stack overflow error before)
- Compile errors now show the correct source line number
Breaking changes
- No breaking changes for the CLI
- CI/CD scripts may need to be adapted (see section Releases, below)
Releases
- Releases are now simply an executable inside a
.tar.gz
archive. Before, it was an execuable inside a folderyarner
, inside an archive
Yarner 0.4.1
See releases 🎆 0.3.0 and 🪂 0.4.0 for recent major changes.
Features
- 🔍 Detects End Of Line (EOL) sequence in source files and uses it for all output (i.e. Unix
LF
vs. WindowsCRLF
)
(before: always usedLF
)- Aborts with an error and informs the user in case of transclusions with conflicting line endings
Documentation
- Made the User Guide CSS compatible with dark themes
- Minor tweaks ASCII art on project structure, Atom plugin recommendation
Yarner 0.4.0
🪂 Safety Nets for Reverse Mode 🪂
Features
- ✋ Overwrite prevention: Detect changed files to prevent accidental overwrites when toggling between forward and reverse mode
- New option
--force
to force overwrite
- New option
- 🔗 Link correction: Relative links are now modified to point to the correct file after transclusion
- 🕸️ Rework multiple access prevention:
- Check for multiple writes to the same code file over all files/patterns, not only for each individually
- Multiple writes are allowed when they originate from the same code block (all but the first are skipped),
i.e. you can now link and/or transclude the same file multiple times
- 🛑 Improved error messages:
- Show which file cound not be found/read
- Explain problem when reverse mode is not possible due to missing code folder
Documentation
- 📘 New advanced topics chapters in the User Guide
Breaking changes
- 📛 Renamed CLI option
--output
to--code
for consistency with the config file - 🧹 Removed CLI option
--language
, as it is not required with the features for multiple output files - 🧹 Removed option
default_language
fromYarner.toml
, as it only added block language if missing
Bug fixes
- 🧹 Clean code labels in output. E.g. the path
path/../to/file.md
is now simpified toto/file.md
Other
- 🔀 A lot of internal restructuring, code cleanup and simplifications
- 🧪 Started to add more unit tests
- 💬 Everything except errors and warnings is now printed to
stdout
, notstderr
Yarner 0.3.0
🎇 Major update, introducing Reverse Mode 🎇
Features
- 🎉 Reverse Mode: edit the code output, e.g. in an IDE, and feed back changes into the Markdown sources with
yarner reverse
.
Documentation
- 📖 New User Guide with extensive documenation.
Removed features
- The meta variables feature was dropped.
- Comment extraction is temporarily disabled. It will return in a later release.
UI changes
- Use
yarner init
to create a new project, instead ofyarner create <file>
- Some changes to the configuration in
Yarner.toml
(see section Migration)
Migration
The easiest way to migrate from version 0.2.x is to create a new config file with yarner init
in an empty folder. Then, fill in your settings from the original project. Most changes are straight forward. For details, see section Configuration of the user guide.
Yarner 0.2.2
Hotfix release
Bug fixes
- Fixed bug on link prefix removal with multiple links in the same line (reset offset counter on every line instead per text block)
Yarner 0.2.1
Hotfix release
Bug fixes
- Fixed bug on link prefix removal with multiple links in the same line