Skip to content

Releases: mlange-42/yarner

Yarner 0.6.1

21 Aug 18:08
a345120
Compare
Choose a tag to compare

Maintenance release

  • Upgrade to Rust 2021
  • Fix new clippy warnings
  • Upgrade regex dependency

Yarner 0.6.0

25 Mar 20:53
dced859
Compare
Choose a tag to compare

👀 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 for Yarner.toml file

Bug fixes

  • Does not modify empty links (like [label]())

Yarner 0.5.2

04 Mar 22:47
5027f24
Compare
Choose a tag to compare

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 of yarner-<version>-<os>.tar.gz

Yarner 0.5.1

02 Mar 18:31
9bee345
Compare
Choose a tag to compare

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 release 0.6.0

Yarner 0.5.0

27 Feb 00:43
749aea9
Compare
Choose a tag to compare

🎉 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

Pre-processors available:

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 folder yarner, inside an archive

Yarner 0.4.1

19 Feb 15:47
6547a9d
Compare
Choose a tag to compare

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. Windows CRLF)
    (before: always used LF)
    • 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

15 Feb 23:40
ea47c2d
Compare
Choose a tag to compare

🪂 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
  • 🔗 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

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 from Yarner.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 to to/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, not stderr

Yarner 0.3.0

02 Feb 22:25
5003044
Compare
Choose a tag to compare

🎇 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 of yarner 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

25 Jan 00:47
acdbe70
Compare
Choose a tag to compare

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

24 Jan 13:27
09d751e
Compare
Choose a tag to compare

Hotfix release

Bug fixes

  • Fixed bug on link prefix removal with multiple links in the same line