diff --git a/CHANGELOG.md b/CHANGELOG.md
index 78f5e5d..f2feb0c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,17 +5,6 @@ All notable changes to rattail will be documented in this file.
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
-## v0.2.4 (2024-11-24)
-
-### Fix
-
-- update project links, kallithea -> forgejo
-- avoid deprecated base class for config extension
-- just use upstream `main()` for webapi
-- update menu config per wuttaweb
-- update config for default app model
-- remove unused alembic script
-
 ## v0.2.3 (2024-07-01)
 
 ### Fix
diff --git a/pyproject.toml b/pyproject.toml
index dbc3511..917b3ac 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -6,7 +6,7 @@ build-backend = "hatchling.build"
 
 [project]
 name = "rattail-demo"
-version = "0.2.4"
+version = "0.2.3"
 description = "Rattail Software Demo"
 readme = "README.md"
 authors = [{name = "Lance Edgar", email = "lance@edbob.org"}]
@@ -51,8 +51,8 @@ rattail-demo = "rattail_demo.config:DemoConfigExtension"
 
 [project.urls]
 Homepage = "https://demo.rattailproject.org"
-Repository = "https://forgejo.wuttaproject.org/rattail/rattail-demo"
-Changelog = "https://forgejo.wuttaproject.org/rattail/rattail-demo/src/branch/master/CHANGELOG.md"
+Repository = "https://kallithea.rattailproject.org/rattail-project/rattail-demo"
+Changelog = "https://kallithea.rattailproject.org/rattail-project/rattail-demo/files/master/CHANGELOG.md"
 
 
 [tool.commitizen]
diff --git a/rattail_demo/web/menus.py b/rattail_demo/web/menus.py
index 2927157..9dcf5fa 100644
--- a/rattail_demo/web/menus.py
+++ b/rattail_demo/web/menus.py
@@ -62,7 +62,7 @@ class DemoMenuHandler(base.TailboneMenuHandler):
                 },
                 {
                     'title': "Source Code",
-                    'url': 'https://forgejo.wuttaproject.org/rattail/rattail-demo',
+                    'url': 'https://kallithea.rattailproject.org/rattail-project/rattail-demo',
                     'target': '_blank',
                 },
                 {
diff --git a/rattail_demo/web/views/upgrades.py b/rattail_demo/web/views/upgrades.py
index af722f4..8035303 100644
--- a/rattail_demo/web/views/upgrades.py
+++ b/rattail_demo/web/views/upgrades.py
@@ -15,8 +15,8 @@ class UpgradeView(base.UpgradeView):
 
         projects.update({
             'rattail_demo': {
-                'commit_url': 'https://forgejo.wuttaproject.org/rattail/rattail-demo/compare/{{old_version}}...{{new_version}}',
-                'release_url': 'https://forgejo.wuttaproject.org/rattail/rattail-demo/src/tag/v{{new_version}}/CHANGELOG.md',
+                'commit_url': 'https://kallithea.rattailproject.org/rattail-project/rattail-demo/changelog/{new_version}/?size=10',
+                'release_url': 'https://kallithea.rattailproject.org/rattail-project/rattail-demo/files/{new_version}/CHANGES.rst',
             },
         })
 
diff --git a/tasks.py b/tasks.py
deleted file mode 100644
index d296ec9..0000000
--- a/tasks.py
+++ /dev/null
@@ -1,23 +0,0 @@
-# -*- coding: utf-8; -*-
-"""
-Tasks for rattail-demo
-"""
-
-import os
-import shutil
-
-from invoke import task
-
-
-@task
-def release(c):
-    """
-    Release a new version of 'rattail-demo'
-    """
-    if os.path.exists('dist'):
-        shutil.rmtree('dist')
-    if os.path.exists('rattail_demo.egg-info'):
-        shutil.rmtree('rattail_demo.egg-info')
-
-    c.run('python -m build --sdist')
-    c.run('twine upload dist/*')