toltec icon indicating copy to clipboard operation
toltec copied to clipboard

Provide package changelogs

Open matteodelabre opened this issue 3 years ago • 2 comments

As discussed before (https://github.com/toltec-dev/toltec/pull/88#issuecomment-701514368, https://github.com/toltec-dev/toltec/pull/63#issuecomment-698758156, and on Discord) it would be useful to maintain changelogs. They could be presented to end-users at upgrade time, and used by testers to know what features to focus on. There are two main questions to answer:

How to store and maintain the changelogs

I propose having a changelog file in each recipe folder in a format derived from the Debian changelog format. Each changelog entry would contain:

  • The package name (in the case of split package recipes, this determines which sub-package is concerned by the current changelog entry).
  • The package version.
  • A list of changes, incorporating the main changes from upstream and the packaging changes.
  • The name and email address of the person who prepared the release (not necessarily the same as the maintainer= value).
  • The package release date (not the same as the timestamp= value, which is the upstream release date).

Here’s an example of how that could look like for the vnsee package.

vnsee (0.3.0-1)

  * Rename from rmvncclient to VNSee.
  * Update libvncserver to 0.9.13.
  * Add --help flag to show a help message.
  * Add --version flag to show the current version number.
  * Add --no-buttons, --no-pen and --no-touch flags to disable interactions with the respective input devices.
  * Improve repaint latency (thanks @asmanur!)
    + Periodically trigger repaints during long update batches instead of waiting for the end of each batch.
    + Repaint continuously in DU mode when using the pen.

 -- Mattéo Delabre <[email protected]>  2020-10-23T13:57:35Z

vnsee (0.2.0-1)

  * Add support for pen input.
    + Do not support pressure and tilt sensitivity yet.
  * Allow refreshing the screen manually by using the Home button.
  * Allow quitting the app by using the Power button.

 -- Mattéo Delabre <[email protected]>  2020-04-12T23:52:37Z

We would need to add recipe lint rules to check that each version has a properly-formatted package entry.

How to distribute the changelogs

The changelogs could be used to automatically generate release notes for stable merges, by diffing the merge branch’s changelogs with the existing stable changelogs. As for how the changelog entries should be presented to end-users, there is currently no support for that in opkg. We could implement something using post-install and post-upgrade hooks however.

matteodelabre avatar Jan 23 '21 12:01 matteodelabre

for recipes that support multiple packages, i'd like to keep one changelog file - how could that work?

raisjn avatar Jan 23 '21 16:01 raisjn

We could have a single changelog file with each entry in that file specifying which package of the recipe it applies to. Would that work for you?

matteodelabre avatar Jan 24 '21 14:01 matteodelabre