# Changelog

## [0.6.0](https://github.com/prefix-dev/flickzeug/compare/v0.5.4...v0.6.0) - 2026-08-21

### Added

- [**breaking**] Patch newtype, .rej rejects + directory apply API, located parse errors, git metadata, benchmarks ([#27](https://github.com/prefix-dev/flickzeug/pull/27))
- [**breaking**] GNU-compatible defaults, standalone CLI tools, and a GNU/git compatibility suite ([#24](https://github.com/prefix-dev/flickzeug/pull/24))

### Other

- *(deps)* update rust crate criterion to 0.8 ([#28](https://github.com/prefix-dev/flickzeug/pull/28))
- *(deps)* update actions/upload-artifact action to v7 ([#26](https://github.com/prefix-dev/flickzeug/pull/26))

## [0.5.4](https://github.com/prefix-dev/flickzeug/compare/v0.5.3...v0.5.4) - 2026-07-30

### Fixed

- don't misclassify deletion-only hunks as already applied ([#22](https://github.com/prefix-dev/flickzeug/pull/22))

## [0.5.3](https://github.com/prefix-dev/flickzeug/compare/v0.5.2...v0.5.3) - 2026-07-28

### Fixed

- detect already-applied diffs via post-image matching ([#20](https://github.com/prefix-dev/flickzeug/pull/20))

## [0.5.2](https://github.com/prefix-dev/flickzeug/compare/v0.5.1...v0.5.2) - 2026-07-04

### Added

- add is_diff_applied_with_config and apply_bytes_reporting ([#18](https://github.com/prefix-dev/flickzeug/pull/18))

### Other

- *(deps)* update actions/checkout action to v7 ([#17](https://github.com/prefix-dev/flickzeug/pull/17))
- *(deps)* update rust to v1.96.1 ([#16](https://github.com/prefix-dev/flickzeug/pull/16))
- Add renovate.json ([#13](https://github.com/prefix-dev/flickzeug/pull/13))

## [0.5.1](https://github.com/prefix-dev/flickzeug/compare/v0.5.0...v0.5.1) - 2026-02-24

### Fixed

- issue with a/, b/ and /dev/null ([#11](https://github.com/prefix-dev/flickzeug/pull/11))

## [0.5.0](https://github.com/prefix-dev/flickzeug/compare/v0.4.5...v0.5.0) - 2026-02-24

### Fixed

- strip `a/` and `b/` for plain patches as well ([#9](https://github.com/prefix-dev/flickzeug/pull/9))

## [0.4.5](https://github.com/prefix-dev/flickzeug/compare/v0.4.4...v0.4.5) - 2026-01-15

### Other

- Reduce MSRV to 1.88 ([#7](https://github.com/prefix-dev/flickzeug/pull/7))
- document and doctest `Patch::original` ([#5](https://github.com/prefix-dev/flickzeug/pull/5))

## [0.4.4](https://github.com/prefix-dev/flickzeug/compare/v0.4.3...v0.4.4) - 2025-12-31

### Fixed

- improve fuzzy patch application and improve error messages ([#3](https://github.com/prefix-dev/flickzeug/pull/3))

## [0.4.3](https://github.com/prefix-dev/flickzeug/compare/v0.4.2...v0.4.3) - 2025-12-17

### Fixed

- install clippy & fmt with toolchain file ([#1](https://github.com/prefix-dev/flickzeug/pull/1))

### Other

- Add banner image to README.md

## [0.4.2] - 2025-01-29

### Added
- [#37](https://github.com/bmwill/diffy/pull/37) Allow configuring the "No
  newline at end of file" message from being printed when formatting a patch.
- [#38](https://github.com/bmwill/diffy/pull/38) Add support for configuring
  `suppress_blank_empty`.

## [0.4.1] - 2025-01-29

### Added
- [#36](https://github.com/bmwill/diffy/pull/36) Add ability to configure
  filenames when creating a patch with `DiffOptions`.

## [0.4.0] - 2024-06-14

### Fixed
- [#28](https://github.com/bmwill/diffy/issues/28) Fixed an issue where
  conflicts were being omitted from merges.

### Added
- [#26](https://github.com/bmwill/diffy/pull/26) Add ability to reverse a
  patch.

### Changed
- [#29](https://github.com/bmwill/diffy/pull/29) Bump minimum supported rust
  version (msrv) to 1.62.1.
- [#22](https://github.com/bmwill/diffy/pull/22) update nu-ansi-term dependency
  to 0.50.

## [0.3.0] - 2022-08-29

### Fixed
- [#17](https://github.com/bmwill/diffy/issues/17) Fix an issue which resulted
  in a large slowdown when applying a patch with incorrect hunk headers.
- [#18](https://github.com/bmwill/diffy/pull/18) Replace unmaintained ansi_term
  dependency with nu_ansi_term in order to address
  [RUSTSEC-2021-0139](https://rustsec.org/advisories/RUSTSEC-2021-0139).

### Changed
- [#19](https://github.com/bmwill/diffy/pull/19) Bump minimum supported rust
  version (msrv) to 1.51.0.

## [0.2.2] - 2022-01-31

### Fixed
- [#16](https://github.com/bmwill/diffy/issues/16) Fix an issue where patch
  files failed to parse when they contained hunks which were adjacent to one
  another.

## [0.2.1] - 2021-01-27

### Fixed
- [#9](https://github.com/bmwill/diffy/issues/9) Fix an issue where the incorrect
  range was being used to index an array when calculating a merge resulting in a
  panic in some cases.

## [0.2.0] - 2020-07-07
### Added
- Support for working with potentially non-utf8 data with the addition of
  various `*_bytes` functions.
- Support for writing both utf8 and non-utf8 patches into a writer `W: io::write`
- Support for a minimum supported rust version (msrv) of 1.36.0.

### Changed
- The `Patch` type is now generic across the text type, either `str` for utf8
  text and `[u8]` for potentially non-utf8 texts.
- The filenames for the original and modified files of a patch are now
  optional. This means that patches which don't include filename headers
  (only include hunks) can now properly be parsed.

### Fixed
- Quoted filenames which include escaped characters are now properly parsed.

## [0.1.1] - 2020-07-01
### Added
- `Patch`es can now be parsed from strings with `Patch::from_str`
- A `Patch` can now be applied to a base image with `apply`

## [0.1.0] - 2020-06-30
- Initial release.

[0.4.2]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.4.2
[0.4.1]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.4.1
[0.4.0]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.4.0
[0.3.0]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.3.0
[0.2.2]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.2.2
[0.2.1]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.2.1
[0.2.0]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.2.0
[0.1.1]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.1.1
[0.1.0]: https://github.com/prefix-dev/flickzeug/releases/tag/v0.1.0
