forked from textpattern/textpattern
-
Notifications
You must be signed in to change notification settings - Fork 0
/
HISTORY.txt
1141 lines (1084 loc) · 57.4 KB
/
HISTORY.txt
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
Changes in TBC (upcoming)
* Fixed: index.php correctly included in css.php.
* Fixed: 3 undefined routing-related indexes.
* Fixed: Article preview (txpreview) is not cached.
* Changed: Author's real name is used in <txp:page_url>.
* Changed: Refined scope of root .htaccess, and restricted directory listing
in /files/ and /textpattern/ with their respective .htaccess.
* Changed: Non-searchable sections can be omitted from <txp:section_list>
output with valueless 'exclude' attribute.
* Added: <txp:item /> tag.
* Added: Dark Mode support in Hive admin theme.
* Added: 'breadcrumb/title' article link format.
* Added: Per-section article link format override.
* Added: 'title' attribute to image tags.
* Added: Configuration file generated during setup can be downloaded.
* Added: Latest translations.
* Removed: Obsolete 'no widowed words' preference setting. If this feature is
needed it can be implemented directly with <txp:title /> tag.
* Developer: some txplib_misc.php functions moved to txplib_admin.php.
* Developer: PHP magic_quotes_gpc and magic_quotes_runtime support removed.
* Textile 3.7.3. See https://github.com/textile/php-textile/releases/tag/v3.7.3
for full list of changes in this release (thanks, gocom).
* jQuery 3.4.1.
* PrismJS 1.17.1.
* jQuery File Upload 10.3.0.
Changes in 4.7.3
* Maintenance release with enhancements and bug fixes.
* Fixed: 'Export to disk' checkbox state inconsistencies for new assets.
* Fixed: Logout issue in Classic admin theme.
* Fixed: A bug when PHP 'mbstring' extension is disabled.
* Fixed: Prevent Alt+S from triggering save (thanks, o10154016).
* Fixed: Language .ini files trump old .txt files.
* Changed: Permit falling back on pophelp in 'lang' database table.
* Changed: 'Show password' on Users panel displays both passwords.
* Added: <txp:yield /> values are available in external forms too.
* Added: Indicator for GD Graphics Library WebP support in Diagnostics panel.
* Added: Latest translations.
* Added: Complete Italian inline help translation. Many thanks to Giampiero
Mellea for all their work.
* Developer: Introduce L10n/Lang->languageList() to get language tuples.
* Textile 3.7.1. See https://github.com/textile/php-textile/releases/tag/v3.7.1
for full list of changes in this release (thanks, gocom).
Changes in 4.7.2
* Maintenance release with enhancements and bug fixes.
* Fixed: A bug with <txp:link_to_[next|prev] /> tags in 'month' URL mode.
* Fixed: A bug with <txp:related_articles /> tag.
* Fixed: <txp:search_input /> will always respect its 'form' attribute setting,
if set.
* Fixed: A bug with the global 'not' attribute.
* Fixed: Multibyte characters are correctly obfuscated by <txp:email />.
* Fixed: Salutation text within emails not displaying correctly.
* Fixed: 'problem_connecting_update_server' language string grouping corrected.
* Fixed: Unparsed 'must_reassign_assets' and 'cannot_assign_assets_to_deletee'
strings.
* Changed: <txp:search_input /> can be used as a container tag, and also accepts
'aria_label' and 'placeholder' attributes.
* Changed: More robust search routes within default public-side theme.
* Changed: Improved upgrade route where MySQL NO_ZERO_DATE is set.
* Changed: Enhanced password manager compatibility on login and user details
pages.
* Changed: Extended fallback to 'C' locale in some situations.
* Changed: Partially translated inline help files use fallback language (by
default: English) where localized help items are not present.
* Changed: Hive admin theme login panel now displays link to public site.
* Changed: Simplified Classic admin theme login panel layout.
* Changed: Fine-grained development theme preview.
* Changed: More customizable Atom/RSS feeds via 'atom_head', 'rss_head' and
'feed_filter' callbacks.
* Changed: Deleting an article deletes any associated comments.
* Changed: Forms, Pages and Styles accept pre-4.7 names for editing, but
must be sanitized prior to saving.
* Changed: Some emoji are preserved in automatically-generated article URL
titles.
* Changed: Article text blocks starting with a Textpattern tag are not
Textile'd.
* Changed: File data is available on 'file_download' callback.
* Changed: Article lists can be split by 'breakby' form value.
* Changed: Expanded Schema.org media items within default public-side theme.
* Added: Latest translations.
* Added: Czech inline help translation. Many thanks to Miloš Berka for all
their work.
* Added: French inline help translation. Many thanks to Lowel for all their
work.
* Added: Partial Italian inline help translation. Thanks Giampiero Mellea.
* Added: Global 'trim' and 'default' attributes.
* Added: Global 'wrapform' attribute.
* Added: Global 'escape="ordinal|spell|url"' attribute values.
* Added: 'aria_label' and 'placeholder' attributes on comment input fields.
* Added: 'breakform' attribute to <txp:article(_custom) /> tag.
* Added: 'test' attribute to <txp:if_different /> tag.
* Added: 'context' attribute to <txp:link_to_next />, <txp:link_to_prev />,
<txp:page_url /> and <txp:permlink /> tags.
* Added: 'context' and 'format' attributes to <txp:output_form /> tag.
* Added: 'add', 'reset', 'separator' and 'output' attributes to <txp:variable />
tag.
* Added: Custom form media (MIME) types, served as 'flat' files if needed.
* Added: Option to export form/page/style to disk on save.
* Added: Custom functions can be registered for use in <txp:evaluate /> tag.
* Textile 3.7. See https://github.com/textile/php-textile/releases/tag/v3.7.0
for full list of changes in this release (thanks, gocom).
* jQuery File Upload 9.28.0.
Changes in 4.7.1
* Maintenance release with bug fixes.
* Fixed: <txp:article /> and <txp:article_custom /> correctly parse their
content.
* Fixed: <txp:article /> with 'listform' attribute returns correct value.
* Fixed: Textpack correctly updates timestamp where web server and database
server reside in different timezones.
* Fixed: Fallback to 'C' locale in some situations.
* Fixed: Section page/style selectors are correctly populated.
* Fixed: Articles without a URL-only title have a valid permlink across all
link formats.
* Changed: Additional code optimization for PHP 5.4 and later.
* Changed: Improved language string coverage in setup process.
* Changed: Extended use of Textpattern 4.7.*-native tags in Four Point Seven
theme.
* Changed: Additional database-related information included in Diagnostics.
* Added: Latest translations.
* PrismJS 1.15.0.
* jQuery File Upload 9.22.0.
Changes in 4.7.0
* In memory of Dean Cameron Allen, creator of Textpattern CMS.
* Changed: Minimum system requirements increased to PHP 5.4.0.
* Textpattern instances older than version 4.2.0 (released 17 Sep 2009) should
upgrade to version 4.2.0 before upgrading to version 4.7.0.
* Added: Support for website themes, markup stored within the database (accessed
via the Themes panel) and available as flat file templates for easier version
control, portability and installation (many many thanks, NicolasGraph).
* Added: Support for installation on Nginx web servers (thanks, makss).
* Added: Support for automated installation from CLI (thanks, makss).
* Added: Filipino language translation (thanks, Joseph Buarao).
* Added: Tagalog language translation (thanks, Kurt Lem Zamora).
* Added: User-selectable column list options in tables replaces 'Show more
detail' checkboxes. Settings remembered per device.
* Added: Valueless attributes.
* Added: Optional short-tags.
* Added: Ability to use Forms as tags via <txp:output_form /> or
<txp::shortcode /> tags.
* Added: Tag global attributes: 'breakby', 'breakclass', 'class', 'escape',
'html_id', 'not' and 'wraptag'.
* Added: <txp:article_custom /> tag can count pages.
* Added: <txp:evaluate /> tag.
* Added: <txp:header /> tag allows optional setting of HTML headers on page
output.
* Added: <txp:if_logged_in /> tag.
* Added: XML and JSON file support. Completely overhauled setup procedure to
centralize and verify/delete preferences on upgrade. Table structure and
preferences defined in files for easier maintenance (thanks, makss).
* Added: Per-user admin panel language preference (decoupled from site language
preference).
* Added: All users can administer their own key biographical info.
* Added: Ability to copy an article without enforced save.
* Added: Button to swap width and height values on image edit thumbnail
generator.
* Added: Ctrl+S/Cmd+S keyboard shortcuts for Submit, Publish and Save buttons
on any admin panel.
* Added: Multiple Files and Images upload with progress meter.
* Added: Section searches by description.
* Added: Visual indicator that a subset of search fields are in use.
* Added: One-pass comment searches by parent article (thanks, makss).
* Added: Diagnostics can optionally suppress sensitive path data.
* Added: 'Expire now' checkbox on Write panel.
* Added: Automatic table of contents generation for well-structured plugin help
text.
* Added: JSON-LD and Open Graph metadata scaffold included with default theme.
* Removed: Involuntary Personally Identifiable Information within comments (IP
address) and logs (IP address/host) no longer collected - for GDPR compliance.
* Removed: Any pre-existing IP addresses stored in comments database table are
deleted upon upgrade to 4.7.0 (and not stored in future) - for GDPR
compliance.
* Changed: Comments 'Remember me?' option is now an opt-in instead of opt-out,
setting stored in localStorage instead of as a cookie - for GDPR compliance.
* Changed: Revised multi-site installation routine and symbolic linking (thanks,
jools-r).
* Changed: Most panels perform saves/searches/pagination without page
refreshes (Ajax).
* Changed: Last used Page/Form/Stylesheet remembered.
* Changed: Forms can recursively (up to 15 levels deep) call themselves.
* Changed: <txp:breadcrumb /> can be used as a container tag, and accepts 'type'
attribute.
* Changed: Enhanced <txp:article /> sort and status handling.
* Changed: Enhanced <txp:article_custom /> 'exclude', 'expired', 'month' and
'time' attributes.
* Changed: <txp:category_list /> can output nested lists.
* Changed: <txp:if_category /> accepts 'parent' attribute.
* Changed: <txp:image_author /> tag accepts 'id' and 'name' attributes.
* Changed: <txp:link_to_next/> and <txp:link_to_prev /> are more consistent.
* Changed: Reinstate <txp:keywords> tag and add 'break', 'class' and 'wraptag'
attributes.
* Changed: Deprecated <txp:image_display /> and <txp:image_index /> tags, use
<txp:image /> and <txp:images />, respectively, instead.
* Changed: <txp:newer /> and <txp:older /> tags accept 'rel' attribute.
* Changed: <txp:output_form /> tag supports user-defined attributes,
coupled with <txp:yield>.
* Changed: <txp:page_title /> tag SEO - site name renders after page name,
default separator changed from ': ' to ' | ', page numbers added.
* Changed: <txp:page_url /> tag can return more URL paths via 'type' attribute.
* Changed: <txp:site_url /> tag accepts 'type' attribute to return admin-side
URL.
* Changed: Deprecated the 'poplink' attribute on <txp:thumbnail /> tag.
* Changed: <txp:yield> tag accepts 'name' and 'default' attributes.
* Changed: Pagination tags (like <txp:newer /> and <txp:older />) can be placed
before <txp:article /> tag.
* Changed: Image Edit panel available to all users - read-only to some (thanks,
phiw13).
* Changed: Textfilter options and help topics moved inline with their textareas.
Write panel 'sidehelp' twisty and article>sidehelp callback removed.
* Changed: Categories moved from Sort & Display subpanel to their own twisty.
Override Form (if used) moved to 'Sort and display' subpanel. 'Advanced'
twisty and its callback removed.
* Changed: Languages are updated automatically on upgrade.
* Changed: Further improvements to RTL language support.
* Changed: Language translations included in core instead of legacy RPC server.
* Changed: Diagnostics and tag trace reports always rendered in English (for
easier international support enquiries). Text strings moved to 'mode.ini'.
* Changed: Use local inline help files instead of legacy RPC server. Help topics
rendered in dialogs instead of new window (thanks, makss).
* Changed: Use JSON file to check for new releases/pre-releases instead of
legacy RPC server (thanks, makss).
* Changed: Cleanup of panels/UI elements shown based on specific user roles.
* Changed: Plugin Textpacks stored in database and installed on demand.
* Changed: Plugins have persistent data column available for custom storage.
* Changed: Clearer plugin list on Diagnostics panel.
* Changed: Article posted/modified info and ID moved below Title field.
* Changed: Enable HTTP 226 responses (thanks, da2x).
* Changed: Make Preferences panel and subpanels fully printable (thanks,
phiw13).
* Changed: Panel states stored only client-side (localStorage).
* Changed: pluggable_ui() behaves more intelligently when chaining.
* Changed: Pagination steps are more grid friendly: 12/24/48/96 items.
* Changed: More locale-aware date handling in safe_strftime().
* Changed: Deprecated support for uploading .swf files via Images panel (support
will be removed entirely at Textpattern 4.8.0).
* Changed: Extensive admin theme image optimizations.
* Changed: Admin theme accessibility improvements.
* Changed: Admin theme layout improvements on small devices.
* Changed: Pagination and search added to Plugins panel.
* Changed: Plugin preview page syntax highlighting and layout improvements.
Also show Textpack string additions preview (if applicable).
* Changed: Removed 'Create ...' links from Pages/Forms/Styles panels when
viewing a new, unsaved Page/Form/Style (thanks, adi).
* Changed: Categories can no longer reassign the parent of a child element to
its children. Avoids infinite tree loops.
* Changed: Article preview includes debug info.
* Changed: 'wraptag' attribute can prepend/append content using special '<+>'
syntax.
* Developer: 'ahu' constant as multi-site-compatible URL to admin side. Plugin
authors please use ahu in place of hu.'textpattern'.
* Fixed: Multi-site setup overhauled: Correct setup and install messages,
diagnostics information, login URL in user-invite email, login cookie
accessible to public and admin URLs (thanks, jools-r).
* Fixed: SQL injection in 'qty' attribute (thanks Manuel Garcia Cárdenas).
* Fixed: Keyboard navigation on select list popups.
* Fixed: Only update database version string if using release version.
* Fixed: Support for other MySQL client versions (thanks, CeBe).
* Fixed: URL handling for /title and /year/month/day/title (thanks, planeth44).
* Fixed: Panel layout improvements across all privilege levels.
* Fixed: Per-user preferences exposed to all users (thanks, gaekwad).
* Removed: zxcvbn password strength meter.
* Textile 3.6.
* jQuery 3.3.1.
* PrismJS 1.14.0.
* PHPass 0.5.
* jQuery File Upload 9.21.0.
Changes in 4.6.2
* Maintenance release with bug fixes.
* Fixed: More complete SQL trace on non-row-based queries.
* Fixed: Update process for filesystem-only releases.
* Fixed: Normalize link text in some tag builder tags (thanks, makss).
* Fixed: Incorrect focus ring styling.
* Fixed: Define Trace in RPC (thanks, Retrax/makss).
* Added: Better cross-browser support for input type=color
(thanks, NicolasGraph).
* Added: Support for printing of admin panels.
* Added: Additional Latvian setup translations.
Changes in 4.6.1
* Maintenance release with bug fixes.
* Added: A modern interpretation of the 'Classic' admin theme.
* Added: More complete SQL trace (thanks, makss).
* Fixed: New articles only marked modified after modification (thanks, gaekwad).
* Fixed: Silently fail if old files cannot be deleted.
* Fixed: Conditional tags now trigger correctly (thanks, craigerskine).
* Fixed: Missing sql_now_* preferences (thanks, makss).
* Fixed: Save preference pane states on keyboard focus too (thanks, phiw13).
* Fixed: Avoid setLocale errors if locale unavailable in lang tag attributes
(thanks, brachycera).
* Fixed: 'Change author' multi-edit only available to users with sufficient
rights (thanks, makss).
* Fixed: Relative URLs in feeds (thanks, hidalgo).
* Changed: Made better use of available screen estate for presentation panel
code textareas (thanks, phiw13).
* Changed: Tightened up vertical layout on Forms panel.
* Changed: Put an upper limit on preference group widths for better readability
(thanks, phiw13).
* Changed: CONTRIBUTING.textile info has been consolidated into main
README.txt file.
* jQuery UI 1.12.1.
* zxcvbn 4.4.0.
Changes in 4.6.0
* Textile v3.5.
* Improved RTL language support.
* Improved admin side UI.
* Requires PHP 5.3.3 or newer. Compatible with PHP 7.0 and MySQL 5.7
(thanks Ruud van Melick).
* New tags: <txp:authors />, <txp:meta_description />, <txp:if_description> and
<txp:if_yield>.
* No more plaintext passwords sent: password reset requests are handled directly
on the server.
* One-week validity for new account activation requests by default. Configurable
in config.php (see ACTIVATION_EXPIRY_HOURS).
* Ninety-minute validity for password reset requests by default. Configurable in
config.php (see RESET_EXPIRY_MINUTES).
* Stronger password hashes and strength meter implemented (zxcvbn).
* Performance increases due to cache-friendly public side database queries,
parser improvements and reduction of admin-side queries
(thanks Ruud van Melick and etc).
* Added: Support for adding other markup languages (for example, Markdown)
via plugins.
* Added: Default article publishing status preference.
* Added: Support for custom CSS and JavaScript files in admin themes, for
advanced users.
* Removed: Import panel - the blog import options were obsolete
(thanks Ruud van Melick).
* Removed: Commenter IP ban feature - this method of banning is unreliable and
becoming obsolete (thanks Ruud van Melick).
* Removed: Modernizr - unnecessary due to Internet Explorer 11 being the minimum
Internet Explorer browser requirement.
* Changed: The /textpattern/theme/ directory has been renamed to
/textpattern/admin-themes/ for stronger differentiation between this and the
public-side /themes/ directory planned for Textpattern 4.7. Additionally
prevents breakage of preferences panel caused by old, incompatible themes
residing in the previously titled admin theme directory during upgrade.
* Changed: <txp:article_custom /> accepts 'exclude' attribute to exclude
articles by a comma-separated id list.
* Changed: <txp:author /> accepts 'escape' and 'format' attributes.
* Changed: <txp:category_list /> accepts 'html_id', 'limit' and 'offset'
attributes.
* Changed: <txp:comments_form/>: Deprecated 'isize', 'msgcols', 'msgrows',
'msgstyle', 'previewlabel', 'submitlabel', 'rememberlabel', and 'forgetlabel'
attributes .
* Changed: <txp:comments/>, <txp:comments_form/>, <txp:comments_preview/> and
<txp:popup_comments/> can be used as container tags.
* Changed: <txp:comment_email_input /> accepts 'size' attribute.
* Changed: <txp:comment_message_input /> accepts 'cols' and 'rows' attributes.
Removed capability to apply an immediate style to the element.
* Changed: <txp:comment_name_input /> accepts 'size' attribute.
* Changed: <txp:comment_preview /> accepts 'label' attribute.
* Changed: <txp:comment_remember /> accepts 'rememberlabel' and 'forgetlabel'
attributes.
* Changed: <txp:comment_submit /> accepts 'label' attribute.
* Changed: <txp:comment_web_input /> accepts 'size' attribute.
* Changed: <txp:link /> accepts 'id' and 'name' attributes.
* Changed: <txp:meta_author /> accepts 'escape' and 'format' attributes.
* Changed: <txp:meta_keywords /> accepts 'escape', 'format' and 'separator'
attributes.
* Changed: <txp:password_protect /> can be used as a container tag.
* Changed: <txp:recent_articles /> accepts 'offset' attribute.
* Changed: <txp:section_list /> accepts 'html_id', 'limit' and 'offset'
attributes.
* Changed: Deprecated <txp:keywords /> tag. Use <txp:meta_keywords format="" />
instead.
* Changed: Deprecated <txp:rsd /> tag.
* Changed: Deprecated 'breakclass' attribute for <txp:comments /> and
<txp:image_info />.
* Changed: Removed Form (article) Preview facility.
* Changed: Removed empty 'About' section from new installs.
* Changed: Tag builder has been reworked as a dialog window.
* Changed: Increased 'page' and 'css' sizes in txp_section table.
* Changed: 'Prevent widowed words in article titles' preference defaults to 'No'
in new installs.
* Changed: 'Include email in Atom feeds' preference defaults to 'No' in new
installs.
* Changed: Detailed debug trace log.
* Changed: Default charset is now utf8mb4: supports a wider range of characters,
including emoji.
* Changed: Removed built-in Gzip compression of RSS feed and Atom feed.
* Developer: getNextPref() now returns array members 'next' and 'prev' with
article data, no longer returns array members 'next_id', 'next_title',
'next_utitle', 'next_posted', 'prev_id', 'prev_title', 'prev_utitle',
'prev_posted'
* Developer: getNeighbour() returns 'false' if no matching neighbour article
exists.
* Developer: Uses 'mysqli' extension for database access, lose dependency on
'mysql' extension.
* Developer: Uses the TXP 'now()' function instead of the SQL 'NOW()' function
to create cache-friendly, faster SELECT queries.
* Developer: Added jQuery UI library to admin side.
* Developer: Added Prism code highlighting for <code> and <pre><code> to admin
side. The following languages are supported (when specified via classnames on
the <code> tag, i.e. using 'class="language-xxx"): 'language-markup',
'language-css', 'language-clike', 'language-javascript', 'language-json',
'language-php', 'language-markdown', 'language-textile'. Optional line numbers
are also supported when code highlighting, by adding an additional classname
of 'line-numbers' to the parent <pre> tag.
* Developer: Added DocBlock documentation comments throughout the source code.
* Developer: Adherence to PSR coding standards where possible.
* Developer: Function signature for wrapRegion() changed: 7th parameter 'ARIA
role' dropped, as it shouldn't be stated for semantic tags such as 'section'.
* Developer: Refactored 'Validator', 'Constraint', and 'theme' classes into the
'Textpattern' namespace; deprecated their 'txplib_validator' and
'txplib_theme' implementations.
* Developer: Changed name of pref 'permalink_title_format' to 'permlink_format'.
* jQuery 1.12.4.
* jQuery UI 1.12.0.
Changes in 4.5.7
* Maintenance release with bug fixes.
* Textile v2.4.3 resolves PHP 5.5 compatibility issues.
* Updated default site theme and libraries.
* Setup now remembers settings. No more 'form resubmission' browser warnings
when going back through the wizard.
* Allow pre_publish_script in multi-site installations.
* Email address validation uses PHP's filter_var(), which permits addresses such
as @[127.0.0.1].
* Fixed: <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and
<txp:next_title> tags for certain combinations with <txp:article_custom>.
* Fixed: SQL statement escaping in set_pref().
* Fixed: Situations where set_pref() could corrupt the preference table if the
string name contained '%' or '_' characters.
* Fixed: Save comment emails of any valid length properly.
* Fixed: Visitor logs support IPv6.
* Fixed: Articles can be assigned to sections with names longer than 64
characters.
* Fixed: Setup script more robust, and compatible with MySQL 5.6.
* Fixed: Warnings when writing image thumbnails.
* Fixed: Files no longer trash author names, and empty files can no longer be
created.
* Fixed: Percent encoding of spaces in site URL.
* Security: IXR fixes to prevent XML quadratic blowup attack.
* Security: Prevent variable injection during setup and plugin preview step.
Changes in 4.5.6
* Skipped due to broken update path for SVN users.
Changes in 4.5.5
* Maintenance release with bug fixes, no security implications.
* Fixed: Compatibility issues with PHP 5.5 in <txp:yield> and setup routines.
* Fixed: Category table's parent-child associations break and the table malforms
on name updates, if two different category types share same category name.
* Fixed: Image caption isn't escaped.
* Fixed: Admin-side JavaScript dies on Safari 5 (or any browser that doesn't
allow re-defining keywords or constructs as variables).
* jQuery 1.8.3.
Changes in 4.5.4
* Corrects a packaging error in the 4.5.3 archives.
Changes in 4.5.3
* Maintenance release with bug fixes, no security implications.
* Fix <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and
<txp:next_title> tags for certain combinations with <txp:article_custom>.
* Escape new page name in the 'Pages' panel.
* Developer: Render valid HTML in fInput() for input types 'file' and 'image'.
* Developer: In http_accept_format(), discard MIME formats with a quality factor
below 0.1.
Changes in 4.5.2
* Maintenance release with bug fixes, no security implications.
* Fix <txp:link_to_prev>, <txp:link_to_next>, <txp:prev_title>, and
<txp:next_title> tags for setups with web server and database server in
different time zones.
* Avoid "undefined variable" error while bulk-editing form types.
* Developer: Use actual callback instead of hard-coded function to render
'View' link. Pass reference to partials meta data into partial callbacks as
$rs['partials_meta'].
* Developer: Escape '<script>' tags in script_js(). Use jQuery in dom_attach().
Changes in 4.5.1
* Maintenance release with bug fixes, no security implications.
* Default front-side template: Remove duplicate search input field.
* Textile: Use 'named groups' syntax '?P<group>' for b/c with older PCRE library
versions.
* Hive admin-side theme: Modernizr v2.6.2.
* Prevent fatal aborts from error-handling during version upgrades.
* Unregister all globals in multi-site setups.
* Prevent deletion of used stylesheets from UI.
* Offer all supported units in the tag builder for <txp:file_download_size />.
* Developer: New events 'authors_deleted', 'categories_deleted', 'css_deleted',
'discuss_deleted', 'file_deleted', 'forms_deleted', 'thumbnail_deleted',
'links_deleted', 'articles_deleted', 'page_deleted', 'sections_deleted'.
Changes in 4.5.0
* Minimum system requirement: PHP 5.2.
* Modern default site theme (responsive, HTML5, CSS3).
* Choice of HTML5 or XHTML document type as a preference.
* Textile 2.4.1. See full changelog at
https://textpattern.com/textile-changelog.
* User interface realignment and clean-up.
* Additional admin theme (Hive).
* Beautified setup process.
* Write, Plugin and Section panels save some changes without page refreshes
(Ajax).
* WordPress import tool imports image media attachments as article images, can
use 'utf8' or 'latin1' source databases.
* New advanced preference "Login info email address" allows to define a 'From:'
address from which a new user's login info is sent.
* Check for new Textpattern version moved from Preferences to Diagnostics panel.
* Removed raw PHP support in pages and articles.
* Plugin status is preserved across plugin updates.
* <txp:link_to_prev> and <txp:link_to_next> adhere to the sort order set by
<txp:article>.
* Deprecated 'escape' attribute for <txp:search_term />.
* Removed 'align' attribute for <txp:image />, <txp:thumbnail />,
<txp:article_image />.
* <txp:css /> accepts a comma-separated list of style-sheet names for the 'name'
attribute.
* <txp:txp_die />: New attribute 'url'. Specifies location target for HTTP stati
301, 302, 307.
* <txp:article_custom>, <txp:file_download_list> preserve sorting order from
'id' attribute.
* <txp:images /> preserves sorting order from article image ids.
* <txp:file_download> may be used as a container tag.
* <txp:comment_form />: New attributes 'previewlabel', 'submitlabel',
'rememberlabel', 'forgetlabel'.
* New <txp:author_email> tag.
* <txp:linklist /> accepts a comma-separated list of link ids in the new 'id'
attribute.
* <txp:images /> uses the sort order of images from the 'id' attribute if
present.
* Developer: Introduce gTxtScript() to help with the l10n of client-side
strings.
* Developer: Introduce txpspecialchars() as a recommended HTML5-safe alternative
to htmlspecialchars().
* Developer: New events 'article_saved', 'article_posted', 'comment.saved',
'article_ui'.'partials_meta', 'article_ui'.'validate_save',
'image_ui'.'fullsize_image', 'image_ui'.'thumbnail_image',
'admin_criteria'.'author_list', 'admin_criteria'.'author_list',
'admin_criteria'.'css_list', 'admin_criteria'.'discuss_list',
'admin_criteria'.'file_list', 'admin_criteria'.'form_list',
'admin_criteria'.'image_list', 'admin_criteria'.'link_list',
'admin_criteria'.'list_list', 'admin_criteria'.'log_list',
'admin_criteria'.'page_list', 'admin_criteria'.'section_list'
(NB: 'image_ui'.'image_edit' and 'image_ui'.'thumbnail_edit' changed).
* Developer: Introduce textpattern.Relay, a pub/sub hub for client-side events.
* Developer: Introduce txpAsyncForm (a jQuery plugin for asynchronous posts from
forms) and txpAsyncHref (a jQuery plugin for asynchronous posts from links)
* Developer: Introduce safe_escape(), Constraint() and Validator() classes plus
their descendents, callback_event_ref(), theme::announce_async()
* Developer: Restrict plugin type '3' to load only at non-Ajax requests.
Introduce plugin type '4' to be loaded on the admin side for both Ajax and
non-Ajax requests. Introduce plugin type '5' to be loaded on the public side
and on the admin side for both Ajax and non-Ajax requests.
* Developer: Run custom post-update code from
txpath.'/update/custom/post-update*.php' if this glob() exists.
* Developer: Include custom code like page-caches before the page is assembled
by setting $txpcfg['pre_publish_script'] to a valid filename.
* Developer: Modified plugin type '1': Load only on non-Ajax requests on the
admin-side.
* Developer: Additional plugin types '4' (admin-side, only for Ajax requests),
and '5' (public side; admin-side, only for Ajax requests).
* Security: Admin-side disallows framing, sends "X-Frame-Options: SAMEORIGIN"
header.
* Security: The 'txp_login' cookie is set with a 'HttpOnly' attribute.
* Security: Fixed a persistent XSS vulnerability in Textile discovered by Mauro
Gentile.
* Security: Fixed a XSS vulnerability in the setup process discovered by
Jonathan Claudius of Trustwave SpiderLabs.
* Security: Fixed a persistent XSS vulnerability in the access log panel
discovered by Sasha Zivojinovic.
* Bug and security fixes.
* jQuery 1.7.2.
Changes in 4.4.1
* Security: Add admin-side CSRF protection measures. Updates are highly
recommended. Thanks, Neal Poole.
* Upload of SWF images requires 'image.create.trusted' privilege (applies to
publisher, managing editor, copy editor, and designer roles).
* <txp:file_download_size /> improved from both i18n and l10n viewpoints.
* Developer: CSRF protection API in bouncer(), form_token() and tInput().
* Developer: CSRF token included in output from form(), aLink(), eLink(),
dLink(), and wLink() functions.
* phpass 0.4 / genuine.
* jQuery 1.6.1.
Changes in 4.4.0
* Security: Fix several vulnerabilities. Updates are *absolutely* recommended
for sites running any older version. Thanks, Neal Poole.
* Passwords are case-sensitive.
* Hotlink protection for files: Downloads from a web-accessible '/files'
directory are inhibited. The '/file_download/$id/example.foo' route is the
only valid way to access downloadable files. Requires an Apache web server and
usage of the sample .htaccess file.
* Empty <txp:variable></txp:variable> container sets a variable's value to "".
* WordPress import tool fixed for WP 3.x.
* Context bug in messy mode fixed.
* get_pref() now honours per-user prefs in all cases.
* Developer: txp_validate() accepts a '$log' parameter to discern between 'real
user login' vs. 'just validating credentials' usage.
* Developer: sendAsyncEvent() accepts parameter $format.
* Developer: Introducing escape_js() and send_script_response().
* Developer: Taghandler functions *must not* contain upper case letters.
* Developer: Taghandler functions *must not* be defined within a <txp:php>
element.
* Developer: phpass 0.3 / genuine for password portability, hashing, stretching,
and salting. Old-style passwords will be migrated upon a user's first login.
Persistent hash values in database are incompatible with previous versions.
* jQuery 1.5.1.
Changes in 4.3.0
* Security: Fixed two XSS vulnerabilities (thanks Jorge Hoya and High-Tech
Bridge). Updates are recommended.
* New Textpattern logo by courtesy of Philipp Schilling (belipe,
http://www.psgd.de). Happy retirement to The Carver!
* Feature: Optional alternate URL for static image resources. Defined in
constant 'ihu'.
* Feature: /category and /author lists for all content types, with conditionals
and pagination.
* Feature: Optional top-level 'Home' tab for dashboard plugins.
* Feature: File titles.
* Feature: Multiple categories/sections in feeds via
http://example.com/rss/?category=foo,bar§ion=baz,omg and
http://example.com/atom/?category=foo,bar§ion=baz,omg).
* New tags: <txp:images />, <txp:image_info />, <txp:image_url />,
<txp:image_date />, <txp:if_thumbnail />.
* New tags: <txp:link_author />, <txp:image_author />,
<txp:file_download_author />.
* Changed: Verbose semantic admin-side markup.
* Changed: Explicit 'Create new $thing' button for pages and styles.
* Changed: <txp:image /> and <txp:article_image /> accept 'width' and/or
'height' attribute.
* Changed: <txp:search_input /> accepts a 'match' attribute. Possible values:
'exact', 'any' or 'all' (default).
* Changed: <txp:css /> accepts a 'name' attribute. Attribute 'n' is deprecated.
* Changed: <txp:image_index /> accepts a 'category' attribute. Attribute 'c' is
deprecated.
* Changed: <txp:breadcrumb /> accepts a 'separator' attribute. Attribute 'sep'
is deprecated.
* Changed: <txp:if_plugin /> accepts a 'version' attribute. Attribute 'ver' is
deprecated.
* Changed: <txp:if_custom_field /> accepts a "value" attribute. Attribute "val"
is deprecated. Added attributes 'match' and 'separator'.
* Changed: <txp:feed_link />, <txp:link_feed_link />, <txp:popup />,
<txp:search_input /> accept a 'class' attribute.
* Changed: Use percent-encoding in URLs as a RFC-1738-compliant fallback for
languages lacking a suitable transliteration array.
* Changed: Silence E_STRICT warnings in "live" production mode.
* Removed: 'Friendly' CSS editor.
* Developer: pluggable_ui() in the images tab.
* Developer: Stylesheets are stored as plain text in the database - no more
base64-encoding.
* Developer: Textpacks, a method to install i18n strings from uploaded text
files and from plugins.
* Developer: article_format_info(), link_format_info(), and get_groups()
convenience functions.
* Developer: i18n strings are not loaded while Textpattern renders the
public-side style sheet.
* Textile 2.2 adds support for note lists, definition lists, thead, tbody,
tfoot, table summary, table caption, table colgroup, glyphs for fractions,
degrees and plusminus et cetera.
* jQuery 1.4.3.
* Incutio XML-RPC Library 1.7.4.
Changes in 4.2.0
* Feature: Extendable admin-side themes. 'Classic' and 'Remora' theme contained
in the core package.
* Feature: Capability for multi-site file system layouts (thanks: Sam Weiss).
* Feature: Role-based permission checks for images, links and files.
* Feature: Save various pane toggle states.
* Feature: Store author of links and files.
* Feature: Automatic adjustment for DST (requires PHP 5.2+, fall back to manual
adjustment for servers running older PHPs).
* Feature: Timezone selector in preferences (requires PHP 5.2+, GMT-based
selector as a fallback).
* Feature: Default event preference setting (thanks: Mary).
* Fixed: PHP 5.3 compatibility (thanks: Mary).
* Fixed: When a user is deleted, reassign her assets.
* Fixed: Tag builders for <txp:category /> and <txp:section />.
* Fixed: Bogus "Article tags cannot be used outside an article context" warning
in <txp:else />-branch of <txp:if_keywords>.
* Fixed: Removed superflous & encoding for article titles in
<txp:recent_comments />.
* Fixed: <txp:expires> uses "class" and "wraptag" attributes as intended.
* New tag: <txp:link_id /> (thanks: Rick Silletti).
* New tag: <txp:yield />.
* Changed: Article timestamp is left untouched for draft, pending, or hidden
articles published into the future.
* Changed: <txp:file_download_list /> tag accepts a comma-separated list of file
ids in a new "id" attribute (thanks: Rick Silletti).
* Developer: pluggable_ui() serves as a base for custom admin-side user
interface panels, see new '*_ui' events below.
* Developer: New events 'log_it', 'plugin_lifecycle', 'plugin_prefs', 'txp_die',
'article_ui', 'author_ui', 'category_ui', 'file_ui', 'image_ui', 'link_ui',
'prefs_ui', 'section_ui'.
* Developer: Per-user preferences.
* Developer: Increased maximum plugin code size to MEDIUMTEXT (16 MiB).
* Developer: Increased maximum preferences value size to TEXT (64 KiB).
* Developer: Core support for unlimited custom fields (thanks: Gerhard Lazu).
* Developer: Thumbnail dimensions are stored in the image table.
* Developer: Sending requests to the admin-side with URL parameter 'app_mode'
set to 'async' suppress any default admin-side output. Think Ajax.
* Developer: Cached plugins are loaded in natural sort order.
* Developer: Deprecated cleanfInput(), escape_output(), escape_tags(), getAtt(),
gAtt(), and input() functions. These will be removed in next release.
* Developer: Plugins can flag their interest in lifecycle events (install,
uninstall, activate, deactivate). @see
https://github.com/textpattern/textpattern-plugin-template.
* Developer: Optional capability to jump to a plugin's options from the plugin
tab. @see https://github.com/textpattern/textpattern-plugin-template.
* jQuery 1.3.2.
Changes in 4.1.0
* Version 4.1.0 was assigned to the experimental "crockery" branch and never
officially released.
Changes in 4.0.8
* Fixed: Current section/category is overwritten in <txp:section_list> and
<txp:category_list> (container or form mode).
* Fixed: Registration and notification mails are not sent in PHP safe mode.
* Fixed: Error message upon article save from MySQL 5 in 'strict' mode.
* Fixed: Timeout during "clean URL test" causes WSOD in diagnostics tab.
* Partly fixed: Search result excerpt breaks HTML entities.
* Changed tag: <txp:if_section> without a name attribute is now TRUE on a
section page (old behaviour is preserved on upgrades).
* Changed tag: <txp:if_category name=""> is now FALSE on a category page (old
behaviour is preserved on upgrades).
* Changed tag: <txp:link_url /> escapes its output.
* Changed tag: <txp:file_download_list /> uses 'wraptag', 'break', and 'label'
attributes consistently like other tags.
* Speed: faster plugin loading from the database.
* Diagnostics tab: ignore line endings when checking for modified files and show
full paths.
* Pages tab: allow 'default' page to be deleted if not used by a section.
* Developer: Fall back to standard page/permlink behaviour if custom_url_func()
returns FALSE.
* Developer: set_pref() accepts an optional "position" parameter.
Changes in 4.0.7
* Parser: full nesting support, allowing unlimited nesting of identical tags.
* Parser: attribute values are parsed when enclosed in single quotes.
* Parser: unquoted attribute values are deprecated and will result in warnings
when site status is not set to 'live'. Fix your templates and use double
quotes to delimit attribute values.
* Feature: Expiry time for articles, accompanied by related tags.
* Speed: various components of the parsing process have been optimized, which
compensates the impact of increased parser complexity, resulting in slightly
faster parsing speed.
* New tags: <txp:expires />, <txp:if_expired>, <txp:if_expires>.
* New tag: <txp:if_keywords>.
* New tags: <txp:if_first_section>, <txp:if_last_section>.
* New tags: <txp:if_first_category>, <txp:if_last_category>.
* New tag: <txp:if_variable>.
* New tag: <txp:modified />.
* New tag: <txp:rsd /> specifies the Really Simple Discovery endpoint for
XML-RPC clients.
* New tag: <txp:variable />.
* Changed tag: <txp:article /> can be used as a container tag.
* Changed tag: <txp:article /> allows new attributes 'wraptag' and 'break'.
* Changed tag: <txp:article_custom /> can be used as a container tag.
* Changed tag: <txp:article_custom /> allows new attributes 'wraptag' and
'break'.
* Changed tag: <txp:article_custom /> allows comma separated list for 'id'
attributes (this doesn't imply a sort order).
* Changed tag: <txp:category /> applies 'class' attribute to the <a> element
when wraptag is empty.
* Changed tag: <txp:category_list /> can be used as a container tag.
* Changed tag: <txp:category_list /> accepts a 'children' attribute which limits
the list depth to one level below the parent category when set to '0'.
* Changed tag: <txp:file_download_list /> can be used as a container tag.
* Changed tag: <txp:if_article_id /> defaults to the current article's id.
* Changed tag: <txp:linklist /> can be used as a container tag.
* Changed tag: <txp:recent_comments /> can be used as a container tag.
* Changed tag: <txp:recent_comments /> allows new attribute 'offset'.
* Changed tag: <txp:search_input /> allows new attribute 'html_id' to set the
form's id.
* Changed tag: <txp:section /> applies the 'class' attribute to the <a> element
when wraptag is empty.
* Changed tag: <txp:section_list /> can be used as a container tag.
* XML-RPC: server now included in main Textpattern package, disabled by default.
* Articles tab: added 'article image' and 'keywords' as search criteria.
* Categories tab: categories cannot be accidentally deleted if they are still
in use.
* Write tab: Concurrent article edit warning.
* Write tab: WYSIWYG preview for draft/pending/hidden articles.
* Images tab: added 'alternate text' and 'caption' as search criteria.
* Images tab: multi-edit functionality (delete, change category).
* Images tab: setting both thumb width and height to zero or empty values
disables auto-thumbnailing.
* Links tab: multi-edit functionality (change category).
* Files tab: multi-edit functionality (delete, change category).
* Users tab: multi-edit functionality (delete, reset password, change
privilege).
* Users tab: sortable and paginated author list.
* Users tab: 'last login' shown in author list.
* Plugins tab: User-selectable plugin load order.
* Plugins tab: sortable and multi-edit functionality (change order/status,
delete).
* More verbose "First Post" article with basic instructions and helpful links.
* Developer: getTree() receives an optional 'table' name, returned array
contains 'parent' field.
* Developer: New event 'pretext_set'.
* Developer: new plugin type '3' for admin-only plugins (0=public,
1=admin+public, 2=library).
* Developer: fInput now uses htmlspecialchars on the value parameter (previously
only escape_title).
* Developer: pagelinkurl() calls a custom URL handler if present. NB: The custom
URL handlers function signature is modified, as an additional flag discerns
pagelinks from permlinks.
* Developer: $prefs['searchable_article_fields'] may contain an array of column
names defining the fulltext-indexed set. A corresponding MySQL fulltext index
must be established previously.
* jQuery 1.2.6.
* Ability to connect to the MySQL server through SSL.
Changes in 4.0.6
* Security: add missing escape in SQL query (admin side).
* Security: safer use of txp_login cookie + nonce (note: users are logged out
after upgrading!).
* Security: fixed XSS vulnerability (thanks DSecRG) and input validation in
setup script.
* Security: fixed local file include vulnerability (publisher only) in
textpattern/index.php (thanks DSecRG and Victor).
* Security: fixed XSS vulnerability and parameter value overflow in comments
preview (thanks DSecRG).
* Security: escape request method as shown on logs tab (thanks Victor).
* Changed tag: <txp:thumbnail /> allows non-JS links to the full-size image.
* Changed tag: <txp:article_custom /> allows comma-separated lists for category,
section and author attributes (thanks Manfre).
* Changed tag: <txp:linklist /> allows comma-separated list for category
attribute.
* Changed tag: <txp:file_download_list /> allows comma-separated list for
category attribute.
* Changed tag: <txp:recent_articles /> allows comma-separated lists for category
and section attribute.
* Changed tag: <txp:related_articles /> allows comma-separated list for section
attribute.
* Changed tag: <txp:search_result_excerpt /> allows a custom "break" attribute
defaulting to an ellipsis.
* Deprecated tag: <txp:sitename /> replaced by <txp:site_name />.
* Deprecated tag: <txp:request_uri /> replaced by <txp:page_url />.
* Deprecated tag: <txp:s /> replaced by <txp:page_url type="s" />.
* Deprecated tag: <txp:c /> replaced by <txp:page_url type="c" />.
* Deprecated tag: <txp:q /> replaced by <txp:page_url type="q" />.
* Deprecated tag: <txp:id /> replaced by <txp:page_url type="id" />.
* Deprecated tag: <txp:pg /> replaced by <txp:page_url type="pg" />.
* Deprecated function: escape_output(), use htmlspecialchars() instead.
* Deprecated function: gAtt() (and getAtt()), use lAtts() instead.
* Deprecated variable: $txpcfg['txpath'], use constant 'txpath' instead.
* New tag: <txp:if_search_results> </txp:if_search_results>.
* New tag: <txp:search_term />.
* New languages: Croatian, Korean, Português (Brasil), Serbian (Latin +
Cyrillic), Turkish and Vietnamese (thanks: Filip Baraka, Alexsander Albert
Santana, Vladimir Siljkovic, Süleyman Şentürk, Quang Anh Do).
* Developer: using add_privs() for admin-side plugins is now required (used to
be optional for publisher-only plugins).
* Developer: dmp() prints debug output to a file in the temporary directory
according to preferences. Define 'txpdmpfile' for the file name.
* Developer: Added 'modified' and 'status' to global $thisarticle array.
* Developer: Added 'is_logged_in()' function to check on the public side if the
visitor is logged in on the admin side.
* Speed: less SQL queries (-2 for individual article pages, -1 for other pages).
* Speed: recent_comments tag (thanks Manfre) and admin side comments list only
uses 1 query.
* Added 'password reset' functionality (with confirmation email) on the login
screen.
* Update to jQuery 1.2.2 as a default JavaScript library.
* Fix textile list incompatibility with PHP 5.2.4 (and higher).
* Fix http-auth when using lighttpd or (mostly) apache+fcgi.
* Fix HTTPS protocol check for ISAPI with IIS.
* Fix use of article tags on a sticky article page.
* Pages, categories and styles cannot be accidentally deleted if they are used
on other tabs.
* Corrections in the tag builder.
* Refrain from showing sticky articles from non-frontpage sections in search
results.
* Enable separate search section for messy URL mode.
* Many, many minor improvements.
Changes in 4.0.5
* Fixed security issue on public-side (XSS) (thanks zarathu).
* Fixed path disclosure issue (thanks zarathu).
* Search for posted and last modified dates in article list.
* New tag: <txp:hide /> as a container for comments and other internal content.
* Changed tags: <txp:comments />, <txp:category_list />, <txp:section_list />
and <txp:image_index /> support 'sort' attribute.
* Distribute jQuery 1.1.2 as a default JavaScript library.
* Keep image properties on replacement.
* Add 'delete thumbnail' function.
* Support back end branding: customizable logo and colour bar.
* Table sort indicators.
* Textile improvements.
* Fix non-utf8 mails (iso 8859-1).
* Better wrapping in admin-interface to prevent horizontal scrollbar.
* Add comment status to comment notification mails.
* Fix "infinite" pagination in rare edge cases.
* Work around apache bug for file-downloads (in connection with mod_deflate).
* Fix error messages on wrong logins for older MySQL versions.
* Fix comment spam blacklist false positives (see FAQ for 4.0.4).
* Fix file_download-tag from showing the same URL for different downloads (see
FAQ for 4.0.4).
* Fix disappearing comment preferences in certain circumstances (see FAQ for
4.0.4).
* Fix 'active class' in section_list, category_list.
* Better cooperation with some proxies (and other HTTP/1.0 clients).
* Smarter comment submit button emphasizes preview step.
* Optionally hide spam comments in back end list.
* Truncate longish article category titles in the write screen.
* Handle thumbnailing of larger images.
* Better MoveableType import.
* Fix some more IIS issues.
* New callback event: 'textpattern_end'.
* New callback event: 'ping'.
* New tag: <txp:article_url_title />.
* Changed tag: <txp:permlink /> loses default title attribute.
* Changed tag: <txp:file_download_link /> returns filename as an additional URL
part.
* Many, many minor improvements.
Changes in 4.0.4
* RSS 2.0 support.
* RSS and Atom feed fixes and improvements.
* Many improvements to admin interface XHTML markup and CSS.
* Many subtle improvements to the admin UI.
* Add automatic detection of and working with SSL.
* add nowidow-attribute to article tags.
* Adapt navigation-elements to the user's permissions.
* Lots of Textile improvements.
* Fixed sending Last-Modified header.
* Better indexing for faster article list queries.
* Update to tag builders.
* Show (source of) plugin-help before installation.
* Improvements in translations (and translatables) (thanks Skubidu and others).
* New translations: Indonesian, Hebrew, Hungarian, Romanian.
* Improved handling of comma-separated values in tag attributes.
* article, article_custom tags: new 'sort' attribute.
* New conditional if_article_id.
* author, category, category1, category2 tags: can link to any section by name.
* Improved XHTML attributes on many tags (class, rel).
* time and date tags: new attributes for overriding language, GMT.
* css, feed_link tags: easier generation of XHTML 'link' tags.
* New link tags: link_category, link_date, link_name, link_url.
* Navigation tag improvements (new attributes, improved XHTML output).
* Warn if article or comment tags are used in the wrong context.
* Improved error checking, reporting and diagnostics.
* Stricter 404 checking (missing category, author, messy article ID).
* Simplify and improve comment preview and input form tags.
* Improved article load/parse logic on individual article pages.
* Workaround some rare FCGI problems with HTTP headers.
* Fix some IIS clean URL issues.
* Improved multi-edit support on admin pages.
* Deprecate old-style PHP tags.
* Don't lose your place in admin lists when returning from an edit.
* Extra diagnostic info and pre-flight tests.
* Better time zone handling.
* Remember and automatically reuse thumbnail size settings.
* Textile: fix inline class/style/lang.
* Warn when article and comment tags are used in the wrong place.
* New 'if_plugin' conditional checks for an active plugin, with optional version
number.
* Fix an occasional time zone bug.
* Fix 404 errors on clean category URLs.
* Add backtrace list to error messages in Debug mode.
* Add limit attribute to search_result_excerpt tag.
* Add escape and default attributes to custom_field tag.
* Fix image-upload for outdated gdlib-installations (wet).
* Fix label attribute breadcrumb function (richard).
* Add if_author, if_article_author (with attribute 'name') (mary).
* Allow multiple sections for if_article_section (like for if_section,
if_category) (mary).
* Display link category's title, rather than name, in the links page (mary).
* Extend article_image tag to optionally display the article image thumbnail
(mary).
* Many minor bugfixes.
Changes in 4.0.3
* Fixed 2 potential security holes(detected in internal code review). Update is
recommended.