Skip to content

Write changelog for upcoming release #255

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 12 commits into from
Jan 13, 2021
Merged

Write changelog for upcoming release #255

merged 12 commits into from
Jan 13, 2021

Conversation

JordanMartinez
Copy link
Contributor

@JordanMartinez JordanMartinez commented Jan 11, 2021

Description of the change

Initial draft for what the v0.5.0 (i.e. v0.14.0 PS release-compatible) release notes should be.

Part of purescript/purescript#3985


Checklist:

  • Added the change to the changelog's "Unreleased" section with a reference to this PR (e.g. "- Made a change (#0000)")
  • Linked any existing issues or proposals that this pull request should close
  • Updated or added relevant documentation
  • Added a test for the contribution (if applicable)

@JordanMartinez
Copy link
Contributor Author

I'm assuming we'll want a meta-issue to track which repos have had their changelog written.

@hdgarrood
Copy link
Contributor

I've just spotted that this repo has a v4.1.1 release which isn't mentioned in the changelog, that should probably be fixed. These release notes also don't mention #229, are you still working on them?

@JordanMartinez
Copy link
Contributor Author

No, I didn't include #229 because I believe we reverted that change in #233 / #232.

I'll add the 4.1.1 release. It wasn't included because it was just a tag, not an official GH release.

@JordanMartinez
Copy link
Contributor Author

Should we remove unsafeCompare? It was deprecated in v4.1.1.

@hdgarrood
Copy link
Contributor

We reverted the change to ap but we did still move the Applicative superclass law from Monad to Bind.

@JordanMartinez
Copy link
Contributor Author

Ah... Gotcha. I've added that to this PR.

CHANGELOG.md Outdated
Comment on lines 33 to 39
- Added `lift2` example using `Maybe` (#213)
- Added `const` example (#214)
- Added `power` example (#253)
- Improve documentation in various things (#217)
- Clarify `Array`'s `do notation`
- Clarify purpose of `Monoid` and `Semigroup` newtypes
- Clarify `Unit` representation in FFI code (#223)
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't know if this level of detail (where each PR is mentioned) is necessary for changelogs. It would probably be fine to just write something like "Added more examples" or not even mention that, since it doesn't really affect existing users of the library.
I think the main purpose of the changelog is to help folks quickly review API changes since their last update.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm good with making this change if others agree. I thought "Added more docs" or something wasn't that helpful either.

Copy link
Member

Choose a reason for hiding this comment

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

I think it's reasonable to point out documentation updates, but I agree they ought to be as concise as possible. For example:

Other improvements:
- Added examples to documentation comments for `lift2`, `const`, and `power` (#213, #214, #253)
- Improved documentation for `do` notation for `Array`, the purpose of the `Monoid` and `Semigroup` newtypes, and the representation of `Unit` in FFI code (#217, #223)

Copy link
Member

@thomashoneyman thomashoneyman Jan 12, 2021

Choose a reason for hiding this comment

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

(They're already de-prioritized by being bundled under the "Other improvements" section, which is easier to skip if you're only skimming for API changes)

Copy link
Contributor

Choose a reason for hiding this comment

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

I disagree, I think almost every PR should be referenced in the changelog. It's not as if there's a massive amount of detail to wade through here, and it's important that we provide credit to contributors for the changes of theirs we've merged.

Copy link
Contributor

Choose a reason for hiding this comment

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

Personally I think having separate bullet points for each of the separate documentation PRs (as you do currently) is ideal. We can group them all under a "Documentation improvements" heading so that people who aren't interested in anything that doesn't affect the actual API can easily skim past them.

Copy link
Member

Choose a reason for hiding this comment

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

I agree almost all pull requests should be referenced in the changelog. I'm also fine with bullet points for each documentation PR.

As a note, the more concise version I added doesn't drop any PRs, it just allows some of them to be included in the same line if they're logically related. I also think that's fine, but we should probably have an agreed-upon default.

Copy link
Member

@thomashoneyman thomashoneyman left a comment

Choose a reason for hiding this comment

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

I think others should have a chance to read this changelog and weigh in on its contents, so we should wait for a second review before merging. That said, a 👍 as far as I'm concerned and thank you for getting this started.

CHANGELOG.md Outdated
- Added `const` example (#214)
- Added `power` example (#253)
- Improve documentation in various things (#217)
- Clarify `Array`'s `do notation`
Copy link
Contributor

Choose a reason for hiding this comment

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

The phrase "do notation" isn't code, so we shouldn't use backticks for it here.

CHANGELOG.md Outdated
## [v5.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v4.1.0) - 2021-MONTH-DATE

Breaking changes:
- Make library compile on `v0.14.0` (#206)
Copy link
Contributor

Choose a reason for hiding this comment

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

I would suggest phrasing this as "Support compiler version v0.14.0, and drop support for previous versions", as it's a bit more clear that v0.14.0 refers to the compiler version that way as opposed to the version of some other tool, and also it means that it's clear that this version of the library can't be used with older compilers.

@hdgarrood
Copy link
Contributor

Let's remove unsafeCompare, it has already been deprecated for over a year.

@JordanMartinez
Copy link
Contributor Author

@hdgarrood I've addressed the feedback you raised.

@JordanMartinez
Copy link
Contributor Author

Any other feedback? Or am I clear to merge this?

CHANGELOG.md Outdated
Comment on lines 36 to 38
- Improve documentation in various things (#217)
- Clarify `Array`'s "do notation"
- Clarify purpose of `Monoid` and `Semigroup` newtypes
Copy link
Contributor

Choose a reason for hiding this comment

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

I think having a bullet point labelled "improve documentation in various things" under a parent "Documentation improvements" is a bit redundant. How about:

Suggested change
- Improve documentation in various things (#217)
- Clarify `Array`'s "do notation"
- Clarify purpose of `Monoid` and `Semigroup` newtypes
- Clarify `Array`'s do notation and the purposes of `Monoid` and `Semigroup` newtypes (#217)

@hdgarrood
Copy link
Contributor

I would like to go over the commits since 4.1.1 just to make sure we haven't missed anything out, but other than that, this looks good to me. Thanks!

@hdgarrood
Copy link
Contributor

I think the following PRs should be referenced in this changelog: #220, #227, #238

@JordanMartinez
Copy link
Contributor Author

Added those PRs. How about now?

CHANGELOG.md Outdated
@@ -12,6 +12,41 @@ Bugfixes:

Other improvements:

## [v5.0.0](https://github.com/purescript/purescript-prelude/releases/tag/v4.1.0) - 2021-MONTH-DATE
Copy link
Contributor

Choose a reason for hiding this comment

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

Oh, last thing, maybe it would be good to leave this stuff under "Unreleased" for now so that we don't forget to update the placeholder link and date? I don't really mind though.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Makes sense to me. I'll add that change and then merge.

@JordanMartinez JordanMartinez merged commit d54fbf7 into purescript:master Jan 13, 2021
@JordanMartinez JordanMartinez deleted the writeChangelog branch January 13, 2021 20:36
turlando pushed a commit to purescm/purescript-prelude that referenced this pull request Sep 3, 2021
* Write changelog for upcoming release

* Add v4.1.1 release to changelog

* Document changes that happened in v4.1.1 release

* Add purescript#229 to breaking changes

* Remove backticks around 'do notation'

* Rephrase 'make library compile on v0.14.0'

* Separate documentation improvement PRs from other improvements

* Include other PR related to v0.14.0 in changelog

* Add toRep PR

* Put Array do notation and Monoid newtype PR summary on one line

* Include PR that fixes typo

* Change section header back to Unreleased
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants