Skip to content
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

Update Changelog Format #400

Closed
1 task done
JP-Ellis opened this issue Sep 28, 2023 · 4 comments
Closed
1 task done

Update Changelog Format #400

JP-Ellis opened this issue Sep 28, 2023 · 4 comments
Labels
area:documentation Relating to the documentation difficulty:easy A simple task appropriate for newcomers to the codebase type:chore Part of regular code upkeep

Comments

@JP-Ellis
Copy link
Contributor

JP-Ellis commented Sep 28, 2023

Description

I would like to see the CHANGELOG.md being generated from conventional commits. This specifically allows end-users to see, at a glance, what breaking changes there are (and how to migrate), what new features have been introduced, what bugs have been fixed, etc.

As a concrete example, the changelog for versions 2.0.0 through to 2.1.0 would look like this using commitizen's changelog function:

2.1.0 (2023-09-28)

BREAKING CHANGE

  • Drop support for Python 3.6 and 3.7

Feat

  • bump pact standalone to 2.0.7
  • example: simplify docker-compose

Fix

  • ci: pypi publish
  • migrate to pyproject.toml and hatch

v2.0.1 (2023-07-26)

Feat

  • update standalone to 2.0.3

v2.0.0 (2023-07-10)

Feat

  • use pact-ruby-standalone 2.0.0 release
  • support x86 and x86_64 windows
  • support arm64 osx/linux
  • add matchers for ISO 8601 date format
  • test: add docker images for Python 3.9-3.11 for testing purposes
  • describe classifiers and python version for pypi package

Fix

  • fix cors parameter not doing anything
  • remove dead code
  • actualize doc on how to make contributions

While this is a good start, there are a couple of things I would like to change from commitizen's output:

  • Each dot-point should give credit to the author(s)
  • I would like to have an additional section called ### Contributors in each section and (ideally) highlight new contributors.

Motivation

The existing changelog is extremely verbose, reporting every commit's headline. This is, in my opinion, not very useful for end-users and I would like to see.

For example, looking at the existing changelog for version 2.0.0 to 2.1.0 there are a lot of chore items which have no impact to the downstream users. Furthermore (and more concerning), the changelog makes no mention of dropping support for Python 3.6 and 3.7.

2.1.0

  • 82df76f - feat: bump pact standalone to 2.0.7 (JP-Ellis, Mon Sep 25 11:12:45 2023 +1000)
  • 9896320 - chore: address pr comments (JP-Ellis, Wed Sep 27 10:31:56 2023 +1000)
  • e86b7eb - chore(example): avoid changing python path (JP-Ellis, Fri Sep 22 13:28:26 2023 +1000)
  • 045083b - chore(ci): split tests examples and lints (JP-Ellis, Thu Sep 21 12:46:44 2023 +1000)
  • 3a59235 - chore(example): migrate message pact example (JP-Ellis, Wed Sep 20 13:47:26 2023 +1000)
  • aa0f07e - chore(example): update readme (JP-Ellis, Wed Sep 20 13:20:06 2023 +1000)
  • 9488f0e - chore(example): migrate flask provider example (JP-Ellis, Mon Sep 18 15:46:38 2023 +1000)
  • dd8827a - chore(example): migrate fastapi provider example (JP-Ellis, Mon Sep 18 14:20:39 2023 +1000)
  • 4c47843 - chore(example): migrate consumer example (JP-Ellis, Fri Sep 15 16:30:20 2023 +1000)
  • 8ee2eb0 - feat(example): simplify docker-compose (JP-Ellis, Thu Sep 14 17:00:14 2023 +1000)
  • 7c60dd5 - docs: incorporate suggestions from @YOU54F (JP-Ellis, Fri Sep 22 11:37:22 2023 +1000)
  • 6d223fc - docs: add issue and pr templates (JP-Ellis, Wed Sep 20 18:04:43 2023 +1000)
  • 3634a5c - docs: rewrite contributing.md (JP-Ellis, Wed Sep 20 18:00:19 2023 +1000)
  • 093d9b8 - chore(ci): migrate cicd to hatch (JP-Ellis, Wed Sep 13 13:21:36 2023 +1000)
  • 5b19665 - chore!: migrate to pyproject.toml and hatch (JP-Ellis, Tue Sep 12 16:13:24 2023 +1000)
  • 04deeec - chore: update pre-commit config (JP-Ellis, Wed Sep 13 10:57:51 2023 +1000)
  • d5017f8 - style: add pre-commit hooks and editorconfig (JP-Ellis, Thu Sep 14 11:22:58 2023 +1000)
  • ed5f86c - chore: add pact-foundation triage automation (Matt Fellows, Fri Aug 4 16:37:05 2023 +1000)

