diff --git a/changelog.php b/changelog.php
index 66edef1142..cdab79326b 100644
--- a/changelog.php
+++ b/changelog.php
@@ -44,6 +44,9 @@ if (is_readable($filename)) {
$changelog = htmlspecialchars($changelog);
$tracker_url = 'https://sourceforge.net/support/tracker.php?aid=\\1';
+$tracker_url_bug = 'https://sourceforge.net/p/phpmyadmin/bugs/\\1/';
+$tracker_url_rfe = 'https://sourceforge.net/p/phpmyadmin/feature-requests/\\1/';
+$tracker_url_patch = 'https://sourceforge.net/p/phpmyadmin/patches/\\1/';
$github_url = 'https://github.com/phpmyadmin/phpmyadmin/';
$replaces = array(
@@ -58,7 +61,7 @@ $replaces = array(
'/thanks to ([^\(\r\n]+) -\s+([-\w]+)/i'
=> 'thanks to \\1',
- // mail adresse
+ // mail address
'/([0-9]{4}-[0-9]{2}-[0-9]{2}) (.+[^ ]) +<(.*@.*)>/i'
=> '\\1 \\2',
@@ -86,6 +89,17 @@ $replaces = array(
'/(? 'bug #\\1',
+ // transitioned SF.net project bug/rfe/patch links
+ // by the time we reach 6-digit numbers, we can probably retire the above links
+ '/patch\s*#?([0-9]{4,5}) /i'
+ => 'patch #\\1 ',
+ '/(?:rfe|feature)\s*#?([0-9]{4,5}) /i'
+ => 'RFE #\\1 ',
+ '/bug\s*#?([0-9]{4,5}) /i'
+ => 'bug #\\1 ',
+ '/(? 'bug #\\1 ',
+
// CVE/CAN entries
'/((CAN|CVE)-[0-9]+-[0-9]+)/'
=> '\\1',