Made built-in tables responsive with three levels of column importance.
Added Twig as the default template engine and converted all .tpl.php
templates and theme functions to .html.twig.
Removed the PHPTemplate engine.
Several large scale cleanups of the markup produced by Drupal.
Added Classy as a base theme to maintain CSS classes and wrappers.
Added Stable as the default base theme to maintain backwards compatibility
for core template and CSS changes, because templates and CSS outside
Stable can be improved in minor releases (8.1.0, 8.2.0, etc.).
Redesigned several key elements of the Seven theme.
Added support for HTML5 elements.
Included Backbone.js and Underscore.js JavaScript frameworks.
Updated to jQuery 2.1.4.
Updated to jQuery UI 1.11.4.
Removed jquery.bbq.
Removed the Garland theme from core.
Removed the Overlay module from core and replaced it with a simple,
dynamic "Back to site" link.
Improved the asset library system to manage CSS and JavaScript files and
their dependencies. Allowing for smaller AJAX request payloads.
jQuery is no longer loaded on all pages, only when another asset needs it.
No JavaScript is loaded at all for anonymous users by default, for faster
page loads.
Implemented SMACSS-style categorization for CSS files.
Removed most support for Internet Explorer 8 and below.
Added Modernizr for making styling changes based on browser support.
All page template variables converted to blocks (title, breadcrumb,
branding, etc).
Added the Breakpoint module to manage breakpoints of responsive designs.
Introduced native Schema.org output in pages.
Made use of semantic HTML 5 tags when possible. This also makes form input
on mobile devices much easier for users.
Redesigned icons to look good on high resolution (retina) displays too.
Made the site administration experience simpler:
Redesigned the installer.
Visually updated and extended the Seven (administration) theme.
Made the administration toolbar responsive and touch friendly.
Added search to the module listing and made the page easier to read.
Added the tour module to provide highly contextual tips for UI elements.
Improved the entity system:
Added a full CRUD API for entities.
Improved the field API and entity query API.
Added support for widgets, formatters, and translation to base entity
fields (such as labels).
Made view modes configurable for reusable display variants.
Introduced form modes for reusable form variants.
Added ability to handle a "default" revision that may not be the latest.
All content entity types (custom blocks, terms, comments, etc.), not just
nodes, have support for revisions.
Database schema of content entities is automatically generated based on
entity type and field definitions.
Added the Typed Data system to manage complex types.
Refactored routing system based on Symfony2 components.
Made declarative information (libraries, permissions, routes etc.) use YAML
files for definitions instead of PHP.
Improved the menu handling systems:
Moved custom menu item handling to its own module.
Reworked menu links, local actions, and local tasks based upon the new
routing system.
Added plugin system to standardize implementation of several core APIs.
Introduced a new configuration management system:
Added a centralized configuration system with export and import
functionality.
Allowed module authors to provide configuration in a YAML file format.
Implemented functionality to get, set, add, and remove configuration.
Provided the ability to override configuration values with language
variants and other runtime values.
Added configuration schema, dependencies, and validation to maintain
data integrity between deployments and updates.
Support added for both global configuration and configuration entities.
Improved authoring experience:
Redesigned the content creation and editing form.
Content preview is now displayed on the frontend.
Added the CKEditor WYSIWYG editor. Clean markup guaranteed thanks to tight
integration with the filter system.
Made uploading, aligning, and captioning of images possible in the editor.
Modernized the default text formats.
Added a drag-and-drop configuration UI, which automatically updates the
HTML filter settings, making configuring text formats trivial for typical
use cases.
Added align and caption filters that can be applied to any element:
images, blockquotes, code snippets, videos…
Made possible to in-place edit any entity: nodes, blocks…
Added the Text Editor module to help map other editors to text formats.
Improved media management:
Added ability to configure when unused files get deleted with the option
to keep them, useful for media libraries.
Added a customizable view under the content administration screen that
lists all files uploaded on the system.
Made uploads immediate when selecting files in file fields.
Added ability to upload multiple files at once.
Added local image input filter, to enable secure image posting.
HttpFoundation - Abstraction objects for HTTP requests and responses.
HttpKernel - Core system for managing incoming HTTP request and responses.
Process - Allows for executing commands in a sub-process.
Routing - Framework for mapping incoming requests to controller
information.
Serialization - Serialize complex nested objects into JSON/XML etc.
Validator - Ensure that an object is in a valid state based upon some
validation rules defined for it.
Yaml - Parser for YAML files.
Added routing component from Symfony CMF.
Added Guzzle HTTP library.
Added Zend Feed component.
Removed modules from core.
The following modules have been removed from core, because contributed
modules with similar functionality are available:
Blog
Dashboard
OpenID
Poll
Profile
Trigger
Removed the Statistics module's accesslog functionality and reports.
Removed XML-RPC functionality from core.
Removed user signatures support from core.
Added ability to generate and validate Universally Unique IDentifiers (UUIDs).
Tremendously improved language support all around:
Great language improvements for users:
Improved language selection with user preference detection in the
installer based on browser settings.
The installer is presented in the user's native language.
Moved base language support to Language module.
Greatly simplified the interface for setting up languages.
Improved browser language detection considerably.
Language domain and path prefix configuration simplified and
centralized; path prefix detection is now default.
Added HTML 5 language markup; language information added in markup in
several more places.
Made it possible to assign external language codes to local languages.
Introduced the possibility of an administration-specific language
preference for users.
Language selection fallback language is now independently configurable
without needing to change the site default language.
Simplified and added new features in interface translation:
Made interface translation directly accessible from the language list.
Centralized interface translation import to one directory.
Drupal can now be translated to English and English can be deleted.
Much improved built-in translation interface.
Added support for singular/plural discovery and translation.
Customized translations are tracked so your modifications can
be identified and protected from translation update overwrites.
All Gettext files are now imported in chunks, better for low resource
environments.
Automated import and update of translations in the installer and later.
Improved content language support:
Made it possible to assign language to taxonomy terms, vocabularies,
menu items, and files.
Added a field translation based content translation module that applies
to all content entities.
Removed the old node-copy based content translation module.
Introduced language defaults configuration for each entity type and
subtype.
Added entity language variance support to search module.
Search indexing and query preprocessors now get language information.
Unified content translation permission granularity with content editing
permissions.
Made the language selector freely orderable in entity forms.
Better configuration language support
Added language selectors to most configuration options (views, menus,
etc.)
Added a configuration translation user interface that works with any
configuration with translatable values (blocks, views, fields, etc.).
Added language options to block visibility.
Much improved language APIs for developers:
Made it possible for users to have a preferred language separate from
their user entity language.
The text formatter from t() is now available as FormattableMarkup.
Added support for interface translation contexts in Drupal.t(),
Drupal.formatPlural() as well as routing, tabs, actions, shipped
menu items and contextual links.
Removed textgroups support from interface translation in favor of
native configuration language support.
Added a transliteration API. (Only used for machine names in core.)
Added a language fallback capability to the interface translation API.
New field types added to core:
Email
Link
Telephone number
Entity reference
Date
Made commenting more flexible:
Added the notion of comment types (for reviews, greetings, and so on),
each of which can be configured with a different set of fields.
Made commenting a field to allow comment threads on entity types other
than nodes.
Added Views and Views UI module to core:
Added simple bulk operations functionality to Views.
Converted various core listings to views, including /node,
/admin/content/node, /admin/people, and several blocks.
Built in REST API support.
Rewrote caching integration for better performance.
Made it possible to configure responsive tables in Views.
Greatly improved block management:
Made custom blocks fieldable, revisionable, and translatable entities.
Added the notion of custom block types.
Added the ability to place the same block in multiple locations.
Introduced a block library with categorized blocks.
Introduced an accessible modal API based on improvements made in collaboration
with the jQuery UI team.
Made it possible to add fields to contact forms allowing site-builders to
easily build custom forms for soliciting feedback from users.
Added a Web Services module package.
Added a RESTful web services provider module.
Added a serialization module using the Symfony serialization component.
Added a Hypertext Application Language (HAL) serialization module.
Added a HTTP Basic authentication provider module.
Improved performance/scalability significantly:
Introduced cache tags, which allow content to be invalidated accurately
and instantly, including for reverse proxies and CDNs.
Added cache contexts, which allow content to be cached correctly, and
placeholdered to improve cache hit rates.
Implemented cacheability bubbling, which allows strict tracking of assets
and cacheability throughout page rendering.
Factored out page caching to its own module and enabled it by default.
Added the Dynamic Page Cache module for authenticated page caching and
enabled it by default.
Added APCu, memory, and PHP file caching backends to core, alongside
support for a chained, consistent cache backend to support correctly using
fast local cache implementations with multiple web servers.
Fully rewritten database layer using 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 primary/replica 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; for example, 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 email
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.
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 fileunmanaged*().
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 (for example, 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 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.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 email 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.
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 , , 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 '
Added '
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/.
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/email 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.
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.
See https://api.drupal.org/api/drupal/core!UPGRADE.txt/8