Skip to content

Releases: your-diary/piet_programming_language

v3.0.0

23 Sep 08:55

Choose a tag to compare

Breaking Changes

  • Previously, out(number) command printed an integer followed by a newline. This newline was not standard-compliant and inconsistent with out(char). Now no newline is printed.

  • Previously, in(char) command read the next non-whitespace character, ignoring the trailing whitespace (if any). Now it reads the next character including whitespace.

New Features

  • Added --base64 option, which makes it possible to read a base64-encoded image. This is useful inside a Docker container.

Bug Fixes

  • Fixed #3: out(number) is not standard-compliant, and in(char) unexpectedly skips whitespace.

Documentation

Internal Changes

  • Upgraded to Rust 2024.

  • Switched to use cargo llvm-cov for coverage.

Full Changelog

v2.0.0...v3.0.0

v2.0.0

21 Oct 14:33

Choose a tag to compare

Breaking Changes

  • Zero-division in divide and mod command is now ignored instead of terminating the program. This change follows the spec's recommendation.

  • An error is returned instead of panicking when the starting point (i.e. the top-left codel) is black.

  • Some error messages are improved.

  • --verbose now prints DP and CC directions in addition to the current index.

New Features

  • Add --max-iter option, which limits the max number of iterations (useful for debugging).

  • Add --fall-back-to-white and --fall-back-to-black options, which treat unknown colors as white or black, respectively.

Bug Fixes

  • Fixed #2: Infinite loop inside white block due to improper implementation of retrace detection.

Other Changes

  • improved documentation (README.md)

  • performance improvement

Internal Changes

  • thorough refactoring

  • improved test coverage

  • many doc comments added

  • "Development" section added to README.md

Full Changelog

v1.0.0...v2.0.0

v1.0.0

14 Oct 06:43

Choose a tag to compare