Textpattern CMS 4.9.0

== Upgrade ==

Table of Contents

# Preflight
## Legacy Upgrades
# Upgrading


-- Preflight --

* Ensure the server meets or exceeds the system requirements for the upgrade
  release:
    https://textpattern.com/system-requirements
* Ensure the database user permissions meet the system requirements.
* Verify the existence of a known-good Textpattern database and file backup.
* Note any site-specific custom files and/or directories in /textpattern/.
* Refer to the release notes in HISTORY.txt, including changes made since the
  Textpattern version of the site to be upgraded. Pay attention to changes that
  may affect the site to be upgraded. Seek advice, assistance or clarification
  before the upgrade process to avoid unexpected disruption.
  Note: refer to the resources at the end of this file for further details.
* Log out of the Textpattern site to be upgraded.
* Clear the browser cache for the Textpattern site to be upgraded.

- Legacy Upgrades -

* Textpattern <4.2.0 should be upgraded to 4.2.0 before subsequent upgrades.
  Upgrades from <4.2.0 will present warnings and/or errors upon the first login.
  These may include:
    Unknown column 'user_name' in 'where clause' select name,
    val from txp_prefs where prefs_id=1 AND user_name='' in
    /path/to/your/site/textpattern/lib/txplib_db.php on line xx
    Undefined variable: language in
    /path/to/your/site/textpattern/index.php at line xx
    Undefined variable: gmtoffset in
    /path/to/your/site/textpattern/update/_to_4.2.0.php at line xx
  The messages will not appear after subsequent navigation in the admin-side.
* Upgrades from <4.7.0 may present an 'Unknown section' message on the
  front-side after upgraded files have been transferred and before the first
  admin-side log in. The message will disappear following the first log in
  after the upgrade scripts are automatically run.

-- Upgrading --

* Replace the following files in the site:
    /css.php
    /index.php
  Note: /css.php may not exist if Textpattern <4.2.0 is installed.
* Replace the following files and directories in the site if they exist:
    /.htaccess
    /rpc/
  Note: /rpc/ may not exist if Textpattern <4.2.0 is installed.
* Replace everything in the /textpattern/ directory except:
    /textpattern/config.php
    /textpattern/plugins/
    any site-specific custom files/directories
  Note: do not upload or copy the /textpattern/setup/ directory, it is not
  required.
* Ensure the following directories exist on the site and are writable:
    /textpattern/plugins/
    /themes/
* Set file and directory permissions according to your site.
* For Apache web server and derivatives, it is highly recommended that
  /textpattern/plugins/.htaccess-dist is renamed to .htaccess so plugin
  code cannot be executed directly from the browser.
  For systems other than Apache, please ensure direct access to the plugins
  directory from the browser is prohibited.
* Log in to the Textpattern admin-side. Any upgrade script(s) will run
  automatically. Refer to the site diagnostics (Admin -> Diagnostics) to
  confirm the Textpattern version and note any warnings or errors.
  Note: refer to the resources at the end of this file for further details.
* Verify all preference settings (Admin -> Preferences).
* Optionally set website Production status (Admin -> Preferences) to
  "Testing" and check for any warning or error messages on the front-side.

== Resources ==

* Website:       https://textpattern.com/
* Support forum: https://forum.textpattern.com
* Documentation: https://docs.textpattern.com
* Social:        https://textpattern.com/mastodon
                 https://textpattern.com/x
* Development:   https://textpattern.com/github
* Contributing:  https://docs.textpattern.com/development/contributing
* Sponsor:       https://github.com/sponsors/textpattern
                 https://opencollective.com/textpattern-collective
* Donate:        https://textpattern.com/about/patrons
