summaryrefslogtreecommitdiffstats
path: root/core/CHANGELOG.txt
blob: d8233459f76c70bf70d5d878b7db07cea64ed7c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
Drupal 8.2.8, 2017-04-19
------------------------
- Fixed security issues. See SA-CORE-2017-002.

Drupal 8.2.7, 2017-03-15
------------------------
- Fixed security issues. See SA-CORE-2017-001.

Drupal 8.2.3, 2016-11-16
------------------------
- Fixed security issues. See SA-CORE-2016-005.

Drupal 8.2.0, 2016-10-05
------------------------
- Updated the git repository configuration to not normalize line endings for
  files of unknown type.
- Added vendor libraries:
    * Added Stack/Cors 1.0.0.
- Updated vendor libraries:
    * Updated to jQuery 2.2.3.
    * Updated to Twig 1.24.
    * Updated to CKEditor 4.5.11.
    * Updated to Symfony Routing 1.4.0.
    * Updated to Stack/Builder 1.0.4.
    * Updated to Guzzle 6.2.1.
- Added modules:
    * Added the Place Block module (experimental) to place a block on any page
      without having to navigate to the backend administration form.
    * Added the Settings Tray module (experimental) to edit the configuration of
      any block on the page. Its machine name in this release is "outside_in".
    * Added the Content Moderation module (experimental) to define and use
      workflow states such as Draft, Archived and Published. This functionality
      was previously provided by the contributed module Workbench Moderation.
    * Added the Datetime Range module (experimental) that provides a new field
      type with support for start and end dates.
- Raised stability levels of experimental modules:
    * Updated the BigPipe module from alpha to beta.
    * See https://www.drupal.org/core/experimental#versions for more
      information about the stability levels of experimental modules.
- Improved authoring features:
    * Relative URLs are automatically converted to absolute ones when content
      is output to an RSS feed.
    * Enabled revisions by default on new node types.
    * Added a redirect option to site-wide contact forms.
    * Whenever a new entity is created, a link to it is now provided in a
      status message, for easy access to it regardless of the form workflow.
    * Styled CKEditor dialogs to match Drupal dialogs.
- Improved site administration experience:
    * Numerous improvements to user interface text.
- Improved site building features:
    * Added the ability to remove a module's content entities prior to
      uninstallation.
    * Made it possible to select the comment view mode in the formatter form.
    * Fixed the Migrate module to skip over migration sources that require
      code from uninstalled modules.
- Improved REST API and decoupled site features:
    * Added support for reading (GET) configuration entities as REST resources.
    * Added dedicated resources for user login, logout and registration.
    * Added support for selecting an authentication provider as part of the
      configuration of a REST Export Views Display.
    * Added a cors.config service parameter for enabling and configuring
      cross-origin resource sharing (CORS).
    * Simplified REST configuration with per-resource configuration entities
      and less verbose configuration structure. (The previous, advanced
      configuration structure is also still supported.)
    * Improved the response messages and status codes for requests with missing
      or incorrect headers.
    * Improved responses to PATCH requests to entity resources to contain the
      updated entity in the response body.
- Improved developer APIs:
    * Added support for specifying the field item delta as part of an entity
      query condition. This was possible in Drupal 7 via
      EntityFieldQuery::fieldDeltaCondition(), but missing from earlier
      versions of Drupal 8.
- Improved performance/scalability:
    * In the internal page cache, 404 responses are now cached for a shorter
      time (1 hour by default), to consume less space.
    * Breadcrumbs are now cached by the parent of the path rather than the full
      path, for fewer cache entries and higher cache hit rates.
- Changed coding standards:
    * Local variables and parameters can now use camelCase.
    * A blank line is now required after the <?php opening tag.
- Testing improvements:
    * Increased feature parity of BrowserTestBase with WebTestBase, including a
      deprecated AssertLegacyTrait for easier conversions.
    * Converted all kernel tests to the PHPUnit-based kernel test API.
    * Improved error reporting for all PHPUnit tests (including unit, kernel,
      browser, and JavaScript tests).

Drupal 8.1.0, 2016-04-20
------------------------
- Removed Composer-managed vendor from the git repository:
    * Drupal.org packager adds dependencies to zip and tar package. This can be
      used without any further steps.
    * When not using zip / tar files, e.g. when using a git clone, run composer
      install to get dependencies.
    * See https://www.drupal.org/documentation/install/download#git
      for instructions.
