You are here

CHANGELOG.txt in Drupal 7

Same filename and directory in other branches
  1. 4 CHANGELOG.txt
  2. 5 CHANGELOG.txt
  3. 6 CHANGELOG.txt
Drupal 7.xx, xxxx-xx-xx (development version)
-----------------------

Drupal 7.82, 2021-07-21
-----------------------
- Fixed security issues:
   - SA-CORE-2021-004

Drupal 7.81, 2021-06-02
-----------------------
- Block Google FLoC by default
- Testing and accessibility enhancements
- Various bug fixes, optimizations and improvements

Drupal 7.80, 2021-04-20
-----------------------
- Fixed security issues:
   - SA-CORE-2021-002

Drupal 7.79, 2021-04-07
-----------------------
- Initial support for PHP 8
- Support for SameSite cookie attribute
- Avoid write for unchanged fields (opt-in)

Drupal 7.78, 2021-01-19
-----------------------
- Fixed security issues:
   - SA-CORE-2021-001

Drupal 7.77, 2020-12-03
-----------------------
- Hotfix for schema.prefixed tables

Drupal 7.76, 2020-12-02
-----------------------
- Support for MySQL 8
- Core tests pass in SQLite
- Better user flood control logging

Drupal 7.75, 2020-11-26
-----------------------
- Fixed security issues:
   - SA-CORE-2020-013

Drupal 7.74, 2020-11-17
-----------------------
- Fixed security issues:
   - SA-CORE-2020-012

Drupal 7.73, 2020-09-16
-----------------------
- Fixed security issues:
   - SA-CORE-2020-007

Drupal 7.72, 2020-06-17
-----------------------
- Fixed security issues:
   - SA-CORE-2020-004

Drupal 7.71, 2020-06-03
-----------------------
- Fix for jQuery Form bug in Chromium-based browsers
- Full support for PHP 7.4

Drupal 7.70, 2020-05-19
-----------------------
- Fixed security issues:
   - SA-CORE-2020-002
   - SA-CORE-2020-003

Drupal 7.69, 2019-12-18
-----------------------
- Fixed security issues:
   - SA-CORE-2019-012

Drupal 7.68, 2019-12-04
-----------------------
- Fixed: Hide toolbar when printing
- Fixed: Settings returned via ajax are not run through hook_js_alter()
- Fixed: Use drupal_http_build_query() in drupal_http_request()
- Fixed: DrupalRequestSanitizer not found fatal error when bootstrap phase order is changed
- Fixed: Block web.config in .htaccess (and vice-versa)
- Fixed: Create "scripts" element to align rendering workflow to how "styles" are handled
- PHP 7.3: Fixed 'Cannot change session id when session is active'
- PHP 7.1: Fixed 'A non-numeric value encountered in theme_pager()'
- PHP 7.x: Fixed file.inc generated .htaccess does not cover PHP 7
- PHP 5.3: Fixed check_plain() 'Invalid multibyte sequence in argument' test failures
- Fixed: Allow passing data as array to drupal_http_request()
- Fixed: Skip module_invoke/module_hook in calling hook_watchdog (excessive function_exist)
- Fixed: HTTP status 200 returned for 'Additional uncaught exception thrown while handling exception'
- Fixed: theme_table() should take an optional footer variable and produce <tfoot>
- Fixed: 'uasort() expects parameter 1 to be array, null given in node_view_multiple()'
- [regression] Fix default.settings.php permission

Drupal 7.67, 2019-05-08
-----------------------
- Fixed security issues:
   - SA-CORE-2019-007

Drupal 7.66, 2019-04-17
-----------------------
- Fixed security issues:
   - SA-CORE-2019-006

Drupal 7.65, 2019-03-20
-----------------------
- Fixed security issues:
   - SA-CORE-2019-004

Drupal 7.64, 2019-02-06
-----------------------
- [regression] Unset the 'host' header in drupal_http_request() during redirect
- Fixed: 7.x does not have Phar protection and Phar tests are failing on Drupal 7
- Fixed: Notice: Undefined index: display_field in file_field_widget_value() (line 582 of /module/file/file.field.inc)
- Performance improvement: Registry rebuild should not parse the same file twice in the same request
- Fixed _registry_update() to clear caches after transaction is committed

Drupal 7.63, 2019-01-16
-----------------------
- Fixed a fatal error for some Drush users introduced by SA-CORE-2019-002.

Drupal 7.62, 2019-01-15
-----------------------
- Fixed security issues:
   - SA-CORE-2019-001
   - SA-CORE-2019-002

Drupal 7.61, 2018-11-07
-----------------------
- File upload validation functions and hook_file_validate() implementations are
  now always passed the correct file URI.
