Download Size md5 hash
drupal-7.23.tar.gz 3.04 MB 0beca6fec15b8cf8c35a6fdda6675342
drupal-7.23.zip 3.48 MB 7bc44428f4032bfedddf787a3740fb51
Last updated: August 8, 2013 - 02:17

Release notes

Maintenance release of the Drupal 7 series. Includes bug fixes and small API/feature improvements only (no major new functionality); significant new features are only being added to the forthcoming Drupal 8.0 release.

No security fixes are included in this release.

As with any release, sites should run update.php after updating the code, but for this release it is particularly important to do so due to database changes in the Image module. In addition, sites which perform updates using Drush (rather than via the user interface) may need to run an explicit cache clear after the updates have run to avoid Image module errors.

Besides documentation fixes, no changes have been made to the robots.txt or default settings.php files in this release, so upgrading custom versions of those files is not necessary.

There are two changes to the .htaccess file in this release:

  1. A change to add support for HTTP authorization in CGI environments (see #670454).
  2. A fix for a regression in Drupal 7.22 that caused internal server errors for sites running on very old Apache 1.x web servers (see #1962780).

There is also one change to the web.config file for IIS servers in this release:

  1. A change to allow favicon.ico files which are present in the filesystem to be accessed (see #1041580).

Upgrading custom versions of the .htaccess and web.config files is recommended but not required.

Known issues:

None.

Major changes since 7.22:

  • Added human-readable labels to image styles, in addition to the existing machine-readable name (API change: https://drupal.org/node/2058503).
  • Fixed the default ordering of CSS files for sites using right-to-left languages, to consistently place the right-to-left override file immediately after the CSS it is overriding (API change: https://drupal.org/node/2058463).
  • Fixed a fatal error on PostgreSQL databases when updating the Taxonomy module from Drupal 6 to Drupal 7.
  • Added a drupal_check_memory_limit() API function to allow the memory limit to be checked consistently (API addition).
  • Changed the default web.config file for IIS servers to allow favicon.ico files which are present in the filesystem to be accessed.
  • Fixed inconsistent support for the 'tel' protocol in Drupal's URL filtering functions.
  • Performance improvement: Allowed all hooks to be included in the module_implements() cache, even those that are only invoked on HTTP POST requests.
  • Made the database system replace truncate queries with delete queries when inside a transaction, to fix issues with PostgreSQL and other databases.
  • Fixed a bug which caused nested contextual links to display improperly.
  • Fixed a bug which prevented cached image derivatives from being flushed for private files and other non-default file schemes.
  • Fixed drupal_render() to always return an empty string when there is no output, rather than sometimes returning NULL (minor API change).
  • Added protection to cache_clear_all() to ensure that non-cache tables cannot be truncated (API addition: a new isValidBin() method has been added to the default database cache implementation).
  • Changed the default .htaccess file to support HTTP authorization in CGI environments.
  • Changed the password reset form to pre-fill the username when requested via a URL query parameter, and used this in the error message that appears after a failed login attempt (minor data structure and behavior change).
  • Fixed broken support for foreign keys in the field API.
  • Fixed "No active batch" error when a user cancels their own account.
  • Added a description to the "access content overview" permission on the permissions page (string change).
  • Added a drupal_array_diff_assoc_recursive() function to allow associative arrays to be compared recursively (API addition).
  • Moved the drupal_get_hash_salt() function to bootstrap.inc and used it in additional places in the code, for added security in the case where there is no hash salt in settings.php.
  • Fixed a regression in Drupal 7.22 that caused internal server errors for sites running on very old Apache 1.x web servers.

All changes since 7.22:

  • #1871028 by freblasty, das-peter: Fix up documentation of cache clear function and method
  • #1797364 by dcam, David_Rothstein: Restore t() on button name in locale test
  • #1797364 by dcam, xjm, Lars Toomre, neetu morwani, lazysoundsystem: Remove t() from assertion messages in tests for the locale module.
  • #1201024 by pillarsdotnet, jbrown, tim.plunkett | Damien Tournoud: drupal_realpath() should describe when it should be used.
  • #1759144 by rondp, Josh Waihi, jweowu, David_Rothstein | plachance: Fixed taxonomy_update_7005 on pgsql returns error 'column 'td' of relation 'taxonomy_update_7005' does not exist'.
  • #2028643 by hass, tstoeckler: Fixed CSS files order is incorrect in RTL.
  • #1453984 by xjm, naxoc, Dave Reid, underq, dags, tim.plunkett, Heine: Fixed Color module doesn't test for unlimited memory.
  • #1041580 by Monochrome, daycrom, dcam | RumpledElf: Fixed Favicon.ico 404s on IIS.
  • #2026269 by Spleshka: Fixed Different default values for filter_allowed_protocols() variable.
  • #2026263 by Spleshka: Fixed Wrong default value for 'user_pictures' variable.
  • #1586166 by drumm, David_Rothstein: Fixed system_update_7013() and user_update_7002() should not call l().
  • #1956914 by pounard, David_Rothstein, chaby: Use a single cache_get_multiple() call per region instead of a cache_get() per block in _block_render_blocks().
  • #1860876 by pounard: Fixed module_implements_write_cache() should not drop caches when requesting with POST method.
  • #1839998 by wiifm, mcm.guaba, Josh Waihi, dcam: Fixed TruncateQuery implemented as 'DELETE FROM' in MySQL and SQLite, but not PostgreSQL, causing nefarious table locking.
  • #1216776 by illmasterc, Niklas Fiekas, dawehner: Fixed Two nested contextual links regions are active, when the outer region is hovered.
  • #1928690 by ovidyou | yark: Fixed Search block template: Undefined index: #type.
  • #1057656 by mondrake, chx | adrinux: Fixed Image styles don't flush for images stored non-default schemes.
  • #1392852 by Shawn DeArmond, bulldozer2003 | davidwbarratt: Fixed User registration form field displays when user field is locked accompanied by error message.
  • #2011436 by kalman.hosszu: Fixed line indent in dashboard.js.
  • #2011822 by pdrake: Fixed Trigger content (node) actions test assumes auto-increment increment of 1.
  • #2011780 by pdrake: Fixed Taxonomy vocabulary interface test assumes auto-increment increment of 1.
  • #1943282 by RobLoach, eporama: Fixed User Account Links Tests assumes certain menu link IDs.
  • #1975442 by thedavidmeister, dcam: Fixed drupal_render() should always return a string.
  • #238250 by markpavlitski | Xano: Fixed cache_clear_all()('*', 'block', TRUE); will TRUNCATE the {block} table without additional checks.
  • #670454 by pwolanin, cburschka, effulgentsia: Support HTTP Authorization in CGI environments.
  • #1813966 by Sylvain Lecoy: Remove __construct() from interfaces definition.
  • #1952196 by greggles, sandhya.m: Usability: if a user has just failed a login, default their username on password reset.
  • #1959110 by a.ross, fietserwin, markabur: Fixed theme_table() outputs the 'no_striping' option as an HTML attribute.
  • #1575060 followup by SebCorbin, andypost: Second attempt to fix broken ajax_html_ids for forms with file element (encoding=multipart/form-data).
  • #1416506 by yched, Damien Tournoud, swentel: Fixed Field schema foreign keys support is broken.
  • #2055019 by colan: Fixed Syslog configure link missing on Extend/Modules page.
  • #2031319 by jlindsey15, pplantinga, thedavidmeister, Kingdutch, Kiphaas7: Document that theme() should really be called via drupal_render().
  • #1034828 by Steven Jones, Bladedu, brunodbo | Rob C: Fixed 'No active batch' error after user cancelling own account.
  • #1305814 by elachlan, giammi, TonyK, mdupont: Fix up hook_exit() docs accuracy
  • #1365234 by TravisCarden, amontero, Kevin Morse, bartmcpherson, xjm: Add description to 'access content overview' permission.
  • #2038059 by Elijah Lynn, longwave, aaronott: Fix grammar in bootstrap.inc docs
  • #2038629 by sambonner: Fix first line docs for drupal_goto().
  • #1797120 by dcam, lazysoundsystem, Lars Toomre, xjm: Remove t() from test asserts in various system tests
  • #1797914 by lazysoundsystem, dcam, izus, Lars Toomre: Remove t() from test assertions in various system tests
  • #2033151 by mavimo, longwave: Fix typo in field.api.php API docs
  • #2002182 by w00zle: Convert hook_filter_info docs to use new callback function standard
  • #2027351 by micnap, longwave, helenkim: Fix up grammar and awkward parens in API docs in menu.inc
  • #1797252 by dcam, lazysoundsystem, pwieck, andypost, Lars Toomre, xjm: Remove t() from test assertions in file-related tests
  • #2028599 by maximpodorov, andypost: Remove extra spaces in field.install
  • #1850798 by damiankloip, ACF, geerlingguy, pfrenssen, David_Rothstein | mvc: Add a recursive version of array_diff_assoc().
  • #606598 by andypost, BarisW, stBorchert, David_Rothstein, sun, aspilicious, joachim, danielbeeke2, Sutharsan: Added human readable labels to image styles.
  • #1797286 by dcam, lazysoundsystem, xjm, Lars Toomre: Remove t() from test assertions in forum module
  • #1831540 by orb, sergeypavlenko, Berdir, andypost, podarok, cam8001, Gaelan: Rewrite examples for taxonomy hooks in taxonomy.api.php
  • #1797330 by xjm, Lars Toomre, dcam, lazysoundsystem: Remove t() from test assertions in help module
  • #1797508 by Lars Toomre, dcam, lazysoundsystem: Remove t() from test messages in search module
  • #1540094 by bdgreen, xjm, rootwork, dermario, killtheliterate, pesgyo, Noe_: Fix up documentation of node tests
  • #1797372 by chrisjlee, lazysoundsystem, dcam, xjm, Lars Toomre: Remove t() from test assertions in path module
  • #1797510 by Lars Toomre, xjm, lazysoundsystem, dcam: Remove t() from test assertions in shortcut module
  • #1797366 by Lars Toomre, lazysoundsystem, dcam: Remove t() from test assertions in translation module
  • #1797366 by xjm, lazysoundsystem, dcam: Remove t() from test assertions in menu module
  • #2012898 by mcjim: Trivial Patch of the Month candidate: Fix indefinite article in book.module documentation
  • #1948564 by sarahdavies, bdgreen, joachim: Move search callback function out of hooks group and into callbacks group in search.api.php
  • #839634 by aaronott, jhodgdon, drunken monkey, rocket_nova, Berdir: Make documentation for table sorting match what the code does
  • #1797200 by dcam, K.MacKenzie, Lars Toomre, xjm: Remove t() from test assertions in node.module tests
  • #1811520 by JacobSanford, lirantal: Add section tags to theme, hook_menu, and t documentation.
  • #2000140 by sarahdavies: Remove stray text in callbacks topic docblock
  • #787876 by David_Rothstein, zero2one, dcam | avior: Added code comment to clarify why the "autocomplete" attribute is used on the current password field on the user form.
  • #1739986 by RobLoach, pwolanin, sun, Berdir, moshe weitzman, andypost, dcam: Fixed fallback in drupal_get_hash_salt(), move it to bootstrap.inc, use instead of $GLOBALS['drupal_hash_salt()'].
  • #1798366 by dcam, cilefen, Lars Toomre: Remove t() from test asserts in Tracker module
  • #1797374 by dcam, lazysoundsystem, xjm, Lars Toomre, Mile23: Remove t() from test assertions in PHP module
  • #1798384 by dcam, Lars Toomre, Mile23: Remove t() from test assertions in Update module
  • #1948564 by bdgreen, aitiba, joachim: Document hook_search_info() callback using new callback definition standard
  • #1797452 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in various system tests
  • #1980072 by David_Rothstein: Fix inaccurate text in documentation for drupal_uninstall_modules
  • #1204784 by bdgreen, Kevin Morse, valthebald, kiamlaluno, droplet: Fix code comment in drupal_retrieve_form
  • #1980072 by TravisCarden: Improve documentation of drupal_uninstall_modules
  • #1984190 by markpavlitski: Fix bullet list formatting in hook_install_tasks doc
  • #1966958 by markpavlitski, joachim: Add param docs to user_login_finalize
  • #1797410 by dcam, izus, Lars Toomre: Remove t() from test asserts in misc system tests
  • #1797920 by dcam, izus, Lars Toomre: Remove t() from test asserts in misc system tests
  • #1797926 by dcam, izus, Lars Toomre: Remove t() from test asserts in misc system tests
  • #1797318 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in form system tests
  • #1797296 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in file system tests
  • #1797220 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in entity system tests
  • #1797360 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in locale and path module backported from D8 language module
  • #1742830 by dcam, izus, lazysoundsystem, andypost, Lars Toomre: Remove t() from test asserts in contact module
  • #1797106 by dcam, izus, xjm, lazysoundsystem, zuuperman, Lars Toomre: Remove t() from test asserts in field module
  • #1797272 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in filter module
  • #1797328 by dcam, izus, xjm, Lars Toomre: Remove t() from test asserts in image module
  • #1936166 by markpavlitski: Add information on passing args by reference to module_invoke functions doc
  • #1786740 by shanethehat: Fix up docs for field_update_instance()
  • #1797242 by xjm, dcam, Lars Toomre, izus: Remove t() from assert messages in xmlrpc module
  • #1797242 by xjm, dcam, Lars Toomre, izus: Remove t() from assert messages in field_ui module
  • #1797242 by dcam, Lars Toomre, izus: Remove t() from assert messages in user module
  • #1797242 by dcam, lazysoundsystem, xjm, Lars Toomre, izus: Remove t() from assert messages in dblog module
  • #1973762 by chx, cosmicdreams, yched: Add example to field_info_field_map return docs
  • #1614108 by David_Rothstein: Remove documentation of visible in hook_field_extra_fields, since it does not exist (yet) in D7
  • #1966948 by kiamlaluno: Upate reference to Drupal 6 hook in user_login_finalize
  • #1963206 by fgm: Add hook_schema_alter to scheamapi topic
  • #1961832 by foopang: Fix docs typo in field_ui.admin.inc
  • #1614108 by dcam, bartmcpherson, Xano: Add documentation to hook_field_extra_fields
  • #1173322 by dcam, javier_: Add example implementations for file hook documentation
  • #1964824 by chrisjlee: Fix typo in code comment
  • #1250500 by dcam, joachim, jhodgdon: Add topic for callback functions
  • #1811218 by chertzog, dozymoe, rootatwc: Fix args in hook_aggregator_process_info docs
  • #1958578 by chertzog: Fix see reference to nonexistent function
  • #1797940 by dcam, Lars Toomre: Add missing docs in locale test method
  • #1962780 by David_Rothstein, petyovsky: Fixed 500 Internal server error on Apache 1.x servers after updating to Drupal 7.22.
  • #1906484 by dcam, smiletrl: Fix incorrect reference in field_ui_field_setting_form_submit() documentation
  • #1943664 by joachim: Use new standards to document entity info callback functions
  • #1933954 by Alexander Pyle: Fix up documentation for return value of hook_requirements
View change notices for this release
Official release from tag: 
7.23