- Added vendor libraries:
    * Added Symfony Polyfill Iconv 1.1.0.
    * Added paragonie/random_compat 1.4.1.
- Updated vendor libraries:
    * Updated to the last 2.x minor version of Symfony: 2.8 (2.8.4).
    * Updated to CKEditor 4.5.8.
    * Updated to Modernizr 3.3.1.
- Added modules:
    * Added the Migrate Drupal UI module (experimental) to provide a UI for
      migrating content and configuration from Drupal 6 and Drupal 7.
    * Added the BigPipe module (experimental) to improve perceived performance.
- Improved authoring features:
    * Enabled browsers' (native) spell checker in CKEditor.
    * Added language toolbar button in CKEditor for identifying the language of
      text parts.
- Improved site administration experience:
    * Improved admin/help page to be more flexible and list tours on it.
- Improved site building features:
    * Added a "Rendered entity" field handler in Views.
- Improved distribution building features:
    * Added support for distributions to specify an installation language.
- Improved developer APIs:
    * Added local ID and revision fields to HAL web service output.
    * Added support for image toolkits to be defined with plugin derivatives,
      reducing the code needed to extend them.
    * Simplified Migrate API by replacing migration configuration entities with
      migration plugins.
    * Various improvements for defining entity types:
      * Added support for entity types to specify translatable plural labels.
      * Added a revision log interface and trait for revisionable entity types.
      * Added key field definitions to ContentEntityBase, reducing code from
        child classes.
      * Added generic route providers for add-page and add-form entity routes,
        reducing the code needed to define an entity type.
- Testing improvements:
    * Added support for automated JavaScript testing.
    * Added verbose output for BrowserTestBase.
    * Improved reporting of PHPUnit results.

Drupal 8.0.0, 2015-11-19
------------------------
- Significantly improved the front end:
    * Made all built-in themes responsive.
    * Added support for responsive images.
    * 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.
- Included the following Symfony2 components:
    * ClassLoader - PSR-0-compatible autoload routines.
    * DependencyInjection - Flexible dependency injection container.
    * EventDispatcher - Object-oriented lightweight event handling system.
    * 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.
- Removed support for MyISAM, when using MySQL.
- Testing improvements
    * Added PHPUnit for proper unit testing, see
      https://phpunit.de/manual/4.8/en/index.html so you can run tests via
      your IDE.
    * Added BrowserTestBase as an alternative to simpletest for browser
      testing (JavaScript support to be included in the future)
    * Added KernelTestBase to provide a fast API testing of integration of
      different components
    * Core branch nightly tests include PHP 5.5, 5.6, 7, sqlite and PostgreSQL.
- Added the migrate module (experimental) with support for migrating content and
  configuration from earlier Drupal versions.
- Introduced support for Composer.
- Moved the automated cron execution functionality to its own module.
- Refactored IP address based banning functionality to its own module.
- Security improvements:
    * Removed PHP filter, including the ability to use PHP for block visibility.
    * Managing fields for each entity type is now a separate permission.
    * PDO drivers other than MySQL are now limited to executing single
      statements to limit SQL injection vectors.
    * Added an autoescape API to prevent cross-site scripting in many of the
      places where Drupal outputs HTML.
    * Hardened user session and session ID handling.
    * Automated CSRF protection in route definitions.
    * Clickjacking protection enabled by default.
    * Made the core JavaScript API compatible with Content Security Policy
      (CSP).
    * Trusted host patterns enforced for requests preventing cache and link
      poisoning.
- Switched to semantic versioning with significant updates planned every 6
  months in 8.1, 8.2, etc.
- Numerous other important changes and additions. See
  https://www.drupal.org/list-changes/drupal for a detailed list.
- Numerous bug fixes.
- Numerous API documentation improvements.
- Additional automated test coverage.

Drupal 7.0, 2011-01-05
----------------------
- Database:
    * 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 log in 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 (https://www.drupal.org/project/bluemarine,
      https://www.drupal.org/project/chameleon and
      https://www.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 (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 <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.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.
- 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 https://www.drupal.org/project/cvs_deploy.
  Advanced settings provided by https://www.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 (https://www.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.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().
    * Email 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 (phrase, node type, etc.).
    * 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 email.
- 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 a 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/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.
- 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