- The default form cache expiration of 6 hours is now configurable (API
  addition: https://www.drupal.org/node/2857751).
- Allowed callers of drupal_http_request() to optionally specify an explicit
  Host header.
- Allowed the + character to appear in usernames.
- PHP 7.2: Fixed Archive_Tar incompatibility.
- PHP 7.2: Removed deprecated function each().
- PHP 7.2: Avoid count() calls on uncountable variables.
- PHP 7.2: Removed deprecated create_function() call.
- PHP 7.2: Make sure variables are arrays in theme_links().
- Fixed theme-settings.php not being loaded on cached forms
- Fixed problem with IE11 & Chrome(PointerEvents enabled) & some Firefox scroll to the top of the page after dragging the bottom item with jquery 1.5 <-> 1.11

Drupal 7.60, 2018-10-18
------------------------
- Fixed security issues. See SA-CORE-2018-006.

Drupal 7.59, 2018-04-25
-----------------------
- Fixed security issues (remote code execution). See SA-CORE-2018-004.

Drupal 7.58, 2018-03-28
-----------------------
- Fixed security issues (remote code execution). See SA-CORE-2018-002.

Drupal 7.57, 2018-02-21
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2018-001.

Drupal 7.56, 2017-06-21
-----------------------
- Fixed security issues (access bypass). See SA-CORE-2017-003.

Drupal 7.55, 2017-06-07
-----------------------
- Fixed incompatibility with PHP versions 7.0.19 and 7.1.5 due to duplicate
  DATE_RFC7231 definition.
- Made Drupal core pass all automated tests on PHP 7.1.
- Allowed services such as Let's Encrypt to work with Drupal on Apache, by
  making Drupal's .htaccess file allow access to the .well-known directory
  defined by RFC 5785.
- Made new Drupal sites work correctly on Apache 2.4 when the mod_access_compat
  Apache module is disabled.
- Fixed Drupal's URL-generating functions to always encode '[' and ']' so that
  the URLs will pass HTML5 validation.
- Various additional bug fixes.
- Various API documentation improvements.
- Additional automated test coverage.

Drupal 7.54, 2017-02-01
-----------------------
- Modules are now able to define theme engines (API addition:
  https://www.drupal.org/node/2826480).
- Logging of searches can now be disabled (new option in the administrative
  interface).
- Added menu tree render structure to (pre-)process hooks for theme_menu_tree()
  (API addition: https://www.drupal.org/node/2827134).
- Added new function for determining whether an HTTPS request is being served
  (API addition: https://www.drupal.org/node/2824590).
- Fixed incorrect default value for short and medium date formats on the date
  type configuration page.
- File validation error message is now removed after subsequent upload of valid
  file.
- Numerous bug fixes.
- Numerous API documentation improvements.
- Additional performance improvements.
- Additional automated test coverage.

Drupal 7.53, 2016-12-07
-----------------------
- Fixed drag and drop support on newer Chrome/IE 11+ versions after 7.51 update
  when jQuery is updated to 1.7-1.11.0.

Drupal 7.52, 2016-11-16
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2016-005.

Drupal 7.51, 2016-10-05
-----------------------
- The Update module now also checks for updates to a disabled theme that is
  used as an admin theme.
- Exceptions thrown in dblog_watchdog() are now caught and ignored.
- Clarified the warning that appears when modules are missing or have moved.
- Log messages are now XSS filtered on display.
- Draggable tables now work on touch screen devices.
- Added a setting for allowing double underscores in CSS identifiers
  (https://www.drupal.org/node/2810369).
- If a user navigates away from a page while an Ajax request is running they
  will no longer get an error message saying "An Ajax HTTP request terminated
  abnormally".
- The system_region_list() API function now takes an optional third parameter
  which allows region name translations to be skipped when they are not needed
  (API addition: https://www.drupal.org/node/2810365).
- Numerous performance improvements.
- Numerous bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.50, 2016-07-07 
-----------------------
- Added a new "administer fields" permission for trusted users, which is
  required in addition to other permissions to use the field UI
  (https://www.drupal.org/node/2483307).
- Added clickjacking protection to Drupal core by setting the X-Frame-Options
  header to SAMEORIGIN by default (https://www.drupal.org/node/2735873).
- Added support for full UTF-8 (emojis, Asian symbols, mathematical symbols) on
  MySQL and other database drivers when the site and database are configured to
  allow it (https://www.drupal.org/node/2761183).
- Improved performance by avoiding a re-scan of directories when a file is
  missing; instead, trigger a PHP warning (minor API change:
  https://www.drupal.org/node/2581445).
- Made it possible to use any PHP callable in Ajax form callbacks, form API
  form-building functions, and form API wrapper callbacks (API addition:
  https://www.drupal.org/node/2761169).
- Fixed that following a password reset link while logged in leaves users unable
  to change their password (minor user interface change:
  https://www.drupal.org/node/2759023).
- Implemented various fixes for automated test failures on PHP 5.4+ and PHP 7.
  Drupal core automated tests now pass in these environments.
- Improved support for PHP 7 by fixing various problems.
- Fixed various bugs with PHP 5.5+ imagerotate(), including when incorrect
  color indices are passed in.
- Fixed a regression introduced in Drupal 7.43 that allowed files uploaded by
  anonymous users to be lost after form validation errors, and that also caused
  regressions with certain contributed modules.
- Fixed a regression introduced in Drupal 7.36 which caused the default value
  of hidden textarea fields to be ignored.
- Fixed robots.txt to allow search engines to access CSS, JavaScript and image
  files.
- Changed wording on the Update Manager settings page to clarify that the
  option to check for disabled module updates also applies to uninstalled
  modules (administrative-facing translatable string change).
- Changed the help text when editing menu links and configuring URL redirect
  actions so that it does not reference "Drupal" or the drupal.org website
  (administrative-facing translatable string change).
- Fixed the locale safety check that is used to ensure that translations are
  safe to allow for tokens in the href/src attributes of translated strings.
- Fixed that URL generation only works on port 80 when using domain based
  language negotation.
- Made method="get" forms work inside the administrative overlay. The fix adds
  a new hidden field to these forms when they appear inside the overlay (minor
  data structure change).
- Increased maxlength of menu link title input fields in the node form and
  menu link form from 128 to 255 characters.
- Removed meaningless post-check=0 and pre-check=0 cache control headers from
  Drupal HTTP responses.
- Added a .editorconfig file to auto-configure editors that support it.
- Added --directory option to run-tests.sh for easier test discovery of all
  tests within a project.
- Made run-tests.sh exit with a failure code when there are test fails or
  problems running the script.
- Fixed that cookies from previous tests are still present when a new test
  starts in DrupalWebTestCase.
- Improved performance of queries on the {authmap} database table.
- Fixed handling of missing files and functions inside the registry.
- Fixed Ajax handling for tableselect form elements that use checkboxes.
- Fixed a bug which caused ip_address() to return nothing when the client IP
  address and proxy IP address are the same.
- Added a new option to format_xml_elements() to allow for already encoded
  values.
- Changed the {history} table's node ID field to be an unsigned integer, to
  match the same field in the {node} table and to prevent errors with very
  large node IDs.
- Added an explicit page callback to the "admin/people/create" menu item in the
  User module (minor data structure change). Previously this automatically
  inherited the page callback from the parent "admin/people" menu item, which
  broke contributed modules that override the "admin/people" page.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.44, 2016-06-15
-----------------------
- Fixed security issues (privilege escalation). See SA-CORE-2016-002.

Drupal 7.43, 2016-02-24
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2016-001.

Drupal 7.42, 2016-02-03
-----------------------
- Stopped invoking hook_flush_caches() on every cron run, since some modules
  use that hook for expensive operations that are only needed on cache clears.
- Changed the default .htaccess and web.config to block Composer-related files.
- Added static caching to module_load_include() to improve performance.
- Fixed double-encoding bugs in select field widgets provided by the Options
  module. The fix deprecates the 'strip_tags' property on option widgets and
  replaces it with a new 'strip_tags_and_unescape' property (minor data
  structure change).
- Improved MySQL 5.7 support by changing the MySQL database driver to stop
  using the ANSI SQL mode alias, which has different meanings for different
  MySQL versions.
- Fixed a regression introduced in Drupal 7.39 which prevented autocomplete
  functionality from working on servers that are not configured to
  automatically recognize index.php.
- Updated the Archive_Tar PEAR package to the latest 1.4.0 release, to fix bugs
  with tar file handling on various operating systems.
- Fixed fatal errors on node preview when a field is displayed in the node
  teaser but hidden in the full node view. The fix removes a
  field_attach_prepare_view() call from the node_preview() function since it is
  redundant with one in the node preview theme layer.
- Improved the description of the "Trimmed" format option on text fields
  (translatable string change, and minor UI and data structure change).
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.41, 2015-10-21
-----------------------
- Fixed security issues (open redirect). See SA-CORE-2015-004.

Drupal 7.40, 2015-10-14
-----------------------
- Made Drupal's code for parsing .info files run much faster and use much less
  memory.
- Prevented drupal_http_request() from returning an error when it receives a
  201 through 206 HTTP status code.
- Added support for autoloading traits via the registry on sites running PHP
  5.4 or higher.
- Allowed the user-picture.tpl.php theme template to have HTML classes besides
  the default "user-picture" class printed in it (markup change).
- Fixed the URL text filter to convert e-mail addresses with plus signs into
  mailto: links.
- Added alternate text to file icons displayed by the File module, to improve
  accessibility (string change, and minor API addition to theme_file_icon()).
- Changed one-time login link failure messages to be displayed as errors or
  warnings as appropriate, rather than as regular status messages (minor UI
  change and data structure change).
- Changed the default settings.php configuration to exclude private files from
  the "404_fast_paths" behavior.
- Changed the page that displays filter tips for a particular text format, for
  example filter/tips/full_html, to return "page not found" or "access denied"
  if the format does not exist or the user does not have access to it. This
  change adds a new menu item to the Filter module's hook_menu() entry (minor
  data structure change).
- Added a new hook, hook_block_cid_parts_alter(), to allow modules to alter the
  cache keys used for caching a particular block.
- Made drupal_set_message() display and return messages when "0" is passed in
  as the message to set.
- Fixed non-functional "Files displayed by default" setting on file fields.
- The "worker callback" provided in hook_cron_queue_info() and the "finished"
  callback specified during batch processing can now be any PHP callable
  instead of just functions.
- Prevented drupal_set_time_limit() from decreasing the time limit in the case
  where the PHP maximum execution time is already unlimited.
- Changed the default thousand marker for numeric fields from a space ("1 000")
  to nothing ("1000") (minor UI change: https://www.drupal.org/node/1388376).
- Prevented malformed theme .info files (without a "name" key) from causing
  exceptions during menu rebuilds. If an .info file without a "name" key is
  found in a module or theme directory, Drupal will now use the module or
  theme's machine name as the display name instead.
- Made the format column in the {date_format_locale} database table
  case-sensitive, to match the equivalent column in the {date_formats} table.
- Fixed a bug in the Statistics module that caused JavaScript files attached to
  a node while it is being viewed to be omitted from the page.
- Added an optional 'project:' prefix that can be added to dependencies in a
  module's .info file to indicate which project the dependency resides in (API
  addition: https://www.drupal.org/node/2299747).
- Fixed various bugs that occurred after hooks were invoked early in the Drupal
  bootstrap and that caused module_implements() and drupal_alter() to cache an
  incomplete set of hook implementations for later use.
- Set the X-Content-Type-Options header to "nosniff" when possible, to prevent
  certain web browsers from picking an unsafe MIME type.
- Prevented the database API from executing multiple queries at once on MySQL,
  if the site's PHP version is new enough to do so. This is a secondary defense
  against SQL injection (API change: https://www.drupal.org/node/2463973).
- Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused the upgrade
  to fail when there were multiple file records pointing to the same file.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.39, 2015-08-19
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-003.

Drupal 7.38, 2015-06-17
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-002.

Drupal 7.37, 2015-05-07
-----------------------
- Fixed a regression in Drupal 7.36 which caused certain kinds of content types
  to become disabled if they were defined by a no-longer-enabled module.
- Removed a confusing description regarding automatic time zone detection from
  the user account form (minor UI and data structure change).
- Allowed custom HTML tags with a dash in the name to pass through filter_xss()
  when specified in the list of allowed tags.
- Allowed hook_field_schema() implementations to specify indexes for fields
  based on a fixed-length column prefix (rather than the entire column), as was
  already allowed in hook_schema() implementations.
- Fixed PDO exceptions on PostgreSQL when accessing invalid entity URLs.
- Added a sites/all/libraries folder to the codebase, with instructions for
  using it.
- Added a description to the "Administer text formats and filters" permission
  on the Permissions page (string change).
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.36, 2015-04-01
-----------------------
- Added a 'file_public_schema' variable which allows modules that define
  publicly-accessible streams in hook_stream_wrappers() to bypass file download
  access checks when processing managed file upload fields.
- Fixed a bug that caused database query tags not to be added to search-related
  database queries under many circumstances, and which prevented the
  corresponding hook_query_TAG_alter() implementations from being called.
- Fixed the "for" attribute on managed file upload field labels to improve
  accessibility (minor markup change).
- Added a 'javascript_always_use_jquery' variable which can be set to FALSE by
  sites that may not need jQuery loaded on all pages, and a 'requires_jquery'
  option to drupal_add_js() which modules can set to FALSE when adding
  JavaScript files that have no dependency on jQuery (API addition:
  https://www.drupal.org/node/2462717).
- Fixed incorrect foreign keys in the User module's role_permission and
  users_roles database tables.
- Changed permission descriptions throughout Drupal core to consistently link
  to relevant administrative pages, regardless of whether the user viewing the
  Permissions page can view the page being linked to (minor UI change).
- Fixed the drupal_add_region_content() function so that it actually adds
  content to the page.
- Added an 'image_suppress_itok_output' variable to allow sites already using
  the existing 'image_allow_insecure_derivatives' variable to also prevent
  security tokens from appearing in image derivative URLs.
- Fixed double-escaping of theme names in the Block module administrative
  interface (minor string change).
- Added basic support for Xdebug when running automated tests.
- Fixed a bug which caused previewing a node to remove elements from the node
  being edited. With this fix, calling node_preview() will no longer modify the
  passed-in node object (minor API change).
- Added a user_has_role() function to check whether a user has a particular
  role (API addition: https://www.drupal.org/node/2462411).
- Fixed installation failures when an opcode cache is enabled.
- Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused private
  files to be inaccessible.
- Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused user
  pictures to be lost.
- Fixed missing language code in hook_field_attach_view_alter() when it is
  invoked from field_view_field().
- Stopped sending ETag and Last-Modified headers for uncached page requests,
  since they break caching for certain Varnish and Nginx configurations.
- Changed the Simpletest module to allow PSR-4 test classes to be used in
  Drupal 7.
- Fixed a fatal error that occurred when using the Comment module's "Unpublish
  comment containing keyword(s)" action.
- Changed the "lang" attribute on language links to "xml:lang" so it validates
  as XHTML (minor markup change).
- Prevented the form API from allowing arrays to be submitted for various form
  elements, such as textfields, textareas, and password fields (API change:
  https://www.drupal.org/node/2462723).
- Fixed a bug in the Contact module which caused the global user object to have
  the incorrect name and e-mail address during the remainder of the page
  request after the contact form is submitted.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.35, 2015-03-18
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-001.

Drupal 7.34, 2014-11-19
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-006.

Drupal 7.33, 2014-11-07
-----------------------
- Began storing the file modification time of each module and theme in the
  {system} database table so that contributed modules can use it to identify
  recently changed modules and themes (minor data structure change to the
  return value of system_get_info() and other related functions).
- Added a "Did you mean?" feature to the run-tests.sh script for running
  automated tests from the command line, to help developers who are attempting
  to run a particular test class or group.
- Changed the date format used in various HTTP headers output by Drupal core
  from RFC 1123 format to RFC 7231 format.
- Added a "block_cache_bypass_node_grants" variable to allow sites which have
  node access modules enabled to use the block cache if desired (API addition).
- Made image derivative generation HTTP requests return a 404 error (rather
  than a 500 error) when the source image does not exist.
- Fixed a bug which caused user pictures to be removed from the user object
  after saving, and resulted in data loss if the user account was subsequently
  re-saved.
- Fixed a bug in which field_has_data() did not return TRUE for fields that
  only had data in older entity revisions, leading to loss of the field's data
  when the field configuration was edited.
- Fixed a bug which caused the Ajax progress throbber to appear misaligned in
  many situatons (minor styling change).
- Prevented the Bartik theme from lower-casing the "Permalink" link on
  comments, for improved multilingual support (minor UI change).
- Added a "preferred_menu_links" tag to the database query that is used by
  menu_link_get_preferred() to find the preferred menu link for a given path,
  to make it easier to alter.
- Increased the maximum allowed length of block titles to 255 characters
  (database schema change to the {block} table).
- Removed the Field module's field_modules_uninstalled() function, since it did
  not do anything when it was invoked.
- Added a "theme_hook_original" variable to templates and theme functions and
  an optional sitewide theme debug mode, to provide contextual information in
  the page's HTML to theme developers. The theme debug mode is based on the one
  used with Twig in Drupal 8 and can be accessed by setting the "theme_debug"
  variable to TRUE (API addition).
- Added an entity_view_mode_prepare() API function to allow entity-defining
  modules to properly invoke hook_entity_view_mode_alter(), and used it
  throughout Drupal core to fix bugs with the invocation of that hook (API
  change: https://www.drupal.org/node/2369141).
- Security improvement: Made the database API's orderBy() method sanitize the
  sort direction ("ASC" or "DESC") for queries built with db_select(), so that
  calling code does not have to.
- Changed the RDF module to consistently output RDF metadata for nodes and
  comments near where the node is rendered in the HTML (minor markup and data
  structure change).
- Added an HTML class to RDFa metatags throughout Drupal to prevent them from
  accidentally affecting the site appearance (minor markup change).
- Fixed a bug in the Unicode requirements check which prevented installing
  Drupal on PHP 5.6.
- Fixed a bug which caused drupal_get_bootstrap_phase() to abort the bootstrap
  when called early in the page request.
- Renamed the "Search result" view mode to "Search result highlighting input"
  to better reflect how it is used (UI change).
- Improved database queries generated by EntityFieldQuery in the case where
  delta or language condition groups are used, to reduce the number of INNER
  JOINs (this is a minor data structure change affecting code which implements
  hook_query_alter() on these queries).
- Removed special-case behavior for file uploads which allowed user #1 to
  bypass maximum file size and user quota limits.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.32, 2014-10-15
-----------------------
- Fixed security issues (SQL injection). See SA-CORE-2014-005.

Drupal 7.31, 2014-08-06
-----------------------
- Fixed security issues (denial of service). See SA-CORE-2014-004.

Drupal 7.30, 2014-07-24
-----------------------
- Fixed a regression introduced in Drupal 7.29 that caused files or images
  attached to taxonomy terms to be deleted when the taxonomy term was edited
  and resaved (and other related bugs with contributed and custom modules).
- Added a warning on the permissions page to recommend restricting access to
  the "View site reports" permission to trusted administrators. See
  DRUPAL-PSA-2014-002.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.29, 2014-07-16
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-003.

Drupal 7.28, 2014-05-08
-----------------------
- Fixed a regression introduced in Drupal 7.27 that caused JavaScript to break
  on older browsers (such as Internet Explorer 8 and earlier) when Ajax was
  used.
- Increased the timeout used by the Update Manager module when it fetches data
  from drupal.org (from 5 seconds to 30 seconds), to work around a problem
  which causes incomplete information about security updates to be presented to
  site administrators. This fix may lead to a performance slowdown on the
  Update Manager administration pages, when installing Drupal distributions,
  and (for sites that use the automated cron feature) on occasional page loads
  by site visitors.
- Fixed the behavior of the token system's "[node:summary]" token when the body
  field does not have a manual summary.
- Changed the behavior of db_query_temporary() so that it works on SELECT
  queries even when they have leading comments/whitespace. A side effect of
  this fix is that db_query_temporary() will now fail with an error if it is
  ever used on non-SELECT queries.
- Added a "node_admin_filter" tag to the database query used to build the list
  of nodes on the content administration page, to make it easier to alter.
- Made the cron queue system log any exceptions that are thrown while an item
  in the queue is being processed, rather than stopping the entire PHP request.
- Improved screen reader support by adding an aria-live HTML attribute to file
  upload fields when there is an error uploading the file (minor markup
  change).
- Made the pager on the Tracker module listing pages show the same number of
  items as other pagers throughout Drupal core (minor UI change).
- Fixed a bug which caused caches not to be properly cleared when a file entity
  was saved or deleted.
- Added several missing countries to the default list returned by
  country_get_list() (string change).
- Replaced the term "weight" with "influence" in the content ranking settings
  for search, and added help text for administrators (string change).
- Fixed untranslatable text strings in the administrative interface for the
  "Crop" effect provided by the Image module (minor string change).
- Fixed a bug in the Taxonomy module update function introduced in Drupal 7.26
  that caused memory and CPU problems on sites with very large numbers of
  unpublished nodes.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.27, 2014-04-16
-----------------------
- Fixed security issues (information disclosure). See SA-CORE-2014-002.

Drupal 7.26, 2014-01-15
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-001.

Drupal 7.25, 2014-01-02
-----------------------
- Fixed a bug in node_save() which prevented the saved node from being updated
  in hook_node_insert() and other similar hooks.
- Added a meta tag to install.php to prevent it from being indexed by search
  engines even when Drupal is installed in a subfolder (minor markup change).
- Fixed a bug in the database API that caused frequent deadlock errors when
  running merge queries on some servers.
- Performance improvement: Prevented block rehashing from writing blocks to the
  database on every cache clear and cron run when the blocks have not changed.
  This fix results in an extra 'saved' key which is added and set to TRUE for
  each block returned by _block_rehash() that actually is saved to the database
  (data structure change).
- Added an optional 'skip on cron' parameter to hook_cron_queue_info() to allow
  queues to avoid being automatically processed on cron runs (API addition).
- Fixed a bug which caused hook_block_view_MODULE_DELTA_alter() to never be
  invoked if the block delta had a hyphen in it. To implement the hook when the
  block delta has a hyphen, modules should now replace hyphens with underscores
  when constructing the function name for the hook implementation.
- Fixed a bug which caused cached pages to sometimes be sent to the browser
  with incorrect compression. The fix adds a new 'page_compressed' key to the
  $cache->data array returned by drupal_page_get_cache() (minor data structure
  change).
- Fixed broken tests on PHP 5.5.
- Made the File and Image modules more robust when saving entities that have
  deleted files attached. The code in file_field_presave() will now remove the
  record of the deleted file from the entity before saving (minor data
  structure change).
- Standardized menu callback functions throughout Drupal core to return
  MENU_NOT_FOUND and MENU_ACCESS_DENIED rather than printing their own "page
  not found" or "access denied" pages (minor API change in the return value of
  these functions under some circumstances).
- Fixed a bug in which caches were not properly cleared when a node was deleted
  via the administrative interface.
- Changed the Bartik theme to render content contained in <pre>, <code> and
  similar tags in a larger font size, so it is easier to read.
- Fixed a bug in the Search module that caused exceptions to be thrown during
  searches if the server was not configured to represent decimal points as a
  period.
- Fixed a regression in the Image module that made image_style_url() not work
  when a relative path (rather than a complete file URI) was passed to it.
- Added an optional feature to the Statistics module to allow node views to be
  tracked by Ajax requests rather than during the server-side generation of the
  page. This allows the node counter to work on sites that use external page
  caches (string change and new administrative option:
  https://drupal.org/node/2164069).
- Added a link to the drupal.org documentation page for cron to the Cron
  settings page (string change).
- Added a 'drupal_anonymous_user_object' variable to allow the anonymous user
  object returned by drupal_anonymous_user() to be overridden with a classed
  object (API addition).
- Changed the database API to allow inserts based on a SELECT * query to work
  correctly.
- Changed the database schema of the {file_managed} table to allow Drupal to
  manage files larger than 4 GB.
- Changed the File module's hook_field_load() implementation to prevent file
  entity properties which have the same name as file or image field properties
  from overwriting the field properties (minor API change).
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.24, 2013-11-20
-----------------------
- Fixed security issues (multiple vulnerabilities), see SA-CORE-2013-003.

Drupal 7.23, 2013-08-07
-----------------------
- Fixed a fatal error on PostgreSQL databases when updating the Taxonomy module
  from Drupal 6 to Drupal 7.
- 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).
- 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).
- Added human-readable labels to image styles, in addition to the existing
  machine-readable name (API change: https://drupal.org/node/2058503).
- 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.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.22, 2013-04-03
-----------------------
- Allowed the drupal_http_request() function to be overridden so that
  additional HTTP request capabilities can be added by contributed modules.
- Changed the Simpletest module to allow PSR-0 test classes to be used in
  Drupal 7.
- Removed an unnecessary "Content-Disposition" header from private file
  downloads; it prevented many private files from being viewed inline in a web
  browser.
- Changed various field API functions to allow them to optionally act on a
  single field within an entity (API addition: http://drupal.org/node/1825844).
- Fixed a bug which prevented Drupal's file transfer functionality from working
  on some PHP 5.4 systems.
- Fixed incorrect log message when theme() is called for a theme hook that does
  not exist (minor string change).
- Fixed Drupal's token-replacement system to allow spaces in the token value.
- Changed the default behavior after a user creates a node they do not have
  access to view. The user will now be redirected to the front page rather than
  an access denied page.
- Fixed a bug which prevented empty HTTP headers (such as "0") from being set.
  (Minor behavior change: Callers of drupal_add_http_header() must now set
  FALSE explicitly to prevent a header from being sent at all; this was already
  indicated in the function's documentation.)
- Fixed OpenID errors when more than one module implements hook_openid(). The
  behavior is now changed so that if more than one module tries to set the same
  parameter, the last module's change takes effect.
- Fixed a serious documentation bug: The $name variable in the
  taxonomy-term.tpl.php theme template was incorrectly documented as being
  sanitized when in fact it is not.
- Fixed a bug which prevented Drupal 6 to Drupal 7 upgrades on sites which had
  duplicate permission names in the User module's database tables.
- Added an empty "datatype" attribute to taxonomy term and username links to
  make the RDFa markup upward compatible with RDFa 1.1 (minor markup addition).
- Fixed a bug which caused the denial-of-service protection added in Drupal
  7.20 to break certain valid image URLs that had an extra slash in them.
- Fixed a bug with update queries in the SQLite database driver that prevented
  Drupal from being installed with SQLite on PHP 5.4.
- Fixed enforced dependencies errors updating to recent versions of Drupal 7 on
  certain non-MySQL databases.
- Refactored the Field module's caching behavior to obtain large improvements
  in memory usage for sites with many fields and instances (API addition:
  http://drupal.org/node/1915646).
- Fixed entity argument not being passed to implementations of
  hook_file_download_access_alter(). The fix adds an additional context
  parameter that can be passed when calling drupal_alter() for any hook (API
  change: http://drupal.org/node/1882722).
- Fixed broken support for translatable comment fields (API change:
  http://drupal.org/node/1874724).
- Added an assertThemeOutput() method to Simpletest to allow tests to check
  that themed output matches an expected HTML string (API addition).
- Added a link to "Install another module" after a module has been successfully
  downloaded via the Update Manager (UI change).
- Added an optional "exclusive" flag to installation profile .info files which
  allows Drupal distributions to force a profile to be selected during
  installation (API addition: http://drupal.org/node/1961012).
- Fixed a bug which caused the database API to not properly close database
  connections.
- Added a link to the URL for running cron from outside the site to the Cron
  settings page (UI change).
- Fixed a bug which prevented image styles from being reverted on PHP 5.4.
- Made the default .htaccess rules protocol sensitive to improve security for
  sites which use HTTPS and redirect between "www" and non-"www" versions of
  the page.
- Numerous small bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.21, 2013-03-06
-----------------------
- Allowed sites using the 'image_allow_insecure_derivatives' variable to still
  have partial protection from the security issues fixed in Drupal 7.20.

Drupal 7.20, 2013-02-20
-----------------------
- Fixed security issues (denial of service). See SA-CORE-2013-002.

Drupal 7.19, 2013-01-16
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2013-001.

Drupal 7.18, 2012-12-19
-----------------------
- Fixed security issues (multiple vulnerabilities). See SA-CORE-2012-004.

Drupal 7.17, 2012-11-07
-----------------------
- 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.

Drupal 7.16, 2012-10-17
-----------------------
- Fixed security issues (Arbitrary PHP code execution and information
  disclosure). See SA-CORE-2012-003.

Drupal 7.15, 2012-08-01
-----------------------
- Introduced a 'user_password_reset_timeout' variable to allow the 24-hour
  expiration for user password reset links to be adjusted (API addition).
- Fixed database errors due to ambiguous column names that occurred when
  EntityFieldQuery was used in certain situations.
- Changed the drupal_array_get_nested_value() function to return a reference
  (API addition).
- Changed the System module's hook_block_info() implementation to assign the
  "Main page content" and "System help" blocks to appropriate regions by
  default and prevent error messages on the block administration page (data
  structure change).
- Fixed regression: Non-node entities couldn't be accessed with
  EntityFieldQuery.
- Fixed regression: Optional radio buttons with an empty, non-NULL default
  value led to an illegal choice error when none were selected.
- Reorganized the testing framework to split setUp() into specific sub-methods
  and fix several regressions in the process.
- Fixed bug which made it impossible to search for strings that have not been
  translated into a particular language.
- Renamed the "Field" column on the Manage Fields screen to "Field type", since
  the former was confusing and inaccurate (UI change).
- Performance improvement: Removed needless call to system_rebuild_module_data()
  in field_sync_field_status(), greatly speeding up bulk module enable/disable.
- Fixed bug which prevented notifications from being sent when core, module, and
  theme updates are available.
- Fixed bug which prevented sub-themes from inheriting the default values of
  theme settings defined by the base theme.
- Fixed bug which prevented the jQuery UI Datepicker from being localized.
- Made Ajax alert dialogs respect error reporting settings.
- Fixed bug which prevented image styles from being deleted on PHP 5.4.
- Fixed bug: Language detection by domain only worked on port 80.
- Fixed regression: The first plural index on a page was not calculated
  correctly.
- Introduced generic entity language support. Entities may now declare their
  language property in hook_entity_info(), and modules working with entities
  may access the language using entity_language() (API change:
  http://drupal.org/node/1626346).
- Added EntityFieldQuery support for taxonomy bundles.
- Fixed issue where field form structure was incomplete if field_access()
  returned FALSE. Instead of being incomplete, the form structure now has
  #access set to FALSE and field form validation is skipped (data structure
  change: http://drupal.org/node/1663020).
- Fixed data loss issue due to field_has_data() returning inconsistent results.
  The fix adds an optional DANGEROUS_ACCESS_CHECK_OPT_OUT tag to entity field
  queries which field storage engines can respond to (API addition:
  http://drupal.org/node/1597378).
- Fixed notice: Undefined index: default_image in image_field_prepare_view()
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.14, 2012-05-02
-----------------------
- Fixed "integrity constraint" fatal errors when rebuilding registry.
- Fixed custom logo and favicon functionality referencing incorrect paths.
- Fixed DB Case Sensitivity: Allow BINARY attribute in MySQL.
- Split field_bundle_settings out per bundle.
- Improve UX for machine names for fields (UI change).
- Fixed User pictures are not removed properly.
- Fixed HTTPS sessions not working in all cases.
- Fixed Regression: Required radios throw illegal choice error when none
  selected.
- Fixed allow autocompletion requests to include slashes.
- Eliminate $user->cache and {session}.cache in favor of
  $_SESSION['cache_expiration'][$bin] (Performance).
- Fixed focus jumps to tab when pressing enter on a form element within tab.
- Fixed race condition in locale() - duplicates in {locales_source}.
- Fixed Missing "Default image" per field instance.
- Quit clobbering people's work when they click the filter tips link
- Form API #states: Fix conditionals to allow OR and XOR constructions.
- Fixed Focus jumps to tab when pressing enter on a form element within tab.
  (Accessibility)
- Improved performance of node_access queries.
- Fixed Fieldsets inside vertical tabs have no title and can't be collapsed.
- Reduce size of cache_menu table (Performance).
- Fixed unnecessary aggregation of CSS/JS (Performance).
- Fixed taxonomy_autocomplete() produces SQL error for nonexistent field.
- Fixed HTML filter is not run first by default, despite default weight.
- Fixed Overlay does not work with prefixed URL paths.
- Better debug info for field errors (string change).
- Fixed Data corruption in comment IDs (results in broken threading on
  PostgreSQL).
- Fixed machine name not editable if every character is replaced.
- Fixed user picture not appearing in comment preview (Markup change).
- Added optional vid argument for taxonomy_get_term_by_name().
- Fixed Invalid Unicode code range in PREG_CLASS_UNICODE_WORD_BOUNDARY fails
  with PCRE 8.30.
- Fixed {trigger_assignments()}.hook has only 32 characters, is too short.
- Numerous fixes to run-tests.sh.
- Fixed Tests in profiles/[name]/modules cannot be run and cannot use a
  different profile for running tests.
- Numerous JavaScript performance fixes.
- Numerous documentation fixes.
- Fixed All pager links have an 'active' CSS class.
- Numerous upgrade path fixes; notably:
  - system_update_7061() fails on inserting files with same name but different
    case.
  - system_update_7061() converts filepaths too aggressively.
  - Trigger upgrade path: Node triggers removed when upgrading to 7-x from 6.25.

Drupal 7.13, 2012-05-02
-----------------------
- Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-002.

Drupal 7.12, 2012-02-01
-----------------------
- Fixed bug preventing custom menus from receiving an active trail.
- Fixed hook_field_delete() no longer invoked during field_purge_data().
- Fixed bug causing entity info cache to not be cleared with the rest of caches.
- Fixed file_unmanaged_copy() fails with Drupal 7.7+ and safe_mode() or
  open_basedir().
- Fixed Nested transactions throw exceptions when they got out of scope.
- Fixed bugs with the Return-Path when sending mail on both Windows and
  non-Windows systems.
- Fixed bug with DrupalCacheArray property visibility preventing others from
  extending it (API change: http://drupal.org/node/1422264).
- Fixed bug with handling of non-ASCII characters in file names (API change:
  http://drupal.org/node/1424840).
- Reconciled field maximum length with database column size in image and
  aggregator modules.
- Fixes to various core JavaScript files to allow for minification and
  aggregation.
- Fixed Prevent tests from deleting main installation's tables when
  parent::setUp() is not called.
- Fixed several Poll module bugs.
- Fixed several Shortcut module bugs.
- Added new hook_system_theme_info() to provide ability for contributed modules
  to test theme functionality.
- Added ability to cancel mail sending from hook_mail_alter().
- Added support for configurable PDO connection options, enabling master-master
  database replication.
- Numerous improvements to tests and test runner to pave the way for faster test
  runs.
- Expanded test coverage.
- Numerous API documentation improvements.
- Numerous performance improvements, including token replacement and render
  cache.

Drupal 7.11, 2012-02-01
-----------------------
- Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-001.

Drupal 7.10, 2011-12-05
-----------------------
- Fixed Content-Language HTTP header to not cause issues with Drush 5.x.
- Reduce memory usage of theme registry (performance).
- Fixed PECL upload progress bar for FileField
- Fixed running update.php doesn't always clear the cache.
- Fixed PDO exceptions on long titles.
- Fixed Overlay redirect does not include query string.
- Fixed D6 modules satisfy D7 module dependencies.
- Fixed the ordering of module hooks when using module_implements_alter().
- Fixed "floating" submit buttons during AJAX requests.
- Fixed timezone selected on install not propogating to admin account.
- Added msgctx context to JS translation functions, for feature parity with t().
- Profiles' .install files now available during hook_install_tasks().
- Added test coverage of 7.0 -> 7.x upgrade path.
- Numerous notice fixes.
- Numerous documentation improvements.
- Additional automated test coverage.

Drupal 7.9, 2011-10-26
----------------------
- Critical fixes to OpenID to spec violations that could allow for
  impersonation in certain scenarios. Existing OpenID users should see
  http://drupal.org/node/1120290#comment-5092796 for more information on
  transitioning.
- Fixed files getting lost when adding multiple files to multiple file fields
  at the same time.
- Improved usability of the clean URL test screens.
- Restored height/width attributes on images run through the theme system.
- Fixed usability bug with first password field being pre-filled by certain
  browser plugins.
- Fixed file_usage_list() so that it can return more than one result.
- Fixed bug preventing preview of private images on node form.
- Fixed PDO error when inserting an aggregator title longer than 255 characters.
- Spelled out what TRADITIONAL means in MySQL sql_mode.
- Deprecated "!=" operator for DBTNG; should be "<>".
- Added two new API functions (menu_tree_set_path()/menu_tree_get_path()) were
  added in order to enable setting the active menu trail for dynamically
  generated menu paths.
- Added new "fast 404" capability in settings.php to bypass Drupal bootstrap
  when serving 404 pages for certain file types.
- Added format_string() function which can perform string munging ala the t()
  function without the overhead of the translation system.
- Numerous #states system fixes.
- Numerous EntityFieldQuery, DBTNG, and SQLite fixes.
- Numerous Shortcut module fixes.
- Numerous language system fixes.
- Numerous token fixes.
- Numerous CSS fixes.
- Numerous upgrade path fixes.
- Numerous minor string fixes.
- Numerous notice fixes.

Drupal 7.8, 2011-08-31
----------------------
- Fixed critical upgrade path issue with multilingual sites, leading to lost
  content.
- Numerous fixes to upgrade path, preventing fatal errors due to incorrect
  dependencies.
- Fixed issue with saving files on hosts with open_basedir restrictions.
- Fixed Update manger error when used with Overlay.
- Fixed RTL support in Seven administration theme and Overlay.
- Fixes to nested transaction support.
- Introduced performance pattern to reduce Drupal core's RAM usage.
- Added support for HTML 5 tags to filter_xss_admin().
- Added exception handling to cron.
- Added new hook hook_field_widget_form_alter() for contribtued modules.
- element_validate_*() functions now available to contrib.
- Added new maintainers for several subsystems.
- Numerous testing system improvements.
- Numerous markup and CSS fixes.
- Numerous poll module fixes.
- Numerous notice/warning fixes.
- Numerous documentation fixes.
- Numerous token fixes.

Drupal 7.7, 2011-07-27
----------------------
- Fixed VERSION string.

Drupal 7.6, 2011-07-27
----------------------
- Fixed support for remote streamwrappers.
- AJAX now binds to 'click' instead of 'mousedown'.
- 'Translatable' flag on fields created in UI now defaults to FALSE, to match those created via the API.
- Performance enhancement to permissions page on large numbers of permissions.
- More secure password generation.
- Fix for temporary directory on Windows servers.
- run-tests.sh now uses proc_open() instead of pcntl_fork() for better Windows support.
- Numerous upgrade path fixes.
- Numerous documentation fixes.
- Numerous notice fixes.
- Numerous fixes to improve PHP 5.4 support.
- Numerous RTL improvements.

Drupal 7.5, 2011-07-27
----------------------
- Fixed security issue (Access bypass), see SA-CORE-2011-003.

Drupal 7.4, 2011-06-29
----------------------
- Rolled back patch that caused fatal errors in CTools, Feeds, and other modules using the class registry.
- Fixed critical bug with saving default images.
- Fixed fatal errors when uninstalling some modules.
- Added workaround for MySQL transaction support breaking on DDL statments.
- Improved page caching with external caching systems.
- Fix to Batch API, which was terminating too early.
- Numerous upgrade path fixes.
- Performance fixes.
- Additional test coverage.
- Numerous documentation fixes.

Drupal 7.3, 2011-06-29
----------------------
- Fixed security issue (Access bypass), see SA-CORE-2011-002.

Drupal 7.2, 2011-05-25
----------------------
- Added a default .gitignore file.
- Improved PostgreSQL and SQLite support.
- Numerous critical performance improvements.
- Numerous critical fixes to the upgrade path.
- Numerous fixes to language and translation systems.
- Numerous fixes to AJAX and #states systems.
- Improvements to the locking system.
- Numerous documentation fixes.
- Numerous styling and theme system fixes.
- Numerous fixes for schema mis-matches between Drupal 6 and 7.
- Minor internal API clean-ups.

Drupal 7.1, 2011-05-25
----------------------
- Fixed security issues (Cross site scripting, File access bypass), see SA-CORE-2011-001.

Drupal 7.0, 2011-01-05 
----------------------
- Database:
    * Fully rewritten database layer utilizing PHP 5's PDO abstraction layer.
    * Drupal now requires MySQL >= 5.0.15 or PostgreSQL >= 8.3.
    * Added query builders for INSERT, UPDATE, DELETE, MERGE, and SELECT queries.
    * Support for master/slave replication, transactions, multi-insert queries,
      and other features.
    * Added support for the SQLite database engine.
    * Default to InnoDB engine, rather than MyISAM, on MySQL when available.
      This offers increased scalability and data integrity.
- Security:
    * Protected cron.php -- cron will only run if the proper key is provided.
    * Implemented a pluggable password system and much stronger password hashes
      that are compatible with the Portable PHP password hashing framework.
    * Rate limited login attempts to prevent brute-force password guessing, and
      improved the flood control API to allow variable time windows and
      identifiers for limiting user access to resources.
    * Transformed the "Update status" module into the "Update manager" which
      can securely install or update modules and themes via a web interface.
- Usability:
    * Added contextual links (a.k.a. local tasks) to page elements, such as
      blocks, nodes, or comments, which allows to perform the most common tasks
      with a single click only.
    * Improved installer requirements check.
    * Improved support for integration of WYSIWYG editors.
    * Implemented drag-and-drop positioning for input format listings.
    * Implemented drag-and-drop positioning for language listing.
    * Implemented drag-and-drop positioning for poll options.
    * Provided descriptions and human-readable names for user permissions.
    * Removed comment controls for users.
    * Removed display order settings for comment module. Comment display
      order can now be customized using the Views module.
    * Removed the 'related terms' feature from taxonomy module since this can
      now be achieved with Field API.
    * Added additional features to the default installation profile, and
      implemented a "slimmed down" profile designed for developers.
    * Added a built-in, automated cron run feature, which is triggered by site
      visitors.
    * Added an administrator role which is assigned all permissions for
      installed modules automatically.
    * Image toolkits are now provided by modules (rather than requiring a
      manual file copy to the includes directory).
    * Added an edit tab to taxonomy term pages.
    * Redesigned password strength validator.
    * Redesigned the add content type screen.
    * Highlight duplicate URL aliases.
    * Renamed "input formats" to "text formats".
    * Moved text format permissions to the main permissions page.
    * Added configurable ability for users to cancel their own accounts.
    * Added "vertical tabs", a reusable interface component that features
      automatic summaries and increases usability.
    * Replaced fieldsets on node edit and add pages with vertical tabs.
- Performance:
    * Improved performance on uncached page views by loading multiple core
      objects in a single database query.
    * Improved performance for logged-in users by reducing queries for path
      alias lookups.
    * Improved support for HTTP proxies (including reverse proxies), allowing
      anonymous page views to be served entirely from the proxy.
- Documentation:
    * Hook API documentation now included in Drupal core.
- News aggregator:
    * Added OPML import functionality for RSS feeds.
    * Optionally, RSS feeds may be configured to not automatically generate feed blocks.
- Search:
    * Added support for language-aware searches.
- Aggregator:
    * Introduced architecture that allows pluggable parsers and processors for
      syndicating RSS and Atom feeds.
    * Added options to suspend updating specific feeds and never discard feeds
      items.
- Testing:
    * Added test framework and tests.
- Improved time zone support:
    * Drupal now uses PHP's time zone database when rendering dates in local
      time. Site-wide and user-configured time zone offsets have been converted
      to time zone names, e.g. Africa/Abidjan.
    * In some cases the upgrade and install scripts do not choose the preferred
      site default time zone. The automatically-selected time zone can be
      corrected at admin/config/regional/settings.
    * If your site is being upgraded from Drupal 6 and you do not have the
      contributed date or event modules installed, user time zone settings will
      fallback to the system time zone and will have to be reconfigured by each user.
    * User-configured time zones now serve as the default time zone for PHP
      date/time functions.
- Filter system:
    * Revamped the filter API and text format storage.
    * Added support for default text formats to be assigned on a per-role basis.
    * Refactored the HTML corrector to take advantage of PHP 5 features.
- User system:
    * Added clean API functions for creating, loading, updating, and deleting
      user roles and permissions.
    * Refactored the "access rules" component of user module: The user module
      now provides a simple interface for blocking single IP addresses. The
      previous functionality in the user module for restricting certain e-mail
      addresses and usernames is now available as a contributed module. Further,
      IP address range blocking is no longer supported and should be implemented
      at the operating system level.
    * Removed per-user themes: Contributed modules with similar functionality
      are available.
- OpenID:
    * Added support for Gmail and Google Apps for Domain identifiers. Users can
      now login with their user@example.com identifier when example.com is powered
      by Google.
    * Made the OpenID module more pluggable.
- Added code registry:
    * Using the registry, modules declare their includable files via their .info file,
      allowing Drupal to lazy-load classes and interfaces as needed.
- Theme system:
    * Removed the Bluemarine, Chameleon and Pushbutton themes. These themes live
      on as contributed themes (http://drupal.org/project/bluemarine,
      http://drupal.org/project/chameleon and http://drupal.org/project/pushbutton).
    * Added Stark theme to make analyzing Drupal's default HTML and CSS easier.
    * Added Seven as the default administration theme.
    * Variable preprocessing of theme hooks prior to template rendering now goes
      through two phases: a 'preprocess' phase and a new 'process' phase. See
      http://api.drupal.org/api/function/theme/7 for details.
    * Theme hooks implemented as functions (rather than as templates) can now
      also have preprocess (and process) functions. See
      http://api.drupal.org/api/function/theme/7 for details.
    * Added Bartik as the default theme.
- File handling:
    * Files are now first class Drupal objects with file_load(), file_save(),
      and file_validate() functions and corresponding hooks.
    * The file_move(), file_copy() and file_delete() functions now operate on
      file objects and invoke file hooks so that modules are notified and can
      respond to changes.
    * For the occasions when only basic file manipulation are needed--such as
      uploading a site logo--that don't require the overhead of databases and
      hooks, the current unmanaged copy, move and delete operations have been
      preserved but renamed to file_unmanaged_*().
    * Rewrote file handling to use PHP stream wrappers to enable support for
      both public and private files and to support pluggable storage mechanisms
      and access to remote resources (e.g. S3 storage or Flickr photos).
    * The mime_extension_mapping variable has been removed. Modules that need to
      alter the default MIME type extension mappings should implement
      hook_file_mimetype_mapping_alter().
    * Added the hook_file_url_alter() hook, which makes it possible to serve
      files from a CDN.
    * Added a field specifically for uploading files, previously provided by
      the contributed module FileField.
- Image handling:
    * Improved image handling, including better support for add-on image
      libraries.
    * Added API and interface for creating advanced image thumbnails.
    * Inclusion of additional effects such as rotate and desaturate.
    * Added a field specifically for uploading images, previously provided by
      the contributed module ImageField.
- Added aliased multi-site support:
    * Added support for mapping domain names to sites directories.
- Added RDF support:
    * Modules can declare RDF namespaces which are serialized in the <html> tag
      for RDFa support.
    * Modules can specify how their data structure maps to RDF.
    * Added support for RDFa export of nodes, comments, terms, users, etc. and
      their fields.
- Search engine optimization and web linking:
    * Added a rel="canonical" link on node and comment pages to prevent
      duplicate content indexing by search engines.
    * Added a default rel="shortlink" link on node and comment pages that
      advertises a short link as an alternative URL to third-party services.
    * Meta information is now alterable by all modules before rendering.
- Field API:
    * Custom data fields may be attached to nodes, users, comments and taxonomy
      terms.
    * Node bodies and teasers are now Field API fields instead of
      being a hard-coded property of node objects.
    * In addition, any other object type may register with Field API
      and allow custom data fields to be attached to itself.
    * Provides most of the features of the former Content Construction
      Kit (CCK) module.
    * Taxonomy terms are now Field API fields that can be added to any fieldable
      object.
- Installer:
    * Refactored the installer into an API that allows Drupal to be installed
      via a command line script.
- Page organization
    * Made the help text area a full featured region with blocks.
    * Site mission is replaced with the highlighted content block region and
      separate RSS feed description settings.
    * The footer message setting was removed in favor of custom blocks.
    * Made the main page content a block which can be moved and ordered
      with other blocks in the same region.
    * Blocks can now return structured arrays for later rendering just
      like page callbacks.
- Translation system
    * The translation system now supports message context (msgctxt).
    * Added support for translatable fields to Field API.
- JavaScript changes
    * Upgraded the core JavaScript library to jQuery version 1.4.4.
    * Upgraded the jQuery Forms library to 2.52.
    * Added jQuery UI 1.8.7, which allows improvements to Drupal's user
      experience.
- Better module version support
    * Modules now can specify which version of another module they depend on.
- Removed modules from core
    * The following modules have been removed from core, because contributed
      modules with similar functionality are available:
      * Blog API module
      * Ping module
      * Throttle module
- Improved node access control system.
    * All modules may now influence the access to a node at runtime, not just
      the module that defined a node.
    * Users may now be allowed to bypass node access restrictions without giving
      them complete access to the site.
    * Access control affects both published and unpublished nodes.
    * Numerous other improvements to the node access system.
- Actions system
    * Simplified definitions of actions and triggers.
    * Removed dependency on the combination of hooks and operations. Triggers
      now directly map to module hooks.
- Task handling
    * Added a queue API to process many or long-running tasks.
    * Added queue API support to cron API.
    * Added a locking framework to coordinate long-running operations across
      requests.

Drupal 6.23-dev, xxxx-xx-xx (development release)
---------------------------

Drupal 6.22, 2011-05-25
-----------------------
- Made Drupal 6 work better with IIS and Internet Explorer.
- Fixed .po file imports to work better with custom textgroups.
- Improved code documentation at various places.
- Fixed a variety of other bugs.

Drupal 6.21, 2011-05-25
-----------------------
- Fixed security issues (Cross site scripting), see SA-CORE-2011-001.

Drupal 6.20, 2010-12-15
-----------------------
- Fixed a variety of small bugs, improved code documentation.

Drupal 6.19, 2010-08-11
-----------------------
- Fixed a variety of small bugs, improved code documentation.

Drupal 6.18, 2010-08-11
-----------------------
- Fixed security issues (OpenID authentication bypass, File download access
  bypass, Comment unpublishing bypass, Actions cross site scripting),
  see SA-CORE-2010-002.

Drupal 6.17, 2010-06-02
-----------------------
- Improved PostgreSQL compatibility
- Better PHP 5.3 and PHP 4 compatibility
- Better browser compatibility of CSS and JS aggregation
- Improved logging for login failures
- Fixed an incompatibility with some contributed modules and the locking system
- Fixed a variety of other bugs.

Drupal 6.16, 2010-03-03
-----------------------
- Fixed security issues (Installation cross site scripting, Open redirection,
  Locale module cross site scripting, Blocked user session regeneration),
  see SA-CORE-2010-001.
- Better support for updated jQuery versions.
- Reduced resource usage of update.module.
- Fixed several issues relating to support of installation profiles and
  distributions.
- Added a locking framework to avoid data corruption on long operations.
- Fixed a variety of other bugs.

Drupal 6.15, 2009-12-16
-----------------------
- Fixed security issues (Cross site scripting), see SA-CORE-2009-009.
- Fixed a variety of other bugs.

Drupal 6.14, 2009-09-16
-----------------------
- Fixed security issues (OpenID association cross site request forgeries,
  OpenID impersonation and File upload), see SA-CORE-2009-008.
- Changed the system modules page to not run all cache rebuilds; use the
  button on the performance settings page to achieve the same effect.
- Added support for PHP 5.3.0 out of the box.
- Fixed a variety of small bugs.

Drupal 6.13, 2009-07-01
-----------------------
- Fixed security issues (Cross site scripting, Input format access bypass and
  Password leakage in URL), see SA-CORE-2009-007.
- Fixed a variety of small bugs.

Drupal 6.12, 2009-05-13
-----------------------
- Fixed security issues (Cross site scripting), see SA-CORE-2009-006.
- Fixed a variety of small bugs.

Drupal 6.11, 2009-04-29
-----------------------
- Fixed security issues (Cross site scripting and limited information
  disclosure), see SA-CORE-2009-005
- Fixed performance issues with the menu router cache, the update
  status cache and improved cache invalidation
- Fixed a variety of small bugs.

Drupal 6.10, 2009-02-25
-----------------------
- Fixed a security issue, (Local file inclusion on Windows),
  see SA-CORE-2009-003
- Fixed node_feed() so custom fields can show up in RSS feeds.
- Improved PostgreSQL compatibility.
- Fixed a variety of small bugs.

Drupal 6.9, 2009-01-14
----------------------
- Fixed security issues, (Access Bypass, Validation Bypass and Hardening
  against SQL injection), see SA-CORE-2009-001
- Made HTTP request checking more robust and informative.
- Fixed HTTP_HOST checking to work again with HTTP 1.0 clients and
  basic shell scripts.
- Removed t() calls from all schema documentation. Suggested best practice
  changed for contributed modules, see http://drupal.org/node/322731.
- Fixed a variety of small bugs.

Drupal 6.8, 2008-12-11
----------------------
- Removed a previous change incompatible with PHP 5.1.x and lower.

Drupal 6.7, 2008-12-10
----------------------
- Fixed security issues, (Cross site request forgery and Cross site scripting), see SA-2008-073
- Updated robots.txt and .htaccess to match current file use.
- Fixed a variety of small bugs.

Drupal 6.6, 2008-10-22
----------------------
- Fixed security issues, (File inclusion, Cross site scripting), see SA-2008-067
- Fixed a variety of small bugs.

Drupal 6.5, 2008-10-08
----------------------
- Fixed security issues, (File upload access bypass, Access rules bypass,
  BlogAPI access bypass), see SA-2008-060.
- Fixed a variety of small bugs.

Drupal 6.4, 2008-08-13
----------------------
- Fixed a security issue (Cross site scripting, Arbitrary file uploads via
  BlogAPI, Cross site request forgeries and Various Upload module
  vulnerabilities), see SA-2008-047.
- Improved error messages during installation.
- Fixed a bug that prevented AHAH handlers to be attached to radios widgets.
- Fixed a variety of small bugs.

Drupal 6.3, 2008-07-09
----------------------
- Fixed security issues, (Cross site scripting, cross site request forgery,
  session fixation and SQL injection), see SA-2008-044.
- Slightly modified installation process to prevent file ownership issues on
  shared hosts.
- Improved PostgreSQL compatibility (rewritten queries; custom blocks).
- Upgraded to jQuery 1.2.6.
- Performance improvements to search, menu handling and form API caches.
- Fixed Views compatibility issues (Views for Drupal 6 requires Drupal 6.3+).
- Fixed a variety of small bugs.

Drupal 6.2, 2008-04-09
----------------------
- Fixed a variety of small bugs.
- Fixed a security issue (Access bypasses), see SA-2008-026.

Drupal 6.1, 2008-02-27
----------------------
- Fixed a variety of small bugs.
- Fixed a security issue (Cross site scripting), see SA-2008-018.

Drupal 6.0, 2008-02-13
----------------------
- New, faster and better menu system.
- New watchdog as a hook functionality.
   * New hook_watchdog that can be implemented by any module to route log
     messages to various destinations.
   * Expands the severity levels from 3 (Error, Warning, Notice) to the 8
     levels defined in RFC 3164.
   * The watchdog module is now called dblog, and is optional, but enabled by
     default in the default installation profile.
   * Extended the database log module so log messages can be filtered.
   * Added syslog module: useful for monitoring large Drupal installations.
- Added optional e-mail notifications when users are approved, blocked, or
  deleted.
- Drupal works with error reporting set to E_ALL.
- Added scripts/drupal.sh to execute Drupal code from the command line. Useful
  to use Drupal as a framework to build command-line tools.
- Made signature support optional and made it possible to theme signatures.
- Made it possible to filter the URL aliases on the URL alias administration
  screen.
- Language system improvements:
    * Support for right to left languages.
    * Language detection based on parts of the URL.
    * Browser based language detection.
    * Made it possible to specify a node's language.
    * Support for translating posts on the site to different languages.
    * Language dependent path aliases.
    * Automatically import translations when adding a new language.
    * JavaScript interface translation.
    * Automatically import a module's translation upon enabling that module.
- Moved "PHP input filter" to a standalone module so it can be deleted for
  security reasons.
- Usability:
    * Improved handling of teasers in posts.
    * Added sticky table headers.
    * Check for clean URL support automatically with JavaScript.
    * Removed default/settings.php. Instead the installer will create it from
      default.settings.php.
    * Made it possible to configure your own date formats.
    * Remember anonymous comment posters.
    * Only allow modules and themes to be enabled that have explicitly been
      ported to the correct core API version.
    * Can now specify the minimum PHP version required for a module within the
      .info file.
    * Drupal core no longer requires CREATE TEMPORARY TABLES or LOCK TABLES
      database rights.
    * Dynamically check password strength and confirmation.
    * Refactored poll administration.
    * Implemented drag-and-drop positioning for blocks, menu items, taxonomy
      vocabularies and terms, forums, profile fields, and input format filters.
- Theme system:
    * Added .info files to themes and made it easier to specify regions and
      features.
    * Added theme registry: modules can directly provide .tpl.php files for
      their themes without having to create theme_ functions.
    * Used the Garland theme for the installation and maintenance pages.
    * Added theme preprocess functions for themes that are templates.
    * Added support for themeable functions in JavaScript.
- Refactored update.php to a generic batch API to be able to run time-consuming
  operations in multiple subsequent HTTP requests.
- Installer:
    * Themed the installer with the Garland theme.
    * Added form to provide initial site information during installation.
    * Added ability to provide extra installation steps programmatically.
    * Made it possible to import interface translations during installation.
- Added the HTML corrector filter:
    * Fixes faulty and chopped off HTML in postings.
    * Tags are now automatically closed at the end of the teaser.
- Performance:
    * Made it easier to conditionally load .include files and split up many core
      modules.
    * Added a JavaScript aggregator.
    * Added block-level caching, improving performance for both authenticated
      and anonymous users.
    * Made Drupal work correctly when running behind a reverse proxy like
      Squid or Pound.
- File handling improvements:
    * Entries in the files table are now keyed to a user instead of a node.
    * Added reusable validation functions to check for uploaded file sizes,
      extensions, and image resolution.
    * Added ability to create and remove temporary files during a cron job.
- Forum improvements:
    * Any node type may now be posted in a forum.
- Taxonomy improvements:
    * Descriptions for terms are now shown on taxonomy/term pages as well
      as RSS feeds.
    * Added versioning support to categories by associating them with node
      revisions.
- Added support for OpenID.
- Added support for triggering configurable actions.
- Added the Update status module to automatically check for available updates
  and warn sites if they are missing security updates or newer versions.
  Sites deploying from CVS should use http://drupal.org/project/cvs_deploy.
  Advanced settings provided by http://drupal.org/project/update_advanced.
- Upgraded the core JavaScript library to jQuery version 1.2.3.
- Added a new Schema API, which provides built-in support for core and
  contributed modules to work with databases other than MySQL.
- Removed drupal.module. The functionality lives on as the Site network
  contributed module (http://drupal.org/project/site_network).
- Removed old system updates. Updates from Drupal versions prior to 5.x will
  require upgrading to 5.x before upgrading to 6.x.

Drupal 5.23, 2010-08-11
-----------------------
- Fixed security issues (File download access bypass, Comment unpublishing
  bypass), see SA-CORE-2010-002.

Drupal 5.22, 2010-03-03
-----------------------
- Fixed security issues (Open redirection, Locale module cross site scripting,
  Blocked user session regeneration), see SA-CORE-2010-001.

Drupal 5.21, 2009-12-16
-----------------------
- Fixed a security issue (Cross site scripting), see SA-CORE-2009-009.
- Fixed a variety of small bugs.

Drupal 5.20, 2009-09-16
-----------------------
- Avoid security problems resulting from writing Drupal 6-style menu
  declarations.
- Fixed security issues (session fixation), see SA-CORE-2009-008.
- Fixed a variety of small bugs.

Drupal 5.19, 2009-07-01
-----------------------
- Fixed security issues (Cross site scripting and Password leakage in URL), see
  SA-CORE-2009-007.          
- Fixed a variety of small bugs.

Drupal 5.18, 2009-05-13
-----------------------
- Fixed security issues (Cross site scripting), see SA-CORE-2009-006.
- Fixed a variety of small bugs.

Drupal 5.17, 2009-04-29
-----------------------
- Fixed security issues (Cross site scripting and limited information
  disclosure) see SA-CORE-2009-005.
- Fixed a variety of small bugs.

Drupal 5.16, 2009-02-25
-----------------------
- Fixed a security issue, (Local file inclusion on Windows), see SA-CORE-2009-004.
- Fixed a variety of small bugs.

Drupal 5.15, 2009-01-14
-----------------------
- Fixed security issues, (Hardening against SQL injection), see
  SA-CORE-2009-001
- Fixed HTTP_HOST checking to work again with HTTP 1.0 clients and basic shell
  scripts.
- Fixed a variety of small bugs.

Drupal 5.14, 2008-12-11
-----------------------
- removed a previous change incompatible with PHP 5.1.x and lower.

Drupal 5.13, 2008-12-10
-----------------------
- fixed a variety of small bugs.
- fixed security issues, (Cross site request forgery and Cross site scripting), see SA-2008-073
- updated robots.txt and .htaccess to match current file use.

Drupal 5.12, 2008-10-22
-----------------------
- fixed security issues, (File inclusion), see SA-2008-067

Drupal 5.11, 2008-10-08
-----------------------
- fixed a variety of small bugs.
- fixed security issues, (File upload access bypass, Access rules bypass,
  BlogAPI access bypass, Node validation bypass), see SA-2008-060

Drupal 5.10, 2008-08-13
-----------------------
- fixed a variety of small bugs.
- fixed security issues, (Cross site scripting, Arbitrary file uploads via
  BlogAPI and Cross site request forgery), see SA-2008-047

Drupal 5.9, 2008-07-23
----------------------
- fixed a variety of small bugs.
- fixed security issues, (Session fixation), see SA-2008-046

Drupal 5.8, 2008-07-09
----------------------
- fixed a variety of small bugs.
- fixed security issues, (Cross site scripting, cross site request forgery, and
  session fixation), see SA-2008-044

Drupal 5.7, 2008-01-28
----------------------
- fixed the input format configuration page.
- fixed a variety of small bugs.

Drupal 5.6, 2008-01-10
----------------------
- fixed a variety of small bugs.
- fixed a security issue (Cross site request forgery), see SA-2008-005
- fixed a security issue (Cross site scripting, UTF8), see SA-2008-006
- fixed a security issue (Cross site scripting, register_globals), see SA-2008-007

Drupal 5.5, 2007-12-06
----------------------
- fixed missing missing brackets in a query in the user module.
- fixed taxonomy feed bug introduced by SA-2007-031

Drupal 5.4, 2007-12-05
----------------------
- fixed a variety of small bugs.
- fixed a security issue (SQL injection), see SA-2007-031

Drupal 5.3, 2007-10-17
----------------------
- fixed a variety of small bugs.
- fixed a security issue (HTTP response splitting), see SA-2007-024
- fixed a security issue (Arbitrary code execution via installer), see SA-2007-025
- fixed a security issue (Cross site scripting via uploads), see SA-2007-026
- fixed a security issue (User deletion cross site request forgery), see SA-2007-029
- fixed a security issue (API handling of unpublished comment), see SA-2007-030

Drupal 5.2, 2007-07-26
----------------------
- changed hook_link() $teaser argument to match documentation.
- fixed a variety of small bugs.
- fixed a security issue (cross-site request forgery), see SA-2007-017
- fixed a security issue (cross-site scripting), see SA-2007-018

Drupal 5.1, 2007-01-29
----------------------
- fixed security issue (code execution), see SA-2007-005
- fixed a variety of small bugs.

Drupal 5.0, 2007-01-15
----------------------
- Completely retooled the administration page
    * /Admin now contains an administration page which may be themed
    * Reorganised administration menu items by task and by module
    * Added a status report page with detailed PHP/MySQL/Drupal information
- Added web-based installer which can:
    * Check installation and run-time requirements
    * Automatically generate the database configuration file
    * Install pre-made installation profiles or distributions
    * Import the database structure with automatic table prefixing
    * Be localized
- Added new default Garland theme
- Added color module to change some themes' color schemes
- Included the jQuery JavaScript library 1.0.4 and converted all core JavaScript to use it
- Introduced the ability to alter mail sent from system
- Module system:
    * Added .info files for module meta-data
    * Added support for module dependencies
    * Improved module installation screen
    * Moved core modules to their own directories
    * Added support for module uninstalling
- Added support for different cache backends
- Added support for a generic "sites/all" directory.
- Usability:
    * Added support for auto-complete forms (AJAX) to user profiles.
    * Made it possible to instantly assign roles to newly created user accounts.
    * Improved configurability of the contact forms.
    * Reorganized the settings pages.
    * Made it easy to investigate popular search terms.
    * Added a 'select all' checkbox and a range select feature to administration tables.
    * Simplified the 'break' tag to split teasers from body.
    * Use proper capitalization for titles, menu items and operations.
- Integrated urlfilter.module into filter.module
- Block system:
    * Extended the block visibility settings with a role specific setting.
    * Made it possible to customize all block titles.
- Poll module:
    * Optionally allow people to inspect all votes.
    * Optionally allow people to cancel their vote.
- Distributed authentication:
    * Added default server option.
- Added default robots.txt to control crawlers.
- Database API:
    * Added db_table_exists().
- Blogapi module:
    * 'Blogapi new' and 'blogapi edit' nodeapi operations.
- User module:
    * Added hook_profile_alter().
    * E-mail verification is made optional.
    * Added mass editing and filtering on admin/user/user.
- PHP Template engine:
    * Add the ability to look for a series of suggested templates.
    * Look for page templates based upon the path.
    * Look for block templates based upon the region, module, and delta.
- Content system:
    * Made it easier for node access modules to work well with each other.
    * Added configurable content types.
    * Changed node rendering to work with structured arrays.
- Performance:
    * Improved session handling: reduces database overhead.
    * Improved access checking: reduces database overhead.
    * Made it possible to do memcached based session management.
    * Omit sidebars when serving a '404 - Page not found': saves CPU cycles and bandwidth.
    * Added an 'aggressive' caching policy.
    * Added a CSS aggregator and compressor (up to 40% faster page loads).
- Removed the archive module.
- Upgrade system:
    * Created space for update branches.
- Form API:
    * Made it possible to programmatically submit forms.
    * Improved api for multistep forms.
- Theme system:
    * Split up and removed drupal.css.
    * Added nested lists generation.
    * Added a self-clearing block class.

Drupal 4.7.11, 2008-01-10
-------------------------
- fixed a security issue (Cross site request forgery), see SA-2008-005
- fixed a security issue (Cross site scripting, UTF8), see SA-2008-006
- fixed a security issue (Cross site scripting, register_globals), see SA-2008-007

Drupal 4.7.10, 2007-12-06
-------------------------
- fixed taxonomy feed bug introduced by SA-2007-031

Drupal 4.7.9, 2007-12-05
------------------------
- fixed a security issue (SQL injection), see SA-2007-031

Drupal 4.7.8, 2007-10-17
------------------------
- fixed a security issue (HTTP response splitting), see SA-2007-024
- fixed a security issue (Cross site scripting via uploads), see SA-2007-026
- fixed a security issue (API handling of unpublished comment), see SA-2007-030

Drupal 4.7.7, 2007-07-26
------------------------
- fixed security issue (XSS), see SA-2007-018

Drupal 4.7.6, 2007-01-29
------------------------
- fixed security issue (code execution), see SA-2007-005

Drupal 4.7.5, 2007-01-05
------------------------
- Fixed security issue (XSS), see SA-2007-001
- Fixed security issue (DoS), see SA-2007-002

Drupal 4.7.4, 2006-10-18
------------------------
- Fixed security issue (XSS), see SA-2006-024
- Fixed security issue (CSRF), see SA-2006-025
- Fixed security issue (Form action attribute injection), see SA-2006-026

Drupal 4.7.3, 2006-08-02
------------------------
- Fixed security issue (XSS), see SA-2006-011

Drupal 4.7.2, 2006-06-01
------------------------
- Fixed critical upload issue, see SA-2006-007
- Fixed taxonomy XSS issue, see SA-2006-008
- Fixed a variety of small bugs.

Drupal 4.7.1, 2006-05-24
------------------------
- Fixed critical SQL issue, see SA-2006-005
- Fixed a serious upgrade related bug.
- Fixed a variety of small bugs.

Drupal 4.7.0, 2006-05-01
------------------------
- Added free tagging support.
- Added a site-wide contact form.
- Theme system:
    * Added the PHPTemplate theme engine and removed the Xtemplate engine.
    * Converted the bluemarine theme from XTemplate to PHPTemplate.
    * Converted the pushbutton theme from XTemplate to PHPTemplate.
- Usability:
    * Reworked the 'request new password' functionality.
    * Reworked the node and comment edit forms.
    * Made it easy to add nodes to the navigation menu.
    * Added site 'offline for maintenance' feature.
    * Added support for auto-complete forms (AJAX).
    * Added support for collapsible page sections (JS).
    * Added support for resizable text fields (JS).
    * Improved file upload functionality (AJAX).
    * Reorganized some settings pages.
    * Added friendly database error screens.
    * Improved styling of update.php.
- Refactored the forms API.
    * Made it possible to alter, extend or theme forms.
- Comment system:
    * Added support for "mass comment operations" to ease repetitive tasks.
    * Comment moderation has been removed.
- Node system:
    * Reworked the revision functionality.
    * Removed the bookmarklet code. Third-party modules can now handle
      This.
- Upgrade system:
    * Allows contributed modules to plug into the upgrade system.
- Profiles:
    * Added a block to display author information along with posts.
    * Added support for private profile fields.
- Statistics module:
    * Added the ability to track page generation times.
    * Made it possible to block certain IPs/hostnames.
- Block system:
    * Added support for theme-specific block regions.
- Syndication:
    * Made the aggregator module parse Atom feeds.
    * Made the aggregator generate RSS feeds.
    * Added RSS feed settings.
- XML-RPC:
    * Replaced the XML-RPC library by a better one.
- Performance:
    * Added 'loose caching' option for high-traffic sites.
    * Improved performance of path aliasing.
    * Added the ability to track page generation times.
- Internationalization:
    * Improved Unicode string handling API.
    * Added support for PHP's multibyte string module.
- Added support for PHP5's 'mysqli' extension.
- Search module:
    * Made indexer smarter and more robust.
    * Added advanced search operators (e.g. phrase, node type, ...).
    * Added customizable result ranking.
- PostgreSQL support:
    * Removed dependency on PL/pgSQL procedural language.
- Menu system:
    * Added support for external URLs.
- Queue module:
    * Removed from core.
- HTTP handling:
    * Added support for a tolerant Base URL.
    * Output URIs relative to the root, without a base tag.

Drupal 4.6.11, 2007-01-05
-------------------------
- Fixed security issue (XSS), see SA-2007-001
- Fixed security issue (DoS), see SA-2007-002

Drupal 4.6.10, 2006-10-18
-------------------------
- Fixed security issue (XSS), see SA-2006-024
- Fixed security issue (CSRF), see SA-2006-025
- Fixed security issue (Form action attribute injection), see SA-2006-026

Drupal 4.6.9, 2006-08-02
------------------------
- Fixed security issue (XSS), see SA-2006-011

Drupal 4.6.8, 2006-06-01
------------------------
- Fixed critical upload issue, see SA-2006-007
- Fixed taxonomy XSS issue, see SA-2006-008

Drupal 4.6.7, 2006-05-24
------------------------
- Fixed critical SQL issue, see SA-2006-005

Drupal 4.6.6, 2006-03-13
------------------------
- Fixed bugs, including 4 security vulnerabilities.

Drupal 4.6.5, 2005-12-12
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.6.4, 2005-11-30
------------------------
- Fixed bugs, including 3 security vulnerabilities.

Drupal 4.6.3, 2005-08-15
------------------------
- Fixed bugs, including a critical "arbitrary PHP code execution" bug.

Drupal 4.6.2, 2005-06-29
------------------------
- Fixed bugs, including two critical "arbitrary PHP code execution" bugs.

Drupal 4.6.1, 2005-06-01
------------------------
- Fixed bugs, including a critical input validation bug.

Drupal 4.6.0, 2005-04-15
------------------------
- PHP5 compliance
- Search:
    * Added UTF-8 support to make it work with all languages.
    * Improved search indexing algorithm.
    * Improved search output.
    * Impose a throttle on indexing of large sites.
    * Added search block.
- Syndication:
    * Made the ping module ping pingomatic.com which, in turn, will ping all the major ping services.
    * Made Drupal generate RSS 2.0 feeds.
    * Made RSS feeds extensible.
    * Added categories to RSS feeds.
    * Added enclosures to RSS feeds.
- Flood control mechanism:
    * Added a mechanism to throttle certain operations.
- Usability:
    * Refactored the block configuration pages.
    * Refactored the statistics pages.
    * Refactored the watchdog pages.
    * Refactored the throttle module configuration.
    * Refactored the access rules page.
    * Refactored the content administration page.
    * Introduced forum configuration pages.
    * Added a 'add child page' link to book pages.
- Contact module:
    * Added a simple contact module that allows users to contact each other using e-mail.
- Multi-site configuration:
    * Made it possible to run multiple sites from a single code base.
- Added an image API: enables better image handling.
- Block system:
    * Extended the block visibility settings.
- Theme system:
    * Added new theme functions.
- Database backend:
    * The PEAR database backend is no longer supported.
- Performance:
    * Improved performance of the forum topics block.
    * Improved performance of the tracker module.
    * Improved performance of the node pages.
- Documentation:
    * Improved and extended PHPDoc/Doxygen comments.

Drupal 4.5.8, 2006-03-13
------------------------
- Fixed bugs, including 3 security vulnerabilities.

Drupal 4.5.7, 2005-12-12
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.5.6, 2005-11-30
------------------------
- Fixed bugs, including 3 security vulnerabilities.

Drupal 4.5.5, 2005-08-15
------------------------
- Fixed bugs, including a critical "arbitrary PHP code execution" bug.

Drupal 4.5.4, 2005-06-29
------------------------
- Fixed bugs, including two critical "arbitrary PHP code execution" bugs.

Drupal 4.5.3, 2005-06-01
------------------------
- Fixed bugs, including a critical input validation bug.

Drupal 4.5.2, 2005-01-15
------------------------
- Fixed bugs: a cross-site scripting (XSS) vulnerability has been fixed.

Drupal 4.5.1, 2004-12-01
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.5.0, 2004-10-18
------------------------
- Navigation:
    * Made it possible to add, delete, rename and move menu items.
    * Introduced tabs and subtabs for local tasks.
    * Reorganized the navigation menus.
- User management:
    * Added support for multiple roles per user.
    * Made it possible to add custom profile fields.
    * Made it possible to browse user profiles by field.
- Node system:
    * Added support for node-level permissions.
- Comment module:
    * Made it possible to leave contact information without having to register.
- Upload module:
    * Added support for uploading documents (includes images).
- Forum module:
    * Added support for sticky forum topics.
    * Made it possible to track forum topics.
- Syndication:
    * Added support for RSS ping-notifications of http://technorati.com/.
    * Refactored the categorization of syndicated news items.
    * Added an URL alias for 'rss.xml'.
    * Improved date parsing.
- Database backend:
    * Added support for multiple database connections.
    * The PostgreSQL backend does no longer require PEAR.
- Theme system:
    * Changed all GIFs to PNGs.
    * Reorganised the handling of themes, template engines, templates and styles.
    * Unified and extended the available theme settings.
    * Added theme screenshots.
- Blocks:
    * Added 'recent comments' block.
    * Added 'categories' block.
- Blogger API:
    * Added support for auto-discovery of blogger API via RSD.
- Performance:
    * Added support for sending gzip compressed pages.
    * Improved performance of the forum module.
- Accessibility:
    * Improved the accessibility of the archive module's calendar.
    * Improved form handling and error reporting.
    * Added HTTP redirects to prevent submitting twice when refreshing right after a form submission.
- Refactored 403 (forbidden) handling and added support for custom 403 pages.
- Documentation:
    * Added PHPDoc/Doxygen comments.
- Filter system:
    * Added support for using multiple input formats on the site
    * Expanded the embedded PHP-code feature so it can be used everywhere
    * Added support for role-dependent filtering, through input formats
- UI translation:
    * Managing translations is now completely done through the administration interface
    * Added support for importing/exporting gettext .po files

Drupal 4.4.3, 2005-06-01
------------------------
- Fixed bugs, including a critical input validation bug.

Drupal 4.4.2, 2004-07-04
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.4.1, 2004-05-01
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.4.0, 2004-04-01
------------------------
- Added support for the MetaWeblog API and MovableType extensions.
- Added a file API: enables better document management.
- Improved the watchdog and search module to log search keys.
- News aggregator:
    * Added support for conditional GET.
    * Added OPML feed subscription list.
    * Added support for <image>, <pubDate>, <dc:date>, <dcterms:created>, <dcterms:issued> and <dcterms:modified>.
- Comment module:
    * Made it possible to disable the "comment viewing controls".
- Performance:
    * Improved module loading when serving cached pages.
    * Made it possible to automatically disable modules when under heavy load.
    * Made it possible to automatically disable blocks when under heavy load.
    * Improved performance and memory footprint of the locale module.
- Theme system:
    * Made all theme functions start with 'theme_'.
    * Made all theme functions return their output.
    * Migrated away from using the BaseTheme class.
    * Added many new theme functions and refactored existing theme functions.
    * Added avatar support to 'Xtemplate'.
    * Replaced theme 'UnConeD' by 'Chameleon'.
    * Replaced theme 'Marvin' by 'Pushbutton'.
- Usability:
    * Added breadcrumb navigation to all pages.
    * Made it possible to add context-sensitive help to all pages.
    * Replaced drop-down menus by radio buttons where appropriate.
    * Removed the 'magic_quotes_gpc = 0' requirement.
    * Added a 'book navigation' block.
- Accessibility:
    * Made themes degrade gracefully in absence of CSS.
    * Grouped form elements using '<fieldset>' and '<legend>' tags.
    * Added '<label>' tags to form elements.
- Refactored 404 (file not found) handling and added support for custom 404 pages.
- Improved the filter system to prevent conflicts between filters:
    * Made it possible to change the order in which filters are applied.
- Documentation:
    * Added PHPDoc/Doxygen comments.

Drupal 4.3.2, 2004-01-01
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.3.1, 2003-12-01
------------------------
- Fixed bugs: no critical bugs were identified.

Drupal 4.3.0, 2003-11-01
------------------------
- Added support for configurable URLs.
- Added support for sortable table columns.
- Database backend:
    * Added support for selective database table prefixing.
- Performance:
    * Optimized many SQL queries for speed by converting left joins to inner joins.
- Comment module:
    * Rewrote the comment housekeeping code to be much more efficient and scalable.
    * Changed the comment module to use the standard pager.
- User module:
    * Added support for multiple sessions per user.
    * Added support for anonymous user sessions.
- Forum module:
    * Improved the forum views and the themability thereof.
- Book module:
    * Improved integration of non-book nodes in the book outline.
- Usability:
    * Added support for "mass node operations" to ease repetitive tasks.
    * Added support for breadcrumb navigation to several modules' user pages.
    * Integrated the administration pages with the normal user pages.

Drupal 4.2.0, 2003-08-01
------------------------
- Added support for clean URLs.
- Added textarea hook and support for onload attributes: enables integration of WYSIWYG editors.
- Rewrote the RSS/RDF parser:
    * It will now use PHP's built-in XML parser to parse news feeds.
- Rewrote the administration pages:
    * Improved the navigational elements and added breadcrumb navigation.
    * Improved the look and feel.
    * Added context-sensitive help.
- Database backend:
    * Fixed numerous SQL queries to make Drupal ANSI compliant.
    * Added MSSQL database scheme.
- Search module:
    * Changed the search module to use implicit AND'ing instead of implicit OR'ing.
- Node system:
    * Replaced the "post content" permission by more fine-grained permissions.
    * Improved content submission:
        + Improved teasers: teasers are now optional, teaser length can be configured, teaser and body are edited in a single textarea, users will no longer be bothered with teasers when the post is too short for one.
        + Added the ability to preview both the short and the full version of your posts.
    * Extended the node API which allows for better integration.
    * Added default node settings to control the behavior for promotion, moderation and other options.
- Themes:
    * Replaced theme "Goofy" by "Xtemplate", a template driven theme.
- Removed the 'register_globals = on' requirement.
- Added better installation instructions.

Drupal 4.1.0, 2003-02-01
------------------------
- Collaboratively revised and expanded the Drupal documentation.
- Rewrote comment.module:
    * Reintroduced comment rating/moderation.
    * Added support for comment paging.
    * Performance improvements: improved comment caching, faster SQL queries, etc.
- Rewrote block.module:
    * Performance improvements: blocks are no longer rendered when not displayed.
- Rewrote forum.module:
    * Added a lot of features one can find in stand-alone forum software including but not limited to support for topic paging, added support for icons, rewrote the statistics module, etc.
- Rewrote statistics.module:
    * Collects access counts for each node, referrer logs, number of users/guests.
    * Export blocks displaying top viewed nodes over last 24 hour period, top viewed nodes over all time, last nodes viewed, how many users/guest online.
- Added throttle.module:
    * Auto-throttle congestion control mechanism: Drupal can adapt itself based on the server load.
- Added profile.module:
    * Enables to extend the user and registration page.
- Added pager support to the main page.
- Replaced weblogs.module by ping.module:
    * Added support for normal and RSS notifications of http://blo.gs/.
    * Added support for RSS ping-notifications of http://weblogs.com/.
- Removed the rating module
- Themes:
    * Removed a significant portion of hard-coded mark-up.

Drupal 4.0.0, 2002-06-15
------------------------
- Added tracker.module:
    * Replaces the previous "your [site]" links (recent comments and nodes).
- Added weblogs.module:
    * This will ping weblogs.com when new content is promoted.
- Added taxonomy module which replaces the meta module.
    * Supports relations, hierarchies and synonyms.
- Added a caching system:
    * Speeds up pages for anonymous users and reduces system load.
- Added support for external SMTP libraries.
- Added an archive extension to the calendar.
- Added support for the Blogger API.
- Themes:
    * Cleaned up the theme system.
    * Moved themes that are not maintained to contributions CVS repository.
- Database backend:
    * Changed to PEAR database abstraction layer.
    * Using ANSI SQL queries to be more portable.
- Rewrote the user system:
    * Added support for Drupal authentication through XML-RPC and through a Jabber server.
    * Added support for modules to add more user data.
    * Users may delete their own account.
    * Added who's new and who's online blocks.
- Changed block system:
    * Various hard coded blocks are now dynamic.
    * Blocks can now be enabled and/or be set by the user.
    * Blocks can be set to only show up on some pages.
    * Merged box module with block module.
- Node system:
    * Blogs can be updated.
    * Teasers (abstracts) on all node types.
    * Improved error checking.
    * Content versioning support.
    * Usability improvements.
- Improved book module to support text, HTML and PHP pages.
- Improved comment module to mark new comments.
- Added a general outliner which will let any node type be linked to a book.
- Added an update script that lets you upgrade from previous releases or on a day to day basis when using the development tree.
- Search module:
    * Improved the search system by making it context sensitive.
    * Added indexing.
- Various updates:
    * Changed output to valid XHTML.
    * Improved multiple sites using the same Drupal database support.
    * Added support for session IDs in URLs instead of cookies.
    * Made the type of content on the front page configurable.
    * Made each cloud site have its own settings.
    * Modules and themes can now be enabled/disabled using the administration pages.
    * Added URL abstraction for links.
    * Usability changes (renamed links, better UI, etc).
- Collaboratively revised and expanded the Drupal documentation.

Drupal 3.0.1, 2001-10-15
------------------------
- Various updates:
    * Added missing translations
    * Updated the themes: tidied up some HTML code and added new Drupal logos.

Drupal 3.0.0, 2001-09-15
------------------------
- Major overhaul of the entire underlying design:
    * Everything is based on nodes: nodes are a conceptual "black box" to couple and manage different types of content and that promotes reusing existing code, thus reducing the complexity and size of Drupal as well as improving long-term stability.
- Rewrote submission/moderation queue and renamed it to queue.module.
- Removed FAQ and documentation module and merged them into a "book module".
- Removed ban module and integrated it into account.module as "access control":
    * Access control is based on much more powerful regular expressions (regex) now rather than on MySQL pattern matching.
- Rewrote watchdog and submission throttle:
    * Improved watchdog messages and added watchdog filter.
- Rewrote headline code and renamed it to import.module and export.module:
    * Added various improvements, including a better parser, bundles and better control over individual feeds.
- Rewrote section code and renamed it to meta.module:
    * Supports unlimited amount of nested topics. Topics can be nested to create a multi-level hierarchy.
- Rewrote configuration file resolving:
    * Drupal tries to locate a configuration file that matches your domain name or uses conf.php if the former failed. Note also that the configuration files got renamed from .conf to .php for security's sake on mal-configured Drupal sites.
- Added caching support which makes Drupal extremely scalable.
- Added access.module:
    * Allows you to set up 'roles' (groups) and to bind a set of permissions to each group.
- Added blog.module.
- Added poll.module.
- Added system.module:
    * Moved most of the configuration options from hostname.conf to the new administration section.
    * Added support for custom "filters".
- Added statistics.module
- Added moderate.module:
    * Allows to assign users editorial/moderator rights to certain nodes or topics.
- Added page.module:
    * Allows creation of static (and dynamic) pages through the administration interface.
- Added help.module:
    * Groups all available module documentation on a single page.
- Added forum.module:
    * Added an integrated forum.
- Added cvs.module and cvs-to-sql.pl:
    * Allows to display and mail CVS log messages as daily digests.
- Added book.module:
    * Allows collaborative handbook writing: primary used for Drupal documentation.
- Removed cron.module and integrated it into conf.module.
- Removed module.module as it was no longer needed.
- Various updates:
    * Added "auto-post new submissions" feature versus "moderate new submissions".
    * Introduced links/Drupal tags: [[link]]
    * Added preview functionality when submitting new content (such as a story) from the administration pages.
    * Made the administration section only show those links a user has access to.
    * Made all modules use specific form_* functions to guarantee a rock-solid forms and more consistent layout.
    * Improved scheduler:
        + Content can be scheduled to be 'posted', 'queued' and 'hidden'.
    * Improved account module:
        + Added "access control" to allow/deny certain usernames/e-mail addresses/hostnames.
    * Improved locale module:
        + Added new overview to easy the translation process.
    * Improved comment module:
        + Made it possible to permanently delete comments.
    * Improved rating module
    * Improved story module:
        + Added preview functionality for administrators.
        + Made it possible to permanently delete stories.
    * Improved themes:
        + W3C validation on a best effort basis.
        + Removed $theme->control() from themes.
        + Added theme "goofy".
- Collaboratively revised and expanded the Drupal documentation.

Drupal 2.0.0, 2001-03-15
------------------------
- Rewrote the comment/discussion code:
    * Comment navigation should be less confusing now.
    * Additional/alternative display and order methods have been added.
    * Modules can be extended with a "comment system": modules can embed the existing comment system without having to write their own, duplicate comment system.
- Added sections and section manager:
    * Story sections can be maintained from the administration pages.
    * Story sections make the open submission more adaptive in that you can set individual post, dump and expiration thresholds for each section according to the story type and urgency level: stories in certain sections do not "expire" and might stay interesting and active as time passes by, whereas news-related stories are only considered "hot" over a short period of time.
- Multiple vhosts + multiple directories:
    * You can set up multiple Drupal sites on top of the same physical source tree either by using vhosts or sub-directories.
- Added "user ratings" similar to SlashCode's Karma or Scoop's Mojo:
    * All rating logic is packed into a module to ease experimenting with different rating heuristics/algorithms.
- Added "search infrastructure":
    * Improved search page and integrated search functionality in the administration pages.
- Added translation / localization / internationalization support:
    * Because many people would love to see their website showing a lot less of English, and far more of their own language, Drupal provides a framework to set up a multi-lingual website or to overwrite the default English text in English.
- Added fine-grained user permission (or group) system:
    * Users can be granted access to specific administration sections. Example: a FAQ maintainer can be given access to maintain the FAQ and translators can be given access to the translation pages.
- Added FAQ module
- Changed the "open submission queue" into a (optional) module.
- Various updates:
    * Improved account module:
        + User accounts can be deleted.
        + Added fine-grained permission support.
    * Improved block module
    * Improved diary module:
        + Diary entries can be deleted
    * Improved headline module:
        + Improved parser to support more "generic" RDF/RSS/XML backend.
    * Improved module module
    * Improved watchdog module
    * Improved database abstraction layer
    * Improved themes:
        + W3C validation on a best effort basis
        + Added theme "example" (alias "Stone Age")
    * Added new scripts to directory "scripts"
    * Added directory "misc"
    * Added CREDITS file
- Revised documentation

Drupal 1.0.0, 2001-01-15
------------------------
- Initial release

File

CHANGELOG.txt
View source
  1. Drupal 7.xx, xxxx-xx-xx (development version)
  2. -----------------------
  3. Drupal 7.82, 2021-07-21
  4. -----------------------
  5. - Fixed security issues:
  6. - SA-CORE-2021-004
  7. Drupal 7.81, 2021-06-02
  8. -----------------------
  9. - Block Google FLoC by default
  10. - Testing and accessibility enhancements
  11. - Various bug fixes, optimizations and improvements
  12. Drupal 7.80, 2021-04-20
  13. -----------------------
  14. - Fixed security issues:
  15. - SA-CORE-2021-002
  16. Drupal 7.79, 2021-04-07
  17. -----------------------
  18. - Initial support for PHP 8
  19. - Support for SameSite cookie attribute
  20. - Avoid write for unchanged fields (opt-in)
  21. Drupal 7.78, 2021-01-19
  22. -----------------------
  23. - Fixed security issues:
  24. - SA-CORE-2021-001
  25. Drupal 7.77, 2020-12-03
  26. -----------------------
  27. - Hotfix for schema.prefixed tables
  28. Drupal 7.76, 2020-12-02
  29. -----------------------
  30. - Support for MySQL 8
  31. - Core tests pass in SQLite
  32. - Better user flood control logging
  33. Drupal 7.75, 2020-11-26
  34. -----------------------
  35. - Fixed security issues:
  36. - SA-CORE-2020-013
  37. Drupal 7.74, 2020-11-17
  38. -----------------------
  39. - Fixed security issues:
  40. - SA-CORE-2020-012
  41. Drupal 7.73, 2020-09-16
  42. -----------------------
  43. - Fixed security issues:
  44. - SA-CORE-2020-007
  45. Drupal 7.72, 2020-06-17
  46. -----------------------
  47. - Fixed security issues:
  48. - SA-CORE-2020-004
  49. Drupal 7.71, 2020-06-03
  50. -----------------------
  51. - Fix for jQuery Form bug in Chromium-based browsers
  52. - Full support for PHP 7.4
  53. Drupal 7.70, 2020-05-19
  54. -----------------------
  55. - Fixed security issues:
  56. - SA-CORE-2020-002
  57. - SA-CORE-2020-003
  58. Drupal 7.69, 2019-12-18
  59. -----------------------
  60. - Fixed security issues:
  61. - SA-CORE-2019-012
  62. Drupal 7.68, 2019-12-04
  63. -----------------------
  64. - Fixed: Hide toolbar when printing
  65. - Fixed: Settings returned via ajax are not run through hook_js_alter()
  66. - Fixed: Use drupal_http_build_query() in drupal_http_request()
  67. - Fixed: DrupalRequestSanitizer not found fatal error when bootstrap phase order is changed
  68. - Fixed: Block web.config in .htaccess (and vice-versa)
  69. - Fixed: Create "scripts" element to align rendering workflow to how "styles" are handled
  70. - PHP 7.3: Fixed 'Cannot change session id when session is active'
  71. - PHP 7.1: Fixed 'A non-numeric value encountered in theme_pager()'
  72. - PHP 7.x: Fixed file.inc generated .htaccess does not cover PHP 7
  73. - PHP 5.3: Fixed check_plain() 'Invalid multibyte sequence in argument' test failures
  74. - Fixed: Allow passing data as array to drupal_http_request()
  75. - Fixed: Skip module_invoke/module_hook in calling hook_watchdog (excessive function_exist)
  76. - Fixed: HTTP status 200 returned for 'Additional uncaught exception thrown while handling exception'
  77. - Fixed: theme_table() should take an optional footer variable and produce
  78. - Fixed: 'uasort() expects parameter 1 to be array, null given in node_view_multiple()'
  79. - [regression] Fix default.settings.php permission
  80. Drupal 7.67, 2019-05-08
  81. -----------------------
  82. - Fixed security issues:
  83. - SA-CORE-2019-007
  84. Drupal 7.66, 2019-04-17
  85. -----------------------
  86. - Fixed security issues:
  87. - SA-CORE-2019-006
  88. Drupal 7.65, 2019-03-20
  89. -----------------------
  90. - Fixed security issues:
  91. - SA-CORE-2019-004
  92. Drupal 7.64, 2019-02-06
  93. -----------------------
  94. - [regression] Unset the 'host' header in drupal_http_request() during redirect
  95. - Fixed: 7.x does not have Phar protection and Phar tests are failing on Drupal 7
  96. - Fixed: Notice: Undefined index: display_field in file_field_widget_value() (line 582 of /module/file/file.field.inc)
  97. - Performance improvement: Registry rebuild should not parse the same file twice in the same request
  98. - Fixed _registry_update() to clear caches after transaction is committed
  99. Drupal 7.63, 2019-01-16
  100. -----------------------
  101. - Fixed a fatal error for some Drush users introduced by SA-CORE-2019-002.
  102. Drupal 7.62, 2019-01-15
  103. -----------------------
  104. - Fixed security issues:
  105. - SA-CORE-2019-001
  106. - SA-CORE-2019-002
  107. Drupal 7.61, 2018-11-07
  108. -----------------------
  109. - File upload validation functions and hook_file_validate() implementations are
  110. now always passed the correct file URI.
  111. - The default form cache expiration of 6 hours is now configurable (API
  112. addition: https://www.drupal.org/node/2857751).
  113. - Allowed callers of drupal_http_request() to optionally specify an explicit
  114. Host header.
  115. - Allowed the + character to appear in usernames.
  116. - PHP 7.2: Fixed Archive_Tar incompatibility.
  117. - PHP 7.2: Removed deprecated function each().
  118. - PHP 7.2: Avoid count() calls on uncountable variables.
  119. - PHP 7.2: Removed deprecated create_function() call.
  120. - PHP 7.2: Make sure variables are arrays in theme_links().
  121. - Fixed theme-settings.php not being loaded on cached forms
  122. - Fixed problem with IE11 & Chrome(PointerEvents enabled) & some Firefox scroll to the top of the page after dragging the bottom item with jquery 1.5 <-> 1.11
  123. Drupal 7.60, 2018-10-18
  124. ------------------------
  125. - Fixed security issues. See SA-CORE-2018-006.
  126. Drupal 7.59, 2018-04-25
  127. -----------------------
  128. - Fixed security issues (remote code execution). See SA-CORE-2018-004.
  129. Drupal 7.58, 2018-03-28
  130. -----------------------
  131. - Fixed security issues (remote code execution). See SA-CORE-2018-002.
  132. Drupal 7.57, 2018-02-21
  133. -----------------------
  134. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2018-001.
  135. Drupal 7.56, 2017-06-21
  136. -----------------------
  137. - Fixed security issues (access bypass). See SA-CORE-2017-003.
  138. Drupal 7.55, 2017-06-07
  139. -----------------------
  140. - Fixed incompatibility with PHP versions 7.0.19 and 7.1.5 due to duplicate
  141. DATE_RFC7231 definition.
  142. - Made Drupal core pass all automated tests on PHP 7.1.
  143. - Allowed services such as Let's Encrypt to work with Drupal on Apache, by
  144. making Drupal's .htaccess file allow access to the .well-known directory
  145. defined by RFC 5785.
  146. - Made new Drupal sites work correctly on Apache 2.4 when the mod_access_compat
  147. Apache module is disabled.
  148. - Fixed Drupal's URL-generating functions to always encode '[' and ']' so that
  149. the URLs will pass HTML5 validation.
  150. - Various additional bug fixes.
  151. - Various API documentation improvements.
  152. - Additional automated test coverage.
  153. Drupal 7.54, 2017-02-01
  154. -----------------------
  155. - Modules are now able to define theme engines (API addition:
  156. https://www.drupal.org/node/2826480).
  157. - Logging of searches can now be disabled (new option in the administrative
  158. interface).
  159. - Added menu tree render structure to (pre-)process hooks for theme_menu_tree()
  160. (API addition: https://www.drupal.org/node/2827134).
  161. - Added new function for determining whether an HTTPS request is being served
  162. (API addition: https://www.drupal.org/node/2824590).
  163. - Fixed incorrect default value for short and medium date formats on the date
  164. type configuration page.
  165. - File validation error message is now removed after subsequent upload of valid
  166. file.
  167. - Numerous bug fixes.
  168. - Numerous API documentation improvements.
  169. - Additional performance improvements.
  170. - Additional automated test coverage.
  171. Drupal 7.53, 2016-12-07
  172. -----------------------
  173. - Fixed drag and drop support on newer Chrome/IE 11+ versions after 7.51 update
  174. when jQuery is updated to 1.7-1.11.0.
  175. Drupal 7.52, 2016-11-16
  176. -----------------------
  177. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2016-005.
  178. Drupal 7.51, 2016-10-05
  179. -----------------------
  180. - The Update module now also checks for updates to a disabled theme that is
  181. used as an admin theme.
  182. - Exceptions thrown in dblog_watchdog() are now caught and ignored.
  183. - Clarified the warning that appears when modules are missing or have moved.
  184. - Log messages are now XSS filtered on display.
  185. - Draggable tables now work on touch screen devices.
  186. - Added a setting for allowing double underscores in CSS identifiers
  187. (https://www.drupal.org/node/2810369).
  188. - If a user navigates away from a page while an Ajax request is running they
  189. will no longer get an error message saying "An Ajax HTTP request terminated
  190. abnormally".
  191. - The system_region_list() API function now takes an optional third parameter
  192. which allows region name translations to be skipped when they are not needed
  193. (API addition: https://www.drupal.org/node/2810365).
  194. - Numerous performance improvements.
  195. - Numerous bug fixes.
  196. - Numerous API documentation improvements.
  197. - Additional automated test coverage.
  198. Drupal 7.50, 2016-07-07
  199. -----------------------
  200. - Added a new "administer fields" permission for trusted users, which is
  201. required in addition to other permissions to use the field UI
  202. (https://www.drupal.org/node/2483307).
  203. - Added clickjacking protection to Drupal core by setting the X-Frame-Options
  204. header to SAMEORIGIN by default (https://www.drupal.org/node/2735873).
  205. - Added support for full UTF-8 (emojis, Asian symbols, mathematical symbols) on
  206. MySQL and other database drivers when the site and database are configured to
  207. allow it (https://www.drupal.org/node/2761183).
  208. - Improved performance by avoiding a re-scan of directories when a file is
  209. missing; instead, trigger a PHP warning (minor API change:
  210. https://www.drupal.org/node/2581445).
  211. - Made it possible to use any PHP callable in Ajax form callbacks, form API
  212. form-building functions, and form API wrapper callbacks (API addition:
  213. https://www.drupal.org/node/2761169).
  214. - Fixed that following a password reset link while logged in leaves users unable
  215. to change their password (minor user interface change:
  216. https://www.drupal.org/node/2759023).
  217. - Implemented various fixes for automated test failures on PHP 5.4+ and PHP 7.
  218. Drupal core automated tests now pass in these environments.
  219. - Improved support for PHP 7 by fixing various problems.
  220. - Fixed various bugs with PHP 5.5+ imagerotate(), including when incorrect
  221. color indices are passed in.
  222. - Fixed a regression introduced in Drupal 7.43 that allowed files uploaded by
  223. anonymous users to be lost after form validation errors, and that also caused
  224. regressions with certain contributed modules.
  225. - Fixed a regression introduced in Drupal 7.36 which caused the default value
  226. of hidden textarea fields to be ignored.
  227. - Fixed robots.txt to allow search engines to access CSS, JavaScript and image
  228. files.
  229. - Changed wording on the Update Manager settings page to clarify that the
  230. option to check for disabled module updates also applies to uninstalled
  231. modules (administrative-facing translatable string change).
  232. - Changed the help text when editing menu links and configuring URL redirect
  233. actions so that it does not reference "Drupal" or the drupal.org website
  234. (administrative-facing translatable string change).
  235. - Fixed the locale safety check that is used to ensure that translations are
  236. safe to allow for tokens in the href/src attributes of translated strings.
  237. - Fixed that URL generation only works on port 80 when using domain based
  238. language negotation.
  239. - Made method="get" forms work inside the administrative overlay. The fix adds
  240. a new hidden field to these forms when they appear inside the overlay (minor
  241. data structure change).
  242. - Increased maxlength of menu link title input fields in the node form and
  243. menu link form from 128 to 255 characters.
  244. - Removed meaningless post-check=0 and pre-check=0 cache control headers from
  245. Drupal HTTP responses.
  246. - Added a .editorconfig file to auto-configure editors that support it.
  247. - Added --directory option to run-tests.sh for easier test discovery of all
  248. tests within a project.
  249. - Made run-tests.sh exit with a failure code when there are test fails or
  250. problems running the script.
  251. - Fixed that cookies from previous tests are still present when a new test
  252. starts in DrupalWebTestCase.
  253. - Improved performance of queries on the {authmap} database table.
  254. - Fixed handling of missing files and functions inside the registry.
  255. - Fixed Ajax handling for tableselect form elements that use checkboxes.
  256. - Fixed a bug which caused ip_address() to return nothing when the client IP
  257. address and proxy IP address are the same.
  258. - Added a new option to format_xml_elements() to allow for already encoded
  259. values.
  260. - Changed the {history} table's node ID field to be an unsigned integer, to
  261. match the same field in the {node} table and to prevent errors with very
  262. large node IDs.
  263. - Added an explicit page callback to the "admin/people/create" menu item in the
  264. User module (minor data structure change). Previously this automatically
  265. inherited the page callback from the parent "admin/people" menu item, which
  266. broke contributed modules that override the "admin/people" page.
  267. - Numerous small bug fixes.
  268. - Numerous API documentation improvements.
  269. - Additional automated test coverage.
  270. Drupal 7.44, 2016-06-15
  271. -----------------------
  272. - Fixed security issues (privilege escalation). See SA-CORE-2016-002.
  273. Drupal 7.43, 2016-02-24
  274. -----------------------
  275. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2016-001.
  276. Drupal 7.42, 2016-02-03
  277. -----------------------
  278. - Stopped invoking hook_flush_caches() on every cron run, since some modules
  279. use that hook for expensive operations that are only needed on cache clears.
  280. - Changed the default .htaccess and web.config to block Composer-related files.
  281. - Added static caching to module_load_include() to improve performance.
  282. - Fixed double-encoding bugs in select field widgets provided by the Options
  283. module. The fix deprecates the 'strip_tags' property on option widgets and
  284. replaces it with a new 'strip_tags_and_unescape' property (minor data
  285. structure change).
  286. - Improved MySQL 5.7 support by changing the MySQL database driver to stop
  287. using the ANSI SQL mode alias, which has different meanings for different
  288. MySQL versions.
  289. - Fixed a regression introduced in Drupal 7.39 which prevented autocomplete
  290. functionality from working on servers that are not configured to
  291. automatically recognize index.php.
  292. - Updated the Archive_Tar PEAR package to the latest 1.4.0 release, to fix bugs
  293. with tar file handling on various operating systems.
  294. - Fixed fatal errors on node preview when a field is displayed in the node
  295. teaser but hidden in the full node view. The fix removes a
  296. field_attach_prepare_view() call from the node_preview() function since it is
  297. redundant with one in the node preview theme layer.
  298. - Improved the description of the "Trimmed" format option on text fields
  299. (translatable string change, and minor UI and data structure change).
  300. - Numerous small bug fixes.
  301. - Numerous API documentation improvements.
  302. - Additional automated test coverage.
  303. Drupal 7.41, 2015-10-21
  304. -----------------------
  305. - Fixed security issues (open redirect). See SA-CORE-2015-004.
  306. Drupal 7.40, 2015-10-14
  307. -----------------------
  308. - Made Drupal's code for parsing .info files run much faster and use much less
  309. memory.
  310. - Prevented drupal_http_request() from returning an error when it receives a
  311. 201 through 206 HTTP status code.
  312. - Added support for autoloading traits via the registry on sites running PHP
  313. 5.4 or higher.
  314. - Allowed the user-picture.tpl.php theme template to have HTML classes besides
  315. the default "user-picture" class printed in it (markup change).
  316. - Fixed the URL text filter to convert e-mail addresses with plus signs into
  317. mailto: links.
  318. - Added alternate text to file icons displayed by the File module, to improve
  319. accessibility (string change, and minor API addition to theme_file_icon()).
  320. - Changed one-time login link failure messages to be displayed as errors or
  321. warnings as appropriate, rather than as regular status messages (minor UI
  322. change and data structure change).
  323. - Changed the default settings.php configuration to exclude private files from
  324. the "404_fast_paths" behavior.
  325. - Changed the page that displays filter tips for a particular text format, for
  326. example filter/tips/full_html, to return "page not found" or "access denied"
  327. if the format does not exist or the user does not have access to it. This
  328. change adds a new menu item to the Filter module's hook_menu() entry (minor
  329. data structure change).
  330. - Added a new hook, hook_block_cid_parts_alter(), to allow modules to alter the
  331. cache keys used for caching a particular block.
  332. - Made drupal_set_message() display and return messages when "0" is passed in
  333. as the message to set.
  334. - Fixed non-functional "Files displayed by default" setting on file fields.
  335. - The "worker callback" provided in hook_cron_queue_info() and the "finished"
  336. callback specified during batch processing can now be any PHP callable
  337. instead of just functions.
  338. - Prevented drupal_set_time_limit() from decreasing the time limit in the case
  339. where the PHP maximum execution time is already unlimited.
  340. - Changed the default thousand marker for numeric fields from a space ("1 000")
  341. to nothing ("1000") (minor UI change: https://www.drupal.org/node/1388376).
  342. - Prevented malformed theme .info files (without a "name" key) from causing
  343. exceptions during menu rebuilds. If an .info file without a "name" key is
  344. found in a module or theme directory, Drupal will now use the module or
  345. theme's machine name as the display name instead.
  346. - Made the format column in the {date_format_locale} database table
  347. case-sensitive, to match the equivalent column in the {date_formats} table.
  348. - Fixed a bug in the Statistics module that caused JavaScript files attached to
  349. a node while it is being viewed to be omitted from the page.
  350. - Added an optional 'project:' prefix that can be added to dependencies in a
  351. module's .info file to indicate which project the dependency resides in (API
  352. addition: https://www.drupal.org/node/2299747).
  353. - Fixed various bugs that occurred after hooks were invoked early in the Drupal
  354. bootstrap and that caused module_implements() and drupal_alter() to cache an
  355. incomplete set of hook implementations for later use.
  356. - Set the X-Content-Type-Options header to "nosniff" when possible, to prevent
  357. certain web browsers from picking an unsafe MIME type.
  358. - Prevented the database API from executing multiple queries at once on MySQL,
  359. if the site's PHP version is new enough to do so. This is a secondary defense
  360. against SQL injection (API change: https://www.drupal.org/node/2463973).
  361. - Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused the upgrade
  362. to fail when there were multiple file records pointing to the same file.
  363. - Numerous small bug fixes.
  364. - Numerous API documentation improvements.
  365. - Additional automated test coverage.
  366. Drupal 7.39, 2015-08-19
  367. -----------------------
  368. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-003.
  369. Drupal 7.38, 2015-06-17
  370. -----------------------
  371. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-002.
  372. Drupal 7.37, 2015-05-07
  373. -----------------------
  374. - Fixed a regression in Drupal 7.36 which caused certain kinds of content types
  375. to become disabled if they were defined by a no-longer-enabled module.
  376. - Removed a confusing description regarding automatic time zone detection from
  377. the user account form (minor UI and data structure change).
  378. - Allowed custom HTML tags with a dash in the name to pass through filter_xss()
  379. when specified in the list of allowed tags.
  380. - Allowed hook_field_schema() implementations to specify indexes for fields
  381. based on a fixed-length column prefix (rather than the entire column), as was
  382. already allowed in hook_schema() implementations.
  383. - Fixed PDO exceptions on PostgreSQL when accessing invalid entity URLs.
  384. - Added a sites/all/libraries folder to the codebase, with instructions for
  385. using it.
  386. - Added a description to the "Administer text formats and filters" permission
  387. on the Permissions page (string change).
  388. - Numerous small bug fixes.
  389. - Numerous API documentation improvements.
  390. - Additional automated test coverage.
  391. Drupal 7.36, 2015-04-01
  392. -----------------------
  393. - Added a 'file_public_schema' variable which allows modules that define
  394. publicly-accessible streams in hook_stream_wrappers() to bypass file download
  395. access checks when processing managed file upload fields.
  396. - Fixed a bug that caused database query tags not to be added to search-related
  397. database queries under many circumstances, and which prevented the
  398. corresponding hook_query_TAG_alter() implementations from being called.
  399. - Fixed the "for" attribute on managed file upload field labels to improve
  400. accessibility (minor markup change).
  401. - Added a 'javascript_always_use_jquery' variable which can be set to FALSE by
  402. sites that may not need jQuery loaded on all pages, and a 'requires_jquery'
  403. option to drupal_add_js() which modules can set to FALSE when adding
  404. JavaScript files that have no dependency on jQuery (API addition:
  405. https://www.drupal.org/node/2462717).
  406. - Fixed incorrect foreign keys in the User module's role_permission and
  407. users_roles database tables.
  408. - Changed permission descriptions throughout Drupal core to consistently link
  409. to relevant administrative pages, regardless of whether the user viewing the
  410. Permissions page can view the page being linked to (minor UI change).
  411. - Fixed the drupal_add_region_content() function so that it actually adds
  412. content to the page.
  413. - Added an 'image_suppress_itok_output' variable to allow sites already using
  414. the existing 'image_allow_insecure_derivatives' variable to also prevent
  415. security tokens from appearing in image derivative URLs.
  416. - Fixed double-escaping of theme names in the Block module administrative
  417. interface (minor string change).
  418. - Added basic support for Xdebug when running automated tests.
  419. - Fixed a bug which caused previewing a node to remove elements from the node
  420. being edited. With this fix, calling node_preview() will no longer modify the
  421. passed-in node object (minor API change).
  422. - Added a user_has_role() function to check whether a user has a particular
  423. role (API addition: https://www.drupal.org/node/2462411).
  424. - Fixed installation failures when an opcode cache is enabled.
  425. - Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused private
  426. files to be inaccessible.
  427. - Fixed a bug in the Drupal 6 to Drupal 7 upgrade path which caused user
  428. pictures to be lost.
  429. - Fixed missing language code in hook_field_attach_view_alter() when it is
  430. invoked from field_view_field().
  431. - Stopped sending ETag and Last-Modified headers for uncached page requests,
  432. since they break caching for certain Varnish and Nginx configurations.
  433. - Changed the Simpletest module to allow PSR-4 test classes to be used in
  434. Drupal 7.
  435. - Fixed a fatal error that occurred when using the Comment module's "Unpublish
  436. comment containing keyword(s)" action.
  437. - Changed the "lang" attribute on language links to "xml:lang" so it validates
  438. as XHTML (minor markup change).
  439. - Prevented the form API from allowing arrays to be submitted for various form
  440. elements, such as textfields, textareas, and password fields (API change:
  441. https://www.drupal.org/node/2462723).
  442. - Fixed a bug in the Contact module which caused the global user object to have
  443. the incorrect name and e-mail address during the remainder of the page
  444. request after the contact form is submitted.
  445. - Numerous small bug fixes.
  446. - Numerous API documentation improvements.
  447. - Additional automated test coverage.
  448. Drupal 7.35, 2015-03-18
  449. -----------------------
  450. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2015-001.
  451. Drupal 7.34, 2014-11-19
  452. -----------------------
  453. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-006.
  454. Drupal 7.33, 2014-11-07
  455. -----------------------
  456. - Began storing the file modification time of each module and theme in the
  457. {system} database table so that contributed modules can use it to identify
  458. recently changed modules and themes (minor data structure change to the
  459. return value of system_get_info() and other related functions).
  460. - Added a "Did you mean?" feature to the run-tests.sh script for running
  461. automated tests from the command line, to help developers who are attempting
  462. to run a particular test class or group.
  463. - Changed the date format used in various HTTP headers output by Drupal core
  464. from RFC 1123 format to RFC 7231 format.
  465. - Added a "block_cache_bypass_node_grants" variable to allow sites which have
  466. node access modules enabled to use the block cache if desired (API addition).
  467. - Made image derivative generation HTTP requests return a 404 error (rather
  468. than a 500 error) when the source image does not exist.
  469. - Fixed a bug which caused user pictures to be removed from the user object
  470. after saving, and resulted in data loss if the user account was subsequently
  471. re-saved.
  472. - Fixed a bug in which field_has_data() did not return TRUE for fields that
  473. only had data in older entity revisions, leading to loss of the field's data
  474. when the field configuration was edited.
  475. - Fixed a bug which caused the Ajax progress throbber to appear misaligned in
  476. many situatons (minor styling change).
  477. - Prevented the Bartik theme from lower-casing the "Permalink" link on
  478. comments, for improved multilingual support (minor UI change).
  479. - Added a "preferred_menu_links" tag to the database query that is used by
  480. menu_link_get_preferred() to find the preferred menu link for a given path,
  481. to make it easier to alter.
  482. - Increased the maximum allowed length of block titles to 255 characters
  483. (database schema change to the {block} table).
  484. - Removed the Field module's field_modules_uninstalled() function, since it did
  485. not do anything when it was invoked.
  486. - Added a "theme_hook_original" variable to templates and theme functions and
  487. an optional sitewide theme debug mode, to provide contextual information in
  488. the page's HTML to theme developers. The theme debug mode is based on the one
  489. used with Twig in Drupal 8 and can be accessed by setting the "theme_debug"
  490. variable to TRUE (API addition).
  491. - Added an entity_view_mode_prepare() API function to allow entity-defining
  492. modules to properly invoke hook_entity_view_mode_alter(), and used it
  493. throughout Drupal core to fix bugs with the invocation of that hook (API
  494. change: https://www.drupal.org/node/2369141).
  495. - Security improvement: Made the database API's orderBy() method sanitize the
  496. sort direction ("ASC" or "DESC") for queries built with db_select(), so that
  497. calling code does not have to.
  498. - Changed the RDF module to consistently output RDF metadata for nodes and
  499. comments near where the node is rendered in the HTML (minor markup and data
  500. structure change).
  501. - Added an HTML class to RDFa metatags throughout Drupal to prevent them from
  502. accidentally affecting the site appearance (minor markup change).
  503. - Fixed a bug in the Unicode requirements check which prevented installing
  504. Drupal on PHP 5.6.
  505. - Fixed a bug which caused drupal_get_bootstrap_phase() to abort the bootstrap
  506. when called early in the page request.
  507. - Renamed the "Search result" view mode to "Search result highlighting input"
  508. to better reflect how it is used (UI change).
  509. - Improved database queries generated by EntityFieldQuery in the case where
  510. delta or language condition groups are used, to reduce the number of INNER
  511. JOINs (this is a minor data structure change affecting code which implements
  512. hook_query_alter() on these queries).
  513. - Removed special-case behavior for file uploads which allowed user #1 to
  514. bypass maximum file size and user quota limits.
  515. - Numerous small bug fixes.
  516. - Numerous API documentation improvements.
  517. - Additional automated test coverage.
  518. Drupal 7.32, 2014-10-15
  519. -----------------------
  520. - Fixed security issues (SQL injection). See SA-CORE-2014-005.
  521. Drupal 7.31, 2014-08-06
  522. -----------------------
  523. - Fixed security issues (denial of service). See SA-CORE-2014-004.
  524. Drupal 7.30, 2014-07-24
  525. -----------------------
  526. - Fixed a regression introduced in Drupal 7.29 that caused files or images
  527. attached to taxonomy terms to be deleted when the taxonomy term was edited
  528. and resaved (and other related bugs with contributed and custom modules).
  529. - Added a warning on the permissions page to recommend restricting access to
  530. the "View site reports" permission to trusted administrators. See
  531. DRUPAL-PSA-2014-002.
  532. - Numerous API documentation improvements.
  533. - Additional automated test coverage.
  534. Drupal 7.29, 2014-07-16
  535. -----------------------
  536. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-003.
  537. Drupal 7.28, 2014-05-08
  538. -----------------------
  539. - Fixed a regression introduced in Drupal 7.27 that caused JavaScript to break
  540. on older browsers (such as Internet Explorer 8 and earlier) when Ajax was
  541. used.
  542. - Increased the timeout used by the Update Manager module when it fetches data
  543. from drupal.org (from 5 seconds to 30 seconds), to work around a problem
  544. which causes incomplete information about security updates to be presented to
  545. site administrators. This fix may lead to a performance slowdown on the
  546. Update Manager administration pages, when installing Drupal distributions,
  547. and (for sites that use the automated cron feature) on occasional page loads
  548. by site visitors.
  549. - Fixed the behavior of the token system's "[node:summary]" token when the body
  550. field does not have a manual summary.
  551. - Changed the behavior of db_query_temporary() so that it works on SELECT
  552. queries even when they have leading comments/whitespace. A side effect of
  553. this fix is that db_query_temporary() will now fail with an error if it is
  554. ever used on non-SELECT queries.
  555. - Added a "node_admin_filter" tag to the database query used to build the list
  556. of nodes on the content administration page, to make it easier to alter.
  557. - Made the cron queue system log any exceptions that are thrown while an item
  558. in the queue is being processed, rather than stopping the entire PHP request.
  559. - Improved screen reader support by adding an aria-live HTML attribute to file
  560. upload fields when there is an error uploading the file (minor markup
  561. change).
  562. - Made the pager on the Tracker module listing pages show the same number of
  563. items as other pagers throughout Drupal core (minor UI change).
  564. - Fixed a bug which caused caches not to be properly cleared when a file entity
  565. was saved or deleted.
  566. - Added several missing countries to the default list returned by
  567. country_get_list() (string change).
  568. - Replaced the term "weight" with "influence" in the content ranking settings
  569. for search, and added help text for administrators (string change).
  570. - Fixed untranslatable text strings in the administrative interface for the
  571. "Crop" effect provided by the Image module (minor string change).
  572. - Fixed a bug in the Taxonomy module update function introduced in Drupal 7.26
  573. that caused memory and CPU problems on sites with very large numbers of
  574. unpublished nodes.
  575. - Numerous small bug fixes.
  576. - Numerous API documentation improvements.
  577. - Additional automated test coverage.
  578. Drupal 7.27, 2014-04-16
  579. -----------------------
  580. - Fixed security issues (information disclosure). See SA-CORE-2014-002.
  581. Drupal 7.26, 2014-01-15
  582. -----------------------
  583. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2014-001.
  584. Drupal 7.25, 2014-01-02
  585. -----------------------
  586. - Fixed a bug in node_save() which prevented the saved node from being updated
  587. in hook_node_insert() and other similar hooks.
  588. - Added a meta tag to install.php to prevent it from being indexed by search
  589. engines even when Drupal is installed in a subfolder (minor markup change).
  590. - Fixed a bug in the database API that caused frequent deadlock errors when
  591. running merge queries on some servers.
  592. - Performance improvement: Prevented block rehashing from writing blocks to the
  593. database on every cache clear and cron run when the blocks have not changed.
  594. This fix results in an extra 'saved' key which is added and set to TRUE for
  595. each block returned by _block_rehash() that actually is saved to the database
  596. (data structure change).
  597. - Added an optional 'skip on cron' parameter to hook_cron_queue_info() to allow
  598. queues to avoid being automatically processed on cron runs (API addition).
  599. - Fixed a bug which caused hook_block_view_MODULE_DELTA_alter() to never be
  600. invoked if the block delta had a hyphen in it. To implement the hook when the
  601. block delta has a hyphen, modules should now replace hyphens with underscores
  602. when constructing the function name for the hook implementation.
  603. - Fixed a bug which caused cached pages to sometimes be sent to the browser
  604. with incorrect compression. The fix adds a new 'page_compressed' key to the
  605. $cache->data array returned by drupal_page_get_cache() (minor data structure
  606. change).
  607. - Fixed broken tests on PHP 5.5.
  608. - Made the File and Image modules more robust when saving entities that have
  609. deleted files attached. The code in file_field_presave() will now remove the
  610. record of the deleted file from the entity before saving (minor data
  611. structure change).
  612. - Standardized menu callback functions throughout Drupal core to return
  613. MENU_NOT_FOUND and MENU_ACCESS_DENIED rather than printing their own "page
  614. not found" or "access denied" pages (minor API change in the return value of
  615. these functions under some circumstances).
  616. - Fixed a bug in which caches were not properly cleared when a node was deleted
  617. via the administrative interface.
  618. - Changed the Bartik theme to render content contained in
    ,  and
    
  619. similar tags in a larger font size, so it is easier to read.
  620. - Fixed a bug in the Search module that caused exceptions to be thrown during
  621. searches if the server was not configured to represent decimal points as a
  622. period.
  623. - Fixed a regression in the Image module that made image_style_url() not work
  624. when a relative path (rather than a complete file URI) was passed to it.
  625. - Added an optional feature to the Statistics module to allow node views to be
  626. tracked by Ajax requests rather than during the server-side generation of the
  627. page. This allows the node counter to work on sites that use external page
  628. caches (string change and new administrative option:
  629. https://drupal.org/node/2164069).
  630. - Added a link to the drupal.org documentation page for cron to the Cron
  631. settings page (string change).
  632. - Added a 'drupal_anonymous_user_object' variable to allow the anonymous user
  633. object returned by drupal_anonymous_user() to be overridden with a classed
  634. object (API addition).
  635. - Changed the database API to allow inserts based on a SELECT * query to work
  636. correctly.
  637. - Changed the database schema of the {file_managed} table to allow Drupal to
  638. manage files larger than 4 GB.
  639. - Changed the File module's hook_field_load() implementation to prevent file
  640. entity properties which have the same name as file or image field properties
  641. from overwriting the field properties (minor API change).
  642. - Numerous small bug fixes.
  643. - Numerous API documentation improvements.
  644. - Additional automated test coverage.
  645. Drupal 7.24, 2013-11-20
  646. -----------------------
  647. - Fixed security issues (multiple vulnerabilities), see SA-CORE-2013-003.
  648. Drupal 7.23, 2013-08-07
  649. -----------------------
  650. - Fixed a fatal error on PostgreSQL databases when updating the Taxonomy module
  651. from Drupal 6 to Drupal 7.
  652. - Fixed the default ordering of CSS files for sites using right-to-left
  653. languages, to consistently place the right-to-left override file immediately
  654. after the CSS it is overriding (API change: https://drupal.org/node/2058463).
  655. - Added a drupal_check_memory_limit() API function to allow the memory limit to
  656. be checked consistently (API addition).
  657. - Changed the default web.config file for IIS servers to allow favicon.ico
  658. files which are present in the filesystem to be accessed.
  659. - Fixed inconsistent support for the 'tel' protocol in Drupal's URL filtering
  660. functions.
  661. - Performance improvement: Allowed all hooks to be included in the
  662. module_implements() cache, even those that are only invoked on HTTP POST
  663. requests.
  664. - Made the database system replace truncate queries with delete queries when
  665. inside a transaction, to fix issues with PostgreSQL and other databases.
  666. - Fixed a bug which caused nested contextual links to display improperly.
  667. - Fixed a bug which prevented cached image derivatives from being flushed for
  668. private files and other non-default file schemes.
  669. - Fixed drupal_render() to always return an empty string when there is no
  670. output, rather than sometimes returning NULL (minor API change).
  671. - Added protection to cache_clear_all() to ensure that non-cache tables cannot
  672. be truncated (API addition: a new isValidBin() method has been added to the
  673. default database cache implementation).
  674. - Changed the default .htaccess file to support HTTP authorization in CGI
  675. environments.
  676. - Changed the password reset form to pre-fill the username when requested via a
  677. URL query parameter, and used this in the error message that appears after a
  678. failed login attempt (minor data structure and behavior change).
  679. - Fixed broken support for foreign keys in the field API.
  680. - Fixed "No active batch" error when a user cancels their own account.
  681. - Added a description to the "access content overview" permission on the
  682. permissions page (string change).
  683. - Added a drupal_array_diff_assoc_recursive() function to allow associative
  684. arrays to be compared recursively (API addition).
  685. - Added human-readable labels to image styles, in addition to the existing
  686. machine-readable name (API change: https://drupal.org/node/2058503).
  687. - Moved the drupal_get_hash_salt() function to bootstrap.inc and used it in
  688. additional places in the code, for added security in the case where there is
  689. no hash salt in settings.php.
  690. - Fixed a regression in Drupal 7.22 that caused internal server errors for
  691. sites running on very old Apache 1.x web servers.
  692. - Numerous small bug fixes.
  693. - Numerous API documentation improvements.
  694. - Additional automated test coverage.
  695. Drupal 7.22, 2013-04-03
  696. -----------------------
  697. - Allowed the drupal_http_request() function to be overridden so that
  698. additional HTTP request capabilities can be added by contributed modules.
  699. - Changed the Simpletest module to allow PSR-0 test classes to be used in
  700. Drupal 7.
  701. - Removed an unnecessary "Content-Disposition" header from private file
  702. downloads; it prevented many private files from being viewed inline in a web
  703. browser.
  704. - Changed various field API functions to allow them to optionally act on a
  705. single field within an entity (API addition: http://drupal.org/node/1825844).
  706. - Fixed a bug which prevented Drupal's file transfer functionality from working
  707. on some PHP 5.4 systems.
  708. - Fixed incorrect log message when theme() is called for a theme hook that does
  709. not exist (minor string change).
  710. - Fixed Drupal's token-replacement system to allow spaces in the token value.
  711. - Changed the default behavior after a user creates a node they do not have
  712. access to view. The user will now be redirected to the front page rather than
  713. an access denied page.
  714. - Fixed a bug which prevented empty HTTP headers (such as "0") from being set.
  715. (Minor behavior change: Callers of drupal_add_http_header() must now set
  716. FALSE explicitly to prevent a header from being sent at all; this was already
  717. indicated in the function's documentation.)
  718. - Fixed OpenID errors when more than one module implements hook_openid(). The
  719. behavior is now changed so that if more than one module tries to set the same
  720. parameter, the last module's change takes effect.
  721. - Fixed a serious documentation bug: The $name variable in the
  722. taxonomy-term.tpl.php theme template was incorrectly documented as being
  723. sanitized when in fact it is not.
  724. - Fixed a bug which prevented Drupal 6 to Drupal 7 upgrades on sites which had
  725. duplicate permission names in the User module's database tables.
  726. - Added an empty "datatype" attribute to taxonomy term and username links to
  727. make the RDFa markup upward compatible with RDFa 1.1 (minor markup addition).
  728. - Fixed a bug which caused the denial-of-service protection added in Drupal
  729. 7.20 to break certain valid image URLs that had an extra slash in them.
  730. - Fixed a bug with update queries in the SQLite database driver that prevented
  731. Drupal from being installed with SQLite on PHP 5.4.
  732. - Fixed enforced dependencies errors updating to recent versions of Drupal 7 on
  733. certain non-MySQL databases.
  734. - Refactored the Field module's caching behavior to obtain large improvements
  735. in memory usage for sites with many fields and instances (API addition:
  736. http://drupal.org/node/1915646).
  737. - Fixed entity argument not being passed to implementations of
  738. hook_file_download_access_alter(). The fix adds an additional context
  739. parameter that can be passed when calling drupal_alter() for any hook (API
  740. change: http://drupal.org/node/1882722).
  741. - Fixed broken support for translatable comment fields (API change:
  742. http://drupal.org/node/1874724).
  743. - Added an assertThemeOutput() method to Simpletest to allow tests to check
  744. that themed output matches an expected HTML string (API addition).
  745. - Added a link to "Install another module" after a module has been successfully
  746. downloaded via the Update Manager (UI change).
  747. - Added an optional "exclusive" flag to installation profile .info files which
  748. allows Drupal distributions to force a profile to be selected during
  749. installation (API addition: http://drupal.org/node/1961012).
  750. - Fixed a bug which caused the database API to not properly close database
  751. connections.
  752. - Added a link to the URL for running cron from outside the site to the Cron
  753. settings page (UI change).
  754. - Fixed a bug which prevented image styles from being reverted on PHP 5.4.
  755. - Made the default .htaccess rules protocol sensitive to improve security for
  756. sites which use HTTPS and redirect between "www" and non-"www" versions of
  757. the page.
  758. - Numerous small bug fixes.
  759. - Numerous API documentation improvements.
  760. - Additional automated test coverage.
  761. Drupal 7.21, 2013-03-06
  762. -----------------------
  763. - Allowed sites using the 'image_allow_insecure_derivatives' variable to still
  764. have partial protection from the security issues fixed in Drupal 7.20.
  765. Drupal 7.20, 2013-02-20
  766. -----------------------
  767. - Fixed security issues (denial of service). See SA-CORE-2013-002.
  768. Drupal 7.19, 2013-01-16
  769. -----------------------
  770. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2013-001.
  771. Drupal 7.18, 2012-12-19
  772. -----------------------
  773. - Fixed security issues (multiple vulnerabilities). See SA-CORE-2012-004.
  774. Drupal 7.17, 2012-11-07
  775. -----------------------
  776. - Changed the default value of the '404_fast_html' variable to have a DOCTYPE
  777. declaration.
  778. - Made it possible to use associative arrays for the 'items' variable in
  779. theme_item_list().
  780. - Fixed a bug which prevented required form elements without a title from being
  781. given an "error" class when the form fails validation.
  782. - Prevented duplicate HTML IDs from appearing when two forms are displayed on
  783. the same page and one of them is submitted with invalid data (minor markup
  784. change).
  785. - Fixed a bug which prevented Drupal 6 to Drupal 7 upgrades on sites which had
  786. stale data in the Upload module's database tables.
  787. - Fixed a bug in the States API which prevented certain types of form elements
  788. from being disabled when requested.
  789. - Allowed aggregator feed items with author names longer than 255 characters to
  790. have a truncated version saved to the database (rather than causing a fatal
  791. error).
  792. - Allowed aggregator feed items to have URLs longer than 255 characters
  793. (schema change which results in several columns in the Aggregator module's
  794. database tables changing from VARCHAR to TEXT fields).
  795. - Added hook_taxonomy_term_view() and standardized the process for rendering
  796. taxonomy terms to invoke hook_entity_view() and otherwise make it consistent
  797. with other entities (API change: http://drupal.org/node/1808870).
  798. - Added hook_entity_view_mode_alter() to allow modules to change entity view
  799. modes on display (API addition: http://drupal.org/node/1833086).
  800. - Fixed a bug which made database queries running a "LIKE" query on blob fields
  801. fail on PostgreSQL databases. This caused errors during the Drupal 6 to
  802. Drupal 7 upgrade.
  803. - Changed the hook_menu() entry for Drupal's rss.xml page to prevent extra path
  804. components from being accidentally passed to the page callback function (data
  805. structure change).
  806. - Removed a non-standard "name" attribute from Drupal's default Content-Type
  807. header for file downloads.
  808. - Fixed the theme settings form to properly clean up submitted values in
  809. $form_state['values'] when the form is submitted (data structure change).
  810. - Fixed an inconsistency by removing the colon from the end of the label on
  811. multi-valued form fields (minor string change).
  812. - Added support for 'weight' in hook_field_widget_info() to allow modules to
  813. control the order in which widgets are displayed in the Field UI.
  814. - Updated various tables in the OpenID and Book modules to use the default
  815. "empty table" text pattern (string change).
  816. - Added proxy server support to drupal_http_request().
  817. - Added "lang" attributes to language links, to better support screen readers.
  818. - Fixed double occurrence of a "ul" HTML tag on secondary local tasks in the
  819. Seven theme (markup change).
  820. - Fixed bugs which caused taxonomy vocabulary and shortcut set titles to be
  821. double-escaped. The fix replaces the taxonomy vocabulary overview page and
  822. "Edit shortcuts" menu items' title callback entries in hook_menu() with new
  823. functions that do not escape HTML characters (data structure change).
  824. - Modified the Update manager module to allow drupal.org to collect usage
  825. statistics for individual modules and themes, rather than only for entire
  826. projects.
  827. - Modified the node listing database query on Drupal's default front page to
  828. add table aliases for better query altering (this is a data structure change
  829. affecting code which implements hook_query_alter() on this query).
  830. - Improved the translatability of the "Field type(s) in use" message on the
  831. modules page (admin-facing string change).
  832. - Fixed a regression which caused a "call to undefined function
  833. drupal_find_base_themes()" fatal error under rare circumstances.
  834. - Numerous API documentation improvements.
  835. - Additional automated test coverage.
  836. Drupal 7.16, 2012-10-17
  837. -----------------------
  838. - Fixed security issues (Arbitrary PHP code execution and information
  839. disclosure). See SA-CORE-2012-003.
  840. Drupal 7.15, 2012-08-01
  841. -----------------------
  842. - Introduced a 'user_password_reset_timeout' variable to allow the 24-hour
  843. expiration for user password reset links to be adjusted (API addition).
  844. - Fixed database errors due to ambiguous column names that occurred when
  845. EntityFieldQuery was used in certain situations.
  846. - Changed the drupal_array_get_nested_value() function to return a reference
  847. (API addition).
  848. - Changed the System module's hook_block_info() implementation to assign the
  849. "Main page content" and "System help" blocks to appropriate regions by
  850. default and prevent error messages on the block administration page (data
  851. structure change).
  852. - Fixed regression: Non-node entities couldn't be accessed with
  853. EntityFieldQuery.
  854. - Fixed regression: Optional radio buttons with an empty, non-NULL default
  855. value led to an illegal choice error when none were selected.
  856. - Reorganized the testing framework to split setUp() into specific sub-methods
  857. and fix several regressions in the process.
  858. - Fixed bug which made it impossible to search for strings that have not been
  859. translated into a particular language.
  860. - Renamed the "Field" column on the Manage Fields screen to "Field type", since
  861. the former was confusing and inaccurate (UI change).
  862. - Performance improvement: Removed needless call to system_rebuild_module_data()
  863. in field_sync_field_status(), greatly speeding up bulk module enable/disable.
  864. - Fixed bug which prevented notifications from being sent when core, module, and
  865. theme updates are available.
  866. - Fixed bug which prevented sub-themes from inheriting the default values of
  867. theme settings defined by the base theme.
  868. - Fixed bug which prevented the jQuery UI Datepicker from being localized.
  869. - Made Ajax alert dialogs respect error reporting settings.
  870. - Fixed bug which prevented image styles from being deleted on PHP 5.4.
  871. - Fixed bug: Language detection by domain only worked on port 80.
  872. - Fixed regression: The first plural index on a page was not calculated
  873. correctly.
  874. - Introduced generic entity language support. Entities may now declare their
  875. language property in hook_entity_info(), and modules working with entities
  876. may access the language using entity_language() (API change:
  877. http://drupal.org/node/1626346).
  878. - Added EntityFieldQuery support for taxonomy bundles.
  879. - Fixed issue where field form structure was incomplete if field_access()
  880. returned FALSE. Instead of being incomplete, the form structure now has
  881. #access set to FALSE and field form validation is skipped (data structure
  882. change: http://drupal.org/node/1663020).
  883. - Fixed data loss issue due to field_has_data() returning inconsistent results.
  884. The fix adds an optional DANGEROUS_ACCESS_CHECK_OPT_OUT tag to entity field
  885. queries which field storage engines can respond to (API addition:
  886. http://drupal.org/node/1597378).
  887. - Fixed notice: Undefined index: default_image in image_field_prepare_view()
  888. - Numerous API documentation improvements.
  889. - Additional automated test coverage.
  890. Drupal 7.14, 2012-05-02
  891. -----------------------
  892. - Fixed "integrity constraint" fatal errors when rebuilding registry.
  893. - Fixed custom logo and favicon functionality referencing incorrect paths.
  894. - Fixed DB Case Sensitivity: Allow BINARY attribute in MySQL.
  895. - Split field_bundle_settings out per bundle.
  896. - Improve UX for machine names for fields (UI change).
  897. - Fixed User pictures are not removed properly.
  898. - Fixed HTTPS sessions not working in all cases.
  899. - Fixed Regression: Required radios throw illegal choice error when none
  900. selected.
  901. - Fixed allow autocompletion requests to include slashes.
  902. - Eliminate $user->cache and {session}.cache in favor of
  903. $_SESSION['cache_expiration'][$bin] (Performance).
  904. - Fixed focus jumps to tab when pressing enter on a form element within tab.
  905. - Fixed race condition in locale() - duplicates in {locales_source}.
  906. - Fixed Missing "Default image" per field instance.
  907. - Quit clobbering people's work when they click the filter tips link
  908. - Form API #states: Fix conditionals to allow OR and XOR constructions.
  909. - Fixed Focus jumps to tab when pressing enter on a form element within tab.
  910. (Accessibility)
  911. - Improved performance of node_access queries.
  912. - Fixed Fieldsets inside vertical tabs have no title and can't be collapsed.
  913. - Reduce size of cache_menu table (Performance).
  914. - Fixed unnecessary aggregation of CSS/JS (Performance).
  915. - Fixed taxonomy_autocomplete() produces SQL error for nonexistent field.
  916. - Fixed HTML filter is not run first by default, despite default weight.
  917. - Fixed Overlay does not work with prefixed URL paths.
  918. - Better debug info for field errors (string change).
  919. - Fixed Data corruption in comment IDs (results in broken threading on
  920. PostgreSQL).
  921. - Fixed machine name not editable if every character is replaced.
  922. - Fixed user picture not appearing in comment preview (Markup change).
  923. - Added optional vid argument for taxonomy_get_term_by_name().
  924. - Fixed Invalid Unicode code range in PREG_CLASS_UNICODE_WORD_BOUNDARY fails
  925. with PCRE 8.30.
  926. - Fixed {trigger_assignments()}.hook has only 32 characters, is too short.
  927. - Numerous fixes to run-tests.sh.
  928. - Fixed Tests in profiles/[name]/modules cannot be run and cannot use a
  929. different profile for running tests.
  930. - Numerous JavaScript performance fixes.
  931. - Numerous documentation fixes.
  932. - Fixed All pager links have an 'active' CSS class.
  933. - Numerous upgrade path fixes; notably:
  934. - system_update_7061() fails on inserting files with same name but different
  935. case.
  936. - system_update_7061() converts filepaths too aggressively.
  937. - Trigger upgrade path: Node triggers removed when upgrading to 7-x from 6.25.
  938. Drupal 7.13, 2012-05-02
  939. -----------------------
  940. - Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-002.
  941. Drupal 7.12, 2012-02-01
  942. -----------------------
  943. - Fixed bug preventing custom menus from receiving an active trail.
  944. - Fixed hook_field_delete() no longer invoked during field_purge_data().
  945. - Fixed bug causing entity info cache to not be cleared with the rest of caches.
  946. - Fixed file_unmanaged_copy() fails with Drupal 7.7+ and safe_mode() or
  947. open_basedir().
  948. - Fixed Nested transactions throw exceptions when they got out of scope.
  949. - Fixed bugs with the Return-Path when sending mail on both Windows and
  950. non-Windows systems.
  951. - Fixed bug with DrupalCacheArray property visibility preventing others from
  952. extending it (API change: http://drupal.org/node/1422264).
  953. - Fixed bug with handling of non-ASCII characters in file names (API change:
  954. http://drupal.org/node/1424840).
  955. - Reconciled field maximum length with database column size in image and
  956. aggregator modules.
  957. - Fixes to various core JavaScript files to allow for minification and
  958. aggregation.
  959. - Fixed Prevent tests from deleting main installation's tables when
  960. parent::setUp() is not called.
  961. - Fixed several Poll module bugs.
  962. - Fixed several Shortcut module bugs.
  963. - Added new hook_system_theme_info() to provide ability for contributed modules
  964. to test theme functionality.
  965. - Added ability to cancel mail sending from hook_mail_alter().
  966. - Added support for configurable PDO connection options, enabling master-master
  967. database replication.
  968. - Numerous improvements to tests and test runner to pave the way for faster test
  969. runs.
  970. - Expanded test coverage.
  971. - Numerous API documentation improvements.
  972. - Numerous performance improvements, including token replacement and render
  973. cache.
  974. Drupal 7.11, 2012-02-01
  975. -----------------------
  976. - Fixed security issues (Multiple vulnerabilities), see SA-CORE-2012-001.
  977. Drupal 7.10, 2011-12-05
  978. -----------------------
  979. - Fixed Content-Language HTTP header to not cause issues with Drush 5.x.
  980. - Reduce memory usage of theme registry (performance).
  981. - Fixed PECL upload progress bar for FileField
  982. - Fixed running update.php doesn't always clear the cache.
  983. - Fixed PDO exceptions on long titles.
  984. - Fixed Overlay redirect does not include query string.
  985. - Fixed D6 modules satisfy D7 module dependencies.
  986. - Fixed the ordering of module hooks when using module_implements_alter().
  987. - Fixed "floating" submit buttons during AJAX requests.
  988. - Fixed timezone selected on install not propogating to admin account.
  989. - Added msgctx context to JS translation functions, for feature parity with t().
  990. - Profiles' .install files now available during hook_install_tasks().
  991. - Added test coverage of 7.0 -> 7.x upgrade path.
  992. - Numerous notice fixes.
  993. - Numerous documentation improvements.
  994. - Additional automated test coverage.
  995. Drupal 7.9, 2011-10-26
  996. ----------------------
  997. - Critical fixes to OpenID to spec violations that could allow for
  998. impersonation in certain scenarios. Existing OpenID users should see
  999. http://drupal.org/node/1120290#comment-5092796 for more information on
  1000. transitioning.
  1001. - Fixed files getting lost when adding multiple files to multiple file fields
  1002. at the same time.
  1003. - Improved usability of the clean URL test screens.
  1004. - Restored height/width attributes on images run through the theme system.
  1005. - Fixed usability bug with first password field being pre-filled by certain
  1006. browser plugins.
  1007. - Fixed file_usage_list() so that it can return more than one result.
  1008. - Fixed bug preventing preview of private images on node form.
  1009. - Fixed PDO error when inserting an aggregator title longer than 255 characters.
  1010. - Spelled out what TRADITIONAL means in MySQL sql_mode.
  1011. - Deprecated "!=" operator for DBTNG; should be "<>".
  1012. - Added two new API functions (menu_tree_set_path()/menu_tree_get_path()) were
  1013. added in order to enable setting the active menu trail for dynamically
  1014. generated menu paths.
  1015. - Added new "fast 404" capability in settings.php to bypass Drupal bootstrap
  1016. when serving 404 pages for certain file types.
  1017. - Added format_string() function which can perform string munging ala the t()
  1018. function without the overhead of the translation system.
  1019. - Numerous #states system fixes.
  1020. - Numerous EntityFieldQuery, DBTNG, and SQLite fixes.
  1021. - Numerous Shortcut module fixes.
  1022. - Numerous language system fixes.
  1023. - Numerous token fixes.
  1024. - Numerous CSS fixes.
  1025. - Numerous upgrade path fixes.
  1026. - Numerous minor string fixes.
  1027. - Numerous notice fixes.
  1028. Drupal 7.8, 2011-08-31
  1029. ----------------------
  1030. - Fixed critical upgrade path issue with multilingual sites, leading to lost
  1031. content.
  1032. - Numerous fixes to upgrade path, preventing fatal errors due to incorrect
  1033. dependencies.
  1034. - Fixed issue with saving files on hosts with open_basedir restrictions.
  1035. - Fixed Update manger error when used with Overlay.
  1036. - Fixed RTL support in Seven administration theme and Overlay.
  1037. - Fixes to nested transaction support.
  1038. - Introduced performance pattern to reduce Drupal core's RAM usage.
  1039. - Added support for HTML 5 tags to filter_xss_admin().
  1040. - Added exception handling to cron.
  1041. - Added new hook hook_field_widget_form_alter() for contribtued modules.
  1042. - element_validate_*() functions now available to contrib.
  1043. - Added new maintainers for several subsystems.
  1044. - Numerous testing system improvements.
  1045. - Numerous markup and CSS fixes.
  1046. - Numerous poll module fixes.
  1047. - Numerous notice/warning fixes.
  1048. - Numerous documentation fixes.
  1049. - Numerous token fixes.
  1050. Drupal 7.7, 2011-07-27
  1051. ----------------------
  1052. - Fixed VERSION string.
  1053. Drupal 7.6, 2011-07-27
  1054. ----------------------
  1055. - Fixed support for remote streamwrappers.
  1056. - AJAX now binds to 'click' instead of 'mousedown'.
  1057. - 'Translatable' flag on fields created in UI now defaults to FALSE, to match those created via the API.
  1058. - Performance enhancement to permissions page on large numbers of permissions.
  1059. - More secure password generation.
  1060. - Fix for temporary directory on Windows servers.
  1061. - run-tests.sh now uses proc_open() instead of pcntl_fork() for better Windows support.
  1062. - Numerous upgrade path fixes.
  1063. - Numerous documentation fixes.
  1064. - Numerous notice fixes.
  1065. - Numerous fixes to improve PHP 5.4 support.
  1066. - Numerous RTL improvements.
  1067. Drupal 7.5, 2011-07-27
  1068. ----------------------
  1069. - Fixed security issue (Access bypass), see SA-CORE-2011-003.
  1070. Drupal 7.4, 2011-06-29
  1071. ----------------------
  1072. - Rolled back patch that caused fatal errors in CTools, Feeds, and other modules using the class registry.
  1073. - Fixed critical bug with saving default images.
  1074. - Fixed fatal errors when uninstalling some modules.
  1075. - Added workaround for MySQL transaction support breaking on DDL statments.
  1076. - Improved page caching with external caching systems.
  1077. - Fix to Batch API, which was terminating too early.
  1078. - Numerous upgrade path fixes.
  1079. - Performance fixes.
  1080. - Additional test coverage.
  1081. - Numerous documentation fixes.
  1082. Drupal 7.3, 2011-06-29
  1083. ----------------------
  1084. - Fixed security issue (Access bypass), see SA-CORE-2011-002.
  1085. Drupal 7.2, 2011-05-25
  1086. ----------------------
  1087. - Added a default .gitignore file.
  1088. - Improved PostgreSQL and SQLite support.
  1089. - Numerous critical performance improvements.
  1090. - Numerous critical fixes to the upgrade path.
  1091. - Numerous fixes to language and translation systems.
  1092. - Numerous fixes to AJAX and #states systems.
  1093. - Improvements to the locking system.
  1094. - Numerous documentation fixes.
  1095. - Numerous styling and theme system fixes.
  1096. - Numerous fixes for schema mis-matches between Drupal 6 and 7.
  1097. - Minor internal API clean-ups.
  1098. Drupal 7.1, 2011-05-25
  1099. ----------------------
  1100. - Fixed security issues (Cross site scripting, File access bypass), see SA-CORE-2011-001.
  1101. Drupal 7.0, 2011-01-05
  1102. ----------------------
  1103. - Database:
  1104. * Fully rewritten database layer utilizing PHP 5's PDO abstraction layer.
  1105. * Drupal now requires MySQL >= 5.0.15 or PostgreSQL >= 8.3.
  1106. * Added query builders for INSERT, UPDATE, DELETE, MERGE, and SELECT queries.
  1107. * Support for master/slave replication, transactions, multi-insert queries,
  1108. and other features.
  1109. * Added support for the SQLite database engine.
  1110. * Default to InnoDB engine, rather than MyISAM, on MySQL when available.
  1111. This offers increased scalability and data integrity.
  1112. - Security:
  1113. * Protected cron.php -- cron will only run if the proper key is provided.
  1114. * Implemented a pluggable password system and much stronger password hashes
  1115. that are compatible with the Portable PHP password hashing framework.
  1116. * Rate limited login attempts to prevent brute-force password guessing, and
  1117. improved the flood control API to allow variable time windows and
  1118. identifiers for limiting user access to resources.
  1119. * Transformed the "Update status" module into the "Update manager" which
  1120. can securely install or update modules and themes via a web interface.
  1121. - Usability:
  1122. * Added contextual links (a.k.a. local tasks) to page elements, such as
  1123. blocks, nodes, or comments, which allows to perform the most common tasks
  1124. with a single click only.
  1125. * Improved installer requirements check.
  1126. * Improved support for integration of WYSIWYG editors.
  1127. * Implemented drag-and-drop positioning for input format listings.
  1128. * Implemented drag-and-drop positioning for language listing.
  1129. * Implemented drag-and-drop positioning for poll options.
  1130. * Provided descriptions and human-readable names for user permissions.
  1131. * Removed comment controls for users.
  1132. * Removed display order settings for comment module. Comment display
  1133. order can now be customized using the Views module.
  1134. * Removed the 'related terms' feature from taxonomy module since this can
  1135. now be achieved with Field API.
  1136. * Added additional features to the default installation profile, and
  1137. implemented a "slimmed down" profile designed for developers.
  1138. * Added a built-in, automated cron run feature, which is triggered by site
  1139. visitors.
  1140. * Added an administrator role which is assigned all permissions for
  1141. installed modules automatically.
  1142. * Image toolkits are now provided by modules (rather than requiring a
  1143. manual file copy to the includes directory).
  1144. * Added an edit tab to taxonomy term pages.
  1145. * Redesigned password strength validator.
  1146. * Redesigned the add content type screen.
  1147. * Highlight duplicate URL aliases.
  1148. * Renamed "input formats" to "text formats".
  1149. * Moved text format permissions to the main permissions page.
  1150. * Added configurable ability for users to cancel their own accounts.
  1151. * Added "vertical tabs", a reusable interface component that features
  1152. automatic summaries and increases usability.
  1153. * Replaced fieldsets on node edit and add pages with vertical tabs.
  1154. - Performance:
  1155. * Improved performance on uncached page views by loading multiple core
  1156. objects in a single database query.
  1157. * Improved performance for logged-in users by reducing queries for path
  1158. alias lookups.
  1159. * Improved support for HTTP proxies (including reverse proxies), allowing
  1160. anonymous page views to be served entirely from the proxy.
  1161. - Documentation:
  1162. * Hook API documentation now included in Drupal core.
  1163. - News aggregator:
  1164. * Added OPML import functionality for RSS feeds.
  1165. * Optionally, RSS feeds may be configured to not automatically generate feed blocks.
  1166. - Search:
  1167. * Added support for language-aware searches.
  1168. - Aggregator:
  1169. * Introduced architecture that allows pluggable parsers and processors for
  1170. syndicating RSS and Atom feeds.
  1171. * Added options to suspend updating specific feeds and never discard feeds
  1172. items.
  1173. - Testing:
  1174. * Added test framework and tests.
  1175. - Improved time zone support:
  1176. * Drupal now uses PHP's time zone database when rendering dates in local
  1177. time. Site-wide and user-configured time zone offsets have been converted
  1178. to time zone names, e.g. Africa/Abidjan.
  1179. * In some cases the upgrade and install scripts do not choose the preferred
  1180. site default time zone. The automatically-selected time zone can be
  1181. corrected at admin/config/regional/settings.
  1182. * If your site is being upgraded from Drupal 6 and you do not have the
  1183. contributed date or event modules installed, user time zone settings will
  1184. fallback to the system time zone and will have to be reconfigured by each user.
  1185. * User-configured time zones now serve as the default time zone for PHP
  1186. date/time functions.
  1187. - Filter system:
  1188. * Revamped the filter API and text format storage.
  1189. * Added support for default text formats to be assigned on a per-role basis.
  1190. * Refactored the HTML corrector to take advantage of PHP 5 features.
  1191. - User system:
  1192. * Added clean API functions for creating, loading, updating, and deleting
  1193. user roles and permissions.
  1194. * Refactored the "access rules" component of user module: The user module
  1195. now provides a simple interface for blocking single IP addresses. The
  1196. previous functionality in the user module for restricting certain e-mail
  1197. addresses and usernames is now available as a contributed module. Further,
  1198. IP address range blocking is no longer supported and should be implemented
  1199. at the operating system level.
  1200. * Removed per-user themes: Contributed modules with similar functionality
  1201. are available.
  1202. - OpenID:
  1203. * Added support for Gmail and Google Apps for Domain identifiers. Users can
  1204. now login with their user@example.com identifier when example.com is powered
  1205. by Google.
  1206. * Made the OpenID module more pluggable.
  1207. - Added code registry:
  1208. * Using the registry, modules declare their includable files via their .info file,
  1209. allowing Drupal to lazy-load classes and interfaces as needed.
  1210. - Theme system:
  1211. * Removed the Bluemarine, Chameleon and Pushbutton themes. These themes live
  1212. on as contributed themes (http://drupal.org/project/bluemarine,
  1213. http://drupal.org/project/chameleon and http://drupal.org/project/pushbutton).
  1214. * Added Stark theme to make analyzing Drupal's default HTML and CSS easier.
  1215. * Added Seven as the default administration theme.
  1216. * Variable preprocessing of theme hooks prior to template rendering now goes
  1217. through two phases: a 'preprocess' phase and a new 'process' phase. See
  1218. http://api.drupal.org/api/function/theme/7 for details.
  1219. * Theme hooks implemented as functions (rather than as templates) can now
  1220. also have preprocess (and process) functions. See
  1221. http://api.drupal.org/api/function/theme/7 for details.
  1222. * Added Bartik as the default theme.
  1223. - File handling:
  1224. * Files are now first class Drupal objects with file_load(), file_save(),
  1225. and file_validate() functions and corresponding hooks.
  1226. * The file_move(), file_copy() and file_delete() functions now operate on
  1227. file objects and invoke file hooks so that modules are notified and can
  1228. respond to changes.
  1229. * For the occasions when only basic file manipulation are needed--such as
  1230. uploading a site logo--that don't require the overhead of databases and
  1231. hooks, the current unmanaged copy, move and delete operations have been
  1232. preserved but renamed to file_unmanaged_*().
  1233. * Rewrote file handling to use PHP stream wrappers to enable support for
  1234. both public and private files and to support pluggable storage mechanisms
  1235. and access to remote resources (e.g. S3 storage or Flickr photos).
  1236. * The mime_extension_mapping variable has been removed. Modules that need to
  1237. alter the default MIME type extension mappings should implement
  1238. hook_file_mimetype_mapping_alter().
  1239. * Added the hook_file_url_alter() hook, which makes it possible to serve
  1240. files from a CDN.
  1241. * Added a field specifically for uploading files, previously provided by
  1242. the contributed module FileField.
  1243. - Image handling:
  1244. * Improved image handling, including better support for add-on image
  1245. libraries.
  1246. * Added API and interface for creating advanced image thumbnails.
  1247. * Inclusion of additional effects such as rotate and desaturate.
  1248. * Added a field specifically for uploading images, previously provided by
  1249. the contributed module ImageField.
  1250. - Added aliased multi-site support:
  1251. * Added support for mapping domain names to sites directories.
  1252. - Added RDF support:
  1253. * Modules can declare RDF namespaces which are serialized in the tag
  1254. for RDFa support.
  1255. * Modules can specify how their data structure maps to RDF.
  1256. * Added support for RDFa export of nodes, comments, terms, users, etc. and
  1257. their fields.
  1258. - Search engine optimization and web linking:
  1259. * Added a rel="canonical" link on node and comment pages to prevent
  1260. duplicate content indexing by search engines.
  1261. * Added a default rel="shortlink" link on node and comment pages that
  1262. advertises a short link as an alternative URL to third-party services.
  1263. * Meta information is now alterable by all modules before rendering.
  1264. - Field API:
  1265. * Custom data fields may be attached to nodes, users, comments and taxonomy
  1266. terms.
  1267. * Node bodies and teasers are now Field API fields instead of
  1268. being a hard-coded property of node objects.
  1269. * In addition, any other object type may register with Field API
  1270. and allow custom data fields to be attached to itself.
  1271. * Provides most of the features of the former Content Construction
  1272. Kit (CCK) module.
  1273. * Taxonomy terms are now Field API fields that can be added to any fieldable
  1274. object.
  1275. - Installer:
  1276. * Refactored the installer into an API that allows Drupal to be installed
  1277. via a command line script.
  1278. - Page organization
  1279. * Made the help text area a full featured region with blocks.
  1280. * Site mission is replaced with the highlighted content block region and
  1281. separate RSS feed description settings.
  1282. * The footer message setting was removed in favor of custom blocks.
  1283. * Made the main page content a block which can be moved and ordered
  1284. with other blocks in the same region.
  1285. * Blocks can now return structured arrays for later rendering just
  1286. like page callbacks.
  1287. - Translation system
  1288. * The translation system now supports message context (msgctxt).
  1289. * Added support for translatable fields to Field API.
  1290. - JavaScript changes
  1291. * Upgraded the core JavaScript library to jQuery version 1.4.4.
  1292. * Upgraded the jQuery Forms library to 2.52.
  1293. * Added jQuery UI 1.8.7, which allows improvements to Drupal's user
  1294. experience.
  1295. - Better module version support
  1296. * Modules now can specify which version of another module they depend on.
  1297. - Removed modules from core
  1298. * The following modules have been removed from core, because contributed
  1299. modules with similar functionality are available:
  1300. * Blog API module
  1301. * Ping module
  1302. * Throttle module
  1303. - Improved node access control system.
  1304. * All modules may now influence the access to a node at runtime, not just
  1305. the module that defined a node.
  1306. * Users may now be allowed to bypass node access restrictions without giving
  1307. them complete access to the site.
  1308. * Access control affects both published and unpublished nodes.
  1309. * Numerous other improvements to the node access system.
  1310. - Actions system
  1311. * Simplified definitions of actions and triggers.
  1312. * Removed dependency on the combination of hooks and operations. Triggers
  1313. now directly map to module hooks.
  1314. - Task handling
  1315. * Added a queue API to process many or long-running tasks.
  1316. * Added queue API support to cron API.
  1317. * Added a locking framework to coordinate long-running operations across
  1318. requests.
  1319. Drupal 6.23-dev, xxxx-xx-xx (development release)
  1320. ---------------------------
  1321. Drupal 6.22, 2011-05-25
  1322. -----------------------
  1323. - Made Drupal 6 work better with IIS and Internet Explorer.
  1324. - Fixed .po file imports to work better with custom textgroups.
  1325. - Improved code documentation at various places.
  1326. - Fixed a variety of other bugs.
  1327. Drupal 6.21, 2011-05-25
  1328. -----------------------
  1329. - Fixed security issues (Cross site scripting), see SA-CORE-2011-001.
  1330. Drupal 6.20, 2010-12-15
  1331. -----------------------
  1332. - Fixed a variety of small bugs, improved code documentation.
  1333. Drupal 6.19, 2010-08-11
  1334. -----------------------
  1335. - Fixed a variety of small bugs, improved code documentation.
  1336. Drupal 6.18, 2010-08-11
  1337. -----------------------
  1338. - Fixed security issues (OpenID authentication bypass, File download access
  1339. bypass, Comment unpublishing bypass, Actions cross site scripting),
  1340. see SA-CORE-2010-002.
  1341. Drupal 6.17, 2010-06-02
  1342. -----------------------
  1343. - Improved PostgreSQL compatibility
  1344. - Better PHP 5.3 and PHP 4 compatibility
  1345. - Better browser compatibility of CSS and JS aggregation
  1346. - Improved logging for login failures
  1347. - Fixed an incompatibility with some contributed modules and the locking system
  1348. - Fixed a variety of other bugs.
  1349. Drupal 6.16, 2010-03-03
  1350. -----------------------
  1351. - Fixed security issues (Installation cross site scripting, Open redirection,
  1352. Locale module cross site scripting, Blocked user session regeneration),
  1353. see SA-CORE-2010-001.
  1354. - Better support for updated jQuery versions.
  1355. - Reduced resource usage of update.module.
  1356. - Fixed several issues relating to support of installation profiles and
  1357. distributions.
  1358. - Added a locking framework to avoid data corruption on long operations.
  1359. - Fixed a variety of other bugs.
  1360. Drupal 6.15, 2009-12-16
  1361. -----------------------
  1362. - Fixed security issues (Cross site scripting), see SA-CORE-2009-009.
  1363. - Fixed a variety of other bugs.
  1364. Drupal 6.14, 2009-09-16
  1365. -----------------------
  1366. - Fixed security issues (OpenID association cross site request forgeries,
  1367. OpenID impersonation and File upload), see SA-CORE-2009-008.
  1368. - Changed the system modules page to not run all cache rebuilds; use the
  1369. button on the performance settings page to achieve the same effect.
  1370. - Added support for PHP 5.3.0 out of the box.
  1371. - Fixed a variety of small bugs.
  1372. Drupal 6.13, 2009-07-01
  1373. -----------------------
  1374. - Fixed security issues (Cross site scripting, Input format access bypass and
  1375. Password leakage in URL), see SA-CORE-2009-007.
  1376. - Fixed a variety of small bugs.
  1377. Drupal 6.12, 2009-05-13
  1378. -----------------------
  1379. - Fixed security issues (Cross site scripting), see SA-CORE-2009-006.
  1380. - Fixed a variety of small bugs.
  1381. Drupal 6.11, 2009-04-29
  1382. -----------------------
  1383. - Fixed security issues (Cross site scripting and limited information
  1384. disclosure), see SA-CORE-2009-005
  1385. - Fixed performance issues with the menu router cache, the update
  1386. status cache and improved cache invalidation
  1387. - Fixed a variety of small bugs.
  1388. Drupal 6.10, 2009-02-25
  1389. -----------------------
  1390. - Fixed a security issue, (Local file inclusion on Windows),
  1391. see SA-CORE-2009-003
  1392. - Fixed node_feed() so custom fields can show up in RSS feeds.
  1393. - Improved PostgreSQL compatibility.
  1394. - Fixed a variety of small bugs.
  1395. Drupal 6.9, 2009-01-14
  1396. ----------------------
  1397. - Fixed security issues, (Access Bypass, Validation Bypass and Hardening
  1398. against SQL injection), see SA-CORE-2009-001
  1399. - Made HTTP request checking more robust and informative.
  1400. - Fixed HTTP_HOST checking to work again with HTTP 1.0 clients and
  1401. basic shell scripts.
  1402. - Removed t() calls from all schema documentation. Suggested best practice
  1403. changed for contributed modules, see http://drupal.org/node/322731.
  1404. - Fixed a variety of small bugs.
  1405. Drupal 6.8, 2008-12-11
  1406. ----------------------
  1407. - Removed a previous change incompatible with PHP 5.1.x and lower.
  1408. Drupal 6.7, 2008-12-10
  1409. ----------------------
  1410. - Fixed security issues, (Cross site request forgery and Cross site scripting), see SA-2008-073
  1411. - Updated robots.txt and .htaccess to match current file use.
  1412. - Fixed a variety of small bugs.
  1413. Drupal 6.6, 2008-10-22
  1414. ----------------------
  1415. - Fixed security issues, (File inclusion, Cross site scripting), see SA-2008-067
  1416. - Fixed a variety of small bugs.
  1417. Drupal 6.5, 2008-10-08
  1418. ----------------------
  1419. - Fixed security issues, (File upload access bypass, Access rules bypass,
  1420. BlogAPI access bypass), see SA-2008-060.
  1421. - Fixed a variety of small bugs.
  1422. Drupal 6.4, 2008-08-13
  1423. ----------------------
  1424. - Fixed a security issue (Cross site scripting, Arbitrary file uploads via
  1425. BlogAPI, Cross site request forgeries and Various Upload module
  1426. vulnerabilities), see SA-2008-047.
  1427. - Improved error messages during installation.
  1428. - Fixed a bug that prevented AHAH handlers to be attached to radios widgets.
  1429. - Fixed a variety of small bugs.
  1430. Drupal 6.3, 2008-07-09
  1431. ----------------------
  1432. - Fixed security issues, (Cross site scripting, cross site request forgery,
  1433. session fixation and SQL injection), see SA-2008-044.
  1434. - Slightly modified installation process to prevent file ownership issues on
  1435. shared hosts.
  1436. - Improved PostgreSQL compatibility (rewritten queries; custom blocks).
  1437. - Upgraded to jQuery 1.2.6.
  1438. - Performance improvements to search, menu handling and form API caches.
  1439. - Fixed Views compatibility issues (Views for Drupal 6 requires Drupal 6.3+).
  1440. - Fixed a variety of small bugs.
  1441. Drupal 6.2, 2008-04-09
  1442. ----------------------
  1443. - Fixed a variety of small bugs.
  1444. - Fixed a security issue (Access bypasses), see SA-2008-026.
  1445. Drupal 6.1, 2008-02-27
  1446. ----------------------
  1447. - Fixed a variety of small bugs.
  1448. - Fixed a security issue (Cross site scripting), see SA-2008-018.
  1449. Drupal 6.0, 2008-02-13
  1450. ----------------------
  1451. - New, faster and better menu system.
  1452. - New watchdog as a hook functionality.
  1453. * New hook_watchdog that can be implemented by any module to route log
  1454. messages to various destinations.
  1455. * Expands the severity levels from 3 (Error, Warning, Notice) to the 8
  1456. levels defined in RFC 3164.
  1457. * The watchdog module is now called dblog, and is optional, but enabled by
  1458. default in the default installation profile.
  1459. * Extended the database log module so log messages can be filtered.
  1460. * Added syslog module: useful for monitoring large Drupal installations.
  1461. - Added optional e-mail notifications when users are approved, blocked, or
  1462. deleted.
  1463. - Drupal works with error reporting set to E_ALL.
  1464. - Added scripts/drupal.sh to execute Drupal code from the command line. Useful
  1465. to use Drupal as a framework to build command-line tools.
  1466. - Made signature support optional and made it possible to theme signatures.
  1467. - Made it possible to filter the URL aliases on the URL alias administration
  1468. screen.
  1469. - Language system improvements:
  1470. * Support for right to left languages.
  1471. * Language detection based on parts of the URL.
  1472. * Browser based language detection.
  1473. * Made it possible to specify a node's language.
  1474. * Support for translating posts on the site to different languages.
  1475. * Language dependent path aliases.
  1476. * Automatically import translations when adding a new language.
  1477. * JavaScript interface translation.
  1478. * Automatically import a module's translation upon enabling that module.
  1479. - Moved "PHP input filter" to a standalone module so it can be deleted for
  1480. security reasons.
  1481. - Usability:
  1482. * Improved handling of teasers in posts.
  1483. * Added sticky table headers.
  1484. * Check for clean URL support automatically with JavaScript.
  1485. * Removed default/settings.php. Instead the installer will create it from
  1486. default.settings.php.
  1487. * Made it possible to configure your own date formats.
  1488. * Remember anonymous comment posters.
  1489. * Only allow modules and themes to be enabled that have explicitly been
  1490. ported to the correct core API version.
  1491. * Can now specify the minimum PHP version required for a module within the
  1492. .info file.
  1493. * Drupal core no longer requires CREATE TEMPORARY TABLES or LOCK TABLES
  1494. database rights.
  1495. * Dynamically check password strength and confirmation.
  1496. * Refactored poll administration.
  1497. * Implemented drag-and-drop positioning for blocks, menu items, taxonomy
  1498. vocabularies and terms, forums, profile fields, and input format filters.
  1499. - Theme system:
  1500. * Added .info files to themes and made it easier to specify regions and
  1501. features.
  1502. * Added theme registry: modules can directly provide .tpl.php files for
  1503. their themes without having to create theme_ functions.
  1504. * Used the Garland theme for the installation and maintenance pages.
  1505. * Added theme preprocess functions for themes that are templates.
  1506. * Added support for themeable functions in JavaScript.
  1507. - Refactored update.php to a generic batch API to be able to run time-consuming
  1508. operations in multiple subsequent HTTP requests.
  1509. - Installer:
  1510. * Themed the installer with the Garland theme.
  1511. * Added form to provide initial site information during installation.
  1512. * Added ability to provide extra installation steps programmatically.
  1513. * Made it possible to import interface translations during installation.
  1514. - Added the HTML corrector filter:
  1515. * Fixes faulty and chopped off HTML in postings.
  1516. * Tags are now automatically closed at the end of the teaser.
  1517. - Performance:
  1518. * Made it easier to conditionally load .include files and split up many core
  1519. modules.
  1520. * Added a JavaScript aggregator.
  1521. * Added block-level caching, improving performance for both authenticated
  1522. and anonymous users.
  1523. * Made Drupal work correctly when running behind a reverse proxy like
  1524. Squid or Pound.
  1525. - File handling improvements:
  1526. * Entries in the files table are now keyed to a user instead of a node.
  1527. * Added reusable validation functions to check for uploaded file sizes,
  1528. extensions, and image resolution.
  1529. * Added ability to create and remove temporary files during a cron job.
  1530. - Forum improvements:
  1531. * Any node type may now be posted in a forum.
  1532. - Taxonomy improvements:
  1533. * Descriptions for terms are now shown on taxonomy/term pages as well
  1534. as RSS feeds.
  1535. * Added versioning support to categories by associating them with node
  1536. revisions.
  1537. - Added support for OpenID.
  1538. - Added support for triggering configurable actions.
  1539. - Added the Update status module to automatically check for available updates
  1540. and warn sites if they are missing security updates or newer versions.
  1541. Sites deploying from CVS should use http://drupal.org/project/cvs_deploy.
  1542. Advanced settings provided by http://drupal.org/project/update_advanced.
  1543. - Upgraded the core JavaScript library to jQuery version 1.2.3.
  1544. - Added a new Schema API, which provides built-in support for core and
  1545. contributed modules to work with databases other than MySQL.
  1546. - Removed drupal.module. The functionality lives on as the Site network
  1547. contributed module (http://drupal.org/project/site_network).
  1548. - Removed old system updates. Updates from Drupal versions prior to 5.x will
  1549. require upgrading to 5.x before upgrading to 6.x.
  1550. Drupal 5.23, 2010-08-11
  1551. -----------------------
  1552. - Fixed security issues (File download access bypass, Comment unpublishing
  1553. bypass), see SA-CORE-2010-002.
  1554. Drupal 5.22, 2010-03-03
  1555. -----------------------
  1556. - Fixed security issues (Open redirection, Locale module cross site scripting,
  1557. Blocked user session regeneration), see SA-CORE-2010-001.
  1558. Drupal 5.21, 2009-12-16
  1559. -----------------------
  1560. - Fixed a security issue (Cross site scripting), see SA-CORE-2009-009.
  1561. - Fixed a variety of small bugs.
  1562. Drupal 5.20, 2009-09-16
  1563. -----------------------
  1564. - Avoid security problems resulting from writing Drupal 6-style menu
  1565. declarations.
  1566. - Fixed security issues (session fixation), see SA-CORE-2009-008.
  1567. - Fixed a variety of small bugs.
  1568. Drupal 5.19, 2009-07-01
  1569. -----------------------
  1570. - Fixed security issues (Cross site scripting and Password leakage in URL), see
  1571. SA-CORE-2009-007.
  1572. - Fixed a variety of small bugs.
  1573. Drupal 5.18, 2009-05-13
  1574. -----------------------
  1575. - Fixed security issues (Cross site scripting), see SA-CORE-2009-006.
  1576. - Fixed a variety of small bugs.
  1577. Drupal 5.17, 2009-04-29
  1578. -----------------------
  1579. - Fixed security issues (Cross site scripting and limited information
  1580. disclosure) see SA-CORE-2009-005.
  1581. - Fixed a variety of small bugs.
  1582. Drupal 5.16, 2009-02-25
  1583. -----------------------
  1584. - Fixed a security issue, (Local file inclusion on Windows), see SA-CORE-2009-004.
  1585. - Fixed a variety of small bugs.
  1586. Drupal 5.15, 2009-01-14
  1587. -----------------------
  1588. - Fixed security issues, (Hardening against SQL injection), see
  1589. SA-CORE-2009-001
  1590. - Fixed HTTP_HOST checking to work again with HTTP 1.0 clients and basic shell
  1591. scripts.
  1592. - Fixed a variety of small bugs.
  1593. Drupal 5.14, 2008-12-11
  1594. -----------------------
  1595. - removed a previous change incompatible with PHP 5.1.x and lower.
  1596. Drupal 5.13, 2008-12-10
  1597. -----------------------
  1598. - fixed a variety of small bugs.
  1599. - fixed security issues, (Cross site request forgery and Cross site scripting), see SA-2008-073
  1600. - updated robots.txt and .htaccess to match current file use.
  1601. Drupal 5.12, 2008-10-22
  1602. -----------------------
  1603. - fixed security issues, (File inclusion), see SA-2008-067
  1604. Drupal 5.11, 2008-10-08
  1605. -----------------------
  1606. - fixed a variety of small bugs.
  1607. - fixed security issues, (File upload access bypass, Access rules bypass,
  1608. BlogAPI access bypass, Node validation bypass), see SA-2008-060
  1609. Drupal 5.10, 2008-08-13
  1610. -----------------------
  1611. - fixed a variety of small bugs.
  1612. - fixed security issues, (Cross site scripting, Arbitrary file uploads via
  1613. BlogAPI and Cross site request forgery), see SA-2008-047
  1614. Drupal 5.9, 2008-07-23
  1615. ----------------------
  1616. - fixed a variety of small bugs.
  1617. - fixed security issues, (Session fixation), see SA-2008-046
  1618. Drupal 5.8, 2008-07-09
  1619. ----------------------
  1620. - fixed a variety of small bugs.
  1621. - fixed security issues, (Cross site scripting, cross site request forgery, and
  1622. session fixation), see SA-2008-044
  1623. Drupal 5.7, 2008-01-28
  1624. ----------------------
  1625. - fixed the input format configuration page.
  1626. - fixed a variety of small bugs.
  1627. Drupal 5.6, 2008-01-10
  1628. ----------------------
  1629. - fixed a variety of small bugs.
  1630. - fixed a security issue (Cross site request forgery), see SA-2008-005
  1631. - fixed a security issue (Cross site scripting, UTF8), see SA-2008-006
  1632. - fixed a security issue (Cross site scripting, register_globals), see SA-2008-007
  1633. Drupal 5.5, 2007-12-06
  1634. ----------------------
  1635. - fixed missing missing brackets in a query in the user module.
  1636. - fixed taxonomy feed bug introduced by SA-2007-031
  1637. Drupal 5.4, 2007-12-05
  1638. ----------------------
  1639. - fixed a variety of small bugs.
  1640. - fixed a security issue (SQL injection), see SA-2007-031
  1641. Drupal 5.3, 2007-10-17
  1642. ----------------------
  1643. - fixed a variety of small bugs.
  1644. - fixed a security issue (HTTP response splitting), see SA-2007-024
  1645. - fixed a security issue (Arbitrary code execution via installer), see SA-2007-025
  1646. - fixed a security issue (Cross site scripting via uploads), see SA-2007-026
  1647. - fixed a security issue (User deletion cross site request forgery), see SA-2007-029
  1648. - fixed a security issue (API handling of unpublished comment), see SA-2007-030
  1649. Drupal 5.2, 2007-07-26
  1650. ----------------------
  1651. - changed hook_link() $teaser argument to match documentation.
  1652. - fixed a variety of small bugs.
  1653. - fixed a security issue (cross-site request forgery), see SA-2007-017
  1654. - fixed a security issue (cross-site scripting), see SA-2007-018
  1655. Drupal 5.1, 2007-01-29
  1656. ----------------------
  1657. - fixed security issue (code execution), see SA-2007-005
  1658. - fixed a variety of small bugs.
  1659. Drupal 5.0, 2007-01-15
  1660. ----------------------
  1661. - Completely retooled the administration page
  1662. * /Admin now contains an administration page which may be themed
  1663. * Reorganised administration menu items by task and by module
  1664. * Added a status report page with detailed PHP/MySQL/Drupal information
  1665. - Added web-based installer which can:
  1666. * Check installation and run-time requirements
  1667. * Automatically generate the database configuration file
  1668. * Install pre-made installation profiles or distributions
  1669. * Import the database structure with automatic table prefixing
  1670. * Be localized
  1671. - Added new default Garland theme
  1672. - Added color module to change some themes' color schemes
  1673. - Included the jQuery JavaScript library 1.0.4 and converted all core JavaScript to use it
  1674. - Introduced the ability to alter mail sent from system
  1675. - Module system:
  1676. * Added .info files for module meta-data
  1677. * Added support for module dependencies
  1678. * Improved module installation screen
  1679. * Moved core modules to their own directories
  1680. * Added support for module uninstalling
  1681. - Added support for different cache backends
  1682. - Added support for a generic "sites/all" directory.
  1683. - Usability:
  1684. * Added support for auto-complete forms (AJAX) to user profiles.
  1685. * Made it possible to instantly assign roles to newly created user accounts.
  1686. * Improved configurability of the contact forms.
  1687. * Reorganized the settings pages.
  1688. * Made it easy to investigate popular search terms.
  1689. * Added a 'select all' checkbox and a range select feature to administration tables.
  1690. * Simplified the 'break' tag to split teasers from body.
  1691. * Use proper capitalization for titles, menu items and operations.
  1692. - Integrated urlfilter.module into filter.module
  1693. - Block system:
  1694. * Extended the block visibility settings with a role specific setting.
  1695. * Made it possible to customize all block titles.
  1696. - Poll module:
  1697. * Optionally allow people to inspect all votes.
  1698. * Optionally allow people to cancel their vote.
  1699. - Distributed authentication:
  1700. * Added default server option.
  1701. - Added default robots.txt to control crawlers.
  1702. - Database API:
  1703. * Added db_table_exists().
  1704. - Blogapi module:
  1705. * 'Blogapi new' and 'blogapi edit' nodeapi operations.
  1706. - User module:
  1707. * Added hook_profile_alter().
  1708. * E-mail verification is made optional.
  1709. * Added mass editing and filtering on admin/user/user.
  1710. - PHP Template engine:
  1711. * Add the ability to look for a series of suggested templates.
  1712. * Look for page templates based upon the path.
  1713. * Look for block templates based upon the region, module, and delta.
  1714. - Content system:
  1715. * Made it easier for node access modules to work well with each other.
  1716. * Added configurable content types.
  1717. * Changed node rendering to work with structured arrays.
  1718. - Performance:
  1719. * Improved session handling: reduces database overhead.
  1720. * Improved access checking: reduces database overhead.
  1721. * Made it possible to do memcached based session management.
  1722. * Omit sidebars when serving a '404 - Page not found': saves CPU cycles and bandwidth.
  1723. * Added an 'aggressive' caching policy.
  1724. * Added a CSS aggregator and compressor (up to 40% faster page loads).
  1725. - Removed the archive module.
  1726. - Upgrade system:
  1727. * Created space for update branches.
  1728. - Form API:
  1729. * Made it possible to programmatically submit forms.
  1730. * Improved api for multistep forms.
  1731. - Theme system:
  1732. * Split up and removed drupal.css.
  1733. * Added nested lists generation.
  1734. * Added a self-clearing block class.
  1735. Drupal 4.7.11, 2008-01-10
  1736. -------------------------
  1737. - fixed a security issue (Cross site request forgery), see SA-2008-005
  1738. - fixed a security issue (Cross site scripting, UTF8), see SA-2008-006
  1739. - fixed a security issue (Cross site scripting, register_globals), see SA-2008-007
  1740. Drupal 4.7.10, 2007-12-06
  1741. -------------------------
  1742. - fixed taxonomy feed bug introduced by SA-2007-031
  1743. Drupal 4.7.9, 2007-12-05
  1744. ------------------------
  1745. - fixed a security issue (SQL injection), see SA-2007-031
  1746. Drupal 4.7.8, 2007-10-17
  1747. ------------------------
  1748. - fixed a security issue (HTTP response splitting), see SA-2007-024
  1749. - fixed a security issue (Cross site scripting via uploads), see SA-2007-026
  1750. - fixed a security issue (API handling of unpublished comment), see SA-2007-030
  1751. Drupal 4.7.7, 2007-07-26
  1752. ------------------------
  1753. - fixed security issue (XSS), see SA-2007-018
  1754. Drupal 4.7.6, 2007-01-29
  1755. ------------------------
  1756. - fixed security issue (code execution), see SA-2007-005
  1757. Drupal 4.7.5, 2007-01-05
  1758. ------------------------
  1759. - Fixed security issue (XSS), see SA-2007-001
  1760. - Fixed security issue (DoS), see SA-2007-002
  1761. Drupal 4.7.4, 2006-10-18
  1762. ------------------------
  1763. - Fixed security issue (XSS), see SA-2006-024
  1764. - Fixed security issue (CSRF), see SA-2006-025
  1765. - Fixed security issue (Form action attribute injection), see SA-2006-026
  1766. Drupal 4.7.3, 2006-08-02
  1767. ------------------------
  1768. - Fixed security issue (XSS), see SA-2006-011
  1769. Drupal 4.7.2, 2006-06-01
  1770. ------------------------
  1771. - Fixed critical upload issue, see SA-2006-007
  1772. - Fixed taxonomy XSS issue, see SA-2006-008
  1773. - Fixed a variety of small bugs.
  1774. Drupal 4.7.1, 2006-05-24
  1775. ------------------------
  1776. - Fixed critical SQL issue, see SA-2006-005
  1777. - Fixed a serious upgrade related bug.
  1778. - Fixed a variety of small bugs.
  1779. Drupal 4.7.0, 2006-05-01
  1780. ------------------------
  1781. - Added free tagging support.
  1782. - Added a site-wide contact form.
  1783. - Theme system:
  1784. * Added the PHPTemplate theme engine and removed the Xtemplate engine.
  1785. * Converted the bluemarine theme from XTemplate to PHPTemplate.
  1786. * Converted the pushbutton theme from XTemplate to PHPTemplate.
  1787. - Usability:
  1788. * Reworked the 'request new password' functionality.
  1789. * Reworked the node and comment edit forms.
  1790. * Made it easy to add nodes to the navigation menu.
  1791. * Added site 'offline for maintenance' feature.
  1792. * Added support for auto-complete forms (AJAX).
  1793. * Added support for collapsible page sections (JS).
  1794. * Added support for resizable text fields (JS).
  1795. * Improved file upload functionality (AJAX).
  1796. * Reorganized some settings pages.
  1797. * Added friendly database error screens.
  1798. * Improved styling of update.php.
  1799. - Refactored the forms API.
  1800. * Made it possible to alter, extend or theme forms.
  1801. - Comment system:
  1802. * Added support for "mass comment operations" to ease repetitive tasks.
  1803. * Comment moderation has been removed.
  1804. - Node system:
  1805. * Reworked the revision functionality.
  1806. * Removed the bookmarklet code. Third-party modules can now handle
  1807. This.
  1808. - Upgrade system:
  1809. * Allows contributed modules to plug into the upgrade system.
  1810. - Profiles:
  1811. * Added a block to display author information along with posts.
  1812. * Added support for private profile fields.
  1813. - Statistics module:
  1814. * Added the ability to track page generation times.
  1815. * Made it possible to block certain IPs/hostnames.
  1816. - Block system:
  1817. * Added support for theme-specific block regions.
  1818. - Syndication:
  1819. * Made the aggregator module parse Atom feeds.
  1820. * Made the aggregator generate RSS feeds.
  1821. * Added RSS feed settings.
  1822. - XML-RPC:
  1823. * Replaced the XML-RPC library by a better one.
  1824. - Performance:
  1825. * Added 'loose caching' option for high-traffic sites.
  1826. * Improved performance of path aliasing.
  1827. * Added the ability to track page generation times.
  1828. - Internationalization:
  1829. * Improved Unicode string handling API.
  1830. * Added support for PHP's multibyte string module.
  1831. - Added support for PHP5's 'mysqli' extension.
  1832. - Search module:
  1833. * Made indexer smarter and more robust.
  1834. * Added advanced search operators (e.g. phrase, node type, ...).
  1835. * Added customizable result ranking.
  1836. - PostgreSQL support:
  1837. * Removed dependency on PL/pgSQL procedural language.
  1838. - Menu system:
  1839. * Added support for external URLs.
  1840. - Queue module:
  1841. * Removed from core.
  1842. - HTTP handling:
  1843. * Added support for a tolerant Base URL.
  1844. * Output URIs relative to the root, without a base tag.
  1845. Drupal 4.6.11, 2007-01-05
  1846. -------------------------
  1847. - Fixed security issue (XSS), see SA-2007-001
  1848. - Fixed security issue (DoS), see SA-2007-002
  1849. Drupal 4.6.10, 2006-10-18
  1850. -------------------------
  1851. - Fixed security issue (XSS), see SA-2006-024
  1852. - Fixed security issue (CSRF), see SA-2006-025
  1853. - Fixed security issue (Form action attribute injection), see SA-2006-026
  1854. Drupal 4.6.9, 2006-08-02
  1855. ------------------------
  1856. - Fixed security issue (XSS), see SA-2006-011
  1857. Drupal 4.6.8, 2006-06-01
  1858. ------------------------
  1859. - Fixed critical upload issue, see SA-2006-007
  1860. - Fixed taxonomy XSS issue, see SA-2006-008
  1861. Drupal 4.6.7, 2006-05-24
  1862. ------------------------
  1863. - Fixed critical SQL issue, see SA-2006-005
  1864. Drupal 4.6.6, 2006-03-13
  1865. ------------------------
  1866. - Fixed bugs, including 4 security vulnerabilities.
  1867. Drupal 4.6.5, 2005-12-12
  1868. ------------------------
  1869. - Fixed bugs: no critical bugs were identified.
  1870. Drupal 4.6.4, 2005-11-30
  1871. ------------------------
  1872. - Fixed bugs, including 3 security vulnerabilities.
  1873. Drupal 4.6.3, 2005-08-15
  1874. ------------------------
  1875. - Fixed bugs, including a critical "arbitrary PHP code execution" bug.
  1876. Drupal 4.6.2, 2005-06-29
  1877. ------------------------
  1878. - Fixed bugs, including two critical "arbitrary PHP code execution" bugs.
  1879. Drupal 4.6.1, 2005-06-01
  1880. ------------------------
  1881. - Fixed bugs, including a critical input validation bug.
  1882. Drupal 4.6.0, 2005-04-15
  1883. ------------------------
  1884. - PHP5 compliance
  1885. - Search:
  1886. * Added UTF-8 support to make it work with all languages.
  1887. * Improved search indexing algorithm.
  1888. * Improved search output.
  1889. * Impose a throttle on indexing of large sites.
  1890. * Added search block.
  1891. - Syndication:
  1892. * Made the ping module ping pingomatic.com which, in turn, will ping all the major ping services.
  1893. * Made Drupal generate RSS 2.0 feeds.
  1894. * Made RSS feeds extensible.
  1895. * Added categories to RSS feeds.
  1896. * Added enclosures to RSS feeds.
  1897. - Flood control mechanism:
  1898. * Added a mechanism to throttle certain operations.
  1899. - Usability:
  1900. * Refactored the block configuration pages.
  1901. * Refactored the statistics pages.
  1902. * Refactored the watchdog pages.
  1903. * Refactored the throttle module configuration.
  1904. * Refactored the access rules page.
  1905. * Refactored the content administration page.
  1906. * Introduced forum configuration pages.
  1907. * Added a 'add child page' link to book pages.
  1908. - Contact module:
  1909. * Added a simple contact module that allows users to contact each other using e-mail.
  1910. - Multi-site configuration:
  1911. * Made it possible to run multiple sites from a single code base.
  1912. - Added an image API: enables better image handling.
  1913. - Block system:
  1914. * Extended the block visibility settings.
  1915. - Theme system:
  1916. * Added new theme functions.
  1917. - Database backend:
  1918. * The PEAR database backend is no longer supported.
  1919. - Performance:
  1920. * Improved performance of the forum topics block.
  1921. * Improved performance of the tracker module.
  1922. * Improved performance of the node pages.
  1923. - Documentation:
  1924. * Improved and extended PHPDoc/Doxygen comments.
  1925. Drupal 4.5.8, 2006-03-13
  1926. ------------------------
  1927. - Fixed bugs, including 3 security vulnerabilities.
  1928. Drupal 4.5.7, 2005-12-12
  1929. ------------------------
  1930. - Fixed bugs: no critical bugs were identified.
  1931. Drupal 4.5.6, 2005-11-30
  1932. ------------------------
  1933. - Fixed bugs, including 3 security vulnerabilities.
  1934. Drupal 4.5.5, 2005-08-15
  1935. ------------------------
  1936. - Fixed bugs, including a critical "arbitrary PHP code execution" bug.
  1937. Drupal 4.5.4, 2005-06-29
  1938. ------------------------
  1939. - Fixed bugs, including two critical "arbitrary PHP code execution" bugs.
  1940. Drupal 4.5.3, 2005-06-01
  1941. ------------------------
  1942. - Fixed bugs, including a critical input validation bug.
  1943. Drupal 4.5.2, 2005-01-15
  1944. ------------------------
  1945. - Fixed bugs: a cross-site scripting (XSS) vulnerability has been fixed.
  1946. Drupal 4.5.1, 2004-12-01
  1947. ------------------------
  1948. - Fixed bugs: no critical bugs were identified.
  1949. Drupal 4.5.0, 2004-10-18
  1950. ------------------------
  1951. - Navigation:
  1952. * Made it possible to add, delete, rename and move menu items.
  1953. * Introduced tabs and subtabs for local tasks.
  1954. * Reorganized the navigation menus.
  1955. - User management:
  1956. * Added support for multiple roles per user.
  1957. * Made it possible to add custom profile fields.
  1958. * Made it possible to browse user profiles by field.
  1959. - Node system:
  1960. * Added support for node-level permissions.
  1961. - Comment module:
  1962. * Made it possible to leave contact information without having to register.
  1963. - Upload module:
  1964. * Added support for uploading documents (includes images).
  1965. - Forum module:
  1966. * Added support for sticky forum topics.
  1967. * Made it possible to track forum topics.
  1968. - Syndication:
  1969. * Added support for RSS ping-notifications of http://technorati.com/.
  1970. * Refactored the categorization of syndicated news items.
  1971. * Added an URL alias for 'rss.xml'.
  1972. * Improved date parsing.
  1973. - Database backend:
  1974. * Added support for multiple database connections.
  1975. * The PostgreSQL backend does no longer require PEAR.
  1976. - Theme system:
  1977. * Changed all GIFs to PNGs.
  1978. * Reorganised the handling of themes, template engines, templates and styles.
  1979. * Unified and extended the available theme settings.
  1980. * Added theme screenshots.
  1981. - Blocks:
  1982. * Added 'recent comments' block.
  1983. * Added 'categories' block.
  1984. - Blogger API:
  1985. * Added support for auto-discovery of blogger API via RSD.
  1986. - Performance:
  1987. * Added support for sending gzip compressed pages.
  1988. * Improved performance of the forum module.
  1989. - Accessibility:
  1990. * Improved the accessibility of the archive module's calendar.
  1991. * Improved form handling and error reporting.
  1992. * Added HTTP redirects to prevent submitting twice when refreshing right after a form submission.
  1993. - Refactored 403 (forbidden) handling and added support for custom 403 pages.
  1994. - Documentation:
  1995. * Added PHPDoc/Doxygen comments.
  1996. - Filter system:
  1997. * Added support for using multiple input formats on the site
  1998. * Expanded the embedded PHP-code feature so it can be used everywhere
  1999. * Added support for role-dependent filtering, through input formats
  2000. - UI translation:
  2001. * Managing translations is now completely done through the administration interface
  2002. * Added support for importing/exporting gettext .po files
  2003. Drupal 4.4.3, 2005-06-01
  2004. ------------------------
  2005. - Fixed bugs, including a critical input validation bug.
  2006. Drupal 4.4.2, 2004-07-04
  2007. ------------------------
  2008. - Fixed bugs: no critical bugs were identified.
  2009. Drupal 4.4.1, 2004-05-01
  2010. ------------------------
  2011. - Fixed bugs: no critical bugs were identified.
  2012. Drupal 4.4.0, 2004-04-01
  2013. ------------------------
  2014. - Added support for the MetaWeblog API and MovableType extensions.
  2015. - Added a file API: enables better document management.
  2016. - Improved the watchdog and search module to log search keys.
  2017. - News aggregator:
  2018. * Added support for conditional GET.
  2019. * Added OPML feed subscription list.
  2020. * Added support for , , , , and .
  2021. - Comment module:
  2022. * Made it possible to disable the "comment viewing controls".
  2023. - Performance:
  2024. * Improved module loading when serving cached pages.
  2025. * Made it possible to automatically disable modules when under heavy load.
  2026. * Made it possible to automatically disable blocks when under heavy load.
  2027. * Improved performance and memory footprint of the locale module.
  2028. - Theme system:
  2029. * Made all theme functions start with 'theme_'.
  2030. * Made all theme functions return their output.
  2031. * Migrated away from using the BaseTheme class.
  2032. * Added many new theme functions and refactored existing theme functions.
  2033. * Added avatar support to 'Xtemplate'.
  2034. * Replaced theme 'UnConeD' by 'Chameleon'.
  2035. * Replaced theme 'Marvin' by 'Pushbutton'.
  2036. - Usability:
  2037. * Added breadcrumb navigation to all pages.
  2038. * Made it possible to add context-sensitive help to all pages.
  2039. * Replaced drop-down menus by radio buttons where appropriate.
  2040. * Removed the 'magic_quotes_gpc = 0' requirement.
  2041. * Added a 'book navigation' block.
  2042. - Accessibility:
  2043. * Made themes degrade gracefully in absence of CSS.
  2044. * Grouped form elements using '
    ' and '' tags.
  2045. * Added '
  2046. - Refactored 404 (file not found) handling and added support for custom 404 pages.
  2047. - Improved the filter system to prevent conflicts between filters:
  2048. * Made it possible to change the order in which filters are applied.
  2049. - Documentation:
  2050. * Added PHPDoc/Doxygen comments.
  2051. Drupal 4.3.2, 2004-01-01
  2052. ------------------------
  2053. - Fixed bugs: no critical bugs were identified.
  2054. Drupal 4.3.1, 2003-12-01
  2055. ------------------------
  2056. - Fixed bugs: no critical bugs were identified.
  2057. Drupal 4.3.0, 2003-11-01
  2058. ------------------------
  2059. - Added support for configurable URLs.
  2060. - Added support for sortable table columns.
  2061. - Database backend:
  2062. * Added support for selective database table prefixing.
  2063. - Performance:
  2064. * Optimized many SQL queries for speed by converting left joins to inner joins.
  2065. - Comment module:
  2066. * Rewrote the comment housekeeping code to be much more efficient and scalable.
  2067. * Changed the comment module to use the standard pager.
  2068. - User module:
  2069. * Added support for multiple sessions per user.
  2070. * Added support for anonymous user sessions.
  2071. - Forum module:
  2072. * Improved the forum views and the themability thereof.
  2073. - Book module:
  2074. * Improved integration of non-book nodes in the book outline.
  2075. - Usability:
  2076. * Added support for "mass node operations" to ease repetitive tasks.
  2077. * Added support for breadcrumb navigation to several modules' user pages.
  2078. * Integrated the administration pages with the normal user pages.
  2079. Drupal 4.2.0, 2003-08-01
  2080. ------------------------
  2081. - Added support for clean URLs.
  2082. - Added textarea hook and support for onload attributes: enables integration of WYSIWYG editors.
  2083. - Rewrote the RSS/RDF parser:
  2084. * It will now use PHP's built-in XML parser to parse news feeds.
  2085. - Rewrote the administration pages:
  2086. * Improved the navigational elements and added breadcrumb navigation.
  2087. * Improved the look and feel.
  2088. * Added context-sensitive help.
  2089. - Database backend:
  2090. * Fixed numerous SQL queries to make Drupal ANSI compliant.
  2091. * Added MSSQL database scheme.
  2092. - Search module:
  2093. * Changed the search module to use implicit AND'ing instead of implicit OR'ing.
  2094. - Node system:
  2095. * Replaced the "post content" permission by more fine-grained permissions.
  2096. * Improved content submission:
  2097. + Improved teasers: teasers are now optional, teaser length can be configured, teaser and body are edited in a single textarea, users will no longer be bothered with teasers when the post is too short for one.
  2098. + Added the ability to preview both the short and the full version of your posts.
  2099. * Extended the node API which allows for better integration.
  2100. * Added default node settings to control the behavior for promotion, moderation and other options.
  2101. - Themes:
  2102. * Replaced theme "Goofy" by "Xtemplate", a template driven theme.
  2103. - Removed the 'register_globals = on' requirement.
  2104. - Added better installation instructions.
  2105. Drupal 4.1.0, 2003-02-01
  2106. ------------------------
  2107. - Collaboratively revised and expanded the Drupal documentation.
  2108. - Rewrote comment.module:
  2109. * Reintroduced comment rating/moderation.
  2110. * Added support for comment paging.
  2111. * Performance improvements: improved comment caching, faster SQL queries, etc.
  2112. - Rewrote block.module:
  2113. * Performance improvements: blocks are no longer rendered when not displayed.
  2114. - Rewrote forum.module:
  2115. * Added a lot of features one can find in stand-alone forum software including but not limited to support for topic paging, added support for icons, rewrote the statistics module, etc.
  2116. - Rewrote statistics.module:
  2117. * Collects access counts for each node, referrer logs, number of users/guests.
  2118. * Export blocks displaying top viewed nodes over last 24 hour period, top viewed nodes over all time, last nodes viewed, how many users/guest online.
  2119. - Added throttle.module:
  2120. * Auto-throttle congestion control mechanism: Drupal can adapt itself based on the server load.
  2121. - Added profile.module:
  2122. * Enables to extend the user and registration page.
  2123. - Added pager support to the main page.
  2124. - Replaced weblogs.module by ping.module:
  2125. * Added support for normal and RSS notifications of http://blo.gs/.
  2126. * Added support for RSS ping-notifications of http://weblogs.com/.
  2127. - Removed the rating module
  2128. - Themes:
  2129. * Removed a significant portion of hard-coded mark-up.
  2130. Drupal 4.0.0, 2002-06-15
  2131. ------------------------
  2132. - Added tracker.module:
  2133. * Replaces the previous "your [site]" links (recent comments and nodes).
  2134. - Added weblogs.module:
  2135. * This will ping weblogs.com when new content is promoted.
  2136. - Added taxonomy module which replaces the meta module.
  2137. * Supports relations, hierarchies and synonyms.
  2138. - Added a caching system:
  2139. * Speeds up pages for anonymous users and reduces system load.
  2140. - Added support for external SMTP libraries.
  2141. - Added an archive extension to the calendar.
  2142. - Added support for the Blogger API.
  2143. - Themes:
  2144. * Cleaned up the theme system.
  2145. * Moved themes that are not maintained to contributions CVS repository.
  2146. - Database backend:
  2147. * Changed to PEAR database abstraction layer.
  2148. * Using ANSI SQL queries to be more portable.
  2149. - Rewrote the user system:
  2150. * Added support for Drupal authentication through XML-RPC and through a Jabber server.
  2151. * Added support for modules to add more user data.
  2152. * Users may delete their own account.
  2153. * Added who's new and who's online blocks.
  2154. - Changed block system:
  2155. * Various hard coded blocks are now dynamic.
  2156. * Blocks can now be enabled and/or be set by the user.
  2157. * Blocks can be set to only show up on some pages.
  2158. * Merged box module with block module.
  2159. - Node system:
  2160. * Blogs can be updated.
  2161. * Teasers (abstracts) on all node types.
  2162. * Improved error checking.
  2163. * Content versioning support.
  2164. * Usability improvements.
  2165. - Improved book module to support text, HTML and PHP pages.
  2166. - Improved comment module to mark new comments.
  2167. - Added a general outliner which will let any node type be linked to a book.
  2168. - Added an update script that lets you upgrade from previous releases or on a day to day basis when using the development tree.
  2169. - Search module:
  2170. * Improved the search system by making it context sensitive.
  2171. * Added indexing.
  2172. - Various updates:
  2173. * Changed output to valid XHTML.
  2174. * Improved multiple sites using the same Drupal database support.
  2175. * Added support for session IDs in URLs instead of cookies.
  2176. * Made the type of content on the front page configurable.
  2177. * Made each cloud site have its own settings.
  2178. * Modules and themes can now be enabled/disabled using the administration pages.
  2179. * Added URL abstraction for links.
  2180. * Usability changes (renamed links, better UI, etc).
  2181. - Collaboratively revised and expanded the Drupal documentation.
  2182. Drupal 3.0.1, 2001-10-15
  2183. ------------------------
  2184. - Various updates:
  2185. * Added missing translations
  2186. * Updated the themes: tidied up some HTML code and added new Drupal logos.
  2187. Drupal 3.0.0, 2001-09-15
  2188. ------------------------
  2189. - Major overhaul of the entire underlying design:
  2190. * Everything is based on nodes: nodes are a conceptual "black box" to couple and manage different types of content and that promotes reusing existing code, thus reducing the complexity and size of Drupal as well as improving long-term stability.
  2191. - Rewrote submission/moderation queue and renamed it to queue.module.
  2192. - Removed FAQ and documentation module and merged them into a "book module".
  2193. - Removed ban module and integrated it into account.module as "access control":
  2194. * Access control is based on much more powerful regular expressions (regex) now rather than on MySQL pattern matching.
  2195. - Rewrote watchdog and submission throttle:
  2196. * Improved watchdog messages and added watchdog filter.
  2197. - Rewrote headline code and renamed it to import.module and export.module:
  2198. * Added various improvements, including a better parser, bundles and better control over individual feeds.
  2199. - Rewrote section code and renamed it to meta.module:
  2200. * Supports unlimited amount of nested topics. Topics can be nested to create a multi-level hierarchy.
  2201. - Rewrote configuration file resolving:
  2202. * Drupal tries to locate a configuration file that matches your domain name or uses conf.php if the former failed. Note also that the configuration files got renamed from .conf to .php for security's sake on mal-configured Drupal sites.
  2203. - Added caching support which makes Drupal extremely scalable.
  2204. - Added access.module:
  2205. * Allows you to set up 'roles' (groups) and to bind a set of permissions to each group.
  2206. - Added blog.module.
  2207. - Added poll.module.
  2208. - Added system.module:
  2209. * Moved most of the configuration options from hostname.conf to the new administration section.
  2210. * Added support for custom "filters".
  2211. - Added statistics.module
  2212. - Added moderate.module:
  2213. * Allows to assign users editorial/moderator rights to certain nodes or topics.
  2214. - Added page.module:
  2215. * Allows creation of static (and dynamic) pages through the administration interface.
  2216. - Added help.module:
  2217. * Groups all available module documentation on a single page.
  2218. - Added forum.module:
  2219. * Added an integrated forum.
  2220. - Added cvs.module and cvs-to-sql.pl:
  2221. * Allows to display and mail CVS log messages as daily digests.
  2222. - Added book.module:
  2223. * Allows collaborative handbook writing: primary used for Drupal documentation.
  2224. - Removed cron.module and integrated it into conf.module.
  2225. - Removed module.module as it was no longer needed.
  2226. - Various updates:
  2227. * Added "auto-post new submissions" feature versus "moderate new submissions".
  2228. * Introduced links/Drupal tags: [[link]]
  2229. * Added preview functionality when submitting new content (such as a story) from the administration pages.
  2230. * Made the administration section only show those links a user has access to.
  2231. * Made all modules use specific form_* functions to guarantee a rock-solid forms and more consistent layout.
  2232. * Improved scheduler:
  2233. + Content can be scheduled to be 'posted', 'queued' and 'hidden'.
  2234. * Improved account module:
  2235. + Added "access control" to allow/deny certain usernames/e-mail addresses/hostnames.
  2236. * Improved locale module:
  2237. + Added new overview to easy the translation process.
  2238. * Improved comment module:
  2239. + Made it possible to permanently delete comments.
  2240. * Improved rating module
  2241. * Improved story module:
  2242. + Added preview functionality for administrators.
  2243. + Made it possible to permanently delete stories.
  2244. * Improved themes:
  2245. + W3C validation on a best effort basis.
  2246. + Removed $theme->control() from themes.
  2247. + Added theme "goofy".
  2248. - Collaboratively revised and expanded the Drupal documentation.
  2249. Drupal 2.0.0, 2001-03-15
  2250. ------------------------
  2251. - Rewrote the comment/discussion code:
  2252. * Comment navigation should be less confusing now.
  2253. * Additional/alternative display and order methods have been added.
  2254. * Modules can be extended with a "comment system": modules can embed the existing comment system without having to write their own, duplicate comment system.
  2255. - Added sections and section manager:
  2256. * Story sections can be maintained from the administration pages.
  2257. * Story sections make the open submission more adaptive in that you can set individual post, dump and expiration thresholds for each section according to the story type and urgency level: stories in certain sections do not "expire" and might stay interesting and active as time passes by, whereas news-related stories are only considered "hot" over a short period of time.
  2258. - Multiple vhosts + multiple directories:
  2259. * You can set up multiple Drupal sites on top of the same physical source tree either by using vhosts or sub-directories.
  2260. - Added "user ratings" similar to SlashCode's Karma or Scoop's Mojo:
  2261. * All rating logic is packed into a module to ease experimenting with different rating heuristics/algorithms.
  2262. - Added "search infrastructure":
  2263. * Improved search page and integrated search functionality in the administration pages.
  2264. - Added translation / localization / internationalization support:
  2265. * Because many people would love to see their website showing a lot less of English, and far more of their own language, Drupal provides a framework to set up a multi-lingual website or to overwrite the default English text in English.
  2266. - Added fine-grained user permission (or group) system:
  2267. * Users can be granted access to specific administration sections. Example: a FAQ maintainer can be given access to maintain the FAQ and translators can be given access to the translation pages.
  2268. - Added FAQ module
  2269. - Changed the "open submission queue" into a (optional) module.
  2270. - Various updates:
  2271. * Improved account module:
  2272. + User accounts can be deleted.
  2273. + Added fine-grained permission support.
  2274. * Improved block module
  2275. * Improved diary module:
  2276. + Diary entries can be deleted
  2277. * Improved headline module:
  2278. + Improved parser to support more "generic" RDF/RSS/XML backend.
  2279. * Improved module module
  2280. * Improved watchdog module
  2281. * Improved database abstraction layer
  2282. * Improved themes:
  2283. + W3C validation on a best effort basis
  2284. + Added theme "example" (alias "Stone Age")
  2285. * Added new scripts to directory "scripts"
  2286. * Added directory "misc"
  2287. * Added CREDITS file
  2288. - Revised documentation
  2289. Drupal 1.0.0, 2001-01-15
  2290. ------------------------
  2291. - Initial release