Download Size md5 hash
drupal-7.17.tar.gz 3.02 MB 439e8ca7e6a33bb879a4624d8f01bed0
drupal-7.17.zip 3.44 MB 4a8c001d0cf87795cebf38bd73f10781
Last updated: November 7, 2012 - 21:55

Release notes

Maintenance release of the Drupal 7 series. Includes bugfixes 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.

No changes have been made to the .htaccess or robots.txt files in this release, so upgrading custom versions of those files is not necessary. Changes to the default settings.php file in this release include documentation fixes, additional (optional) configuration settings, and a new default value of the '404_fast_html' configuration setting. Upgrading custom versions of this file is not necessary, but may be useful if you want to take advantage of the new configuration settings.

Note that Drupal 7.17 makes a change to the Update Manager module to allow Drupal.org to collect usage statistics for individual modules and themes, rather than only for entire projects. The usage statistics will remain anonymous. (For more information on how usage statistics are collected from your site, see the online handbook entry for the Update Manager module.)

Known issues:

Major changes since 7.16:

  • Changed the default value of the '404_fast_html' variable to have a DOCTYPE declaration.
  • Made it possible to use associative arrays for the 'items' variable in theme_item_list().
  • Fixed a bug which prevented required form elements without a title from being given an "error" class when the form fails validation.
  • Prevented duplicate HTML IDs from appearing when two forms are displayed on the same page and one of them is submitted with invalid data (minor markup change).
  • Fixed a bug which prevented Drupal 6 to Drupal 7 upgrades on sites which had stale data in the Upload module's database tables.
  • Fixed a bug in the States API which prevented certain types of form elements from being disabled when requested.
  • Allowed aggregator feed items with author names longer than 255 characters to have a truncated version saved to the database (rather than causing a fatal error).
  • Allowed aggregator feed items to have URLs longer than 255 characters (schema change which results in several columns in the Aggregator module's database tables changing from VARCHAR to TEXT fields).
  • Added hook_taxonomy_term_view() and standardized the process for rendering taxonomy terms to invoke hook_entity_view() and otherwise make it consistent with other entities (API change: http://drupal.org/node/1808870).
  • Added hook_entity_view_mode_alter() to allow modules to change entity view modes on display (API addition: http://drupal.org/node/1833086).
  • Fixed a bug which made database queries running a "LIKE" query on blob fields fail on PostgreSQL databases. This caused errors during the Drupal 6 to Drupal 7 upgrade.
  • Changed the hook_menu() entry for Drupal's rss.xml page to prevent extra path components from being accidentally passed to the page callback function (data structure change).
  • Removed a non-standard "name" attribute from Drupal's default Content-Type header for file downloads.
  • Fixed the theme settings form to properly clean up submitted values in $form_state['values'] when the form is submitted (data structure change).
  • Fixed an inconsistency by removing the colon from the end of the label on multi-valued form fields (minor string change).
  • Added support for 'weight' in hook_field_widget_info() to allow modules to control the order in which widgets are displayed in the Field UI.
  • Updated various tables in the OpenID and Book modules to use the default "empty table" text pattern (string change).
  • Added proxy server support to drupal_http_request().
  • Added "lang" attributes to language links, to better support screen readers.
  • Fixed double occurrence of a "ul" HTML tag on secondary local tasks in the Seven theme (markup change).
  • Fixed bugs which caused taxonomy vocabulary and shortcut set titles to be double-escaped. The fix replaces the taxonomy vocabulary overview page and "Edit shortcuts" menu items' title callback entries in hook_menu() with new functions that do not escape HTML characters (data structure change).
  • Modified the Update manager module to allow drupal.org to collect usage statistics for individual modules and themes, rather than only for entire projects.
  • Modified the node listing database query on Drupal's default front page to add table aliases for better query altering (this is a data structure change affecting code which implements hook_query_alter() on this query).
  • Improved the translatability of the "Field type(s) in use" message on the modules page (admin-facing string change).
  • Fixed a regression which caused a "call to undefined function drupal_find_base_themes()" fatal error under rare circumstances.
  • Numerous API documentation improvements.
  • Additional automated test coverage.

All changes since 7.16:

  • #1067120 followup by David_Rothstein, Berdir: Fix backwards compatibility issues for Drupal 7 on the taxonomy term page, and small documentation fixes.
  • #1824016 by scuts: Fix confusing name of Node test method
  • #1827200 by benjifisher: Fix up documentation for system_authorized_init()
  • #1821024 by scuts, mjonesdinero: Fix up docs for drupal_add_js
  • #1816148 by BTMash, David_Rothstein | Irous: Removed system_update_7075() for now, since it's causing problems.
  • #1154382 followup by plach: Fixed several issues with the newly-added hook_entity_view_mode_alter().
  • #1812822 by larowlan, _wdm_: Fixed field_test_entity_info() does not set a 'label' on the Test Entity.
  • #1828876 by geekyMoa: Fixed Simpletest HTML5 field support.
  • #1436814 by gary4gar, kid_icarus, netol, webchick, droplet, andypost: Fixed Fast 404 'Not found' pages are missing a doctype.
  • #1809836 by danillonunes: Fixed theme_item_list() is broken when 'items' variable is an associative array.
  • #1785436 by Boobaa: Fixed Submission of #required elements without #title and empty value does not display any error.
  • #1414510 by andypost, Spleshka, perelman.yuval, tim.plunkett: Fixed Remove drupal_reset_static() for drupal_html_id() when form validation fails.
  • #1586542 follow-up by Eric_A: Explicitly declare dependencies of system_update_7061.
  • #1586542 by BTMash, carwin, xjm, gwulo: Fixed d6 to d7 upgrade stuck at update #7061.
  • #1777270 by Devin Carlson, ssm2017 Binder, caelon, barraponto, ross9885: Fixed bug which prevented users with passwords over 60 characters from logging in via the user login block.
  • #934714 by swentel, caiovlp, dcam | Coornail: Fixed Cannot add frontpage as shortcut.
  • #1816858 by bleen18: Clean-up for Syslog module docs
  • #1817484 by tomgeekery, kiamlaluno: Fixed The search_form_submit() function contains a 'return' statement right at the end of the function.
  • #1441180 by scor, avr, Devin Carlson: Fixed hook_requirements() REQUIREMENT_ERROR broadcasting.
  • #1006042 by ksenzee, grendzy, scor: Fixed Links outside the overlay with existing fragments are broken.
  • #1539164 by Birk: Fixed Menu machine_name() label says 'URL path'.
  • #1820960 by xjm: BTMash's username has incorrect case in MAINTAINERS.txt.
  • #1797370 by lazysoundsystem, xjm: Remove t() from openid test assertion messages
  • #1814760 by tomgeekery: Remove outdated documentation from dblog_cron()
  • #1741338 by lazysoundsystem: Remove t() from test asserts in block module
  • #909954 by barraponto: Document base hook component in hook_theme
  • #1346772 by xjm, scor: Fixed StatisticsLoggingTestCase->testLogging() fails with clean URLs in some environments.
  • #1741328 by lazysoundsystem: Remove t() from test asserts in aggregator module
  • #1398404 by dcam, batigolix, NROTC_Webmaster, aLearner: Clean up API docs for overlay module
  • #372416 by naxoc: Remove refs to nonexistent theme function in docs
  • #1553704 by eddie_c: Fix up fast 404 docs in settings.php
  • #1263302 by andypost, peterpoe: Fixed States API disabled state handler filters out nonexistent class 'form-element'.
  • #1622974 by xjm, iflista, brianV: Fixed Aggregator fails to parse author entries longer than 255 characters.
  • #1742602 by dcam, Lars Toomre, xjm, lazysoundsystem: Remove t() from assert messages in comment module tests
  • #1798858 by paranojik: Remove t() from getInfo() in database tests
  • #1592962 by mikeryan: Fixed Notice generated when programmatically creating a forum node.
  • #1807688 by Lars Toomre: small docs cleanup in book module
  • #1803194 by alextataurov: Add return docs for module_hook_info() function
  • #1317626 by Albert Volkman: More API docs cleanup for includes H-M files
  • #1799116 by jwilson3: Standardize on installation profile terminology
  • #1802760 by mkadin, peterx: Document that menu_get_item() can return FALSE
  • #218004 by Dave Reid, heyrocker, pcambra, neclimdul, alex_b, cam8001, twistor, mfb, catch, xjm, beeradb: Fixed Allow aggregator feed URLs longer than 255 characters.
  • #1134088 by Cottser, catch: Properly document update-api functions
  • #1539940 by jwilson3, ryanissamson, infiniteluke, mrf: Fix up sites readme files
  • #1382222 by Albert Volkman: API docs cleanup for file transfer functions
  • #1677830 by slashrsm: Improve docs for user and node hooks in regards to database transactions
  • #1492378 by tim.plunkett, scottalan, xjm: Document how to use slashes in autocompletes
  • #1797520 by dcam, Lars Toomre: Remove t() from test assertions in statistics module
  • #1797516 by dcam, Lars Toomre: Remove t() from test assertions in syslog module
  • #1197622 by lyricnz, xjm, tim.plunkett, Cottser: Fixed My account (disabled).
  • #1067120 by BTMash, DamienMcKenna, corvus_ch, valthebald, mrfelton, fgm, Dave Reid: Fixed Missing hook_taxonomy_term_view() or hook_entity_view() when viewing a term.
  • #1038932 by tim.plunkett, Chris Gillis: Theme_image_formatter() assumes that title, alt, and options are always set.
  • #1780012 by dewens: Fixed "parameter 1 expected to be a reference" error in Profile module's hook_user_cancel() implementation.
  • #1037632 by Sheldon Rampton, Tor Arne Thune, roy smith: Fixed Attaching a forbidden file to a node gives an error message with bogus file path.
  • #1057912 by bfroehle, mgifford, bowersox, tarekdj, geerlingguy, hgurol: Fixed Weird Border on Vertical Tabs with Google Chrome and Safari caused by .element-invisible.
  • #1317626 by Albert Volkman, xjm: Clean up API docs for include files H-M
  • #1802844 by antojose: Fixed 'have to' repeated twice as 'have to have to' in the comment for the function hook_module_implements_alter() in system.api.php.
  • #1797376 by dcam, xjm: remove t() from test assertions in poll module
  • #1791090 by Ivan Zugec: Remove admin paths from aggregator hook docs
  • #1778986 by yched: Fixed drupal-7.filled.standard_all() test db dump has invalid widget info.
  • #1798302 by alippai: Fixed Remove unnecessary join.
  • #1154382 by Berdir, barraponto, acouch, swentel, LoMo, DamienMcKenna, chx: Fixed View mode no longer can be changed.
  • #1786124 by xjm, dcam: Clean up node access pager test.
  • #1575790 by greg.1.anderson, sun, tim.plunkett, superhenne: Fixed Update #7002 fails on postgres - ILIKE operator on bytea not supported.
  • #932110 by Albert Volkman, David_Rothstein, marji, jurgenhaas, dcam: On some servers, the Update Manager allows administrators to directly execute arbitrary code even without the PHP module. (Documentation fix)
  • #1186886 by Albert Volkman, Mile23: Fix up docs for hook_node_load
  • #863428 by Albert Volkman: Clean-up of cache constant documentation
  • #1791614 by jessebeach: Added jessebeach as JavaScript maintainer.
  • #1410260 by swentel, mojzis, droplet, pingers, drupdan3: Fixed rss.xml/whatever triggers PHP error.
  • #1293308 follow-up by David_Rothstein: Remove brackets around email address.
  • #1785392 by BWPanda: Fix reference and grammar in hook_field_formatter_info_alter documentation
  • #1742958 by DamienMcKenna: Fix capitalization of URL and other acronyms
  • #1722244 by Albert Volkman, edb: Add return docs for drupal_get_destination function
  • #1773032 by Jorrit: Fixed Non-standard and pointless name attribute added to Content-Type header.
  • #1761086 by cam8001, Berdir, larowlan: Fixed Caching in image_effects_definitions() broken.
  • #1397882 by sun, kbasarab, catch, pingers: Fixed system_theme_settings_submit() does not properly clean up submitted form values.
  • #1739808 by Berdir, salvis | GrzegorzNowak: Fixed Notice: Undefined index: file in DatabaseLog->findCaller().
  • #1239410 by cangeceiro, swentel, jbrown: Fixed watchdog() should use php's time() to log time of event.
  • #1293308 by Heine: Update Maintainers.txt to remove Heine, who is on sabbatical.
  • #863428 by Albert Volkman, Mile23: Fix up documentation for block cache constants
  • #1783348 by jfhovinne: Fix syntax in format_plural example
  • #1595594 by Devin Carlson, Alan D.: Path modules node alter uses collapsible and collapsed attributes in the 'alias' text field.
  • #1507556 by C. Lee, IshaDakota: Fixed Remove colon from label for multi-valued field form.
  • #1704422 by sun, dcam: Fixed Error level constants cannot be used in settings.php.
  • #1757540 by trogels: Fixed 'implements' instead of 'implementation of'.
  • #1571076 by droplet, yohannbzh: Fixed Plural formula field only accepts 128 characters.
  • #1739592 by Albert Volkman, andy.hails, dawehner: Add return docs to a couple of functions
  • #262690 by Albert Volkman: Use correct name for Form API not Forms API
  • #1779120 by TravisCarden: Improve documentation of l function
  • #1555294 by Pol, tim.plunkett, oriol_e9g, cristinawithout, gagarine, dcam: Fixed Vocabulary title HTML entities are double encoded.
  • #1586356 by dww, amateescu: Fixed Missing 'weight' support from hook_field_widget_info() makes it impossible to sanely order widgets.
  • #1753976 by jfhovinne, savithac, PrabhuG: Remove return value docs from file download alter hook that should not be there
  • #699604 by cam8001, nmudgal: Use file name for links to form API reference instead of full URL
  • #1765918 by TravisCarden: Fix docs for drupal_get_messages function
  • #1691438 by Dave Reid, CrashTest_, quicksketch, jbrown, Devin Carlson: Fixed Regression: {file_managed()}.filename should NOT be binary (and case-sensitive by default).
  • #1473198 by kika, roborn: Fixed Empty table pattern for 'Edit [book's] order and titles' admin page.
  • #1473214 by kika, nmudgal, roborn: Fixed Empty table pattern for 'OpenID identities' user page.
  • #7881 by mikeytown2, effulgentsia, gwynnebaer, Patrizio, sylus, pwolanin, David_Rothstein: Add support to drupal_http_request() for proxy servers.
  • #1164682 by mgifford, good_man, mvc, clemens.tolboom, sxnc, lazysoundsystem: Fixed Switch language links need language identifier.
  • #1754712 by TravisCarden, Bußmeyer, pingers: Fixed @return unknown_type() should be @return mixed.
  • #932110 by dcam, Albert Volkman, jurgenhaas, marji, David_Rothstein: Add note to settings.php about updates and security
  • #1751072 by swentel: Add swentel as co-maintainer to Fields and Field UI system.
  • #1359500 by Devin Carlson, theborg: Fixed Minor html bug in Seven's page.tpl.php (double occurrence of "ul" on secondary local tasks).
  • #794192 by kim.pepper: add note to hook_update_N docs about calling functions from modules
  • #1706926 by Ivan Zugec, eddie_c: Fix docs for theme_tableselect to have working code example
  • #1363358 by David_Rothstein: Fixed Shortcut set titles are double-escaped with check_plain().
  • #171267 by tim.plunkett, chx, NROTC_Webmaster, dcam: Fixed form redirects removes get variables like sort and order.
  • #1036780 by Mike Wacker, tim.plunkett | cafuego: Enabled Drupal.org to collect stats on enabled sub-modules and core modules.
  • #716496 by killtheliterate, rootwork: Make sure all core template files are in themeable group
  • #1751612 by junedkazi: fix link formatting in documentation
  • #1751650 by Ivan Zugec: comment formatting
  • #1747826 by seutje: Add seutje to MAINTAINERS.txt as co-maintainer of the JavaScript component.
  • #1613554 by drumm, BTMash: Fixed Update menu link queries from 6's strings.
  • #1688020 by ishanmahajan, HUU: Fix group header for extra 7.x updates functions
  • #1018324 by Albert Volkman, webbykat, disasm, jhr, jorap: Fix up documentation for multisite
  • #1728472 by plopesc: Add link from form alter hooks to form API reference
  • #1577938 by m-abshir, trogels, jhodgdon: taxonomy_vocabulary_save() documentation needs clarification: new vocabulary versus updating vocabulary.
  • #1722244 by Albert Volkman, edb: Add return docs to drupal_get_destination function
  • #1734482 by plopesc: Add return section to field_info_instance docs
  • #1472724 by jibran, balsama, kiamlaluno, asrob, mjonesdinero: Clean up i.e. and e.g. in node.tpl.php docs
  • #1558478 follow-up by tim.plunkett, Berdir, chx: Fixed tests for SA-CORE-2012-002 - Access bypass - content administration.
  • #1507988 follow-up by Berdir, chx, webchick, Xenza: Fixed tests for SA-CORE-2012-002.
  • #1627654 by jhodgdon, marcin.wosinek: Fix up docs in drupal_redirect_form for accuracy
  • #1715326 by kid_icarus, oriol_e9g, dsdeiz: Fixed taxonomy_get_tree() typo on comments...
  • #1485966 by vegantriathlete: Correct function header to comply with coding standards.
  • #1728568 by e2thex, oriol_e9g: Fixed Add table alias in node query conditions to avoid ambiguous fields.
  • #1477516 by JThan, Emin Sulaiman: Change language name from 'Uighur' to 'Uyghur'.
  • #1448326 by anavarre, Cottser, jibran, jhodgdon: Fixed MAINTAINERS.txt should use different punctuation around URLs.
  • #1670312 by dsdeiz, oriol_e9g, tstoeckler: Fixed TestBase::generatePermutations() should call itself by the proper name in PHPDoc.
  • #1679594 by sun: Fixed node_requirements() breaks Drupal installer.
  • #803294 by wojtha, mfb, c960657, Heine, oriol_e9g: Fixed OpenID discovery and login tests fail on HTTPS site.
  • #1054162 by tim.plunkett, Transition, Dave Reid, joachim, no_commit_credit, Berdir, marcingy, damiankloip: Taxonomy bundles not supported by EntityFieldQuery (followup).
  • #1343768 by JamesOakley, eMPee584: Fixed make update_calculate_project_update_status() work nicely with HEAD releases.
  • #1688016 by sun, lucascaro: Fixed drupal_cron_run() unconditionally re-enables writing of the user session.
  • #1688036 by lucascaro, sun: Fixed Session regenerate and destroy functions do not adhere to drupal_save_session().
  • #1715402 by mikeryan: Fixed Poor performance of _forum_update_forum_index() when passed a non-forum node.
  • #1685110 by BTMash, aspilicious, jhodgdon: Fixed Upgrade of forum.module d6-d7 loses permission.
  • #1587822 by drumm, bfroehle: Code style: link in field_system_info_alter().
  • #1211668 by scito, Devin Carlson, bornholtz: Fixed Special characters are encoded twice for feed icon attribute title.
  • #1671200 by chx, sun, jaimealsilva: Fixed Simpletest broken on 5.4: CURLOPT_COOKIEJAR cannot be NULL on php5-curl version 5.4.4.
  • #1716900 by chx: Clarify why hook_exit() must not print.
  • #1684866 by droplet, nod_, oriol_e9g: Fixed JSHint shortcut.
  • #1708722 by David_Rothstein: Fixed Call to undefined function drupal_find_base_themes() in drupal-7.15/includes/module.inc on line 184.
  • #1315340 by Albert Volkman, aspilicious: API docs cleanup for entity includes and tests
  • #1436272 by Albert Volkman, colette, dandaman, coolestdude1: Add information to documentation of drupal_bootstrap function
  • #1705102 by dsdeiz: Fix reference to nonexestent hook in EntityFieldQuery docs
  • #1703184 by m-abshir: Clarify table parameter in db_rename_table function doc
  • #1681468 by eddie_c: Add params and return to documentation for field_default_form function
View change notices for this release
Official release from tag: 
7.17