Skip to content

Generate CHANGELOG.md file using notes from previous GH releases #252

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jan 9, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
**Description of the change**

Clearly and concisely describe the purpose of the pull request. If this PR relates to an existing issue or change proposal, please link to it. Include any other background context that would help reviewers understand the motivation for this PR.

---

**Checklist:**

- [ ] Added the change to the changelog's "Unreleased" section with a link to this PR and your username
- [ ] Linked any existing issues or proposals that this pull request should close
- [ ] Updated or added relevant documentation in the README and/or documentation directory
- [ ] Added a test for the contribution (if applicable)
163 changes: 163 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
# Changelog

Notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

Breaking changes:

New features:

Bugfixes:

Other improvements:

## [v4.1.0](https://github.com/purescript/purescript-prelude/releases/tag/v4.1.0) - 2018-07-17

- Added `Ord` instance for records

## [v4.0.1](https://github.com/purescript/purescript-prelude/releases/tag/v4.0.1) - 2018-06-07

- Performance improvement for `Array` equality, now performs a reference check before comparing contents (@jazmit)

## [v4.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v4.0.0) - 2018-05-22

This version is for PureScript v0.12.x.

**Breaking changes**

- `id` has been renamed to `identity`
- The modulo and division behaviour for integers is now based on Euclidean division. Functions implementing the old `div`/`mod` behaviour are available as `quot`/`rem` in [`purescript-integers`](https://github.com/purescript/purescript-integers). (#161, #168)
- The definition of `Field` has been altered. It is no longer necessary to provide an instance for this, there is a single instance now for every type that implements `EuclideanRing` and `DivisionRing` .

**Other changes**

- `Monoid` has been moved into the prelude
- `Data.Symbol` has been moved into the prelude
- `RProxy` and `RLProxy` have been moved into the prelude
- There are now various instances available for records: `Eq`, `Show`, `Semigroup`, `Monoid`, `Semiring`... etc. (@i-am-tom)

## [v3.3.0](https://github.com/purescript/purescript-prelude/releases/tag/v3.3.0) - 2018-04-13

- Added `Data.Function.applyN` for repeatedly applying a function to an initial value (@matthewleon)

## [v3.2.0](https://github.com/purescript/purescript-prelude/releases/tag/v3.2.0) - 2018-04-07

- Added `Bounded` instance for `Number` (@erisco)

## [v3.1.1](https://github.com/purescript/purescript-prelude/releases/tag/v3.1.1) - 2017-11-01

Remove unused `refIneq` function (@metaleap)

## [v3.1.0](https://github.com/purescript/purescript-prelude/releases/tag/v3.1.0) - 2017-06-27

* Fixes for out-of-date documentation (@joneshf, @matthewleon)
* Add a new `DivisionRing` class

## [v3.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v3.0.0) - 2017-03-25

- Updated for PureScript 0.11
- Removed incorrect `EuclideanRing Unit` and `Field Unit` instances

## [v2.5.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.5.0) - 2017-03-02

- Added `Eq1` and `Ord1` classes

## [v2.4.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.4.0) - 2017-02-13

- Add the new `Discard` class to support https://github.com/purescript/purescript/pull/2653
- Fixes a corner case in the `degree` function for `Int`.
- Documentation fixes

## [v2.3.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.3.0) - 2017-01-29

- Added `gcd` and `lcm` for any `EuclideanRing`.
- Fixed some issues with the `EuclideanRing` laws. The `Unit` instance is no longer valid, but is being kept around temporarily for the sake of backwards compatibility.

## [v2.2.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.2.0) - 2017-01-26

- Added instances of the form `C b => C (a -> b)` for `Semiring`, `Ring`, `CommutativeRing`, `BooleanAlgebra`
- Added some documentation for the `Void` type (@chexxor)
- Fixed documentation typos (@mlang, @thoradam)

## [v2.1.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.1.0) - 2016-09-30

- Added `whenM` and `unlessM` variants of `when` and `unless` for situations where the conditional is also in `m`

## [v2.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v2.0.0) - 2016-09-26

**Breaking changes**
- Fixed `=<<` to be right associative, as originally intended
- Changed behaviour of `Eq` and `Ord` for `NaN` numeric value #91 (@berdario)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unfortunately, unlike the GitHub releases, the raw CHANGELOG readme won't link things like #91 for pull requests and @berdario for GitHub user profiles.

We can choose to fix these (increasing the workload) or leave them as-is (if required, folks can go look up the pull request or user profile themselves) or decide not to track them (removing these references -- I think this would be losing valuable information).

My gut sense is that we probably should accept that changelogs pre-0.14 should be treated as-is, and we simply try to use the standard format (breaking changes / new features / bugfixes / other) with proper links going forward.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW in Spago we use the same format, and I think it's valuable to track this info even if it's not directly linking. I think there's actually value in leaving such links out, because it makes maintaining the changelog less burdensome (I'd say lowering the treshold to keep this up to date is key here), and the raw file (i.e. when you're not looking at a markdown render) stays readable.


**Enhancements**
- Updated docs to include notes about the non-law-abiding numeric instances
- Semigroup `append` for `Array` will no longer shallow copy the array if either side is empty #63 (suggested by @natefaubion)

## [v1.1.0](https://github.com/purescript/purescript-prelude/releases/tag/v1.1.0) - 2016-09-26

- Added `flap` and corresponding `<@>` operator (@joneshf)

## [v1.0.1](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.1) - 2016-06-07

- A redundant `CommutativeRing` constraint was removed from `Field`, the `EuclideanRing` constraint already implies `CommutativeRing`.

## [v1.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0) - 2016-06-01

This release is intended for the PureScript 0.9.1 compiler and newer.

**Note**: The v1.0.0 tag is not meant to indicate the library is “finished”, the core libraries are all being bumped to this for the 0.9 compiler release so as to use semver more correctly.

## [v1.0.0-rc.6](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.6) - 2016-05-23

- Added `Data.NaturalTransformation` with a synonym and type operator alias for natural transformations

## [v1.0.0-rc.5](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.5) - 2016-05-22

- Added general `abs` and `signum` for types that with `Ord` and `Ring` instances (@hdgarrood)

## [v1.0.0-rc.4](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.4) - 2016-05-19

- Various fixes

## [v0.1.5](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.5) - 2016-03-30

- Fixes invalid escape sequence in `Show` (@michaelficarra, #65)

## [v1.0.0-rc.3](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.3) - 2016-03-30

- Fixed escaping in `Show` #65

## [v1.0.0-rc.2](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.2) - 2016-03-20

- Reworked the hierarchy for number classes to resolve some issues with the laws and admit new instances #61
- Introduced `HeytingAlgebra` as a superclass of `BooleanAlgebra` #62

## [v1.0.0-rc.1](https://github.com/purescript/purescript-prelude/releases/tag/v1.0.0-rc.1) - 2016-02-29

- Release candidate for the psc 0.8+ prelude

## [v0.1.4](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.4) - 2016-01-27

- Fixed the escaping used in `Show` for `Char` and `String` (@michaelficarra)

## [v0.1.3](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.3) - 2015-10-13

Move `Int` bounds to foreign module (@andyarvanitis)

## [v0.1.2](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.2) - 2015-08-13

Add `Bounded Char` instance (@garyb)

## [v0.1.1](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.1) - 2015-07-26

Export `unsafeCompare`

## [v0.1.0](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.0) - 2015-06-30

This release works with versions 0.7.\* of the PureScript compiler. It will not work with older versions. If you are using an older version, you should require an older, compatible version of this library.

## [v0.1.0-rc.1](https://github.com/purescript/purescript-prelude/releases/tag/v0.1.0-rc.1) - 2015-06-06

Initial release candidate.