bitwalker / bitwalker/libcluster

Changelogs and Tags

Open
#197 1 comment 3 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
2.2k
Forks
201
PR merge metrics
No merged PRs in 30d

Description

Hello there 👋🏼

This is a general request related to the project's changelog, tags, releases, etc. — I'll explain it in narrative form and offer some suggestions of how the maintainers of the library could make my life easier as a consumer.

**tl;dr** A detailed and up-to-date changelog, and/or tags for all releases, would be very helpful! I understand that library maintenance is extremely time-consuming, but as a consumer, I'm unqualified to determine whether updating this package will break my application.

---

Today I noticed one of our application's dependencies is using a retired version, so it's time to do a round of updates. I usually do patch package updates at the same time for efficiency. This library has an available update:

```
# mix hex.outdated
libcluster 3.3.2 3.3.3 Update possible
```

That's a patch update, so chances are it won't break anything, but I always read [the changelog](https://github.com/bitwalker/libcluster/blob/main/CHANGELOG.md) to be sure!

Unfortunately, it doesn't have clearly-labeled information about the past three releases:

```
# Changelog

## Unreleased

- Use new cypher names
- Allow Epmd strategy to reconnect after connection failures
- Detect Self Signed Certificate Authority for Kubernetes Strategy
- Remove calls to deprecated `Logger.warn/2`

### 3.3.0

...
```

In this situation, I fall back to manually reading the changes because Elixir is (in my opinion) _relatively_ easy to read. So we're interested in the changes between the `3.3.2` and `3.3.3` releases. The [releases page](https://github.com/bitwalker/libcluster/tags) is my usual way of doing this: (1) find the `3.3.3` tag and click on it, (2) use the **Compare** option in the left, and (3) choose the `3.3.2` tag. Thanks to GitHub auto-generating releases for all tags, this usually works even if the maintainer didn't create a formal release on GitHub with notes.

Unfortunately, the older release doesn't have a tag:

![image](https://github.com/bitwalker/libcluster/assets/2789166/8341d3bb-8de2-4c89-a5e9-42d70edcd6a4)

That's unfortunate, so we'll have to find the commit that represents the `3.3.2` release manually and use my knowledge of GitHub URLs to create a comparison between that commit and the latest tag. However, when we look at the commits, there's no indication of which one relates to the release:

![image](https://github.com/bitwalker/libcluster/assets/2789166/2621306f-1b30-4086-bfc6-e0eb6f197504)

Perhaps the `3.3.1` commit/tag is the same, and that's why this situation occurred. That would be fine, but unfortunately this is opaque to me as a consumer.

---

This incident isn't big enough to be worth posting about, but it has occurred a few times now. I can say with certainty that the maintainers of this library are _by far_ smarter and harder-working than me. Unfortunately, it can be difficult to use the fruits of this labor because of release-related documentation. ❤️

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.