sox_ng wiki - Releases
Releases
sox_ng
has a time-based release cycle using Semantic Versioning.
Each of the versions has a new release every six months.
Release levels
Micro
Numbered X.Y.Z+1, micro releases include bug fixes, spelling errors
and very small enhancements to existing features but no new features.
Changes, apart from the bug fixes, are both forward- and backward-compatible.
The last micro releases were made on 2025–02–18 and
the next micro releases are scheduled for 2025–08–18.
Minor
Numbered X.Y+1.0, minor releases add new features and functionality
in a backward-compatible manner but “not too many at once”.
The next minor release, 14.6.0, is scheduled for 2025–05–18.
Major
Major releases, numbered X+1.0.0 include changes that are
not backward-compatible and major new feature sets.
A major release is not planned.
For each release
V=14.4.3-rc1 # or whatever
git checkout main
git status # There should be nothing to do
- If it’s a first release candidate
- Edit
README.md
and wiki/Releases.md
to change the next release date
- Change the milestone’s description to reflect the next release date
- If it’s a stable release
git clone https://codeberg.org/sox_ng/sox_ng.wiki wiki
(cd wiki && git push && sh makehtml.sh)
- Copy in and commit the latest version of https://codeberg.org/sox_ng/issues
- Update ChangeLog from the git logs and fix the date
- Change
AC_INIT
in configure.ac
to the new version
- Change
src/sox_ng.h
’s SOX_LIB_VERSION_CODE
to the new version
git commit -m "Release $V" -a
git tag sox_ng-$V
git push
git push --tags
autoreconf -i
./configure
make txt pdf README dist
tar xf sox_ng-$V.tar.gz
zip -r sox_ng-$V.zip sox_ng-$V
rm -r sox_ng-$V
md5sum sox_ng-$V.*
sha256sum sox_ng-$V.*
firefox https://codeberg.org/sox_ng/sox_ng/releases
- Poke “New release”
- Tag name: sox_ng-$V
- Release title: Release $V
- Describe this release:
- First micro release
- Copy in ChangeLog
- Add checksums of source tarballs
- Click here to upload and select sox_ng/sox_ng-$V.{tar.gz,zip}
- Use the title and content of release as tag message: No
- Mark as prerelease if it’s not a stable release
- Hide automatically generated archives: Yes
- Poke “Publish release”. This is the no-going-back point.
- Make the Windows executables
cd ~/mxe
- edit
src/sox_ng.mk
, update the version and copy in the sha256sum
make sox_ng wget ffmpeg
- `zip -j sox_ng-$V-win32-exe.zip
usr/i686-w64-/bin/sox_ng.exe
~/sox_ng/{AUTHORS,ChangeLog,COPYING,README{,.md,.win32},sox.{txt,pdf}}
- `zip -j sox_ng-$V+wget+ffmpeg-win32-exe.zip
usr/i686-w64-/bin/{sox_ng,wget,ffmpeg}.exe
~/sox_ng/{AUTHORS,ChangeLog,COPYING,README{,.md,.win32},sox.{txt,pdf}}
tar xf pkg/wget-*
mkdir wget && cp -p wget-1.25.0/{AUTHORS,COPYING,ChangeLog,NEWS,README} wget/
tar xf pkg/ffmpeg-*
- `mkdir ffmpeg && cp -p ffmpeg-/{COPYING ffmpeg/,LICENSE.md,README.md}
- zip -r sox_ng-$V+wget+ffmpeg-win32-exe.zip wget ffmpeg
- rm -r wget* ffmpeg*
md5sum sox_ng-$V*.zip
sha256sum sox_ng-$V*.zip
- Edit Release and attach the .zip files, src/sox_ng.mk, src/sox_ng.text.c
- Include the .zip files' checksums in the description and save.
- Announce the release on sox-ng@groups.io
- For a first release candidate, contact the people who contributed to it
- Wait a week; if no problems are evident, it becomes the release;
otherwise issue another release candidate for another week’s testing,
and so on
- When a release candidate is OK for a week, it becomes the release
- Announce the final release on http://freshcode.club
- May happen automatically now.
- Announce release candidates on sox-ng@groups.io and sox-devel@lists.sourceforge.net
- Announce final releases on sox-ng@groups.io and sox-users@lists.sourceforge.net
- Change configure.ac’s release number to $V+git, check in and push
Historically it has been 14.4.3git where 14.4.3 is the next release
but this conflicts with semantic versioning and
we don’t know whether the release after 14.4.3.1 will be
14.4.3.2, 14.4.4 or 14.5.0.
Further reading
Release management
Semantic versioning
Generated by makehtml.sh on Tue Apr 8 01:17:56 CEST 2025