2.0.1

  • d3397b7 - chore(examples): update docker setup for non linux os (Yousaf Nabi, Tue Jul 25 14:55:42 2023 +0100)
  • ef12e56 - feat: update standalone to 2.0.3 (Yousaf Nabi, Tue Jul 25 14:00:38 2023 +0100)
  • 1429d2f - chore: update MANIFEST file to note 2.0.2 standalone (Yousaf Nabi, Tue Jul 25 13:56:08 2023 +0100)

2.0.0

  • 2a244ea - chore: update to 2.0.2 pact-ruby-standalone (Yousaf Nabi, Sat Jul 8 14:12:18 2023 +0100)
  • 819f0a7 - test: v2.0.1 (pact-2.0.1) - pact-ruby-standalone (Yousaf Nabi, Thu May 18 23:30:30 2023 +0100)
  • 9bc3e21 - chore(docs): improve table alignment and abs links (Yousaf Nabi, Thu May 4 12:10:39 2023 +0100)
  • 80f06cf - chore(docs): correct table (Yousaf Nabi, Wed May 3 19:20:37 2023 +0100)
  • c70573c - chore(docs): update provider verifier options table (Yousaf Nabi, Wed May 3 19:17:28 2023 +0100)
  • fc6ced8 - style: add missing newline/linefeed (Serghei Iakovlev, Thu May 4 09:51:19 2023 +0200)
  • 7b14aa3 - build(deps-dev): bump flask from 2.2.2 to 2.2.5 (dependabot[bot], Wed May 3 20:30:31 2023 +0000)
  • a0efd69 - build(deps): bump flask from 2.2.2 to 2.2.5 in /examples/flask_provider (dependabot[bot], Wed May 3 20:30:24 2023 +0000)
  • 1267d7d - build(deps): bump flask from 2.2.2 to 2.2.5 in /examples/message (dependabot[bot], Wed May 3 19:51:09 2023 +0000)
  • 4e3ca38 - feat: use pact-ruby-standalone 2.0.0 release (Yousaf Nabi, Sat Apr 29 00:43:31 2023 +0100)
  • 2c673ea - ci: skip 3.6 python arm64 failing in cirrus, passing locally with cirrus run (Yousaf Nabi, Fri Apr 21 15:46:22 2023 +0100)
  • 7aff538 - feat: support x86 and x86_64 windows (Yousaf Nabi, Fri Apr 21 15:44:48 2023 +0100)
  • 28440da - ci: test arm64 on cirrus-ci / test win/osx on gh (Yousaf Nabi, Fri Apr 21 15:37:30 2023 +0100)
  • 93db8ae - feat: support arm64 osx/linux (Yousaf Nabi, Fri Apr 21 12:35:23 2023 +0100)
  • 19be499 - fix: fix cors parameter not doing anything (Lukas Riedersberger, Fri Apr 14 12:22:21 2023 +0200)
  • e721d81 - docs: reformat releasing documentation (Serghei Iakovlev, Wed Apr 5 12:39:35 2023 +0200)
  • 71f1529 - chore: do not add merge commits to the change log (Serghei Iakovlev, Wed Apr 5 12:27:49 2023 +0200)
  • 9ce2d69 - chore: Releasing version 1.7.0 (Elliott Murray, Sun Feb 19 11:28:01 2023 +0000)
  • 429e171 - build: use a single Dockerfile, providing args for the Python version instead of multiple files (Mike Geeves, Mon Apr 3 09:01:37 2023 +0100)
  • e99e7fb - docs: rephrase the instructions for running the tests (Serghei Iakovlev, Sun Apr 2 22:20:07 2023 +0200)
  • a5d3a2e - docs: paraphrase the instructions for running the tests (Serghei Iakovlev, Sun Apr 2 22:19:37 2023 +0200)
  • 24c2dbf - docs: fix instruction to build python 3.11 image (Serghei Iakovlev, Sun Apr 2 22:18:10 2023 +0200)
  • 55dcaf2 - feat(test): add docker images for Python 3.9-3.11 for testing purposes (Serghei Iakovlev, Fri Mar 17 11:24:42 2023 +0100)
  • 28fc7d3 - docs: fix link for GitHub badge (Serghei Iakovlev, Fri Mar 31 22:50:23 2023 +0200)
  • 26eaaac - fix: remove dead code (Serghei Iakovlev, Sun Mar 5 02:05:14 2023 +0100)
  • f7c5006 - docs: add Python 3.11 to CONTRIBUTING.md (Serghei Iakovlev, Thu Mar 30 23:22:22 2023 +0200)
  • 348bf5e - build: use compatible dependency versions for Python 3.6 (Serghei Iakovlev, Thu Mar 30 23:18:57 2023 +0200)
  • 4d9f4cd - feat: describe classifiers and python version for pypi package (Serghei Iakovlev, Sun Mar 5 09:16:29 2023 +0100)
  • 7603815 - ci: add python 3.11 to test matrix (Serghei Iakovlev, Sun Mar 5 09:15:23 2023 +0100)
  • bea1563 - doc: improve commit messages guide (Serghei Iakovlev, Sat Mar 4 00:30:56 2023 +0100)
  • 60f2aac - doc: correct links in contributing manual (Serghei Iakovlev, Fri Mar 3 21:38:58 2023 +0100)
  • a219f49 - fix: actualize doc on how to make contributions (Serghei Iakovlev, Thu Mar 2 08:56:48 2023 +0100)
  • 4919772 - feat: add matchers for ISO 8601 date format (Serghei Iakovlev, Sun Mar 12 16:03:44 2023 +0100)

