# phpBB 3.0.x Changelog

Skip

This is a non-exhaustive (but still near complete) changelog for phpBB 3.0.x including release candidate versions. Our thanks to all those people who've contributed bug reports and code fixes.

# Changelog

## 1. Changelog

### 1.i. Changes since 3.0.8

#### Bug

- [PHPBB3-217] - Multiline [url] not Converted
- [PHPBB3-6712] - Topic bumping does not create new topic icon on index
- [PHPBB3-7057] - Quicksearch uses POST, thus the page expires!
- [PHPBB3-7778] - Increase limit of custom BBcodes
- [PHPBB3-7834] - Correctly update topic_time when deleting first post in topic
- [PHPBB3-7888] - URL of search results page does not always contain all keywords of the search query
- [PHPBB3-7941] - mistake in description of function generate_board_url
- [PHPBB3-8138] - Browser autocompleton fills wrong fields in ACP
- [PHPBB3-8736] - Honour ACP settings for min/max username length when posting as a guest.
- [PHPBB3-8802] - Wrong confirmation text when clicking "mark forums read" in a category
- [PHPBB3-8904] - Show numeric CPF default value when editing
- [PHPBB3-9166] - Subsilver and prosilver CSS elements out of order.
- [PHPBB3-9348] - Correctly encode default_dateformat when converting from phpBB2
- [PHPBB3-9575] - The word "administrate" is not correct.
- [PHPBB3-9630] - Naming inconsistency of Merging Posts / Topics in MCP
- [PHPBB3-9675] - Add option to delete template/theme/imageset when deleting style.
- [PHPBB3-9685] - Unable to create "Fulltext native" search index using the mssqlnative DBAL
- [PHPBB3-9751] - Password requirement "Must contain letters and numbers" is not working properly
- [PHPBB3-9764] - Empty value for CONFIG_TABLE config_name= 'mime_triggers' causes functions_fileupload.php->fileupload->check_content() to be too restrictive
- [PHPBB3-9851] - "Search new posts" should require login
- [PHPBB3-9872] - Total topics isn't correct after I deleted a user
- [PHPBB3-9874] - view_log() performs unneeded count query over all log entries.
- [PHPBB3-9892] - Firebird index name length limit is not taken into account
- [PHPBB3-9905] - DSN field should include SQLite
- [PHPBB3-9908] - Send "Moved Permanently" before stripping off session ids for Bots.
- [PHPBB3-9910] - Javascript bug in Subsilver2 PMs
- [PHPBB3-9911] - Incorrect open/close field in Manage ranks ACP
- [PHPBB3-9913] - currunt should be current
- [PHPBB3-9915] - "Length of ban:" is not displayed in ACP
- [PHPBB3-9924] - $template->display hook does not pass $template instance
- [PHPBB3-9925] - prosilver logo margin bug in IE 6-7-8
- [PHPBB3-9928] - Do not link "login to your board" to the "send statistics" page after completed update.
- [PHPBB3-9930] - Redirect fails with open_basedir enabled
- [PHPBB3-9932] - The Bing bot is not added when converting.
- [PHPBB3-9933] - Wrong handling of consecutive multiple asterisks in word censor
- [PHPBB3-9934] - Mass Mail missing under the system tab on a fresh install
- [PHPBB3-9939] - JavaScript error in recaptcha ACP template
- [PHPBB3-9944] - Extension groups naming don't use users' language in ACP
- [PHPBB3-9946] - $inserts empty in sql_query() for oracle
- [PHPBB3-9948] - Inline quicktime files won't display
- [PHPBB3-9949] - $user->lang() is not handling arguments as per documentation
- [PHPBB3-9950] - Problem with localized button images after uprading from 3.0.7-PL1 to 3.0.8
- [PHPBB3-9953] - Set focus to password on re-authentication
- [PHPBB3-9954] - u_masspm* permissions are forced to never for certain groups
- [PHPBB3-9961] - Inconsistent activation logs
- [PHPBB3-9966] - Language download in ACP creates index.html and misses captcha_*
- [PHPBB3-9970] - user_lang input not checked during registration
- [PHPBB3-9981] - Fix unit test dependencies on phpBB files
- [PHPBB3-9985] - 3D Wave CAPTCHA mt_rand() does not check order of min/max values
- [PHPBB3-9997] - Inconsistent approve/disapprove button order in modcp
- [PHPBB3-9999] - {forumrow.L_FORUM_FOLDER_ALT} and {SEARCH_IMG} only return a language key.
- [PHPBB3-10005] - users can register without custom profile field correctly entered
- [PHPBB3-10011] - __DIR__ in test suite renders it unusable on php < 5.3
- [PHPBB3-10016] - set_config_count() fails on PostreSQL 7
- [PHPBB3-10020] - ACP function validate_range() fails partially on non-32-bit systems
- [PHPBB3-10021] - "Find a member" generates SQL error when large dates are entered
- [PHPBB3-10033] - "Disallow usernames" does not check already disallowed names
- [PHPBB3-10035] - ACP template edit feature allows to read any files on webserver and to upload/execute any script on it
- [PHPBB3-10036] - Use image from configuration file for displaying online-status.
- [PHPBB3-10038] - download/file.php uses $_GET value instead of function request_var()
- [PHPBB3-10039] - 2.x to 3.x conversion fails when using mssqlnative to connect to destination database
- [PHPBB3-10042] - GD captcha has invalid mt_rand calls
- [PHPBB3-10047] - Session ID always included in URL on posting.php
- [PHPBB3-10049] - Session test files are misnamed, session tests are not run
- [PHPBB3-10052] - Session tests are broken
- [PHPBB3-10056] - Firebird misspelled in database updater
- [PHPBB3-10058] - Root path is undefined in MySQL upgrader
- [PHPBB3-10059] - Consistent is misspelled twice
- [PHPBB3-10060] - Typo in tests database connection manager
- [PHPBB3-10068] - Firefox4 restrictions to :visited
- [PHPBB3-10078] - commit-msg hook prints \n on freebsd
- [PHPBB3-10081] - Cleanup Template Tests
- [PHPBB3-10084] - Add smilie errors out when image is missing
- [PHPBB3-10088] - Cache mock does not unset database versions other than mysqli
- [PHPBB3-10090] - cache/queue.php.lock isn't covered by .gitignore
- [PHPBB3-10092] - commit-msg hook aborts on overlength comment lines
- [PHPBB3-10096] - Wrong whitespace in functions.php
- [PHPBB3-10100] - Race condition in unique_id() on heavily busy database.
- [PHPBB3-10102] - member.S_PENDING_SET in styles/prosilver/template/ucp_groups_manage.html
- [PHPBB3-10104] - missing one intval() along with others already being there
- [PHPBB3-10109] - Errors while copying a topic
- [PHPBB3-10112] - Use of count() in captcha_gd.php and mssqlnative.php
- [PHPBB3-10115] - BBcodes not working if post contains about or more 55000 non-english symbols
- [PHPBB3-10117] - Big posts becomes empty if they have smilies on specified places.
- [PHPBB3-10121] - ICQ profile link leads to a webservice that is no longer active
- [PHPBB3-10123] - Inconsistent use of smilie/smiley
- [PHPBB3-10128] - Error message is on green background when trying to ban a nonexistent user
- [PHPBB3-10137] - Deleting an unintended space at the end of PHP_URL_FOPEN_SUPPORT_EXPLAIN
- [PHPBB3-10146] - Firebird cannot handle DECIMAL(255, 0)
- [PHPBB3-10147] - Typo in code comment in functions_template.php
- [PHPBB3-10149] - deregister_globals causes error when cookie called GLOBALS is set to scalar value
- [PHPBB3-10170] - reCAPTCHA address has changed
- [PHPBB3-10171] - Firefox4 displays grey pixels at PM message rows when message is neither marked nor replied
- [PHPBB3-10177] - phpBB package cannot be built with bsdtar
- [PHPBB3-10178] - build.xml does not specify path to find - breaks on FreeBSD
- [PHPBB3-10188] - Wrong handling of output_buffering value in message handler
- [PHPBB3-10192] - Missing semicolon in MySQL Upgrader
- [PHPBB3-10195] - Do not check DNS Blacklists if IPv6 address is passed to session::check_dnsbl().
- [PHPBB3-10198] - Function validate_config_vars() improperly validates multibyte strings
- [PHPBB3-10203] - Fix quotations and hyphen in language strings for PHPBB3-10067
- [PHPBB3-10204] - Package build tool does not detect binary file changes
- [PHPBB3-10206] - Normalization tests fail when unicode.org is not reachable
- [PHPBB3-10211] - Missing space on the recent PHPBB3-9992 changes
- [PHPBB3-10218] - STRIP is not defined in style.php causing a notice to be thrown
- [PHPBB3-10219] - Inappropriate character in web.config file
- [PHPBB3-10220] - Logging in with Mobile Device triggers SQL error on *_login_attempts.
- [PHPBB3-10221] - Inconsistent usage of "Seconds" in ACP Settings

#### Improvement

- [PHPBB3-9581] - Banned users get mass emails.
- [PHPBB3-9802] - Optimize session_begin REMOTE_ADDR validation
- [PHPBB3-9878] - Get rid of Internet Explorer 7 emulation
- [PHPBB3-9897] - Language typos in language/en/acp/board.php
- [PHPBB3-9922] - Posting URL in subsilver 2
- [PHPBB3-9937] - Feed Icon displays on Forum links
- [PHPBB3-9980] - URLs to javascript should be T_SUPER_TEMPLATE_PATH instead of T_TEMPLATE_PATH
- [PHPBB3-9989] - Skip PM popup in overall_header.html, if there are no new PMs.
- [PHPBB3-10007] - Add directive 'internal' to blocked folders in nginx example configuration.
- [PHPBB3-10009] - Differentiate published/updated dates in Atom feed
- [PHPBB3-10014] - Make the error message when cache is not writable clearer
- [PHPBB3-10024] - Allow a Style to present Unread PM in different way than read PM
- [PHPBB3-10040] - Continuous integration on PHP 5.2
- [PHPBB3-10041] - download/file.php needs more use of send_status_line
- [PHPBB3-10044] - Setup github network improvements
- [PHPBB3-10057] - More informative reporting of errors when database connection fails for Firebird and PostgreSQL.
- [PHPBB3-10067] - ACP options for account activation are confusing when emails are turned off board-wide
- [PHPBB3-10069] - Improvements in sample nginx config file
- [PHPBB3-10072] - Send the post number to the template as it relates to it's position in the topic
- [PHPBB3-10101] - Compatibility with native phpass hashes
- [PHPBB3-10126] - Replace ^ with &~ in error_reporting calls
- [PHPBB3-10141] - Performance improvement for $auth->_fill_acl()
- [PHPBB3-10145] - Ability to force recompilation of all templates on every page load
- [PHPBB3-10154] - Move "copy permissions from" to below "parent" in forum creation form
- [PHPBB3-10158] - Return link not really useful after sending a Private Message
- [PHPBB3-10186] - UCP signature panel displays when not authed for signatures

#### New Feature

- [PHPBB3-9942] - WinCache Caching Module
- [PHPBB3-9992] - Limit amount of failed login attempts per IP
- [PHPBB3-10110] - Redis caching module

#### Task

- [PHPBB3-9788] - Add README for GitHub
- [PHPBB3-9805] - Add a script for setting up git remotes for a github network
- [PHPBB3-9806] - Script for easy merging
- [PHPBB3-9824] - Git hook quirks
- [PHPBB3-9859] - Remove the years from visible copyright in the footer.
- [PHPBB3-9921] - Add sample configuration for lighttpd webserver
- [PHPBB3-9943] - Setup phpDocumentor API documentation generation
- [PHPBB3-9967] - Use phpunit.xml for test suite
- [PHPBB3-9987] - Enforce _test.php suffix for test files
- [PHPBB3-9990] - Integrate utf normalizer tests into test suite
- [PHPBB3-10043] - Refactor phpbb_database_test_case
- [PHPBB3-10046] - Getting rid of register_shutdown_function() in cron.php to prevent path disclosure (reported by lacton)
- [PHPBB3-10075] - Update docs/AUTHORS for 3.0.9-RC1 release
- [PHPBB3-10079] - Add gallery avatars to .gitignore.
- [PHPBB3-10082] - Fix Session Test Issues with CHAR vs. VARCHAR.
- [PHPBB3-10105] - Update AIM express link and "Download Application" links
- [PHPBB3-10107] - Improve docs for non-apache webserver configuration

#### Sub-task

- [PHPBB3-9732] - Cover session code extensively in tests
- [PHPBB3-9968] - Create unit test for word censor regular expression
- [PHPBB3-9969] - Move word censor regular expression creation into separate function definition in functions.php

### 1.ii. Changes since 3.0.7-PL1

#### Security

- [PHPBB3-9903] - Execute javascript in [flash=] BBCode

#### Bug

