// SPDX-FileCopyrightText: 2022 Shun Sakai
//
// SPDX-License-Identifier: CC-BY-4.0

= Changelog
:toc: preamble
:project-url: https://github.com/sorairolake/sysexits-rs
:compare-url: {project-url}/compare
:issue-url: {project-url}/issues
:pull-request-url: {project-url}/pull

All notable changes to this project will be documented in this file.

The format is based on https://keepachangelog.com/[Keep a Changelog], and this
project adheres to https://semver.org/[Semantic Versioning].

== {compare-url}/v0.12.0\...v0.13.0[0.13.0] - 2026-02-28

=== Changed

* Use pass-by-value with types that implement the `Copy` trait
  ({pull-request-url}/241[#241])

== {compare-url}/v0.11.0\...v0.12.0[0.12.0] - 2026-02-20

=== Changed

* Bump MSRV to 1.87.0 ({pull-request-url}/225[#225])

=== Removed

* Remove the formatting traits for `ExitCode` except `fmt::Debug` and
  `fmt::Display` ({pull-request-url}/236[#236])

== {compare-url}/v0.10.0\...v0.11.0[0.11.0] - 2026-01-26

=== Removed

* Remove `From<ExitCode> for int` except `u8` ({pull-request-url}/217[#217])
* Remove `TryFrom<int> for ExitCode` ({pull-request-url}/217[#217])
* Remove `ExitCodeRangeError` ({pull-request-url}/217[#217])

== {compare-url}/v0.9.1\...v0.10.0[0.10.0] - 2025-09-06

=== Removed

* Remove the `extended_io_error` feature and the `nightly` feature
  ({pull-request-url}/189[#189])

== {compare-url}/v0.9.0\...v0.9.1[0.9.1] - 2025-07-28

=== Changed

* Change the license for documents to CC BY 4.0 ({pull-request-url}/170[#170])

== {compare-url}/v0.8.5\...v0.9.0[0.9.0] - 2025-02-26

=== Changed

* Change MSRV to 1.85.0 ({pull-request-url}/157[#157])
* Make `Error` trait available in `no_std` mode ({pull-request-url}/157[#157])
* Support more `io::ErrorKind` variants without the `extended_io_error` feature
  ({pull-request-url}/157[#157])

== {compare-url}/v0.8.4\...v0.8.5[0.8.5] - 2024-11-08

=== Changed

* Change MSRV to 1.62.0 ({pull-request-url}/131[#131])

== {compare-url}/v0.8.3\...v0.8.4[0.8.4] - 2024-10-31

=== Added

* Implement `fmt::Octal`, `fmt::LowerHex`, `fmt::UpperHex`, `fmt::Binary`,
  `fmt::LowerExp` and `fmt::UpperExp` for `ExitCode`
  ({pull-request-url}/129[#129])

== {compare-url}/v0.8.2\...v0.8.3[0.8.3] - 2024-10-30

=== Added

* Add benchmarks ({pull-request-url}/121[#121])
* Implement `Default` for `ExitCode` ({pull-request-url}/126[#126])

== {compare-url}/v0.8.1\...v0.8.2[0.8.2] - 2024-09-22

=== Added

* Add `ExitCode::BASE` and `ExitCode::MAX` constants
  ({pull-request-url}/118[#118])

== {compare-url}/v0.8.0\...v0.8.1[0.8.1] - 2024-07-03

=== Changed

* Rewrite the examples using `clap` ({pull-request-url}/97[#97])
* Bump MSRV to 1.74.0 ({pull-request-url}/97[#97])

== {compare-url}/v0.7.14\...v0.8.0[0.8.0] - 2024-06-05

=== Added

* Add conversion methods for integers to `ExitCode` ({pull-request-url}/92[#92])

=== Changed

* Bump MSRV to 1.65.0 ({pull-request-url}/92[#92])
* Move `TryFromExitStatusError` to `error` ({pull-request-url}/93[#93])

== {compare-url}/v0.7.13\...v0.7.14[0.7.14] - 2024-05-19

=== Changed

* Split `exit_code.rs` into submodules ({pull-request-url}/87[#87])
* Make `Result` type always available ({pull-request-url}/89[#89])

== {compare-url}/v0.7.12\...v0.7.13[0.7.13] - 2024-04-16

=== Added

* Add link to `true` ({pull-request-url}/84[#84])

== {compare-url}/v0.7.11\...v0.7.12[0.7.12] - 2024-04-08

=== Changed

* Change position of `package.metadata.docs.rs`

== {compare-url}/v0.7.10\...v0.7.11[0.7.11] - 2024-01-18

=== Changed

* Change copyright notice in `LICENSES/MIT.txt`

== {compare-url}/v0.7.9\...v0.7.10[0.7.10] - 2024-01-06

=== Changed

* Update doctests ({pull-request-url}/72[#72])

== {compare-url}/v0.7.8\...v0.7.9[0.7.9] - 2024-01-06 [YANKED]

=== Changed

* Update doctests ({pull-request-url}/71[#71])

== {compare-url}/v0.7.7\...v0.7.8[0.7.8] - 2024-01-05

=== Fixed

* Fix clippy warnings for examples ({pull-request-url}/70[#70])

== {compare-url}/v0.7.6\...v0.7.7[0.7.7] - 2023-12-07

=== Changed

* Reduce package size

== {compare-url}/v0.7.5\...v0.7.6[0.7.6] - 2023-11-30

=== Removed

* Remove DEP5 file ({pull-request-url}/65[#65])

== {compare-url}/v0.7.4\...v0.7.5[0.7.5] - 2023-11-04

=== Added

* Add Code of Conduct ({pull-request-url}/60[#60])

== {compare-url}/v0.7.3\...v0.7.4[0.7.4] - 2023-10-03

=== Added

* Add conversion to `i8`, `i16`, `i64`, `i128`, `isize`, `u16`, `u64`, `u128`
  and `usize` ({pull-request-url}/56[#56])

== {compare-url}/v0.7.2\...v0.7.3[0.7.3] - 2023-10-01

=== Changed

* Extend `io::ErrorKind` conversion to support variants available in the
  nightly ({pull-request-url}/52[#52])

== {compare-url}/v0.7.1\...v0.7.2[0.7.2] - 2023-09-07

=== Changed

* Change to use a list of copyright holders in copyright notice
  ({pull-request-url}/46[#46])

== {compare-url}/v0.7.0\...v0.7.1[0.7.1] - 2023-09-03

=== Fixed

* Fix `Cargo.lock`

== {compare-url}/v0.6.3\...v0.7.0[0.7.0] - 2023-09-03 [YANKED]

=== Changed

* Change `SPDX-FileCopyrightText` of each file to include only the year of
  initial publication ({pull-request-url}/38[#38])
* Change "Contributors" to "other contributors" in the copyright notice
  ({pull-request-url}/38[#38])
* Remove unnecessary newline after period ({pull-request-url}/39[#39])
* Change parameters of methods to pass-by-reference ({pull-request-url}/40[#40])

== {compare-url}/v0.6.2\...v0.6.3[0.6.3] - 2023-08-09

=== Added

* Add more doctests to `From` ({pull-request-url}/36[#36])

== {compare-url}/v0.6.1\...v0.6.2[0.6.2] - 2023-08-01

=== Changed

* Call Docker images directly ({pull-request-url}/32[#32])
* Change the comment header to the format recommended by the REUSE
  Specification ({pull-request-url}/33[#33])
* Make this project REUSE compliant ({pull-request-url}/34[#34])

== {compare-url}/v0.6.0\...v0.6.1[0.6.1] - 2023-06-22

=== Added

* Add Linting Workflow for GHA Workflows ({pull-request-url}/31[#31])

== {compare-url}/v0.5.0\...v0.6.0[0.6.0] - 2023-05-15

=== Added

* Add methods to get error details
* Add `impl From<std::io::Error> for ExitCode` ({pull-request-url}/28[#28])

=== Changed

* Replace `impl TryFrom<std::io::ErrorKind> for ExitCode` with
  `impl From<std::io::ErrorKind> for ExitCode`

=== Removed

* Remove `TryFromErrorKindError`

== {compare-url}/v0.4.1\...v0.5.0[0.5.0] - 2023-04-01

=== Added

* Add release checklist ({pull-request-url}/16[#16])
* Implement `PartialEq` and `Eq` for `ExitCode` ({pull-request-url}/19[#19])
* Add `ExitCode` based `Result` type and unit test ({pull-request-url}/21[#21])
* Implement `Error` for `ExitCode` ({pull-request-url}/23[#23])

=== Changed

* Rename `FromErrorKindError` to `TryFromErrorKindError`
* Rename `FromExitStatusError` to `TryFromExitStatusError`

== {compare-url}/v0.4.0\...v0.4.1[0.4.1] - 2023-01-28

=== Fixed

* Fix conversion from `std::process::ExitStatus` if the process was terminated
  by a signal
* Fix conversion from `std::io::ErrorKind` to return `ExitCode::NoInput` if
  error kind is `ErrorKind::NotFound`

== {compare-url}/v0.3.4\...v0.4.0[0.4.0] - 2022-12-29

=== Added

* Add conversions to primitive integer types
* Add `no_std` support
* Add conversion from `std::io::ErrorKind`
* Add conversion from `std::process::ExitStatus`
* Add `ExitCode::exit()`

== {compare-url}/v0.3.3\...v0.3.4[0.3.4] - 2022-11-24

=== Added

* Add `dependabot.yml`

=== Fixed

* Fix CITATION.cff and bump2version Settings ({pull-request-url}/10[#10])

== {compare-url}/v0.3.2\...v0.3.3[0.3.3] - 2022-10-24

=== Added

* Add `inline` attribute to `Display` trait

== {compare-url}/v0.3.1\...v0.3.2[0.3.2] - 2022-09-18

=== Added

* Add lint attributes to examples
* Add the example that returns original exit code

== {compare-url}/v0.3.0\...v0.3.1[0.3.1] - 2022-09-06

=== Removed

* Remove `repr(u8)` from `ExitCode`

== {compare-url}/v0.2.2\...v0.3.0[0.3.0] - 2022-06-10

=== Added

* Implement `Display` trait and corresponding test ({pull-request-url}/1[#1])
* Add the example that returns `sysexits::ExitCode`

== {compare-url}/v0.2.1\...v0.2.2[0.2.2] - 2022-06-04

=== Added

* Add the `inline` attribute

== {compare-url}/v0.2.0\...v0.2.1[0.2.1] - 2022-05-31

=== Added

* Add code example to README

=== Changed

* Update documentation examples inside the crate root file

== {compare-url}/v0.1.1\...v0.2.0[0.2.0] - 2022-05-30

=== Changed

* Rename `sysexits::SysExits` to `sysexits::ExitCode`

== {compare-url}/v0.1.0\...v0.1.1[0.1.1] - 2022-05-30

=== Added

* Add doctest to each variant of `SysExits`
* Add section about usage to README

== {project-url}/releases/tag/v0.1.0[0.1.0] - 2022-05-28

=== Added

* Initial release
