CHANGELOG

All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased

0.4.0 - 2020-03-26

Added

  • Added Reporter and JSONReporter classes to be able to expose execution results

  • Add new config option report_name to the available settings

  • New exception type PreconditionFailedError indicating that the precondition failed and no need to raise an error

Changed

  • Make sure children and pipe can be set at the same time

  • Simplify yaml key rename logic

  • SectionRenamed not raises error if old section name is not represented but the new one

  • OptionRenamed not raises error if old option name is not represented but the new one

  • LineReplaced not raises error if old line is not represented but the new one

  • Remove redundant way of getting rules of a law (https://github.com/gabor-boros/hammurabi/issues/45)

  • GitHub mixin now returns the URL of the open PR’s URL; if an existing PR found, that PR’s URL will be returned

  • Pillar prepare its Reporter for report generation

  • Pillar has a new argument to set the pillar’s reporter easily

  • CLI’s enforce command now calls the Pillar’s prepared Reporter to do the report

  • “No changes made by” messages now info logs instead of warnings

  • Commit changes only if the Law has passing rules

  • If PreconditionFailedError raised, do not log error messages, log a warning instead

  • LineExists will not raise an exception if multiple targets found, instead it will select the last match as target

  • Have better PR description formatting

Fixed

  • Fixed a dictionary traversal issue regarding yaml file support

  • Fixed “Failed Rules” formatting of PR description by removing \xa0 character

  • Fixed no Rule name in PR description if the Law did not change anything issue

  • Fixed nested rule indentation PR description markup

  • Fixed an issue with LineReplaced, if the input file is empty, raise an exception

0.3.1 - 2020-03-26

Fixed

  • Make sure the lost ini file fix is back lost by merge conflict resolution

0.3.0 - 2020-03-25

Changed

Fixed

Removed

  • Updated CONTRIBUTING.rst to remove the outdated stub generation

0.2.0 - 2020-03-23

Added

Changed

Fixed

Removed

0.1.2 - 2020-03-18

Changed

  • Extended Makefile to generate stubs

  • Extend documentation how to generate and update stubs

  • Update how to release section of CONTRIBUTING.rst

0.1.1 - 2020-03-17

Changed

  • Moved unreleased section of CHANGELOG to the top

  • Updated changelog entries to contain links for release versions

  • Updated CONTRIBUTING document to mention changelog links

  • Refactored configuration handling (https://github.com/gabor-boros/hammurabi/pull/5)

Fixed

0.1.0 - 2020-03-12

Added

  • Basic file manipulations
    • Create file

    • Create files

    • Remove file

    • Remove files

    • Empty file

  • Basic directory manipulations
    • Create directory

    • Remove directory

    • Empty directory

  • Basic file and directory operations
    • Change owner

    • Change mode

    • Move file or directory

    • Copy file or directory

    • Rename file or directory

  • Plain text/general file manipulations
    • Add line

    • Remove line

    • Replace line

  • INI file specific manipulations
    • Add section

    • Remove section

    • Rename section

    • Add option

    • Remove option

    • Rename option

  • Miscellaneous
    • Initial documentation

    • CI/CD integration