- [PHPBB3-4923] - compress_tar incorrectly determines type
- [PHPBB3-5164] - Honor minimum and maximum password length in generated passwords as much as possible.
- [PHPBB3-6726] - Connecting to PostgreSQL using 'localhost' doesn't try to use a TCP connection
- [PHPBB3-6747] - word censoring * does not handle space for two or more words
- [PHPBB3-7260] - Do not delete polls if one exists and editing user lacks permissions
- [PHPBB3-7296] - Style export to tar(.*) does not work
- [PHPBB3-7369] - Custom Profile dates display incorrectly
- [PHPBB3-7417] - Search keywords field does not initially get focus
- [PHPBB3-7538] - Query exceeds maximum value for user_login_attempts
- [PHPBB3-7716] - Data too long for column 'message_subject'
- [PHPBB3-7720] - Fix alternative image-description for unread posts.
- [PHPBB3-7782] - Send HTTP 404 if topic, forum or user do not exist
- [PHPBB3-7972] - Copied topics are not indexed
- [PHPBB3-8169] - Parse CSS Regex accepts invalid code
- [PHPBB3-8792] - Misleading error message in auth_ldap.php, function init_ldap()
- [PHPBB3-8894] - JavaScript error and visible quote button on topic review if BBCodes disallowed
- [PHPBB3-8924] - spelling in admin_welcome_inactive.txt
- [PHPBB3-8929] - MS SQL error on view all smilies after 3.0.6 upgrade
- [PHPBB3-8935] - able to set minimal avatar size larger than maximum
- [PHPBB3-8944] - Error on database update (must specify size of index on MySQL4)
- [PHPBB3-9012] - Retain original topic title in shadow topic when moving a topic and editing the title.
- [PHPBB3-9034] - Redirect() fails with directory traversal
- [PHPBB3-9047] - Active topics and reported posts
- [PHPBB3-9049] - Password reminder system generates confusable passwords
- [PHPBB3-9053] - Correctly sort database backup file list by date on database restore page
- [PHPBB3-9061] - Race condition in queue locking
- [PHPBB3-9068] - Grammatical Error under Load Settings
- [PHPBB3-9075] - Missing / bad default values of CPFs result in SQL errors on registration of new users
- [PHPBB3-9091] - Wrong IP checking for IPv4 addresses mapped into IPv6
- [PHPBB3-9094] - Hide "Copy permissions" message, when permissions were copied.
- [PHPBB3-9095] - Misleading setting text for CAPTCHA
- [PHPBB3-9099] - Missing comma in PASSWORD_EXPLAIN acp language strings
- [PHPBB3-9101] - Bad text placement for reCAPTCHA description
- [PHPBB3-9104] - Safari does not display box headers correctly in the ACP.
- [PHPBB3-9107] - Can't Set Parent Forum
- [PHPBB3-9108] - RSS feeds does not work on Postgres
- [PHPBB3-9112] - Most active forum post count does not respect m_approve permission
- [PHPBB3-9114] - Recent bug fix for smilies causing problems on older MySQL versions
- [PHPBB3-9117] - Wrong redirection after login
- [PHPBB3-9119] - Language selection is disregarded in automatic update
- [PHPBB3-9120] - Typo fix in a comment in functions.php
- [PHPBB3-9121] - Forum feed shows posts that are currently on the moderation queue
- [PHPBB3-9125] - ACP User Overview: Unmatched </form> tag when viewing own user
- [PHPBB3-9126] - Invalid redirection after login to forum not in web root
- [PHPBB3-9132] - Oracle CLOB support is broken, preventing storage of long strings
- [PHPBB3-9135] - Fix report-icon for moderators in PM folders.
- [PHPBB3-9140] - Check current board version in incremental update packages
- [PHPBB3-9145] - Fix open_basedir issues when accessing styles- and language-management
- [PHPBB3-9146] - Quick-Reply tabindex="6" set twice
- [PHPBB3-9147] - "Change topic type"-option "Normal" always selected.
- [PHPBB3-9154] - Correctly check for double inclusion in captcha garbage collection
- [PHPBB3-9158] - viewforum/viewtopic pages unnecessarily duplicated with start=0
- [PHPBB3-9162] - BBCode in poll options is broken, when posting without question.
- [PHPBB3-9167] - Remove shadow topics from remaining forums when deleting a forum including posts
- [PHPBB3-9170] - Unable to get image size in img bbcode when URL has multiple parameters.
- [PHPBB3-9173] - sql_config_count() artificially limits number scope to 4byte-integer on PostgreSQL and Firebird
- [PHPBB3-9176] - When setting the board's date format the board's timezone settings aren't taken into account
- [PHPBB3-9451] - Unnecessary overhead in avatar_process_user function
- [PHPBB3-9478] - Validate maximum number of allowed recipients per PM value
- [PHPBB3-9495] - Loginbox <input /> redirect breaks xHTML
- [PHPBB3-9499] - Javascript function dE does not correctly detect element visibility
- [PHPBB3-9504] - Allow gallery avatars with whitespaces in the filename
- [PHPBB3-9509] - phpBB Coding Guidelines state subversion as the version control system for phpBB
- [PHPBB3-9510] - Unable to copy permissions from and to forums you cannot see
- [PHPBB3-9512] - Fix dead link in MCP on reports for global announcements in prosilver.
- [PHPBB3-9514] - Correctly delete big datasets when deleting a forum including topics/posts on non-MySQL databases
- [PHPBB3-9518] - Postgres DBAL does not correctly create a new database connection when passing $new_link as true
- [PHPBB3-9519] - Replace remaining is_writable() calls with phpbb_is_writable().
- [PHPBB3-9521] - MSSQL error reporting returns String instead of an error
- [PHPBB3-9524] - IPv6 regular expression does not match addresses starting in ::
- [PHPBB3-9526] - User Preference to hide online status does not work for bots
- [PHPBB3-9528] - Quoting in a PM does not fall back to bbcode-less quotes using "> " when bbcodes are disabled
- [PHPBB3-9529] - Topic review does not display all selected posts
- [PHPBB3-9530] - subsilver2 missing fallback option on quoting when bbcodes are disabled
- [PHPBB3-9531] - BBCode-less fall back option for quotes is missing "Author wrote:" line when quoting from topic-review.
- [PHPBB3-9535] - Incorrect margins in RTL languages: signatures, permission ACP & updater
- [PHPBB3-9545] - 'Your first forum' should have 'Display active topics:' set to 'Yes'
- [PHPBB3-9546] - Moving all posts from one topic to another does not delete bookmarks
- [PHPBB3-9547] - Changing forum type applies FORUM_FLAG_ACTIVE_TOPICS to new forum type.
- [PHPBB3-9548] - Delete user quicktool drop down should have an empty or invalid selection as the default
- [PHPBB3-9559] - Messenger Queue Batch Size configuration option is overridden
- [PHPBB3-9567] - Newly registered users group ACP wording
- [PHPBB3-9582] - Missing MSSQL native driver case statements
- [PHPBB3-9587] - Prosilver overrides reCaptcha class.
- [PHPBB3-9592] - Test suite does not run on SQLite
- [PHPBB3-9593] - Missing documentation for running unit tests
- [PHPBB3-9599] - Windows workaround for checkdnsrr() returns wrong results
- [PHPBB3-9605] - Wrong class added to topiclist, when there's no announcement topic.
- [PHPBB3-9615] - When attaching a file whose name contains quotes, filename before last quote is cut off in display
- [PHPBB3-9623] - Strings not properly normalized - acp_prune.php
- [PHPBB3-9626] - Regular expressions from get_preg_expression() are untested.
- [PHPBB3-9628] - Add module function does not correctly insert a module after the specified one
- [PHPBB3-9633] - Newly registered users group color is not used in Our Newest Member
- [PHPBB3-9635] - Useless parameter $data['post_time'] in function submit_post.
- [PHPBB3-9637] - SET NAMES 'BINARY' error in convertor
- [PHPBB3-9643] - DB connection error when $dbhost is an IPv6 address
- [PHPBB3-9644] - submit_post shows support for options that cause a trigger_error in the call to user_notification
- [PHPBB3-9646] - Cant hide/outcomment @import in stylesheet.css
- [PHPBB3-9650] - It should not be possible to ban Anonymous
- [PHPBB3-9653] - xhtml errors in subsilver2 when using the bbcodes code and quote in signatures
- [PHPBB3-9655] - Selecting an unavailable captcha plugin looks like a successful action
- [PHPBB3-9656] - PHP Information in ACP always lists error_reporting as 0
- [PHPBB3-9658] - Optimize topic splitting
- [PHPBB3-9662] - Search interval applied inconsistently
- [PHPBB3-9664] - Another duplicate accesskey: t = top and list item
- [PHPBB3-9665] - Signature "0" cannot be previewed
- [PHPBB3-9677] - Subsilver2 is missing the bbcode-helpline for inline-attachments.
- [PHPBB3-9678] - Flash attachments are not displayed in subsilver2.
- [PHPBB3-9679] - "Notify User" checkbox appears in MCP Queue even if no notification methods are enabled
- [PHPBB3-9686] - Unable to create data backup using the mssqlnative DBAL
- [PHPBB3-9694] - Calling download/file.php with empty avatar parameter can throw an E_NOTICE message
- [PHPBB3-9695] - Bad Display of User Input - mcp_ban
- [PHPBB3-9696] - Installation of phpBB with SQLite fails
- [PHPBB3-9697] - Backlink broken when the select parent forum does not exist.
- [PHPBB3-9698] - Returning result of new by reference is deprecated in php 5.3
- [PHPBB3-9702] - "Ban until (date)" appears to be based on UTC time instead of local time
- [PHPBB3-9703] - Removing a user does not remove their private message folders or rules
- [PHPBB3-9704] - Coding guidelines typo
- [PHPBB3-9712] - Future dates display as "less than one minute ago"
- [PHPBB3-9714] - "Undefined variable: email" in email regular expression unit tests
- [PHPBB3-9715] - Fix email address regular expression or adjust email regular expression unit tests
- [PHPBB3-9722] - "New Topic" button title attribute mismatch in prosilver's viewforum
- [PHPBB3-9727] - Feed replaces ./ with board URL
- [PHPBB3-9743] - Fix background-position of top2-class in prosilver for RTL-languages.
- [PHPBB3-9744] - Mistyped word 'then' in FAQ. It should be 'than'.
- [PHPBB3-9748] - <br /> not being replaced in prepare_message
- [PHPBB3-9749] - fulltext_mysql.php overreacts on + and - characters in search words
- [PHPBB3-9752] - Misleading text when using Q&A CAPTCHA
- [PHPBB3-9754] - Template variable S_USER_POSTED always set to false in search.php
- [PHPBB3-9757] - Empty template variable HISTORY_TITLE in ucp_pm_history
- [PHPBB3-9760] - Fulltext native search, wildcard * does not get escaped leading to long execution time
- [PHPBB3-9761] - Quote nesting depth explanation is misleading
- [PHPBB3-9771] - build_url() doesn't ignore empty parameters
- [PHPBB3-9772] - Under some circumstances, email addresses are shown to undesired users
- [PHPBB3-9780] - gen_rand_string() not respecting $num_chars parameter anymore.
- [PHPBB3-9782] - Board disable radio in Board-Settings set on when server load high
- [PHPBB3-9793] - Undefined function send_status_line() in download/file.php when in avatar mode.
- [PHPBB3-9807] - Avatar tab displays when avatars are disabled
- [PHPBB3-9810] - Clicking on "Select All" of code tag on print page results in a javascript error when using prosilver
- [PHPBB3-9820] - Fix undefined indexes when trying to post a new topic
- [PHPBB3-9822] - Can not delete style-components from the file-system as per explanation.
- [PHPBB3-9829] - Recaptcha plugin result interpretation fault
- [PHPBB3-9835] - Login Confirm Explain Not Working
- [PHPBB3-9840] - Display view unread posts link for guests
- [PHPBB3-9841] - Change "Save" button to "Save draft"
- [PHPBB3-9847] - Language typo and written form (British/American)
- [PHPBB3-9854] - Auth API documentation is incomplete
- [PHPBB3-9855] - Tests don't run on PHPUnit 3.5
- [PHPBB3-9879] - captcha_qa.php spelling, punctuation and grammar errors
- [PHPBB3-9883] - CAPTCHA uses american english
- [PHPBB3-9884] - Massive email delays
- [PHPBB3-9885] - Default file extension groups not properly updated by database updater.
- [PHPBB3-9886] - Database updater does not run on PostgreSQL because of an error in _add_module()
- [PHPBB3-9888] - Update fails when Bing [Bot] was already added to the users table
- [PHPBB3-9891] - Updater drops language-selection after database-update
- [PHPBB3-9509] - phpBB Coding Guidelines state subversion as the version control system for phpBB

#### Improvement

- [PHPBB3-7332] - MCP post details usability
- [PHPBB3-7717] - Use user's language for standard-extensions-group name
- [PHPBB3-8709] - Multibyte keys in request_var not possible
- [PHPBB3-8936] - subsilver2 missing reply-to-all feature
- [PHPBB3-9088] - Add missing semicolons in js files
- [PHPBB3-9179] - improve quasi-documentation of notify_status values
- [PHPBB3-9503] - Posts with empty titles in moderation queue are not easily approved
- [PHPBB3-9534] - user_ipwhois() does not support IPv6 addresses
- [PHPBB3-9536] - Small improvement for query against sessions table in acp_users.php
- [PHPBB3-9553] - Make git hooks run with /bin/sh instead of bash
- [PHPBB3-9570] - Change "system timezone" to "guest timezone" in acp, add explanation
- [PHPBB3-9578] - ACP Posting tab is missing "Post settings" module.
- [PHPBB3-9589] - Sample nginx configuration file
- [PHPBB3-9595] - Search settings in ACP: Add information on minimum word size indexed when using Fulltext MySQL backend
- [PHPBB3-9598] - Call checkdnsrr() on Windows with PHP 5.3
- [PHPBB3-9609] - Use send_status_line instead of calling header
- [PHPBB3-9611] - Increase entropy in activation keys
- [PHPBB3-9612] - Split gen_rand_string() into gen_rand_string() and gen_rand_string_friendly()
- [PHPBB3-9629] - sid parameter forced for style.php makes caching difficult
- [PHPBB3-9659] - Default phpBB signature user_options need to be set for convertors
- [PHPBB3-9690] - MSN Bot will become Bing Bot
- [PHPBB3-9777] - Print useful error message in pre-commit hook when php is not installed.
- [PHPBB3-9785] - Not able to recover a password when board disabled
- [PHPBB3-9825] - Run tests on sqlite if available and no test db configured
- [PHPBB3-9827] - IE9 Beta fixes IE8 textarea bug
- [PHPBB3-9830] - Awkward message when config.php is missing
- [PHPBB3-9850] - Allow version checker to display information on multiple releases
- [PHPBB3-9853] - Change default reCAPTCHA theme in Prosilver & Subsilver2 to better coordinate with style color scheme
- [PHPBB3-9880] - Rename all mentions of CAPTCHA or visual confirmation to anti-bot
- [PHPBB3-9899] - Change the style in the ACP for the recaptcha to match that displayed on prosilver

#### New Feature

- [PHPBB3-9039] - Native SQL Server Support mssqlnative.php
- [PHPBB3-9511] - View note for moderators on unapproved posts/topics with unapproved posts in ATOM Feed.

#### Task

- [PHPBB3-9520] - Add web.config files for IIS
- [PHPBB3-9625] - Update database UNIT-test
- [PHPBB3-9701] - Enable notices in unit tests
- [PHPBB3-9768] - Create git commit-msg hook that verifies the commit message conforms to our standards
- [PHPBB3-9769] - Add install and uninstall scripts for the git hooks
- [PHPBB3-9770] - Git commit message should be prefilled with branch and ticket information
- [PHPBB3-9800] - Update tracker URL in docs/README.html
- [PHPBB3-9804] - Update docs/AUTHORS (DavidMJ & igorw)
- [PHPBB3-9808] - Git commit message hook depends on GNU wc
- [PHPBB3-9816] - Remove config.php from git repository
- [PHPBB3-9848] - Add phpBB data files to .gitignore.
- [PHPBB3-9849] - Create build script using phing
- [PHPBB3-9857] - Remove visible $Id$ from docs files.
- [PHPBB3-9868] - Make the test suite run and pass using the mssqlnative driver
- [PHPBB3-9904] - Update WebPI Parameters.xml

#### Sub-task

- [PHPBB3-9517] - Remote avatar upload does not check the filesize before and during transfer.
- [PHPBB3-9562] - Advanced Search is inaccessible using the mssqlnative DBAL
- [PHPBB3-9564] - Reported messages are not assigned the default report reason when a reason is removed from the ACP using the mssqlnative DBAL
- [PHPBB3-9565] - It is impossible to create a custom profile field using the mssqlnative DBAL
- [PHPBB3-9566] - Two debug notices are displayed when setting a custom profile field though the UCP using the mssqlnative DBAL
- [PHPBB3-9583] - MSSQL native backups cannot be restored
- [PHPBB3-9606] - Drop redundant SQL query for unreads fetching
- [PHPBB3-9613] - Implement a load switch for unreads search feature.
- [PHPBB3-9817] - Make build script create blank config.php

### 1.iii. Changes since 3.0.7