Have you tried building it?

Not yet; seeking community feedback first

Self-service

  • I'd be willing to contribute this feature to Pact Python myself.
@JP-Ellis JP-Ellis added status:triage An item which has been recently created and needs to be triaged and removed status:triage An item which has been recently created and needs to be triaged labels Sep 28, 2023
@mefellows
Copy link
Member

Ha! You fixed that quick :P

Screenshot 2023-09-28 at 11 25 03 am

@JP-Ellis
Copy link
Contributor Author

JP-Ellis commented Sep 28, 2023

Yeah, saw that as soon as I published it... PR incoming shortly :)

EDIT: Fix is at #401

@JP-Ellis JP-Ellis self-assigned this Sep 28, 2023
@YOU54F
Copy link
Member

YOU54F commented Oct 3, 2023

Yep, this makes sense to me, we use conventional commits for changelogs across multiple pact foundation repos I believe, and agreed there is lots of noise in the release notes that may not be of relevance to users. (whats news, and whats breaking are what I really care about)

@JP-Ellis JP-Ellis removed their assignment Oct 12, 2023
@JP-Ellis JP-Ellis added difficulty:easy A simple task appropriate for newcomers to the codebase type:chore Part of regular code upkeep area:documentation Relating to the documentation labels Oct 25, 2023
@JP-Ellis
Copy link
Contributor Author

JP-Ellis commented May 1, 2024

Implemented by #567

@JP-Ellis JP-Ellis closed this as completed May 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:documentation Relating to the documentation difficulty:easy A simple task appropriate for newcomers to the codebase type:chore Part of regular code upkeep
Projects
Status: ✅ Completed
Development

No branches or pull requests

3 participants