CARVIEW |
Select Language
HTTP/2 200
date: Sat, 19 Jul 2025 10:54:57 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
x-robots-tag: none
etag: W/"500cdb4b544d9cf796ed1858ef6889b0"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=4AOvpc%2BTqgvWsiW9ErdBEEs3WxQIkcAQeqew4kZOPqskhFwlhIg0ESmicZlGB%2B6tiOXO%2F0SUluZkTb5l6fKoKsC02BY8hQpzuvFBthQzcDN5ia8Q2axH%2Bb5cUuAH2VPKI8%2FIRWFHr4hyEIMg33j53VQNQhXKPv94LkpJMp2MYw1lU4Shprul9Ob5M4yMTtJ0YHJgKEo6eM2YcqQkq%2FFbuyl08zjp084FvuTOt%2FCE%2FrdLwvnEnjpFssyCwGhQYci75ywgsSvy25GS1LlJj7WpRA%3D%3D--Kk1euBjF5h26uofO--yENINbzieR8ePkBPbBsrKg%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1977784606.1752922496; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 10:54:56 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 10:54:56 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 8BB8:21415F:3DC074:4DBC4F:687B7980
Releasing · libass/libass Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 232
Releasing
Oneric edited this page Apr 21, 2024
·
11 revisions
- Wait for OSS-Fuzz, ART and Coverity Scan to check the latest
master
.- If the Coverity Scan daily quota is exceeded, wait until it resets and push to
coverity_scan
.
- If the Coverity Scan daily quota is exceeded, wait until it resets and push to
- Make sure the final releaser’s OpenPGP key is well-known:
- It must be in the
MAINTAINERS
file. If not, have a previous release manager add it and sign the commit with their own key. - It must be on their GitHub account. This will ensure that GitHub shows the tag object as “verified”.
- It should be on other well-known key servers.
- It must be in the
- Make the release commit locally, using “Release version” as the commit subject:
- Update the public version number in
RELEASEVERSION
. - Update
LIBASS_VERSION
(which directly corresponds to the public version number) inlibass/ass.h
. - Update the libtool version number in
libass/Makefile.am
.- If old program binaries don’t work with the new library, increment current and reset revision and age to 0.
- If old program binaries work with the new library but new program binaries may not work with the old library, increment current and age and reset revision to 0.
- Otherwise, just increment revision.
- Another way to see this is to imagine an ABI-centric semantic version number computed as $(current − age) . age . revision.
- Ideally, all significant ABI changes (which affect current and age) should update the libtool version number in the same commit that enacts the ABI change itself, and releases should only ever increment revision. However, this is sometimes forgotten, so do verify this when preparing a release.
- Update the changelog in, well,
Changelog
. - Update the version number, release date and change summary in
README.md
. - Put any extra release notes in the commit message.
- Update the public version number in
- Run
./autogen.sh && ./configure && make distcheck
. Make sure it reports no errors. - Compare the generated
libass-version.tar.gz
to the previous release tarball to ensure everything is included. - Do a compile test with the sources extracted from the tarball.
- Run
make dist-xz
(or manually recompress thetar.gz
) to createlibass-version.tar.xz
. - Tag the release commit with the new public version number using a signed tag object (
git tag -s
):- Use “libass version” as the tag object’s subject line.
- Use the release notes from the commit message body and the text added to
Changelog
as the description.
- Sign the tarballs using the same key to create
.asc
signature files:gpg -ab libass-version.tar.gz && gpg -ab libass-version.tar.xz
- Push the release commit and the tag to GitHub.
- Make a release on GitHub (a draft can be started ahead of time):
- Use “Release version” as the title.
- Reuse the tag object’s description, tweaked for better Markdown if necessary.
- Upload the two tarballs and the two tarball signatures as “binaries”.
- Find the newest commit in libass-tests for which the new release passes with
ART_REG_TOLERANCE=0
(on platforms using canonical floating-point precision at least). Tag this commit ascompatible_<release version>
and push it.
You can’t perform that action at this time.