- [Sec] Do not expose forum content of forums with ACL entries but no actual permission in ATOM Feeds. (Bug #58595)

### 1.iv. Changes since 3.0.6

- [Fix] Allow ban reason and length to be selected and copied in ACP and subsilver2 MCP. (Bug #51095)
- [Fix] Force full date for board online record date.
- [Fix] Correctly reset login keys if passed value is the current user. (Bug #54125)
- [Fix] Correctly set last modified headers. (Bug #54245, thanks Paul.J.Murphy)
- [Fix] Show correct HTML title when reporting private messages. (Bug #54375)
- [Fix] Correctly exclude subforums from ATOM Feeds. (Bug #54285)
- [Fix] Do not link to user profile in ATOM feed entry if post has been made by the guest user. (Bug #54275)
- [Fix] Make word censoring case insensitive. (Bug #54265)
- [Fix] Fulltext-MySQL search for keywords and username at the same time. (Bug #54325)
- [Fix] Various XHTML and CSS mistakes in prosilver and subsilver2. (Bugs #54705, #55895, #57505, #57875 - Patch by HardStyle)
- [Fix] Correctly show topic ATOM feed link when only post id is specified. (Bug #53025)
- [Fix] Cleanly handle forum/topic not found in ATOM Feeds. (Bug #54295)
- [Fix] PHP 5.3 compatibility: Check if function dl() exists before calling it. (Bug #54665)
- [Fix] PHP 5.3 compatibility: Disable E_DEPRECATED on startup to keep set_magic_quotes_runtime(0) quiet. (Bug #54495)
- [Fix] Correctly replace table prefix before inserting schema data into the database. (Bug #54815)
- [Fix] Correctly take post time instead of topic time for the overall forum feed statistics row. (Bug #55005)
- [Fix] Posting errors with CAPTCHAs using user::add_lang(). (Bug #55245)
- [Fix] Use memcache::replace() instead of memcache::set() for existing keys to prevent problems.
- [Fix] Check for required functions in eAccelerator. (Bug #54465)
- [Fix] Use correct RFC 3339 date format in ATOM feed. (Bug #55005)
- [Fix] Do not deliver topics from unreadable or passworded forums in the news feed. (Bug #54345)
- [Fix] Restore user language choice to compiled stylesheets. (Bug #54035)
- [Fix] Add missing language entries. (Bug #55095)
- [Fix] Do not permit unauthorised users to delete private messages from folder listing. (Bug #54355)
- [Fix] Correctly check for empty strings in custom profile fields. (Bug #55335)
- [Fix] Use correct options to parse BBCodes in signatures when previewing PMs.
- [Fix] Correct rendering of prosilver quick reply under IE6. (Bug #54115 - Patch by Raimon)
- [Fix] Correct wording for "How do I show an image below my username" question answer in FAQ. (Bug #23935)
- [Fix] Handle export of private messages where all recipients were deleted. (Bug #50985)
- [Fix] Correctly get unread status information for global announcements in search results.
- [Fix] Correctly handle global announcements in ATOM feeds.
- [Fix] Use correct limit config parameter in the News feed.
- [Fix] Restrict search for styles/../style.cfg to folders. (Bug #55665)
- [Fix] Add ability to disable overall (aka board-wide) feed.
- [Fix] Do not pass new_link parameter when creating a persistent connection with mysql. (Bug #55785)
- [Fix] Improved search query performance through sorting words by their occurance. (Bug #21555)
- [Fix] Correctly move sql_row_pointer forward when calling sql_fetchfield() on cached queries. (Bug #55865)
- [Fix] Remove item limit from "All forums" feed.
- [Fix] Do not use group colours for usernames on print view. (Bug #30315 - Patch by Pasqualle)
- [Fix] Pagination of User Notes in MCP uses two different config values. (Bug #56025)
- [Fix] List hidden groups on viewprofile where the viewing user is also a member. (Bug #31845)
- [Fix] Sort viewprofile group list by group name.
- [Fix] Strictly check whether a moderator can post in the destination forum when moving topic. (Bug #56255)
- [Fix] Added some error handling to the compress class.
- [Fix] Correctly determine permissions to show quick reply button. (Bug #56555)
- [Fix] Do not unsubscribe users from topics replying with quickreply. (Bug #56235)
- [Fix] Don't submit when pressing enter on preview button. (Bug #54395)
- [Fix] Load reCAPTCHA over https when using a secure connection to the board. (Bug #55755)
- [Fix] Clarify explanation of bump feature setting. (Bug #56075)
- [Fix] Properly paginate unapproved posts in the MCP. (Bug #56285)
- [Fix] Do not duplicate previous/next links in pagination text of moderator logs and user notes in MCP for subsilver2. (Bug #55045)
- [Fix] Do not automatically unsubscribe users from topics, when email and jabber is disabled.
- [Fix] Don't send activation email when user tries to change email without permission. (Bug #56335 - Fix by nrohler)
- [Fix] Replace hard coded "px" with translated language-string. (Bug #52495)
- [Fix] Correctly hover list menu in UCP and MCP for RTL languages. (Bug #49945)
- [Fix] Correctly orientate quoted text image on RTL languages. (Bug #33745)
- [Fix] Deprecate $allow_reply parameter to truncate_string() (Bug #56675)
- [Fix] Fall back to default language email template if specified file does not exist. (Bug #35595)
- [Fix] Update users last visit field correctly when changing activation status. (Bug #56185)
- [Fix] Database updater now separates ADD COLUMN from SET NOT NULL and SET DEFAULT, when using PostgreSQL <= 7.4 (Bug #54435)
- [Fix] Styles adjustment to correctly display an order of rtl/ltr mixed content. (Bugs #55485, #55545)
- [Fix] Fix language string for PM-Reports refering to post-data. (Bug #54745)
- [Fix] Do not store email templates in database. (Bug #54505)
- [Fix] Fix javascript bug in the smilies ACP. (Bug #55725)
- [Fix] Unify BBCode Selection across browsers. (Bug #38765)
- [Fix] Allow convertors to read in configuration from files. (Bug #57265 - Patch by Dicky)
- [Fix] Fix problems with firebird by no longer using 'count' as a column alias. (Bug #57455)
- [Fix] Small language correction for the FAQ page. (Bug #57825)
- [Fix] Restrict search for language/../iso.txt to folders. (Bug #57795)
- [Fix] Make user_email_hash() function independent from system's architecture. (Bug #57755)
- [Fix] Correct behavior of "force_approved_state" when value is false. (Bug #57715)
- [Fix] Global announcements could not be accessed on a board using Firebird as the database server. (Bug #57525)
- [Fix] BBCode parser now uses the user object for all settings rather than taking some from the template object (Bug #57365)
- [Fix] Ensure a database connection is available before logging general errors. (Bug #57975)
- [Fix] Do not delete unrelated attachments when deleting empty forums. (Bug #57375)
- [Fix] Update: Store expected resulting file contents in cache and do not suggest further merges if the contents match, also fixes infinite merge loop (Bug #54075)
- [Change] Move redirect into a hidden field to avoid issues with mod_security. (Bug #54145)
- [Change] Log activation through inactive users ACP. (Bug #30145)
- [Change] Send time of last item instead of current time in ATOM Feeds. (Bug #53305)
- [Change] Use em dash instead of hyphen/minus as separator in ATOM Feeds item statistics. (Bug #53565)
- [Change] Alter ACP user quick tools interface to reduce confusion with the delete operation.
- [Change] Send statistics now check for IPv6 and send private network status as a boolean.
- [Change] Split "All topics" feed into "New Topics" and "Active Topics" feeds.
- [Change] Forum feed no longer includes posts of subforums.
- [Change] Show login attempt CAPTCHA option in the captcha plugin module.
- [Change] It is no longer possible to persist a solution for the login CAPTCHA.
- [Change] SQLite is no longer autoloaded by the installer. (Bug #56105)
- [Change] Friends and foes will not show up as private message rule options if their respective UCP modules are disabled. (Bug #51155)
- [Change] Offer for guests to log in for egosearch and unreadposts search before the search permissions check. (Bug #51585)
- [Change] Show warning box for users of PHP < 5.2.0 about phpBB ending support.
- [Change] Disallow deleting the last question of the Q&A CAPTCHA.
- [Change] Tweak Q&A CAPTCHA garbage collection.
- [Change] Show a proper preview for the Q&A CAPTCHA. (Bug #56365)
- [Change] Speed up topic move operation by adding an index for topic_id on the topics track table. (Bug #56545)
- [Change] Warn users about potentially dangerous BBcodes.
- [Feature] Ability to use HTTP authentication in ATOM feeds by passing the GET parameter "auth=http".
- [Feature] Add INTTEXT token type to custom bbcodes to allow non-ASCII letters in html attributes.
- [Feature] Add ability to enable quick reply in all forums.

### 1.v. Changes since 3.0.5

- [Fix] Allow whitespaces in avatar gallery names. (Bug #44955)
- [Fix] Sorting by author or subject on viewtopic now preserves the order. (Bug #44875)
- [Fix] Correctly determine writable status of files on Windows operating systems. (Bug #39035)
- [Fix] Show report button in prosilver for guests who are allowed to report posts. (Bug #45695)
- [Fix] Correctly show private message history. (Bug #46065)
- [Fix] Various XHTML mistakes in prosilver, subsilver2 and the ACP. (Bugs #25545, #26315, #38555, #45505 - Patch by Raimon, #45785, #45865, #47085 - Patch by Raimon)
- [Fix] Fix some ACP style issues. (Bug #16109 - Patch by prototech)
- [Fix] Move post bump information markup to the template. (Bug #34295)
- [Fix] Show error in the ACP when template folder is not readable. (Bug #45705)
- [Fix] Adjust viewonline filename regular expression to be less strict. (Bug #46215)
- [Fix] Correctly apply the "can change vote" permission again. Regression introduced in r9470. (Bug #45895)
- [Fix] Remove data from friend/foe table when deleting user. (Bug #45345)
- [Fix] Correctly hide skiplink in prosilver right-to-left mode. (Bug #45765 - Patch by prototech and bantu)
- [Fix] Fix dynamic config update routine error if firebird is used. (Bug #46315)
- [Fix] Allow friends/foes to be added and removed at the same time. (Bug #46255)
- [Fix] Only change topic/post icon on edit if icons are enabled and user is allowed to use icons. (Bug #46355)
- [Fix] Fix saving custom profile fields in ACP if Oracle is used. (Bug #46015)
- [Fix] Make view_log() more resilient to corrupt serialized data. (Bug #46545)
- [Fix] Show error if hostname lookup doesn't return a valid IP address when banning. (Bug #45585)
- [Fix] Fix incorrect layout when loading private message draft. (Bug #38435 - Patch by nickvergessen)
- [Fix] Show proper error message when trying to add bots to friends/foes list. (Bug #40205)
- [Fix] Fixed database backup and restore with Oracle DBMS. (Bug #46715)
- [Fix] Update attachments table when deleting user and retaining his posts. (Bug #40245)
- [Fix] Correctly detect files in subfolders when viewing cached template files. (Bug #46145)
- [Fix] Display user's jabber address in popup if jabber functionality is disabled. (Bug #20775)
- [Fix] Correctly exclude forums from active topics list. (Bug #19135)
- [Fix] Do not display banned users in birthday list. (Bug #20625)
- [Fix] Fix function to recalculate nested sets. (Bug #41555 - Patch by EXreaction)
- [Fix] Display but also highlight already used rank images while assigning new ranks. (Bug #22665)
- [Fix] Correctly orientate quoted text image on RTL languages. (Bug #33745)
- [Fix] Do not display "View user notes" and "Warn user" links in user profile if corresponding MCP modules are disabled. (Bug #10519)
- [Fix] Show proper error message when trying to create a private messages folder with an empty name. (Bug #39875)
- [Fix] No longer state that it is possible to manage group leaders from the UCP. (Bug #19945)
- [Fix] Do not throw an error when PDO is a shared module and not loaded preventing SQLite from being loaded.
- [Fix] Fix censoring of unicode words. (Bug #16555)
- [Fix] Display coloured usernames in ACP groups management screens.
- [Fix] Correctly describe founder permissions on trace-information. (Bug #37235)
- [Fix] Correct the width value for poll_center.gif omitted in imageset.cfg for subsilver2. (Bug #43005)
- [Fix] Correctly load complex language variable using acp_language. (Bug #45735 - Patch by leviatan21)
- [Fix] Fix reapply_sid() to correctly strip session id in certain circumstances. (Bug #43125 - Patch by leviatan21)
- [Fix] Correctly state why one language pack is marked with an asterisk in the ACP. (Bug #37565)
- [Fix] Correctly check if install directory is still present. (Bug #46965)
- [Fix] Correct banned user behaviour when "force password change" is enabled. (Bug #47145 - Patch by nickvergessen and leviatan21)
- [Fix] Correctly display ACP logs options, without permission to clear logs. (Bug #24155 - Patch by leviatan21)
- [Fix] Display topic icons in MCP forum view again (only prosilver).
- [Fix] Properly display post status messages in topic when post is reported and unapproved (Bug #44455 - Patch by leviatan21)
- [Fix] Do not remove recipients when loading private message draft. (Bug #38395)
- [Fix] Add author name to moderator log when deleting post/topic. (Bug #46225)
- [Fix] Fix broken "Report details" link in the MCP. (Bug #46975)
- [Fix] Resolve accesskey conflicts in prosilver. (Bug #44685)
- [Fix] Check if template file is empty before trying to read from it. (Bug #47345)
- [Fix] More descriptive descriptions for permissions to use BBCode, smilies, images and flash. (Bug #36065)
- [Fix] Fix style issues in print mode. (Bug #26375 - Patch by leviatan21)
- [Fix] Fix minor issue with L_QUOTE language string missing in several PM composing modes. (Bug #39625)
- [Fix] Also fetch posts of guests and deleted or deactivated users while searching for author names. (Bug #36565, #47765)
- [Fix] Show end of ban in MCP and ACP when user is banned by duration. (Bug #47815 - Patch by Pyramide)
- [Fix] Correctly count posts awaiting approval in the MCP. (Bug #47685)
- [Fix] Display user's posts count in private message when it is equal to 0 (prosilver). (Bug #40155)
- [Fix] Only allow users to disable word censor if globally allowed. (Bug #47575 - Patch by 00mohgta7)
- [Fix] Fix database updater and db tools to support multiple column changes/additions/removals with SQLite.
- [Fix] Correctly detect GZIP status in debug mode. (Bug #24075)
- [Fix] Posting smilies in view more smilies screen now works again in IE. (Bug #46025 - Patch by leviatan21)
- [Fix] Properly convert and show filesize information. (Bug #47775)
- [Fix] Add ability to prune users who never logged in. (Bug #44295)
- [Fix] Show smilies and images in topic print view. (Bug #47265)
- [Fix] Force full date in private message print view.
- [Fix] Fix "Always show a scrollbar for short pages" for IE8 and Firefox 3.5. (Bug #47865 - Patch by stokerpiller)
- [Fix] Do not allow setting group as default group for pending users. (Bug #45675)
- [Fix] Fail gracefully if store folder is not writable during update. (Bugs #46615, #46945)
- [Fix] Hide profile-icon from viewtopic page if user has no permissions (subsilver2 only). (Bug #37635 - Patch by leviatan21)
- [Fix] Correct escaping/unescaping in the LDAP authentication plugin. (Bug #48175)
- [Fix] Add hard limit for smilies.
- [Fix] Remove redundant SQL query from ucp.php. (Bug #40305)
- [Fix] Reorder frame order of animated subsilver2 topic icons to be useful when animations are disabled. (Bug #29385 - Patch by prototech)
- [Fix] Ensure user errors are displayed regardless of PHP settings. (Bug #47505)
- [Fix] Permit null values for non-required integer custom profile fields and ensure zero complies with the range limits. (Bug #40925)
- [Fix] Allow changing forum from select box under certain circumstances. (Bug #37525)
- [Fix] Display required fields notice on registration above the custom profile fields. (Bug #39665)
- [Fix] Copy poll options properly when copying topic. (Bug #39065)
- [Fix] Fix error with disapproval of topics having several queued posts only. (Bug #47705)
- [Fix] Preserve newlines in template files (one newline had been always dropped after a template variable due to PHP's handling of closing tags).
- [Fix] Be less strict with FTP daemons for getting directory filelists. (Bug #46295)
- [Fix] Fix set_custom_template for database-stored styles. (Bug #40515)
- [Fix] Banning an already banned user states to be successful, but has no effect. (Bug #47825 - Patch by Pyramide)
- [Fix] Do not add style parameter again to URL after admin re-authentification. (Bug #18005 - Patch by leviatan21)
- [Fix] Do not cut post-message in between HTML-Entities on search.php. (Bug #31505 - Patch by leviatan21)
- [Fix] Correctly set attachment flag for topics, posts and pms after deleting attachments. (Bug #48265 - Patch by MarcoDM and nickvergessen)
- [Fix] Display "Locked" button instead of "Reply" one for locked forum in viewtopic (prosilver). (Bug #38055 - Patch by Raimon)
- [Fix] Correctly propagate umlauts over search result pages. (Bug #33755)
- [Fix] Preserve post options when refusing to save the post as a draft. (Bug #39115)
- [Fix] Do not send private message back to sender if sender is in the same group the private message was sent to.
- [Fix] Correctly add user to a group making it a default one. (Bug #48345)
- [Fix] Add log entry when copying forum permissions.
- [Fix] Min/max characters per posts no longer affects poll options. (Bug #47295)
- [Fix] Correctly log action when users request to join a group. (Bug #37585)
- [Fix] Do not try to create thumbnails for images we cannot open properly. (Bug #48695)
- [Fix] Apply locale-independent basename() to attachment filenames. New function added: utf8_basename(). (Bug #43335 - Patch by ocean=Yohsuke)
- [Fix] Adjust build_url() to not prepend $phpbb_root_path if path returned from redirect() is an URL. This fixes redirect issues with some installations and bridges. (Bug #47535)
- [Fix] Do not mark global announcements as read if all topics in a forum become read (Bug #15729).
- [Fix] Fix general error in registration, caused by an undefined $config variable in validate_referer(). (Bug #49035 - Patch by wjvriend)
- [Fix] Correctly extract column default value when exporting PostgreSQL tables. (Bug #48955)
- [Fix] Allow updater to work correctly with PHP filename extensions other than ".php". (Bugs #15809, #49215)
- [Fix] Update search index if only post subject changed. (Bug #49435)
- [Fix] Fix who is online displaying incorrect data. (Bug #49485, thanks Brainy)
- [Fix] Fixed incorrect "topic does not exist" if unapproved posts were visited without global moderator permissions. (Bug #47795)
- [Fix] Prevent style switcher from blocking the tab key. (Bug #49335)
- [Fix] Correctly redirect back to MCP main page after posts approval/disapproval from it. (Bug #49625)
- [Fix] Do not display topic approval status image for shadow topic if a user is not a moderator in the forum the topic has been moved to. (Bug #43295)
- [Fix] Fix email problems on servers with PHP installations not accepting RFC-compliant subject string passed to the mail()-function. (Bug #46725)
- [Fix] Correctly orientate control panel navigation background-image on RTL languages. (Bug #49945)
- [Fix] Sort private messages by message time and not message id. (Bug #50015)
- [Fix] Make sure only logs for existing users are displayed and user-specific logs removed on user deletion. (Bug #49855)
- [Fix] Only show "Add friend" and "Add foe" links if the specific module is enabled. (Bug #50475)
- [Fix] Correctly display list items in forum description in prosilver and administration. (Bug #48055 - Patch by leviatan21)
- [Fix] Only embed cron.php if there is no cron lock present to reduce overhead. (Bug #45725 - Patch by TerryE)
- [Fix] Add header gradient back into subsilver2 but keep site logo easily replaceable with smaller and bigger ones. (Bug #11142 - Patch by dark/Rain and Raimon)
- [Fix] Send activation email when activating user from user settings. (Bug #43145)
- [Fix] Do not show resend activation email link when using admin activation. (Bug #44375 - Patch by bbrunnrman)
- [Fix] Do not display links to user/post search if search is disabled. (Bug #50685 - Patch by HardStyle)
- [Fix] Fix icon alignment for forums with large descriptions in subsilver2. (Bug #50445)
- [Fix] Correctly display underlined links placed in last line in viewtopic. (Bug #14811 - Patch by primehalo)
- [Fix] Only check whether forum image exists if forum image is specified. (Bug #51905)
- [Fix] Fixed database updater for changes to columns having default value in MSSQL (adding/dropping constraints).
- [Fix] Jabber SASL PLAIN authentication failures. (Bug #52995)
- [Fix] Check sort options on memberlist to avoid a general error. (Bug #53655)
- [Fix] Fix sql error in cache_moderators() if using postgresql. (Bug #53765)
- [Change] Database updater now supports checking for existing/missing indexes.
- [Change] submit_post() now accepts force_approved_state key passed to $data to indicate new posts being approved (true) or unapproved (false).
- [Change] Change the data format of the default file ACM to be more secure from tampering and have better performance.
- [Change] Template engine now permits variable includes to a limited extent.
- [Change] Quote BBCode no longer requires the f_reply permission. (Bug #16079)
- [Change] Banning/unbanning users now generates an entry in their user notes. (Bug #21825)
- [Change] Smilies no longer require the f_bbcode permission. (Bug #26545)
- [Change] Ability to define column split in FAQ/BBCode help. (Bug #31405)
- [Change] Changed behaviour of group_create() function to support specifying additional group columns.
- [Change] Hide avatar when avatar-type is not allowed. (Bug #46785 - Patch by cYbercOsmOnauT and nickvergessen)
- [Change] INCLUDEPHP paths are now relative to $phpbb_root_path. (Bug #45805)
- [Change] Ability to fetch moderators with get_moderators() even if load_moderators setting is off. (Bug #35955)
- [Change] "Post details" links with image in MCP. (Bug #39845 - Patch by leviatan21)
- [Change] PM history now only shows PMs of users you currently reply to. (Bug #39505)
- [Change] Show quote button for own PMs in PM history. (Bug #37285)
- [Change] Fetch requested cookie variables directly from cookie super global. (Bug #47785)
- [Change] Add confirmation for deactivating styles. (Bug #14304 - Patch by leviatan21)
- [Change] Add confirmation for deactivating language packs. (Patch by leviatan21)
- [Change] Add confirmation for deleting permissions. (Bug #13673)
- [Change] Add pagination for icons and smilies in the ACP and smilies in the smiley popup.
- [Change] Cache get_username_string() function calls on viewtopic.
- [Change] Cache version check.
- [Change] When creating a new forum without copying permissions, ask again.
- [Change] Introduce new parameter to page_header() for forum specific who is online listings.
- [Change] Changed minimum requirement for Firebird DBMS from 2.0+ to 2.1+.
- [Change] Unapproved topics can no longer be replied to. (Bug #44005, #47675, #23605)
- [Change] Require user to be registered and logged in to search for unread posts if topic read tracking is disabled for guests. (Bug #49525)
- [Change] Allow three-digit hex notation in color BBcode. (Bug #39965 - Patch by m0rpha)
- [Change] Simplified login_box() and redirection after login. S_LOGIN_ACTION can now be used on every page. (Bug #50285)
- [Change] Do not take edit post time into account for determining permission to delete last post in topic. (Bug #48615)
- [Change] Resize oversized topic icons. (Bug #44415)
- [Change] Banned IPs are now sorted. (Bug #43045 - Patch by DavidIQ)
- [Change] phpBB updater now skips sole whitespace/tab changes while computing differences. This reduces the chance of conflicts tremendously.
- [Change] phpBB updater now solves common conflicts on its own. This further reduces the chance of conflicts.
- [Feature] Add language selection to the registration terms page. (Bug #15085 - Patch by leviatan21)
- [Feature] Backported 3.2 captcha plugins:
  - Classic and GD CAPTCHA
  - reCaptcha (based on API from recaptcha.net by Mike Crawford and Ben Maurer)
  - Q&A CAPTCHA
  - 3D Wave (by Robert "Xore" Hetzler)
- [Feature] Introduced new ACM (Cache) plugins:
  - null (to disable caching completely)
  - memcache
  - APC
  - XCache
  - eAccelerator
- [Feature] ATOM Feeds (Idea from RSS Feed 2.0 MOD (Version 1.0.8/9) by leviatan21)
- [Feature] New groups option to excempt group leaders from group permissions.
- [Feature] New "Newly Registered Users" group for assigning permissions to newly registered users. They will be removed from this group once they reach a defineable amount of posts.
- [Feature] Ability to define if the "Newly Registered Users" group will be assigned as the default group to newly registered users.
- [Feature] Add new option to disable avatars board-wide. (Bug #46785 - Patch by cYbercOsmOnauT and nickvergessen)
- [Feature] Enhance obtain_users_online_string to be able to return user-lists for other session items. (Bug #31975)
- [Feature] Add unapproved topic icon for moderators on forum list. (Bug #46865)
- [Feature] Ability to define minimum number of characters for posts/pms.
- [Feature] Store signature configuration options in database. (Bug #45115)
- [Feature] Add bare-bones quick-reply editor to viewtopic.
- [Feature] Detect if a post has been altered by someone else while editing.
- [Feature] Add unread posts quick search option. (Bug #46765)
- [Feature] Add option to disable avatar uploads from remote locations. (Bug #45375)
- [Feature] Ability to delete warnings and keep warnings permanently. (Bug #43375)
- [Feature] Ability to empty a user's outbox from the user ACP quick tools.
- [Feature] Ability to search ACP/MCP logs.
- [Feature] Users can report PMs to moderators which are then visible in a new MCP module.
- [Feature] Parse email text files with the template engine.
- [Feature] Use email-style quoting when bbcodes are disabled.
- [Feature] Added new functionality to inactive users module:
  - Ability to set users per page.
  - Ability to sort by posts/number of reminders/last reminded date.
  - Show number of posts and ability to search posts.
  - Show number of reminders sent to user.
  - Show date of last reminder sent to user.
- [Feature] Display version check on ACP main page.
- [Feature] Ability to copy permissions from one forum to several other forums.
- [Feature] Ability to control the display of custom profile fields on viewtopic. (Bug #48985)
- [Feature] Fallback options for missing language files. (Bug #38575 - Patch by EXreaction)
- [Feature] Separate "PM Reply" and "PM Reply to all" in prosilver.
- [Feature] Place debug notices during captcha rendering in the error log - useful for debugging output already started errors.
- [Feature] Ability to define constant PHPBB_USE_BOARD_URL_PATH to use board url for images/avatars/ranks/imageset (useful for bridges and applications using phpBB).
- [Feature] Added function to generate email hash. (Bug #49195)
- [Feature] Style authors are now able to define the default submit button used for form submission on ENTER keypress on forms using more than one submit button. Prosilver uses this for the posting page(s) and registration screen.
- [Feature] Ability to specify amount of time user is able to delete his last post in topic.
- [Feature] Send anonymous statistical information to phpBB on installation and update (optional).

### 1.vi. Changes since 3.0.4

- [Fix] Delete user entry from ban list table upon user deletion (Bug #40015 - Patch by TerraFrost)
- [Fix] Posts incremented for multiple approval of the same topic (Bug #40495 - Patch by TerraFrost)
- [Fix] Missing end " in quote bb tag deletes text (Bug #40565 - Patch by TerraFrost)
- [Fix] Friend/foe system displays posts made by foes while composing (Bug #40325 - Patch by TerraFrost and Highway of Life)
- [Fix] Check forum_image whether it exists (Bug #39005 - Patch by TerraFrost)
- [Fix] The sql query in acp_users.php lacks a condition (Bug #40275 - Patch by grimskies)
- [Fix] Added missing read permission information for some phpbb_chmod() calls
- [Fix] Correctly display future dates (Bug #38755)
- [Fix] Fix guest/bot session problems with apache authentication plugin (Bug #41085)
- [Fix] Whois now works reliably for RIRs other than APNIC and RIPE. (Bug #40085)
- [Fix] Correctly convert Niels' Birthday MOD to the date format used in phpBB3. (Bug #32895)
- [Fix] Changed the success message when requesting a new password to be more accurate. (Bug #41405)
- [Fix] Add missing anti-abuse email headers to acp_inactive.php and ucp_resend.php.
- [Fix] Only remind users in the correct inactive states depending on the board account activation level.
- [Fix] Various XHTML mistakes in prosilver, subsilver2 and the ACP. (Bugs #41745, #42265 - Patch by nickvergessen, #38465, #43015, #46585 - Patch by Raimon)
- [Fix] Log password changes via password reset function. (Bug #41365)
- [Fix] Poll, negative durations generate error (Bug #41295 - Patch by TerraFrost)
- [Fix] Visibility of custom field on registration is incorrectly controlled by setting "display" (Bug #41385 - Patch by Eelke and fade2gray)
- [Fix] Smilies in username are misparsed on [quote=""] (Bug #41955 - Patch by TerraFrost)
- [Fix] Deleting all posts in a topic - bad redirect (Bug #41705 - Patch by TerraFrost)
- [Fix] Deleted users still appear logged in (Bug #41985 - Patch by TerraFrost)
- [Fix] Removed redundant code and unnecessary queries in forum management. (Bug #42265 - Patch by nickvergessen)
- [Fix] Correct mbstring regular expression for the allowable username characters, only affects `USERNAME_LETTER_NUM_SPACERS`. (Bug #42325)
- [Fix] Fix infinite loop in message handler if cache directory is not writable. (Bug #38675)
- [Fix] While post is awaiting approval it can still be edited even though it can not be seen (Bug #41435 - Patch by TerraFrost)
- [Fix] Fix imageset editing for retaining and correctly setting dimensions for images, as well as displaying correct settings for first page load.
- [Fix] Use OS-specific line endings for mail headers. (related to Bug #42755)
- [Fix] Hide font size options which are bigger than the allowed size in the editor. (Bug #42615 - Patch by nickvergessen)
- [Fix] Better thumbnail quality with imagemagick. (Bug #42565)
- [Fix] Fix download count increments for image attachments without corresponding thumbnails. (Bug #42505)
- [Fix] Fix wrong bot ip check if bot ip was wrongly entered by admin. (Bug #42485)
- [Fix] Fix javascript errors in simple header (prosilver) by adding forum_fn.js and the corresponding variables. (Bug #42135)
- [Fix] Set connection encoding for MySQL versions 4.1.0 to 4.1.2. This may fix some conversion issues with special characters. (Bug #41805)
- [Fix] Deleting private message attachments could delete post attachments. (Bug #42815)
- [Fix] Do not suppress PHP notices/errors in language packs if DEBUG_EXTRA mode enabled. (Bug #41485)
- [Fix] Flash files do not display anymore after update to flash player 10 (Bug #41315)
- [Fix] Use FQDN for SMTP EHLO/HELO command. (Bug #41025)
- [Fix] Mass Email works again for users with empty jabber address but notification set to 'both'. (Bug #39755)
- [Fix] Fix race condition for updating post/topic/etc. counter. (Reported by BartVB)
- [Fix] Fix duplicate creation of acl options in acl_add_options() under certain conditions. (Bug #38385, #40225)
- [Fix] Cancel when replying to global announcement redirects to first forum - not to the current forum (Bug #41225 - Patch by TerraFrost)
- [Fix] Cursor Jumps on New Topic in IE (Bug #42455 - Patch by TerraFrost)
- [Fix] Add indicator to be used in code if session was created (user visits the site for the first time).
- [Fix] Correctly count topic views for guests visiting the website the first time by entering the topic directly (Bug #43445)
- [Fix] Fix bug in postgresql db layer for LIMIT ALL clauses (Reported by JRSweets)
- [Fix] Sort backups by date, newest first (Bug #14818)
- [Fix] Prevent incomplete backups stored if option "store and download" is selected and admin cancel download by removing the option. (Bug #20325)
- [Fix] Enforce correct case for template variables
- [Fix] Set topic_last_view_time on post/reply/edit to circumvent race conditions in auto prune and false removal of topics for manual forum prune (Bug #18055, #43515)
- [Fix] Correctly split long subject lines according to the used RFC. This fixes extra spaces within long subjects. (Bug #43715)
- [Fix] Fix skipping messages if using next/prev PM in history links. (Bug #22205)
- [Fix] Messenger now also able to use a custom language path. (Bug #36545)
- [Fix] PM Export uses ISO 8601 date now. (Bug #32645)
- [Fix] Apply append_sid() to newest/latest post links in viewforum/search and UCP main module. (Bug #26815)
- [Fix] Do not create thumbnail if thumbnail would've the same size as the original image. (Bug #30725)
- [Fix] Ability to vote in poll is now required for the ability to change existing vote. (Bug #38925)
- [Fix] Search for 'topic title only' and 'first post' should work again for non-mysql dbms. (Bug #40605)
- [Fix] Make sure additional information for accessibility is always exposed to screen readers (Bug #44335 - Patch by MarcoZ)
- [Fix] Approving a topic when some of the posts within that topic have already been approved (Bug #42585 - Patch by TerraFrost)
- [Fix] Online status shown when post hidden (Bug #35505 - Patch by Raimon)
- [Fix] memberlist.php display formating can be distorted by posting long URL for website (Bug #36675 - Patch by TerraFrost)
- [Fix] Display the online status of hidden users to users with the u_viewonline permission when viewing PMs.
- [Fix] "Select all" selects much too much in Opera (Bug #42885 - Patch by TerraFrost and ToonArmy)
- [Fix] Correct calculation of source/target forum statistics if mass moving topics with global announcements (Bug #44545)
- [Fix] Fix column handling in db updater, custom profile fields an db tools for firebird DBMS (Bug #44555)
- [Fix] IE8 textarea issues (Bug #43305)
- [Fix] Prevent accounts from being activated by users when admin activation is turned on and the correct activation key is known.
- [Fix] Allow the installer to operate under PHP 5.3. (Bug #45255)
- [Change] Default difference view is now 'inline' instead of 'side by side'
- [Change] Added new option for merging differences to conflicting files in automatic updater
- [Change] Add link to user profile in the MCP for user notes and warn user.
- [Change] Add IN_PHPBB check to generated cache files. (Reported by bantu)
- [Change] Add topic icons to prosilver UCP main and subscribed templates (Bug #42735 - Patch by Raimon)
- [Change] Add unique key to ACL options table to prevent duplicate permission options. (Bug #41835)
- [Change] Redirect to relevant MCP page of multi-page topic if accessing quickmod tools (Split option for example)
- [Change] Performance improvements for native fulltext search (Patch by Paul)
- [Change] Changed jumpto() JS function to be more fail-safe. (But #27635 - Patch by peterkclee)
- [Feature] Added new options for visual confirmation.
- [Feature] Allow download of conflicting file for later reference in automatic updater
- [Feature] Allow translation of custom BBCode help messages. (Patch by bantu)
- [Feature] db_tools now support create table and drop table.
- [Feature] Database updater checks for incompatible db schema (MySQL 3.x/4.x against MySQL 4.1.x/5.x/6.x)
- [Feature] New search option: Maximum number of words allowed to search for.
- [Sec] Only use forum id supplied for posting if global announcement detected. (Reported by nickvergessen)

### 1.vii. Changes since 3.0.3

- [Fix] Allow mixed-case template directories to be inherited (Bug #36725)
- [Fix] Regression bug from revision #8908 regarding log display in ACP
- [Fix] Allow the UCP group management to work for groups with avatars. (Bug #37375)
- [Fix] Fix header list build for replying oldest PM in PM history (Bug #37275)
- [Fix] Do not display COPPA group in memberlist find member dialog if COPPA disabled (Bug #37175)
- [Fix] Do not try to send jabber notifications if no jid entered (Bug #36775)
- [Fix] Only display special ranks to guests; no longer display normal ranks for guests (Bug #36735)
- [Fix] Properly treat punctuation marks after local urls (Bug #37055)
- [Fix] Make searching for members by YIM address work in prosilver
- [Fix] Tell users to recreate the search index after changing the common word threshold for fulltext_native (Bug #36345)
- [Fix] Adjusted phpbb_chmod() to always set permissions for group bit.
- [Fix] Do not increment users post count after post approval if post had been posted in a forum with no post count increasing set (Bug #37865)
- [Fix] Extend vertical line for last post column if no posts in forum (Bug #37125)
- [Fix] correctly update last topic/forum information if changing guest usernames through editing posts (Bug #38095)
- [Fix] fix postcount resync for situations where low and high post ids are higher than step value, resulting in users having 0 posts. (Bug #38195)
- [Fix] Use a left join for the topics table on search to avoid trouble with FROM syntax on some databases (Bug #37005)
- [Fix] Do not show 'Forward' button if the user cannot send PM's
- [Change] Alllow applications to set custom module inclusion path (idea by HoL)
- [Change] Handle checking for duplicate usernames in chunks (Bug #17285 - Patch by A_Jelly_Doughnut)
- [Change] Better handling and finer control for custom profile fields visibility options. (Patch by Highway of Life)
- [Change] Performance increase for format_date() (Bug #37575 - Patch by BartVB)
- [Change] Changed prosilver date separator from 'on' to '»'
- [Change] Performance increase for get_username_string() (Bug #37545 - Patch by BartVB)
- [Change] Slight performance increase for common parameter calls to append_sid() (Bug #37555 - Patch by BartVB)
- [Feature] Added 'AGO' setting to relative date strings. For example: posted 14 minutes ago. (Patch by BartVB)
- [Sec] Fixed an issue where deactivated accounts could be re-activated without the required privileges. (Reported by Jorick)
- [Sec] Ask for forum password if post within passworded forum quoted in private message. (Reported by nickvergessen)

### 1.viii. Changes since 3.0.2

- [Fix] Correctly set topic starter if first post in topic removed (Bug #30575 - Patch by blueray2048)
- [Fix] Delete avatar files (Bug #29985).
- [Fix] Preserve selection in the MCP. (Bug #31265).
- [Fix] Added VST - Venezuela Standard Time (Bug #30545).
- [Fix] Close DB connections in file.php.
- [Fix] Correctly return results for nested cached queries (Bug #31445 - Patch by faw).
- [Fix] Allow export of PM pages greater one. (#33155)
- [Fix] Display coloured username of last poster in list of subscribed forums (prosilver).
- [Fix] Added missing UCP language string NO_AUTH_READ_HOLD_MESSAGE.
- [Fix] Do not jump back to page 1 when hiding member search in memberlist. (Bug #32515)
- [Fix] Correctly limit input of the users location to 100 characters in the UCP and ACP. (Bug #32655)
- [Fix] Sync reports when using the move all users posts tool in the ACP. (Bug #31165)
- [Fix] Extra slash is included in the redirect url when redirecting to the forum root directory. (Bug #33605)
- [Fix] Remove reported flag from shadow topics when closing reports. (Bug #19765)
- [Fix] Do not show non indexed forums on the search page if they contain no subforums. (Bug #33125)
- [Fix] Stop search bots incrementing topic views. (Bug #32675 - Patch by eviL<3)
- [Fix] Use correct link for post author search. (Bug #32595)
- [Fix] Do not decrease topics counter when deleting shadow topics. (Bug #26495)
- [Fix] Send localised disapproval reasons in the recipients local language. (Bug #31645)
- [Fix] Language typos/fixes. (Bugs #27625, #30755, #34185, #32795)
- [Fix] Added missing terms parameter to search pagination. (Bug #34085)
- [Fix] Wrong table order in query obtaining posts if post id given.
- [Fix] Do not display reported topic icon for shadow topics. (Bug #13970)
- [Fix] Display popular topic based on posts within topic instead of replies within topic. (Bug #16099)
- [Fix] Expand shown ban reason in unban screen to fully show long entries. (Bug #16234)
- [Fix] Preserve alpha transparency for created thumbnails. (Bug #16575)
- [Fix] Use correct port delimiter for MSSQL connections in windows. (Bug #16615)
- [Fix] Do not allow setting forums parent to the forum itself. (Bug #18855)
- [Fix] Display assigned rank/avatar for guests. (Bug #19155)
- [Fix] Set secure cookie for style switcher if required. (Bug #19625)
- [Fix] Fix native full text search on postgresql while using excluding keyword matches. (Bug #19195)
- [Fix] Pass S_SEARCH_ACTION through append_sid() in search.php. (Bug #21585)
- [Fix] Correctly delete message attachments. (Bug #23755)
- [Fix] Correctly handle unread status of subforums (that are not shown on the index) of forums that are shown on the index. (Bug #14589)
- [Fix] Stop users from deleting posts after the edit time has passed or they have been locked. (Bug #19115)
- [Fix] Split posts target forum requires 'f_post' now instead of 'm_split'. (Bug #31015)
- [Fix] Duplicate log messages for deleting a topic ('LOG_TOPIC_DELETED' has been deprecated in favour of 'LOG_DELETE_TOPIC').
- [Fix] Use a distinct log message for shadow topic deletions to differentiate between normal topic deletions. (Bug #34635)
- [Fix] Fix problems with styles using an underscore within the filename. (Bug #34315)
- [Fix] Better return links when deleting topics through the MCP. (Bug #34655)
- [Fix] Add quoting support to PM history when composing a reply. (Bug #34285)
- [Fix] Use phpBB 3.1.x method for storing cached data to prevent PHP bug with our usage of var_export(). (Thanks to Techie-Micheal and HoL for pointing out possible problems)
- [Fix] Check users pm preferences for pm's sent to groups. (Bug #33245)
- [Fix] Do not allow password reminders if u_passchg permission is not given. (Bug #14806)
- [Fix] Implemented strict check for cached user permissions and existing ACL options. This fix makes sure cached permissions are valid, even if they got already cached.
- [Fix] Do not show link to user/group profiles if user has no permission to view the linked page and gets a denied message anyway. (Bug #15088)
- [Fix] Do not display last post link and sort display options for search engines. (Bug #15088)
- [Fix] Make sure users still get notifications if they set to only be notified by Jabber, but Jabber service disabled. (Bug #29715 - Patch by Paul)
- [Fix] Don't show forum subscription link on categories. (Bug #34895)
- [Fix] Display a message if no topics or forums are selected when unsubscribing. (Bug #34855)
- [Fix] Mark/unmark all links in UCP now select/unselect both subscribed topics and forums.
- [Fix] Increase board topic counter when splitting topics. (Bug #32125)
- [Fix] Display profile icons when viewing a topic, or PM when only the jabber icon is to be visible. (Bug #34755)
- [Fix] Do not send PMs with warnings if the user cannot read PMs or they are disabled. (Bug #30815)
- [Fix] Correctly convert Niels' Birthday MOD to the date format used in phpBB3. (Bug #32895)
- [Fix] Parse BBCode lists of type square, circle and disc. (Bug #35295)
- [Fix] Round the displayed percentages in polls. (Bug #32375)
- [Fix] Disable mass e-mail when e-mail is disabled. (Bug #27385)
- [Fix] Display coloured poster username of queued posts displayed on the front of the MCP.
- [Fix] Moderators can only see reports/queue/logs from forums they can actually read. (Bug #31085)
- [Fix] Correctly display topic when start parameter is equal to the number of posts.
- [Fix] Correctly display topic in MCP when start parameter is equal to or greater than the number of posts. (Bug #30525)
- [Change] No longer allow the direct use of MULTI_INSERT in sql_build_array. sql_multi_insert() must be used.
- [Change] Display warning in ACP if config.php file is left writable.
- [Change] More restrictive chmod to new files being created. (phpbb_chmod() function mostly by faw)
- [Change] Set headers to allow browsers to better cache attachments (Mylek pointed this out)
- [Change] Hide parameters if they equal the default in viewforum/viewtopic (Bug #31185)
- [Change] Various improvements to group listings (Bugs #32155, #32145, #32085, #26675, #26265)
- [Change] Set headers for IE 8 in file.php
- [Change] Do not count queued posts to user_posts.
- [Change] Allow setting birth year to current year.
- [Change] Do not use the topics posted table when performing an egosearch.
- [Change] Log the forum name that topics are moved into.
- [Change] Automatically add users/groups to the PM recipient list, if entered or selected.
- [Change] Reply to PM now includes all previous recipients and not only the original sender.
- [Change] Make topic selection for merge less confusing by removing unneeded controls. (Bug #21925)
- [Change] MCP topic view checkboxes now default to unchecked.
- [Change] Adjust language key SPLIT_AFTER to make the action clearer.
- [Change] Add links to the post and forum when viewing a report from the MCP. (Bugs #33795, #33805)
- [Change] Added CSRF protection to GET-only actions like marking forums.
- [Change] Remove NUL-Bytes directly in request_var() for strings and within the custom DBAL sql_escape() functions (MSSQL, Firebird, Oracle) (reported by AdhostMikeSw)
- [Feature] Allow limited inheritance for template sets.
- [Feature] Allow hard disabling of the template editor.
- [Feature] Allow setting custom language path through $user->set_custom_lang_path(). $user->lang_path now also do not include the user language, but only the path.
- [Feature] Ability to define nullar/singular/plural language entries
- [Feature] Ability to mimic sprintf() calls with $user->lang() with the ability to correctly assign nullar/singular/plural language entries.
- [Feature] Added the possibility to force user posts put in queue if post count is lower than an admin defined value. Guest posting is not affected by this setting.
- [Feature] Added 'max_recipients' setting for private messages. This setting allows admins to define the maximum number of recipients per private message with a board-wide setting and a group-specific setting.
- [Feature] Added new permission setting for sending private messages to groups. Now there are two permissions to define sending private messages to multiple recipients and private messages to groups.
- [Feature] Allow specific connection to different server for jabber functionality by providing a valid JID as username. This also allows the use of talk.google.com as jabber server with gmail.com JIDs. (Bug #14989)
- [Sec Precaution] Stricter validation of the HTTP_HOST header (Thanks to Techie-Micheal et al for pointing out possible issues in derived code)

### 1.ix. Changes since 3.0.1

- [Fix] Ability to set permissions on non-mysql dbms (Bug #24955)
- [Fix] Fixed blank style on setups having no username defined within config.php (Bug #25065)
- [Fix] Made the compress_tar class tolerate archives that do not properly have their archived contents listed (Bug #14429 / thanks to JRSweets for his patch)
- [Fix] Moved topics should not count towards the number of topics in a forum (Bug #14648 / thanks to Schumi for his patch)
- [Fix] Properly check for invalid characters in MySQL DB prefixes during install (Bug #18775)
- [Fix] Bring the PostgreSQL backup system back to working order (Bug #22385)
- [Fix] Update correct theme for cached styles in style.php (Bug #25805)
- [Fix] Also add PHPBB_INSTALLED check to download/file.php for inline avatar delivery
- [Fix] Unable to login to some jabber server, reverted previous change (Bug #25095)
- [Fix] Do not return BMP as valid image type for GD image manipulation (Bug #25925)
- [Fix] Correctly determine safe mode for temp file creation in functions_upload.php (Bug #23525)
- [Fix] Correctly sort by rank in memberlist (Bug #24435)
- [Fix] Purge cache after database restore (Bug #24245)
- [Fix] Correctly display subforum read/unread icons from RTL in FF3, Konqueror and Safari3+. (thanks arod-1 for the fix, related to Bug #14830)
- [Fix] Added missing form token in acp (thanks NBBN).
- [Fix] Do not remove whitespace in front of url containing the boards url and no relative path appended (Bug #27355)
- [Fix] reset forum notifications in viewtopic (Bug #28025)
- [Fix] corrected link for searching post author's other posts (Bug #26455)
- [Fix] HTTP Authentication supports UTF-8 usernames now (Bug #21135)
- [Fix] Topic searches by author no longer return invalid results (Bug #11777)
- [Fix] Delete drafts and bookmarks when deleting an user. (#27585, thanks Schumi for the fix)
- [Fix] Set last_post_subject for new topics. (#23945)
- [Fix] Allow moving posts to invisible forums. (#27325)
- [Fix] Don't allow promoting unapproved group members (#16124)
- [Fix] Correctly fetch server name if using non-standard port (#27395)
- [Fix] Regular expression for email matching in posts will no longer die on long words.
- [Fix] Do not display ban message if direct call to cron. (thanks Dog Cow for reporting)
- [Fix] Correctly display double-colon on special conditions within highlighted php source (Bug #26795)
- [Fix] Increase storage capacity of titles/subjects due to specialchared content (Bug #25235)
- [Fix] Catch invalid username wildcard ban (we do not support these) (Bug #29305)
- [Fix] Fix (email)-domain checks for those having DNS prefixes set (Bug #29635)
- [Change] Adjust truncate_string() to be able to adjust the maximum storage length.
- [Change] Generalize load check (Bug #21255 / thanks to Xipher)
- [Change] Make utf8_htmlspecialchars not pass its argument by reference (Bug #21885)
- [Change] Sort the tables at the database table backup screen
- [Change] For determining the maximum number of private messages in one box, use the biggest value from all groups the user is a member of (Bug #24665)
- [Change] Show email ban reason on registration. Additionally allow custom errors properly returned if using validate_data(). (Bug #26885)
- [Change] Don't allow redirects to different domains. (thanks nookieman)
- [Feature] Added optional referer validation of POST requests as additional CSRF protection.
- [Feature] Added optional stricter upload validation to avoid mime sniffing in addition to the safeguards provided by file.php. (thanks to Nicolas Grekas for compiling the list).
- [Feature] Streamlined banning via the MCP by adding a ban link to the user profile. Also pre-fills ban fields as far as possible.
- [Feature] Added ACP logout to reset an admin session.
- [Sec] Only allow urls gone through redirect() being used within login_box(). (thanks nookieman)

### 1.x Changes since 3.0.0

- [Change] Validate birthdays (Bug #15004)
- [Fix] Allow correct avatar caching for CGI installations. (thanks wildbill)
- [Fix] Fix disabling of word censor, now possible again
- [Fix] Allow single quotes in db password to be stored within config.php in installer
- [Fix] Correctly quote db password for re-display in installer (Bug #16695 / thanks to m313 for reporting too - #s17235)
- [Fix] Correctly handle empty imageset entries (Bug #16865)
- [Fix] Correctly check empty subjects/messages (Bug #17915)
- [Change] Do not check usernames against word censor list. Disallowed usernames is already checked and word censor belong to posts. (Bug #17745)
- [Fix] Additionally include non-postable forums for moderators forums shown within the teams list. (Bug #17265)
- [Change] Sped up viewforum considerably (also goes towards mcp_forum)
- [Fix] Do not split topic list for topics being promoted to announcements after been moved to another forum (Bug #18635)
- [Fix] Allow editing usernames within database_update on username cleanup (Bug #18415)
- [Fix] Fixing wrong sync() calls if moving all posts by a member in ACP (Bug #18385)
- [Fix] Check entered imagemagick path for trailing slash (Bug #18205)
- [Fix] Use proper title on index for new/unread posts (Bug #13101) - patch provided by Pyramide
- [Fix] Allow calls to $user->set_cookie() define no cookie time for setting session cookies (Bug #18025)
- [Fix] Stricter checks on smilie packs (Bug #19675)
- [Fix] Gracefully return from cancelling pm drafts (Bug #19675)
- [Fix] Possible login problems with IE7 if browser check is activated (Bug #20135)
- [Fix] Fix possible database transaction errors if code returns on error and rollback happened (Bug #17025)
- [Change] Allow numbers in permission names for modifications, as well as uppercase letters for the request_ part (Bug #20125)
- [Fix] Use HTTP_HOST in favor of SERVER_NAME for determining server url for redirection and installation (Bug #19955)
- [Fix] Removing s_watching_img from watch_topic_forum() function (Bug #20445)
- [Fix] Changing order for post review if more than one post affected (Bug #15249)
- [Fix] Language typos/fixes (Bug #20425, #15719, #15429, #14669, #13479, #20795, #21095, #21405, #21715, #21725, #21755, #21865, #15689)
- [Fix] Style/Template fixes (Bug #20065, #19405, #19205, #15028, #14934, #14821, #14752, #14497, #13707, #14738, #19725)
- [Fix] Tiny code fixes (Bug #20165, #20025, #19795, #14804)
- [Fix] Prepend phpbb_root_path to ranks path for displaying ranks (Bug #19075)
- [Fix] Allow forum notifications if topic notifications are disabled but forum notifications enabled (Bug #14765)
- [Fix] Fixing realpath issues for provider returning the passed value instead of disabling it. This fixes issues with confirm boxes for those hosted on Network Solutions for example. (Bug #20435)
- [Fix] Try to sort last active date on memberlist correctly at least on current page (Bug #18665)
- [Fix] Handle generation of form tokens when maximum time is set to -1
- [Fix] Correctly delete unapproved posts without deleting the topic (Bug #15120)
- [Fix] Respect signature permissions in posting (Bug #16029)
- [Fix] Users allowed to resign only from open and freely open groups (Bug #19355)
- [Fix] Assign a last viewed date to converted topics (Bug #16565)
- [Fix] Many minor and/or cosmetic fixes (Including, but not limited to: #21315, #18575, #18435, #21215)
- [Feature] New option to hide the entire list of subforums on listforums
- [Fix] Custom BBCode {EMAIL}-Token usage (Bug #21155)
- [Fix] Do not rely on parameter returned by unlink() for verifying cache directory write permission (Bug #19565)
- [Change] Use correct string for filesize (MiB instead of MB for example)
- [Change] Remove left join for query used to retrieve already assigned users and groups within permission panel (Bug #20235)
- [Fix] Correctly return sole whitespaces if used with BBCodes (Bug #19535)
- [Fix] Quote bbcode parsing adding too much closing tags on special conditions (Bug #20735)
- [Change] Added sanity checks to various ACP settings
- [Change] Removed minimum form times
- [Fix] Check topics_per_page value in acp_forums (Bug #15539)
- [Fix] Custom profile fields with date type should be timezone independend (Bug #15003)
- [Fix] Fixing some XHTML errors/warnings within the ACP (Bug #22875)
- [Fix] Warnings if poll title/options exceed maximum characters per post (Bug #22865)
- [Fix] Do not allow selecting non-authorized groups within memberlist by adjusting URL (Bug #22805 - patch provided by ToonArmy)
- [Fix] Correctly specify "close report action" (Bug #22685)
- [Fix] Display "empty password error" within the login box instead of issuing a general error (Bug #22525)
- [Fix] Clean up who is online code in page_header (Bug #22715, thanks HighwayofLife)
- [Fix] Pertain select single link on memberlist (Bug #23235 - patch provided by Schumi)
- [Fix] Allow & and | in local part of email addresses (Bug #22995)
- [Fix] Do not error out if php_uname function disabled / Authenticating on SMTP Server (Bug #22235 - patch by HoL)
- [Fix] Correctly obtain to be ignored users within topic/forum notification (Bug #21795 - patch provided by dr.death)
- [Fix] Correctly update board statistics for attaching orphaned files to existing posts (Bug #20185)
- [Fix] Do not detect the board URL as a link twice in posts (Bug #19215)
- [Fix] Set correct error reporting in style.php to avoid blank pages after CSS changes (Bug #23885)
- [Fix] If pruning users based on last activity, do not include users never logged in before (Bug #18105)
- [Sec] Only allow searching by email address in memberlist for users having the a_user permission (reported by evil<3)
- [Sec] Limit private message attachments to be viewable only by the recipient(s)/sender (Report #s23535) - reported by AlleyKat
- [Sec] Check for non-empty config.php within style.php (Report #s24575) - reported by bantu
- [Fix] Find and display colliding usernames correctly when converting from one database to another (Bug #23925)

### 1.xi. Changes since 3.0.RC8

- [Fix] Cleaned usernames contain only single spaces, so "a_name" and "a__name" are treated as the same name (Bug #15634)
- [Fix] Check "able to disable word censor" option while applying word censor on text (Bug #15974)
- [Fix] Rollback changes on failed transaction if returning on sql error is set
- [Fix] Call garbage_collection() within database updater to correctly close connections (affects Oracle for example)

### 1.xii. Changes since 3.0.RC7

- [Fix] Fixed MSSQL related bug in the update system
- [Fix] Display "Return to" links on unwritable forums (Bug #14824)
- [Fix] Mitigating different realpath() handling between PHP versions (fixing confirm box redirects)
- [Fix] Fix signature editing - ability to remove signature (Bug #14820)
- [Fix] Send correct activation key by forcing reactivation for inactive user (Bug #14819)
- [Fix] Adding correct IP for private messages sent by issuing warnings (Bug #14781)
- [Fix] Open private message notification (Bug #14773)
- [Fix] Fixing false new private message indicator (Bug #14627)
- [Fix] Let newly activated passwords work if users were converted (Bug #14787)
- [Fix] Quote bbcode fixes. Letting parse quote="[" and re-allowing whitelisted bbcodes within username portion (Bug #14770)
- [Fix] Allow alternative text for styled buttons if images turned off, but CSS staying on
- [Sec] Fix bbcode helpline display for custom bbcodes - this requires style changes for any custom style (Bug #14850)
- [Fix] Correctly count announcements when filtering forums by date (Bug #14877)
- [Fix] Allow charset names containing underscores or spaces
- [Fix] Don't allow previous/next links for non-existing topics (Bug #15039)
- [Change] Do not assign converted votes to the first option in a vote.
- [Fix] Use correct RFC 2822 date format in emails (Bug #15042)
- [Fix] Require founder status for some actions on founder-only groups (Bug #15119)
- [Fix] Allow changing the "now" option of date CPFs (Bug #15111)
- [Change] Some improvements to the caching of avatars
- [Change] Set template recompilation to be disabled by default. All mod and style authors and all those who want to modify their styles should enabled it after installation.
- [Change] Disable debug mode. All mod and style authors should enable DEBUG and DEBUG_EXTRA.
- [Fix] Check error reporting level for all error level. This fixes a problem for hosts having manipulated the error handler. (Bug #14831)
- [Feature] Constant PHPBB_DB_NEW_LINK introduced which can be used to force phpBB to create a new database connection instead of reusing an existing one if the dbms supports it (Bug #14927)
- [Fix] Automatic URL parsing no longer allows dots in the schema but can parse URLs starting after a dot (Bug #15110)
- [Fix] Dynamic width for birthday select boxes (Bug #15149)
- [Fix] Recache Moderators when copying permissions. (Bug #15384)
- [Fix] Propagate sort options in mcp_forums (Bug #15464)
- [Change] Do not allow [size=0] bbcodes (font-size of 0)
- [Fix] No duplication of active topics (Bug #15474)

### 1.xiii. Changes since 3.0.RC6

- [Fix] Submitting language changes using acp_language (Bug #14736)
- [Fix] Fixed wrong bbcode handling for forum rules, forum descriptions and group descriptions
- [Fix] Fixed faulty form tokens (Bug #14725, #14762 and #14755)
- [Fix] Fixed bbcode uid generation in the phpBB2 converter (Bug #14722)
- [Fix] Able to request new password (Bug #14743)

### 1.xiv. Changes since 3.0.RC5

- [Feature] Removing constant PHPBB_EMBEDDED in favor of using an exit_handler(); the constant was meant to achive this more or less.
- [Feature] Constant PHPBB_ADMIN_PATH introduced, having the same purpose as PHPBB_ROOT_PATH, but for the ACP.
- [Fix] Further fixing user profile view (please do not forget to update/refresh your template and style) (Bug #14230)
- [Fix] Adjust google adsense bot information (Bug #14296)
- [Fix] Fix horizontal scrollbar problem in IE6 (Bug #14228) - fix provided by Danny-dev
- [Fix] Use correct size values in ACP user signature screen (Bug #13367)
- [Fix] Attachment Place inline won't work with single quotes (Bug #14291)
- [Fix] Unable to save email templates through ACP language page (Bug #14266)
- [Fix] Correctly set user style for guest user (able to be changed within user management)
- [Change] Moved note about dns_get_record function for using GTalk (Jabber) from Jabber log to Jabber ACP panel
- [Fix] Do not use register_shutdown_function within cron.php if handling the queue and the mail function being used (Bug #14321)
- [Fix] Fixing private message on-hold code if moving messages into folder based on rules (Bug #14309)
- [Fix] Allow the merge selection screen to work (Bug #14363)
- [Change] Require additional permissions for copying permission when editing forums
- [Fix] Local magic URLs no longer get an additional trailing slash (Bug #14362)
- [Fix] Do not let the cron script stale for one hour if register_shutdown_function is not able to be called (Bug #14436)
- [Feature] Added /includes/db/db_tools.php file, which includes tools for handling cross-db actions such as altering columns, etc.
- [Change] Reset the start parameter when the timeframe is changed in the mcp topic page (Ticket #14438)
- [Change] Added Code for cleaning the confirm table to the session garbage collection
- [Fix] Fixed token handling in jabber class for extremely spec-compliant XMPP server (Bug #14445)
- [Fix] Disallowed galleries from using special characters (Bug #14466)
- [Change] Listing the board url within the email text instead of appending it to the subject (Bug #14378)
- [Fix] Always display the quote button as the most accessible one (this means edit is before quote in prosilver due to the way we lay out profiles)
- [Fix] Use correct dimension (width x height) in ACP (Bug #14452)
- [Fix] Only display PM history links if there are PM's to be displayed (Bug #14484)
- [Feature] Added completely new hook system to allow better application/mod integration - see docs/hook_system.html
- [Fix] Correctly delete excess poll options (Bug #14566)
- [Fix] Allow names evaluating to false for poll options
- [Change] use in-build functions for user online list (Bug #14596) - provided by rxu
- [Fix] Fixing google cache display problems with Firefox (Bug #14472) - patch provided by Raimon
- [Fix] Prevent topic unlocking if locked by someone else while posting (Bug #10307)
- [Change] Allow years in future be selected for date custom profile field (Bug #14519)
- [Fix] Don't display "Avatars Disabled" message on edit groups in UCP (Bug #14636)
- [Change] Require confirm for deleting inactive users. (Bug #14641)
- [Fix] Match custom BBCodes in the same way during first and second pass - patch provided by IBBoard (Bug #14268)
- [Fix] Correct quote parsing if opening bracket before opening quote (Bug #14667)
- [Fix] Clean post message for checking length to prevent posting empty messages
- [Fix] Display jumpbox if needed for functionality (Bug #14702)
- [Feature] Added an option to enforce that users spend a configurable amount of time on the terms page during registration
- [Fix] Fixed copy permissions box in the ACP
- [Fix] Enforce types for the user table during conversions
- [Sec] Fixing possible XSS through compromised WHOIS server (#i63, #i64)
- [Sec] Missing access control on whois in viewonline.php (#i51)
- [Sec] Encoding some variables within user::page array correctly (to cope with browser not doing it correctly) to prevent XSS through functions re-using them (#i61)
- [Sec] Fixed XSS through memberlist search feature (#i62)
- [Sec] Fixed XSS through colour swatch (#i65)
- [Sec] Fixed insecure attachment deletion (#i53)
- [Sec] Only allow whitelisted protocols in meta_redirect/redirect (#i66)
- [Sec] Check file names to be written in language management panel (#i52)
- [Sec] Deregister globals if ini_get has been disabled (#i112)
- [Sec] Added form tokens to most forms to enforce a lighter variant of CSRF protection (#i91 - #i96)
- [Sec] Use new password hash method for forum passwords (#i43)
- [Sec] Changed download file location to prevent flash crossdomain policies taking effect (#i8)
- [Sec] Do not allow autocompletion for password on admin re-authentication (#i41)
- [Sec] Made sure users are not completely locked out if they have a GLOBALS cookie (#i101)
- [Sec] Use the secure hash to generate BBCODE_UIDs (#i71)
- [Sec] Increase the length of BBCODE_UIDs (#i72)
- [Sec] New password hashing mechanism for storing passwords (#i42)

### 1.xv. Changes since 3.0.RC4

- [Fix] MySQL, PostgreSQL and SQLite related database fixes (Bug #13862)
- [Fix] Allow MS SQL to properly connect when using the mssql driver and PHP is less than either 4.4.1 or 5.1 (Bug #13874)
- [Fix] Ignore files containing HTML special chars in the filenames as gallery avatars (Bug #13906)
- [Fix] Multiple PM recipients not separated (Bug #13876)
- [Change] Split the select list for the smilie order to clarify which are feasible and which are not (Bug #13911)
- [Fix] Convert empty homepage fields (Bug #13917)
- [Fix] Use board default DST setting on creating new profiles (Bug #11563)
- [Feature] New constant PHPBB_EMBEDDED can be used to let phpBB not call exit; if wrapped/embedded (We may re-check this constant on other code locations later too)
- [Feature] append_sid() having a check for the function append_sid_phpbb_hook(). This function is called in favour of append_sid() with the exact same parameters if present.
- [Fix] Only list enabled modes within the dropdown at user administration (Bug #13883) - patch provided by damnian
- [Fix] Properly display ban reason if selecting banned entries within the ACP (Bug #13896)
- [Fix] Properly parse SQL expressions for Oracle (Bug #13916)
- [Fix] Added label bindings to the custom profile fields in the ACP (Bug #13936) - patch provided by damnian
- [Change] Made group avatar/rank changes more intuitive
- [Fix] Give more feedback in icon/smilie management (Bug #13295)
- [Fix] Correctly set user::lang_id (Bug #14010)
- [Fix] Properly display the smiley export screen (Bug #13968)
- [Feature] Add "DECIMAL:", "PDECIMAL", and "PDECIMAL:" to the schema creation code (Bug #13999) - patch provided by poyntesm
- [Fix] Don't show the notify checkbox in the approval queue if the only posts are written by ANONYMOUS (Bug #13973)
- [Fix] Redirect to bots management page on edit/add (Bug #14073)
- [Fix] Display locked icon in viewforum/prosilver if forum locked (Bug #14009)
- [Feature] Display message history in compose PM screen
- [Change] Do not force login on visiting topic/forum from notification emails (Bug #13818)
- [Fix] Fixed cron_lock value for cron execution. This bug led to users having problems with the email queue and other cron related issues.
- [Fix] Prevent white pages on php notices with gzip compression enabled (Bug #14096)
- [Fix] Propagate the cleaned identifier for CFPs (Bug #14072)
- [Fix] Do not display NO_TOPICS message if viewing non-postable category (Bug #13489)
- [Fix] Let the theme immediately expire if changed from ACP for at least 30 minutes after change
- [Fix] Do not append hilit= in search if highlighting term is empty (Bug #13910)
- [Fix] Return to last page after voting in viewtopic instead of first page in topic (Bug #13976)
- [Fix] If sending PM's to groups only include activated member (Bug #14040)
- [Fix] Correctly wrap words in emails containing utf8 characters (Bug #14109)
- [Change] For new posts or editing the first post topic titles have a maxlength of 60 characters. For any subsequent posts the length is extended to 64 to make room for the Re: part, but cutting at 60 characters. The maxlength need to be 64, else users using opera are unable to post (opera does not allow pre-filling a field with more characters than specified within the maxlength attribute)
- [Fix] Disable gzip compression for cached stylesheet for Internet Explorer 6 or empty browser (IE6 is not able to properly display the compressed stylesheet) (Bug #14054)
- [Fix] Header icons fixed in FF for RTL languages (Bug #14084)
- [Change] Words in topic titles and post subjects are highlighted on the search results page and viewtopic too now (Bug #13383)
- [Fix] Made sure strip_bbcode cannot get the idea that a smiley is a BBCode (Bug #14030)
- [Change] Added a filter for user objects to LDAP configuration and improved explanations (Bug #12627)
- [Fix] Display searchable subforums of invisible parents in advanced search forum selection (Bug #11395)
- [Fix] Allow line breaks in custom BBCodes (Bug #10758)
- [Fix] Ordered BBcode parsing functions in the same way everywhere where they are used
- [Fix] Prevent {URL} token in custom BBCodes from make_clickable messing (Bug #14151)
- [Sec] Added alternative tokens to custom BBCodes which are safe for CSS/Javascript and changed TEXT token to entitise opening and closing parantheses.
- [Fix] Convert 2.0 moderator posting permissions (Bug #14105)
- [Fix] Correctly apply PM box limit of 0 to custom folder (Bug #14154)
- [Fix] odbc_autocommit causing existing result sets to be dropped (Bug #14182)

### 1.xvi. Changes since 3.0.RC3

- [Fix] Fixing some subsilver2 and prosilver style issues
- [Fix] Parse error in MCP ban (Bug #13109)
- [Fix] Correctly hide online status in the profile (Bug #13059)
- [Feature] Let the user choose how to update modified files (merging, using new file or using old file) within automatic updater
- [Fix] An extra \ in an Oracle SQL regex was corrected (Bug #13151)
- [Fix] Added a missing global to get_file() (Bug #13149)
- [Fix] Hide autologin box when autologin is disabled (Bug #13093)
- [Fix] Account for the forum id not being part of the request uri in prosilver (Bug #13121)
- [Fix] Properly alter PostgreSQL tables
- [Fix] Properly cache template files that were stored in the database (Bug #12675)
- [Fix] Do not count the deletion of an unapproved topic as a decrease in normally viewable posts (Bug #13167)
- [Fix] Allow column_exists() to return true if the column exists but no data is in the table
- [Fix] Allow setting the smiley order via the select. Also allow to add smileys at the top. (Bug #13199)
- [Fix] Fix php notice on sending jabber messages (Bug #13201)
- [Fix] Make the window showing file differences a little wider (Bug #13157)
- [Fix] Preserve preview style on search form (Bug #13205)
- [Fix] Place attachment filename in new line in posting editor (Bug #9726)
- [Fix] Don't allow caching to occur in the update sequence (Bug #13207)
- [Fix] Enforce the max password length for automatically generated password created by the password sender (Bug #13181)
- [Fix] Handle phpinfo() when expose_php is false (Bug #12777)
- [Fix] Allow managing of forum roles without global users (Bug #13249)
- [Change] Do not run cron script if board is disabled
- [Fix] Correctly destroy sql cache for some query combinations (Bug #13237)
- [Fix] Allow link forums being password protected (Bug #12967)
- [Fix] Allow wrapping topic/post icons in posting editor (Bug #12843)
- [Fix] Display L_RANK only once in template if rank title and image defined (Bug #13231)
- [Fix] Make sure selected transfer method exists before calling (Bug #13265)
- [Fix] Correctly escape language keys in language editor (Bug #13279)
- [Fix] Correctly hide post/reply buttons if permissions are not given (related to Bug #12809)
- [Fix] Remove orphan/wrong permission entries for non-existent forums - self-repairing permissions if conversions went "crazy"
- [Feature] Allow "older" updates applied with the automatic updater. This allows people using it for updating, say, from 3.0.0 to 3.0.1 (with the correct package of course) and then from 3.0.1 to 3.0.2 if the latest version at this time is 3.0.2. These changes take effect beginning with RC4 or people replacing install/install_update.php manually prior doing the updates.
- [Fix] Present correct error message if user tries to edit already read private message (Bug #13271)
- [Fix] Also display board disabled notice for admins/mods if board got disabled due to exceeding the load limit (Bug #13267)
- [Fix] Correctly deliver avatar if readfile function has been disabled (Bug #13309)
- [Fix] Display php information page with the correct direction (Bug #12557)
- [Fix] Increased the number of style objects (styles, templates, themes and imagesets) possible from 127 to 65535 for MySQL (Bug #13179)
- [Fix] Although theoretically impossible in our code, removed the chance of trying to open a file that does not exist (Bug #13327)
- [Fix] Although theoretically impossible in our code, changed the handling of non-existent language files (Bug #13329, #13331)
- [Fix] Removed extra ampersand from ACP link (Bug #13315)
- [Fix] used cleaned up version of given field identification for pre-filling a new custom profile field (Bug #13319)
- [Fix] Correctly convert 2.0 website profile fields. (Bug #13379)
- [Fix] Fixed the "Alphanumeric" and "Alphanumeric and spacers" username selection limitations (Bug #13391)
- [Fix] Make sure filelist() is only returning array types (Bug #13385)
- [Fix] Correctly mark forums read if using cookie based topic tracking (Bug #13245)
- [Change] Put custom profile fields into top box and signature into separate box in members profile view (Bug #13357)
- [Fix] Only show moderator log entries for forums the user is having moderation rights in (Bug #12481)
- [Feature] Show resulting permission alone in trace window (Bug #10952) - thanks to dark/rain for the proposal
- [Fix] Fixed bug in realpath replacement letting it actually work again
- [Change] Try to be a bit more specific regarding global/local permission trace (Bug #11032)
- [Fix] Fixed some strangeness in password validation due to mb_ereg()
- [Fix] Subforums of a forum would overwrite the latest post information even if they did not contain the latest post (Bug #11931)
- [Fix] Use global username display function on several places (Bug #11080, #11098) - patch by HoL
- [Fix] Several viewonline fixes and feature changes. Also displaying the users browser in viewonline list to let the admin easier spot additional search bots, connected to a_user permission (Bug #11088) - patch and suggestions provided by HoL
- [Change] u_viewprofile permission also affecting viewonline list now
- [Fix] Do not display return to search link in prosilver if search is not allowed (Bug #11393)
- [Fix] Use global url validation for img bbcode tag (Bug #11935)
- [Fix] Added proper unicode support to style names (Bug #12165)
- [Fix] Search result extract should not end in the middle of a multibyte character (Bug #11863)
- [Fix] Missing localisation for an imageset no longer triggers a lot of "imageset refreshed" log messages (Bug #12027)
- [Fix] Explain that themes which need parsing cannot be stored on the filesystem (Bug #11134)
- [Fix] Normalize usernames
- [Change] Improved utf8_clean_string with a more complete list of homographs and NFKC normalization
- [Fix] Fixed error messages that ACP Database can give (Bug #13463)
- [Fix] Fixed potential issues with databases that use tables names is uppercase
- [Fix] Handle forum links/redirects within viewforum if no read permission given (to display login box or error message) (Bug #13467)
- [Fix] Prevent changing postable forum having subforums to link forum without moving subforums out first
- [Fix] Do not display version in admin template (Bug #13495)
- [Fix] Allow manual specification of remote avatar dimensions if getimagesize is disabled (Bug #13531)
- [Fix] Make viewonline use the session page's added forum parameter (Bug #13597)
- [Fix] Correcting BBCode FAQ (Bug #11180)
- [Fix] Make to/bcc line in view private message display consistent with other username displays in prosilver (Bug #11989)
- [Fix] Send out activation email if admin activation is enabled and user activated through inactive users panel upon registration (Bug #12065)
- [Change] Re-implemented All Yes/No/Never links in permission panels for easier changing all categories at once
- [Change] Advanced permission link now "marked" if no role is assigned and custom permissions set. With this an admin can instantly see if the object is not set at all or having custom permissions, something you only saw if advanced permissions were viewed before.
- [Fix] Change misleading custom BBCodes explanation, regarding tokens and useable template variables (Bug #12403, #5660)
- [Feature] Ability to disable birthdays completely with new board features setting
- [Fix] Fix disallowed username check (Bug #13511)
- [Fix] Allow for unicode usernames to be pruned (Bug #13643)
- [Fix] Do not copy forum permissions from self (Bug #13663)
- [Fix] Allow for polls to work during preview (Bug #13657) - thanks to Thatbitextra
- [Fix] Finer error conditions for sending IM messages (Bugs #13681, #13683)
- [Fix] Add a confirmation for log deletion in the MCP (Bug #13693)
- [Fix] Do not erase ranks and avatars when changing default groups (Bugs #13701, #13697)
- [Fix] Limit author searches to firstpost, if selected (Bug #13579)
- [Fix] Properly resync user post counts for users that have no posts (Bug #13581)
- [Fix] Do not require space after , in smiley pak files (Bug #13647)
- [Fix] Properly display the subscribe link in topic and forum display for Oracle (Bug #13583)
- [Change] Add version number to ACP index (Bug #13703)
- [Fix] Several fixes for custom profile fields on multi-lingual boards (Bugs #13763, #13527, #13525, #11515)
- [Fix] Return to the mode previously selected after disaproving a post (Bug #13796)
- [Fix] Cron now uses a locking variable to make sure it does not spawn too many webserver processes (Bug #12741)
- [Fix] Cached stylesheet now supporting gzip compression
- [Fix] Added link to inbox for deleted PMs (Bug #13813)
- [Fix] Re-syncing the board stats also refreshes the newest user (Bug #13831)
- [Feature] Ability to externally set $phpbb_root_path if wrapping phpBB3 by defining constant PHPBB_ROOT_PATH
- [Fix] Implemented correct left/right floating within ACP in regard to RTL languages (Bug #13777)
- [Fix] Fixing session problems when using MySQL strict mode in conjunction with very long browser agent string (Bug #13827)
- [Fix] Disallow post/pm subjects entirely made up from non-printable chars and whitespaces (Bug #13800)
- [Fix] Allow moving private messages from the sentbox (Bug #13791)
- [Fix] Properly export localized imagesets
- [Feature] Show the size of Firebird databases
- [Fix] Show error when moving topic into a category via quickmod (Bug #11611)
- [Fix] Allow Oracle to install on a database without specify the database name

### 1.xvii. Changes since 3.0.RC2

- [Fix] Re-allow searching within the memberlist
- [Fix] Force prune related values to integers during conversions
- [Fix] Updater now detects successfully merged files having conflicts and user chose to merge with modifications (Bug #12685)
- [Fix] Updater is no longer listing missing language entries and styles if these had been removed (Bug #12655)
- [Fix] Correct approval of posts in global announcements (Bug #12699)
- [Sec] Do not allow setup spiders/robots to post, even if permissions are given. We see no reason why this should be possible. (Thanks to Frank Rizzo for convincing us regarding this)
- [Sec] Do not display the last active column within the memberlist if u_viewonline permission is not given (Bug #12797)
- [Fix] Display custom profile field "date" based on users language (Bug #12787)
- [Fix] Allow adding of help language files within subdirectories (Bug #12783)
- [Fix] Correctly apply smileys on posting having # within their emotion code
- [Fix] Correctly convert smileys having double quotes within their emotion code (Bug #12731)
- [Fix] The converter now adds the protocol to user website profile fields missing it (Bug #12819)
- [Fix] Correctly escape banned ip/email using wildcard for ban check (Bug #12815)
- [Fix] Fixed some very nasty opera bugs (dropdown list bug, cpu spike bug) (Bug #12763, #11609)
- [Fix] Font colour list having the correct height in IE (Bug #9571)
- [Feature] Added mark/unmark all links to the bots page (Bug #12461)
- [Fix] Introduced check on duplicate usernames during bot creation/edit (Bug #12461)
- [Fix] Allow multibyte letters for smilie codes(Bug #12321)
- [Fix] Correctly chmod created cache files (Bug #12859)
- [Fix] Use our global expression for checking email syntax in memberlist (Bug #12827)
- [Fix] Correctly retrieve/refresh templates stored in database if using subdirectories within template directory (Bug #12839)
- [Fix] Correctly translate special group names in ucp_groups.php (Bug #12597)
- [Fix] Search boxes not losing session id (changing method from get to post) (Bug #12643)
- [Fix] Make sure the automatic update is also working for those having fsockopen disabled
- [Fix] Simulate recache of theme data on automatic update finished page - recaching it if css data changed
- [Feature] Allow dropping in custom "info_[module class]_*.php" files to language/*/mods directory for inclusion into the menu structure without the need to modify phpBB language files for menu placements
- [Fix] Added login box to egosearch (Bug #12941)
- [Fix] Deal with slashed quotes during quote bbcode conversion (Bug #12607)
- [Fix] Minor language and style fixes (Bugs #12235, #12493, #11949)
- [Feature] Added backlinks to mcp_report (Bug #12905)
- [Fix] Only check usernames in guest posts upon edit (Bug #11349)
- [Fix] Consider viewonline permission when viewing friends/foes (Bug #12955)
- [Fix] Added proper unicode support to ban reasons (Bug #12947)
- [Fix] The forum/topic sync code now recognizes other ways that the latest post in a topic can be expressed (Bug #12947) - patch provided by APTX
- [Fix] Topic deletion via the user post deletion mechanism did not take into account statistics for forums that hold shadow topics (Bug #12981)
- [Fix] Allow for negative and decimal numbers to be in transposed queries in the Oracle and Firebird DBAL (Bug #13033)
- [Fix] Some jabber related bugs (Bug #12989, #11805, #11809)
- [Fix] Added UTF-8 support for banning via the MCP (Bug #13013)
- [Fix] Properly detect the script name in session::extract_current_page() if PHP_SELF is not defined (Bug #12705) - patch provided by ToonArmy
- [Fix] Show role mask for global permission class under Permissions->Permission Roles (Bug #13057)

### 1.xviii. Changes since 3.0.RC1

- [Fix] (X)HTML issues within the templates (Bug #11255, #11255)
- [Fix] Tiny language and grammar changes
- [Fix] Several style related fixes, mainly fixing cross-browser issues
- [Fix] Several RTL fixes within prosilver
- [Fix] MCP looses forum_id in some panels (Bug #11255)
- [Fix] Moderation queue used unfriendly notification of no posts/topics (Bug #11291)
- [Fix] Array in Oracle DBAL not always set (Bug #11475)
- [Fix] Improper continue; in acp_styles.php (Bug #11523)
- [Fix] Imageset editor more friendly (Bug #11511)
- [Fix] Made Custom BBCode validation more strict (Bug #11335)
- [Fix] Proper sync of data on topic copy (Bug #11335)
- [Fix] Introduced ORDER BY clauses to converter queries (Bug #10697)
- [Fix] Stopped bots from getting added to the registered users group during conversion (Bug #11283)
- [Fix] Filled "SMILIEYS_DISABLED" template variable (Bug #11257)
- [Fix] Properly escaped the delimiter in disallowed username comparisons (Bug #11339)
- [Fix] Check global purge setting (Bug #11555)
- [Fix] Improper magic url parsing applied to already parsed [url=] bbcode tag (Bug #11429)
- [Fix] Renamed two indicies for Oracle support (Bug #11457)
- [Fix] Added support for ISO-8859-8(-i) in the character set convertor (Bug #11265, #12039)
- [Fix] Added support for Oracle's "easy connect naming"
- [Fix] Let Mark/Unmark All work in Manage Drafts (Bug #11679)
- [Fix] Display correct message if no attachments found in user administration (Bug #11629)
- [Fix] Let the "Delete all board cookies" being displayed for guests too (only prosilver) (Bug #11603)
- [Fix] Do not display view topic link in MCP while there is no link present (Bug #11573)
- [Fix] MySQL now properly sorts by post_subject (Bug #11637)
- [Fix] Introduced checks to stop negative postcounts (Bug #11561, #11421)
- [Fix] Allow IP v4/v6 urls for remote avatars (Bug #11633)
- [Fix] Delete avatar files automatically (Bug #11631)
- [Fix] Automatically add selected columns to group by statements in the converter (Bug #11465)
- [Fix] Allow posts without subjects to be clicked in the MCP (Bug #11483)
- [Fix] Sync the forums that shadow topics reside in when the topic that they point to is deleted
- [Fix] Do not use the gen_random_string function to create cookie names during install (Bug #11431)
- [Fix] Send stylesheet in style.php even without a valid session id (Bug #11531)
- [Fix] request_var should strictly return the requested number of dimensions
- [Fix] Correct assignment of custom width to $user->img(); / Correctly display poll bars in subsilver2 (Bug #11301)
- [Fix] Allow removing polls in prosilver
- [Fix] Correct link to post in managing users attachments (Bug #11765)
- [Fix] Reload confirm screen for selecting new forum for global topic type change if not postable forum is chosen (Bug #11711)
- [Fix] Correctly show system default color for disabled options in Internet Explorer which does not support disabled option fields
- [Fix] Update query for custom profiles in user management used wrong order for left/right delimiter (affecting mssql) (Bug #11781)
- [Fix] Inconsistent display of more smileys link fixed (Bug #11801)
- [Fix] Outbox messages are no always neither new nor unread post-conversion (Bug #11461)
- [Feature] Replaced outdated jabber class with the one from the flyspray project
- [Feature] The converter no longer relies on the smiley ID to decide if it should be displayed on the posting page
- [Change] Limit maximum number of allowed characters in messages to 60.000 by default. Admins should increase their PHP time limits if they want to raise this tremedously.
- [Change] Some changes to the conversion documentation
- [Fix] Only use permissions from existing forums during the conversion (Bug #11417)
- [Fix] Do not permit the decimal as a valid prefix character (Bug #11967)
- [Fix] Account for the fact that the IM fields might hold non-IM information
- [Fix] Make the queue function on post details
- [Fix] Check if there are active styles left before deleting a style
- [Fix] Correctly update styles after the deletion of an imageset.
- [Fix] Replaced jabber validation to use the method used by the new jabber class (Bug #9822)
- [Sec] Adding confirm boxes to UCP group actions (ToonArmy)
- [Feature] Added the option to disable the flash bbcode globally (DelvarWorld)
- [Sec] Changed the embedding of Flash (NeoThermic, DelvarWorld)
- [Fix] Use the signature setting for PMs (Bug #12001)
- [Fix] Made the DBMS selection use language variables (Bug #11969)
- [Fix] Make sure that a folder is used when viewing messages to oneself (Bug #12105)
- [Fix] Account for the fact that a board might have no visible Admins (Bug #12185)
- [Fix] Change group ranks even if empty (Bug #12231)
- [Fix] Correctly propagate variables across the custom profile field wizard (Bug #12237)
- [Fix] Correctly move pm's into folders if more than one is received (Bug #12135)
- [Fix] Corrected various bugs with CPF on multi-language boards (Bug #11803)
- [Fix] Disable notify checkbox in posting editor when board email is disabled (Bug #12263)
- [Fix] Removed maxlength from password/username fields (Bugs #12215, #11797)
- [Fix] Use icon-unsubscribe in prosilver (Bug #12211)
- [Fix] Seperated PREVIOUS/NEXT language vars for pagination and next/previous step (Bug #12197)
- [Feature] append_sid() supporting anchor (Bug #11535) - patch provided by Schumi and ToonArmy
- [Fix] Remember selected language while registering after submit (Bug #11435)
- [Fix] UTF-8 support in theme and template editors (Bug #12251)
- [Fix] Allow for posts per page in the MCP to change during topic selection (Bug #12067)
- [Fix] Remove group avatars upon deletion from all profiles, not just the people having the group as default (Bug #12275, #12267)
- [Fix] Allow for conversions to SQLite (Bug #12279) - patch provided by ToonArmy
- [Fix] Apply colours to guests (Bug #12219)
- [Fix] Set the Admin group as founder_manage during conversion (Bug #12287)
- [Fix] Fixed a special quote BBCode case (Bug #12189)
- [Fix] Correctly parse BBCodes in a post when a poll is being used (Bug #11833)
- [Fix] Remember attached files on PM edit (Bug #12019)
- [Fix] Correctly display poll ending on preview (Bug #12303)
- [Feature] Display the success message on posting longer for posts awaiting approval (Bug #12053)
- [Fix] Display maximum and entered number of characters for the "maximum number of characters exceeded" error messages (Bug #11981)
- [Fix] Wrongly applied setting for allowing links in private messages (used the signature setting instead of the post setting) (Bug #11945)
- [Fix] Unread flag for multipage topic wrongly set under some conditions (Bug #12127) - fix provided by asinshesq
- [Fix] Able to delete posts within user prune panel (Bug #11849)
- [Feature] Allow to specify dimensions of images manually on imageset config (Bug #11675)
- [Fix] Correctly re-assign query result id after seeking rows (MSSQL/Firebird) (Bug #12369)
- [Feature] Make effect of a changed hideonline permission instantaneous
- [Fix] Do not overwrite larger memory values in the installer (Bug #12195)
- [Fix] Order forums on role permission mask (Bug #12337)
- [Fix] Show "no image" image when a non-selectable item was selected in the acp imageset editor - IE (Bug #12423)
- [Fix] Update session information without new pageload (Bug #12393, Bug #12441)
- [Fix] Let polls be edited correctly (Bug #12433)
- [Fix] Overcome Oracle's inability to handle IN() clauses with over one thousand elements (Bug #12449)
- [Fix] Simulate Firebird's affected rows mechanism for older versions of PHP
- [Fix] Custom BBCodes properly handle lowercasing of parameterized tags (Bug #12377)
- [Fix] Update the forum_id sequence for PostgreSQL during conversion (Bug #11927)
- [Fix] Allow for multiple tags containing URL and LOCAL_URL tokens (Bug #12473)
- [Fix] Properly display forum list in the MCP Queue (Bug #11313)
- [Fix] Use the localised guest name for quotes (Bug #12483)
- [Fix] Added post anchor to links in default warning message (Bug #12489)
- [Fix] Allow 5 digits in editing time fields (Bug #12489)
- [Fix] MS SQL DBAL drivers now write over extension limitations, they are too low for most installations (Bug #12415)
- [Fix] Fix sorting by author on "unanswered posts" (Bug #12545)
- [Fix] Allow searching for multibyte authors (Bug #11793)
- [Fix] Writing directories/files with correct permissions using FTP for transfers on PHP4
- [Fix] Oracle sequences during conversions are now corrected (Bug #12555)
- [Fix] Allow users to continue after selecting "No" in the merge quickmod confirmation (Bug #12577)
- [Fix] Correctly check permissions on the UCP subscription/bookmark pages (Bug #12595)
- [Fix] Only convert non-orphaned PMs
- [Fix] Fixed a few Postgres related errors (Bug #12587)
- [Feature] New DBAL wrapper for LIKE expressions / sql_like_expression()
- [Sec] Stricter validation of language entries.

Back to Top

## 2. Copyright and disclaimer

This application is opensource software released under the GPL. Please see source code and the docs directory for more details. This package and its contents are Copyright (c) phpBB Group, All Rights Reserved.

Back to Top