This is a non-exhaustive (but still near complete) changelog for phpBB 2.0.x including beta and release candidate versions. Our thanks to all those people who've contributed bug reports and code fixes.
l.i. Changes since 2.0.21
[Fix] Check for user's existence prior to showing email form
[Fix] New members of moderator groups should always become moderators (Bug #382)
[Fix] Proper message when replying to non-existant topics (Bug #459)
[Fix] Changed column type of search_array to store more ids (Bug #4058)
[Fix] Fixed annoyance with font-size selector (Bug #4612)
[Fix] Fix optimize line in database updater (Bug #6186)
[Sec] Check for the avatar upload directory reinforced
[Sec] Changes to the criteria for "bad" redirection targets - kellanved
[Sec] Fixed a non-persistent XSS issue in private messaging
[Sec] Fixing possible negative start parameter - SpiderZ.
[Sec] Added session checks to various forms - kellanved
l.ii. Changes since 2.0.20
[Fix] Changes to random number generator code to explicitly truncate the length of the string
[Fix] Quoting on boards with HTML enabled
[Fix] Special characters on boards with HTML enabled
[Fix] Redirect to list if cancelling deletion of ranks, smilies or word censors
[Fix] Missing error message if an inactive user tried to login (Bug #1598)
[Fix] Do not alter post counts when just removing a poll (Bug #1602)
[Fix] Correct error in removal of old session keys
[Fix] Changed filtering of short search terms
[Sec] Improved filtering on language selection (also addresses a number of bug reports related to missing languages)
[Change] Backported more efficient highlighting code from Olympus
[Change] Backported zlib emulation code so that there is only a single confirmation image even if zlib is not available
l.iii. Changes since 2.0.19
[Fix] Prevent login attempts from incrementing for inactive users
[Fix] Do not check maximum login attempts on re-authentication to the admin panel - tomknight
[Fix] Regenerate session keys on password change
[Fix] retrieving category rows in index.php (Bug #90)
[Fix] improved index performance by determining the permissions before iterating through all forums (Bug #91)
[Fix] Better handling of short usernames within the search (bug #105)
[Fix] Send a no-cache header on admin pages as well as normal board pages (Bug #149)
[Fix] Apply word censors to the message when quoting it (Bug #405)
[Fix] Improved performance of query in admin_groups (Bug #753)
[Fix] Workaround for an issue in either PHP or MSSQL resulting in a space being returned instead of an empty string (bug #830)
[Fix] Correct use of default_style config value (Bug #861)
[Fix] Replace unneeded unset calls in admin_db_utilities.php - vanderaj
[Fix] Improved error handling in modcp.php
[Fix] Improved handling of forums to which the user does not have any explicit permissions - vanderaj
[Fix] Assorted fixes and cleanup of admin_ranks.php, now requires confirmation of deletions
[Fix] Assorted fixes and cleanup of admin_words.php, now requires confirmation of deletions
[Fix] Addition and editing of smilies can no longer be performed via GET, now requires confirmation of deletions
[Fix] Escape group names in admin_groups.php
[Sec] Replace strip_tags with htmlspecialchars in private message subject
[Sec] Some changes to HTML handling if enabled
[Sec] Escape any special characters in reverse dns - Anthrax101
[Sec] Typecast poll id values - Anthrax101
[Sec] Added configurable search flood control to reduce the effect of DoS style attacks
[Sec] Changed the way we create "random" values for use as keys - chinchilla/Anthrax101
[Change] Changed handling of the case where a selected style doesn't exist in the database
[Change] Changed handling of topic pruning to improve performance
[Change] Changed default forum permissions to only allow registered users to post in new forums
l.iv. Changes since 2.0.18
[Fix] corrected index on session keys table under MS SQL
[Fix] added session keys table to backup
[Fix] delete session keys entries when deleting user
[Fix] changes to support MySQL 5.0
[Fix] changes to some of the admin files to improve efficiency and remove a potential error condition when building the menu
[Fix] change truncation of username length in usercp_register.php - BFUK
[Fix] incorrect path to avatars in admin_users.php (Bug #667)
[Fix] fixed get_userdata to support correct sql escaping (non-mysql dbs) - jarnaez
[Fix] fixed captcha for those not having the zlib extension enabled
[Change] Placed version information above who is online in admin panel for better visual presence
[Sec] fixed XSS issue (only valid for Internet Explorer) within the url bbcode
[Sec] fixed XSS issue if html tags are allowed and enabled
[Sec] added configurable maximum login attempts to prevent dictionary attacks
l.v. Changes since 2.0.17
[Fix] incorrect handling of password resets if admin activation is enabled (Bug #88)
[Fix] wrong topic redirection after login redirect (Bug #94)
[Fix] improved handling of username lists in admin_ug_auth.php (Bug #98)
[Fix] incorrect removal of bbcode_uid values if bbcode has been turned off (Bug #100)
[Fix] correctly preview signature if editing other users posts (Bug #101)
[Fix] incorrect alt tag on generated search images in groupcp.php, viewtopic.php and usercp_viewprofile.php (Bug #102)
[Fix] consistent forum ordering in all dropdown boxes (Bug #106)
[Fix] correctly get compression status in page_tail.php and page_footer_admin.php (Bug #117)
[Fix] set page title on summary page of groupcp.php (bug #125)
[Fix] correctly test style and avatar in usercp_register.php (bug #129 and #317)
[Fix] handling of reactivation notifications if admin activation is enabled (Bug #145)
[Fix] handling of both forms of translation information used in language packs (Bug #159)
[Fix] key length for activation keys fixed in usercp_sendpassword.php (Bug #171)
[Fix] use GENERAL_MESSAGE constant in message_die instead of MESSAGE (Bug #176)
[Fix] incorrect handling of move stubs (Bug #179)
[Fix] wrong mode_type in memberlist (Bug #187)
[Fix] SQL errors when setting maximum PMs to 0 (Bug #188)
[Fix] removed unused variable from topic_notify email template (Bug #210)
[Fix] removed unset variable from smilies popup window title (Bug #224)
[Fix] removed duplicate template assignment from admin_board.php (Bug #226)
[Fix] incorrect search link for guest posts in modcp.php (Bug #254)
[Fix] all users removed from topics watch table on special occassions (Bug #271)
[Fix] correctly check returned value from strpos in append_sid function (Bug #275)
[Fix] correctly display username in private message notification (Bug #278)
[Fix] fixed "var-by-ref" errors (Bug #322)
[Fix] changed redirection to installation (Bug #325)
[Fix] added timout of 10 seconds to version check (Bug #348)
[Fix] fixed user_level default in postgresql schema file (Bug #444)
[Fix] multiple minor HTML issues with subSilver
[Change] deprecated the use of some PHP 3 compatability functions in favour of the native equivalents
[Change] added 60 days limit for grabbing unread topics in index.php
[Sec] backport of session keys system from olympus
[Sec] fixed email bans to use the same pattern as email validation and allow wildcard domain bans
[Sec] fixed validation of topic type when posting
[Sec] unset database password once it is no longer needed
[Sec] fixed potential to select images outside the specified path as avatars or smilies
[Sec] changed avatar gallery code sections to prevent possible injection points (AnthraX101)
[Sec] signature field is not properly sanitised for user input when an error occurs while accessing the avatar gallery (AnthraX101)
[Sec] check to_username and ownership when editing a PM (AnthraX101)
[Sec] fixed ability to edit PM's you did not send (depablo84)
[Sec] compare imagetype on avatar uploading to match the file extension from uploaded file
l.vi. Changes since 2.0.16
Added extra checks to the deletion code in privmsg.php - reported by party_fan
Fixed XSS issue in IE using the url BBCode
Fixed admin activation so that you must have administrator rights to activate accounts in this mode - reported by ieure
Fixed get_username returning wrong row for usernames beginning with numerics - reported by Ptirhiik
Pass username through phpbb_clean_username within validate_username function - AnthraX101
Fixed PHP error in message_die function
Fixed incorrect generation of {postrow.SEARCH_IMG} tag in viewtopic.php - reported by Double_J
Also fixed above issue in usercp_viewprofile.php
Fixed incorrect setting of user_level on pending members if a group is granted moderator rights - reported by halochat
Fixed ordering of forums on admin_ug_auth.php to be consistant with other pages
Correctly set username on posts when deleting a user from the admin panel
l.vii. Changes since 2.0.15
Fixed critical issue with highlighting - Discovered and fix provided by Ron van Daal
Url descriptions able to be wrapped over more than one line again
Fixed bug with eAccelerator in admin_ug_auth.php
Check new_forum_id for existence in modcp.php - alessnet
Prevent uploading avatars with no dimensions - Xpert
Fixed bug in usercp_register.php, forcing avatar file removal without updating avatar informations within the database - HenkPoley
Fixed bug in admin re-authentication redirect for servers not having index.php as one of their default files set
l.viii. Changes since 2.0.14
Fixed moderator status removal in groupcp.php
Removed newlines after ?> on some files - Thoul
Added admin re-authentication (admin needs to login seperatly to access the ACP) - backported from Olympus
Fixed vulnerability in url/bbcode handling functions - PapaDos and Paul/Zhen-Xjell from CastleCops
Fixed issue in admin/admin_forums.php
Suppressed warning message for fsockopen in /includes/smtp.php - Thoul
Fixed bug in admin/admin_smilies.php (admin is able to add empty smilies) - Exy
Adjusted documents to reflect the urgent need to update the files too (not only running the database update script)
Updated the readme file
Added one new language variable
Added general error if accessing profile for a non-existent user
Changed session id generation to be more unique - Henno Joosep
Fixed bug in highlight code to escape characters correctly
Reversed the 2.0.14 fix for postgresql because it produced more problems than it solves.
Added reference to article written by R45 about case-sensitivity in postgreSQL to the readme file
Fixed bypassing of validate_username on registration - Yen
Empty url/img bbcodes no longer get parsed
l.ix. Changes since 2.0.13
Hardened author and keyword search a bit to not allow very server intensive searches
Fixed full path disclosure in bad word parsing
Resetting complete userdata array in session code if authentication fails
Fixed bug in moderator control panel where certain parameters could lead to an "error creating new session" sql error
Fixed bug in session code where empty page ids could lead to an "error creating new session" sql error
Fixed html handling in signatures if html is turned off globally
Fixed install.php problem with PHP5 register_long_arrays option turned off
Fixed potential issues with styling system
Added correct class to login_body template file
Removed file db/oracle.php from package
Removed version number from message body page in /admin (if user is not an admin) - mikelbeck
Fixed case-sensitivity issues in postgres7.php - R45
l.x. Changes since 2.0.12
Ommitted preg_replace warning in viewtopic due to improper working of preg_quote in PHP - originally reported by matrix_killer, fix submitted by another party
Fixed high severity issue in session handling allowing everyone gaining administrator rights. Please update as soon as possible.
Minimum requirements raised to PHP 4.0.3 or above due to fixing vulnerability issues breaking PHP3 compatibility.
l.xi. Changes since 2.0.11
Added confirm table to admin_db_utilities.php
Prevented full path display on critical messages
Fixed full path disclosure in username handling caused by a PHP 4.3.10 bug - AnthraX101
Added exclude list to unsetting globals (if register_globals is on) - SpoofedExistence
Merged database update files to update_to_latest.php file
Fixed path disclosure bug in search.php caused by a PHP 4.3.10 bug (related to AnthraX101's discovery)
Fixed path disclosure bug in viewtopic.php caused by a PHP 4.3.10 bug - matrix_killer
l.xii. Changes since 2.0.10
Fixed vulnerability in highlighting code (very high severity, please update your installation as soon as possible)
Fixed unsetting global vars - Matt Kavanagh
Fixed XSS vulnerability in username handling - AnthraX101
Fixed not confirmed sql injection in username handling - warmth
Added check for empty topic id in topic_review function
Added visual confirmation mod to code base
l.xiii. Changes since 2.0.9
Fixed deleting of styles in admin_styles.php
Fixed wrong unsetting of variables introduced in phpBB 2.0.9, making the board non-functional for users with specific php.ini settings
Added code to let phpBB work with PHP5 for those having register_long_arrays set to off (default settings) - running phpBB 2.0.x with PHP5 is not supported at http://www.phpbb.com.
Fixed bug in admin_board.php for board settings having single quotes in it
Fixed "search by author" in search.php. Now it is possible to search for users with special chars in their name too
Fixed forum jumpbox propagating session id in moderator control pages
Added check for newlines at redirecting pages, to prevent http response splitting attacks - Ory Segal and Amit Klein
Fixed visual confirmation code. The image was not created due to a wrong regular expression.
l.xiv. Changes since 2.0.8
Fixed one vulnerability in admin_board.php - Xore
Added checking for proper session id characters to sessions and viewtopic to prevent injections - Bartlomiej Korupczynski
Fixed injection vulnerabilities possible with linked avatars
Implemented unsetting globalised variables
Limited confirm switch to POST variable in posting
Changed IP code in common.php to prevent IP spoofing, which might introduce some problems with private IP Ranges showing up. - Wang Products
Updated visual confirmation mod [pre-edited files]
Moved obtaining word censors in modcp out of topic generation loop [increased performance/lower query count] - spotted by R45
Added the ability to link to https/ftps sites using the img bbcode tag
Fixed user online information in admin/index.php
Fixed getting group moderator in groupcp.php if running oracle backend - spotted by pakman
Fixed use of non-existing result variable in modcp (poster_id instead of user_id)
Fixed several vulnerabilities (XSS, SQL Injection and path disclosure) only possible with register_globals enabled - Matthew C. Kavanagh, Janek Vind
Fixed problem with SID not delivered to next page in groupcp.php
l.xv. Changes since 2.0.7
Fixed several vulnerabilities in admin pages
Fixed sid checking code in admin/pagestart.php
Fixed injection vulnerabilities possible with the img bbcode tag
Limited allowed images in img bbcode tag to jpg, jpeg, gif and png
Fixed redirect problems - 2.0.7a
Fixed sql injection vulnerability in search - 2.0.7a
Fixed sql injection vulnerability in privmsg - 2.0.8a
1.xvi. Changes since 2.0.6
Fixed several vulnerabilities in modcp - Robert Lavierck
Changed whois lookup address within admin index
Fixed potential vulnerability in viewtopic postorder - 2.0.6d
Updates to cope with Zend Optimizer 2.5 problems - 2.0.6d - jetset
Force specialcharing of redirect variable in login - Pit
Fixed potential vulnerability in viewtopic postdays - GulfTech Security Research
Fixed potential vulnerability in viewforum topicdays - GulfTech Security Research
Fixed potential vulnerability in modcp
Fixed potential vulnerability in avatar gallery
1.xvii. Changes since 2.0.5
Fixed various email issues
Fixed registration email bug with Administrator Confirmation used
Fixed mass emailer
Fixed long post time issue
Fixed bug with usernames containing single quotes
Fixed word list bug - Word boundaries were not considered
Fixed vulnerability in style admin
Fixed sql injection vulnerability in viewtopic
Fixed vulnerability allowing server side variable access in search - tendor