/
CHANGES
2858 lines (2548 loc) · 124 KB
/
CHANGES
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
------
v4.0.5
------
[jan] Update Dutch translation (Arjen de Korte <build+horde@de-korte.org>,
Pieterjan Heyse <pieterjan.heyse@scheppers-wetteren.be>).
[jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>).
Horde Changes
-------------
[jan] Make the lifetime of cached weather information configurable (Arjen de
Korte, Request #10848).
[mjr] Improve layout of weather block.
Calendar Changes
----------------
[jan] Hide disabled calendar sections (Bug #9815).
[gwr] Fixed recurrence handling with the Kolab backend.
[gwr] Fixed naming of the default calendar for the Kolab backend.
[gwr] Fixed deleting events with the Kolab backend.
[gwr] Fixed migrations for SQLite as database backend.
[mjr] Fix keyboard navigation of time entry fields in dynamic view (Bug
#10799).
[mjr] Fix parsing display_cal variables for internal calendar links on various
blocks and embedded imples (Bug #10767).
[mjr] Fix adding events directly to a resource's calendar (Bug #10827).
[mjr] Fix regression introduced in 3.0.12 that broke checking a Resource's
availability in certain cases (Bug #10806).
[jan] Don't fail on empty CalDAV calendars (christof@buergi.lugs.ch, Bug
#10739).
[jan] Check permissions when building application drop down
(sberthelot@emisfr.com, Bug #10811).
[gwr] Fix saving Kolab events.
Tasks Changes
-------------
[jan] Fix setting custom alarm methods (Bug #9543).
Notes Changes
-------------
[jan] Use locale based sorting.
[jan] Fix remembering the expansion state of the notepads panel (Bug #10797).
Library Changes
---------------
ActiveSync
[mjr] Increase field length for sync_data to support syncing large collections
(Bug #10822).
[jan] Fix tests to work with PHPUnit 3.6.
Alarm
[jan] Catch exceptions from Horde_Mime when sending alarm messages (Bug #10388).
Auth
[jan] Add Latvian translation (Jānis Eisaks <jancs@dv.lv>).
Core
[mjr] Allow separate ActiveSync logs per device.
[jan] Make the lifetime of cached weather information configurable (Arjen de
Korte, Request #10848).
[gwr] Fixed hiding menu entries that should not be displayed to admin.
[gwr] Fixed Kolab anonymous bind.
Crypt
[mms] Provide signature information when decrypting a message, rather than just
a boolean result.
[mms] Fix displaying PGP key expiration information.
[mms] Allow expiration date to be given to Horde_Crypt_Pgp#generateKey()
(Request #5754).
Data
[mjr] Allow applications to extend Horde_Data_Base objects.
Date
[mjr] Fix issue with creating Horde_Date from DateTime object with explicit
timezone set.
[gwr] Fix the parsing of recurrence hash data.
Date_Parser
[jan] Correctly parse "nacht" in German (Bug #10511).
Db
[gwr] Alternative API to support modified dates with SQLite as well.
[mjr] Add support for mediumtext and longtext field types.
Imap_Client
[mms] Work around broken headers in IMAP envelope data.
[mms] Remove Cclient drivers.
Mime
[mms] Allow Horde_Mime_Part::getRawPartText() to accept stream input.
[mms] Workaround incoming message data to Horde_Mime_Part::getRawPartText()
that contains varying EOL characters (Bug #10809).
[mms] Fix detection of MIME boundaries at beginning of string (Bug #10809).
[mms] Abstract charset detection code out into
Horde_Mime_Headers::sanityCheck().
[mms] Improved detection of charsets in broken (8-bit) MIME headers.
[mms] Fix for broken 8BITMIME/BINARYMIME SMTP capability detection
(christof@buergi.lugs.ch, Bug #10820).
Prefs
[jan] Catch exceptions from storage writing during shutdown.
[jan] Use binary column type for preference values (Bug #10803).
Service_Weather
[mjr] Use longer cache lifetime for non-changing values (Request #10851).
[mjr] Export available detailed forecast fields for each driver (Bug #10813).
[mjr] Fix returning correct units when requesting the same location twice, but
with different units (Bug #10804).
[mjr] Fix returning localized text from Wwo driver (Bug #10804).
[mjr] Fix obtaining forecast periods individually..
[mjr] Fix obtaining certain properties from Google driver.
[mjr] Fix making requests when not using a cache.
[mjr] Fix path to locale directory.
[mjr] Fix setting units (Bug #10792).
Text_Filter
[mms] Fix unnecessary use of POSIX collating element in Linkurls filter
(jr@yaina.de, Bug #10828).
Token
[jan] Fix translation (Bug #10831).
Util
[mms] Add Horde_String::validUtf8().
------
v4.0.4
------
[mjr] Add support for Horde_Service_Weather.
[mjr] Remove support for the now non-existent weatherdotcom API.
[jan] Update Croatian translation (Valentin Vidic <Valentin.Vidic@CARNet.hr>).
[jan] Update Latvian translation (Jānis Eisaks <jancs@dv.lv>).
[jan] Update Estonian translation (Alar Sing <alar.sing@err.ee>).
[mjr] Fix removeUserData implementations.
[gwr] Avoid including the owner name into the default shares (Kolab backends).
Horde Changes
-------------
[jan] Add configuration option to disable password resets (Request #10640).
[cjh] Add Hordevetica theme.
[mjr] Fix issue with ajax uploader and file sizes over 1mb (Bug #10641).
[mjr] Do not show results in the tag cloud block owned by other users.
[mjr] Update javascript map library.
[mms] Allow in-page base64 image encoding to be disabled via configuration.
[jan] Add administration page to list and clear locks.
Address Book Changes
--------------------
[mjr] Add the ability to specify the fields to return from contacts/search.
[jan] Fix importing contacts with composite fields.
[jan] Fix LDAP connection test (Bug #10554).
Calendar Changes
----------------
[jan] Show status of events in agenda messages (Request #10517).
[mjr] Fix selecting custom time from time selection drop down (Bug #10737).
[jan] Always use fresh Horde_Http_Client instances for remote calendars (Bug
#10740).
[jan] Add confirmation screen when deleting events in dynamic view (Request
#10725).
[jan] Fix holidays disappearing from month view if deleting another event.
[jan] Fix resetting attendee response status when saving events in dynamic
view (Bug #10620).
[jan] Support CalDAV servers that don't use DAV: as the default namespace
(christof@buergi.lugs.ch, Bug #10716).
[jan] Allow to view and create copies of holiday events (Bug #10650).
[jan] Don't show import/export tabs in dynamic view if disabled (Bug #10705).
[jan] Don't show option to share with everyone in basic permissions if disabled
(piper@hrz.uni-marburg.de, Bug #10706).
[mjr] Only set ORGANIZER field if the event is a group meeting (Bug #10697).
[mjr] Fix alarms for recurring events (Bug #10678).
[mjr] Allow filtering listTagInfo results by user.
[jan] Fix uncompleting tasks in dynamic view (Carlos Timóteo, Bug #10653).
[cjh/jan] Improve design.
[mjr] Fix displaying resources when no attendees are present (Bug #10507).
Tasks Changes
-------------
[jan] Don't display task details of private tasks via the API (Bug #10712).
[jan] Use correct locale when parsing quick tasks (thpo+horde@dotrc.de, Bug
#10720).
[cjh] Nicer date/time input with fewer input fields and helper javascript.
[mjr] Add ability to choose which tasklists to synchronize.
[mjr] Fix task export to ActiveSync for tasks with no due dates or reminders.
[jan] Add missing parameters when PUTing tasks (Bug #10545).
[gwr] Fix Kolab object attribute handling for tasks.
Library Changes
---------------
[jan] Fix tests to work with PHPUnit 3.6.
[jan] Make unit tests Windows compatible.
[jan] Skip Kolab tests if Horde_Kolab_Storage is not installed.
[jan] Allow to run unit tests from installed package.
ActiveSync
[mjr] Fix issue with timezones caused by buggy PHP timezone data (Bug #10760).
[mjr] Fix duplicate entries being sent to client when client does not issue
GETCHANGES request (Bug #10731).
[mjr] Prevent duplicate incoming message additions (Bug #10644).
Auth
[jan] Catch exceptions from imap library (Bug #10272).
[jan] Fix detecting locale directory from PEAR installation (Bug #10589).
[jan] Add missing locale directory (Bug #10589).
[jan] Add checkPasswordPolicy() and checkPasswordSimilarity() methods.
Browser
[jan] Fix empty_file_input_value quirk for Chrome browsers (Bug #8438).
Cli
[jan] Don't overwrite $_SERVER superglobals unconditionally, to allow setting
them through environment variables (Bug #10758).
Core
[mjr] Add Horde_Service_Weather factory.
[mms] Fix importing CSS data in cache files.
[mms] Detect @import tags in CSS and add to compressed data.
[mjr] Add ability to remove temporary files at session shutdown.
[jan] Fix resetting authentication credentials (Bug #10228).
[jan] Correctly render keyval_multienum form field contents.
[jan] Don't use Xcache in CLI scripts (Bug #10288).
[jan] Fix PostgreSQL DSN when using SQL authentication (Bug #10538).
[mjr] Add factory for Horde_Service_UrlShortener.
[mms] Fix minChars behavior in autocomplete javascript code.
[mms] Allow in-page base64 image encoding to be disabled via Horde
configuration.
[jan] Allow both application and interface names in <configspecial>.
Crypt
[mms] Upgrade signed S/MIME output to comply with S/MIME version 3.2.
DataTree
[jan] Add missing dependency on PEAR's DB package.
Date
[mjr] Fix timezone bug that could cause an incorrect timezone from being set
when creating Horde_Date objects from other Horde_Date or DateTime
objects.
[mjr] Fix timezone bug that caused some date strings to be parsed as an
incorrect timezone.
Db
[mms] Greatly reduce memory usage when working with binary data in PostgreSQL
9.0+ (Bug #10774).
[mms] Cache postgresql version.
[jan] Improve API documentation.
[jan] More flexible conversion of charset names to native MySQL names.
[jan] Correctly escape binding characters in buildClause() (Bug #10610).
[jan] Fix transactions with MySQLi driver (Bug #10578).
[jan] Fix DISTINCT clause generation on PostgreSQL (Bug #10543).
[mms] Fix escaping binary data on Postgresql 9.1+ servers (Bug #10602).
Http
[gwr] Support multiple mock responses with the mock request.
[gwr] Fixed setting response headers for the mock response.
[gwr] Added SOCKS proxy support where available.
Icalendar
[jan] Fix generating VTIMEZONE components.
Image
[mjr] Add a version of the convert command for center cropping with ImageMagick
versions less than 6.3.8 (Bug #10687).
[mjr] Fix parsing GPS values for locales that do not use the decimal separator
(Bug #10643).
[mjr] Added support for Lens and LensID EXIF fields)
[mjr] Ensure string values are parsed as strings (Bug #10646).
[mjr] Add basic unit tests for EXIF data
Imap_Client
[mms] Workaround missing search charset support in the Socket driver (Bug
#10726).
[mms] Only add CHARSET data to SEARCH queries if necessary (Bug #10726).
[mms] Fix deletion of cached message entries.
[mms] Fixed setting data for several POP3 fetch results.
[mms] Parsing/generating sequence strings for POP3 servers has been fixed.
[mms] Removed unmaintained Mock driver.
[mms] API CHANGE: Added Horde_Imap_Client_Mailbox to provide way to accurately
switch between UTF7-IMAP and UTF-8 mailbox representations.
[mms] API CHANGE: Deprecate Horde_Imap_Client_Base::parseCommandArray() - use
Horde_Imap_Client_Utils::parseCommandArray() instead.
[mms] API CHANGE: Added a required parameter ('baseob') to
Horde_Imap_Client_Cache constructor.
[mms] API CHANGE: Added Horde_Imap_Client_Base::writeDebug().
[mms] API CHANGE: Added Horde_Imap_Client_Base::getIdsOb().
[mms] API CHANGE: Deprecate Horde_Imap_Client_Cache::singleton().
[mms] Fix client-side Cc/From/To sorting (Bug #10503).
[mms] Improved IMAP debug logging.
[mms] Fix search charset determination for servers that support SORT &
ESORT (Bug #10479).
[mms] Improved phpdoc documentation.
[mms] API CHANGE: Add shortcuts to get MIME decoded envelope information.
[mms] Automatically authenticate to server when using a command that requires
an authenticated/selected state (Bug #10473).
Itip
[jan] Make unit tests locale independent.
Kolab_Format
[gwr] Move Horde specific functionality out of the events parser.
[gwr] Move Horde specific functionality out of the contacts parser.
[gwr] Improve data validation.
[gwr] KEP2 support.
[gwr] Allow adding XML attributes on the fly.
[gwr] Avoid overwriting data from other Kolab clients.
[gwr] Add improved root node handler (version checking, avoids overwriting
other data).
Kolab_Storage
[gwr] Readd support for updating Horde_History.
[gwr] Fix support for multiple namespaces of the same type.
[jan] Update Latvian translation.
[gwr] Add support for retrieving objects by backend id.
[gwr] Add a handler for active sync settings.
[gwr] Add preference data query.
[gwr] Add support for storing data query results in the cache.
[gwr] Add support for deleting messages by backend UID.
[jan] Update Spanish translation.
[gwr] Add logging for data handlers.
Ldap
[jan] Add missing test autoloader.
Lock
[jan] Expand width of lock_owner column (Bug #10608).
Log
[gwr] Fix installation paths (Bug #10588)
LoginTasks
[mms] Fix advancing tasks pointer if system tasks also exist for an application
(Bug #9767).
[mms] Prevent unnecessary URL redirection if no logintasks need to be confirmed.
Mail
[mms] Always use canonical line endings in sendmail driver (Bug #10696).
Mime
[mms] Work around broken number_format() in PHP < 5.4.0.
[jan] Make unit tests locale independent.
[mms] Added 'canonical' parameter to Horde_Mime_Headers#toArray() and
Horde_Mime_Headers#toString() (Bug #10696).
[mms] Horde_Mime_Part::getRawPartText() was incorrectly returning a trailing
EOL for body data.
[jan] Add Horde_Mime_Mail#clearParts().
Mime_Viewer
[mms] Fix iteration through child HTML nodes in the HTML viewer so that
extended viewers can do things like remove nodes outright.
[jan] Fix configuration of syntaxhighlighter viewer.
Nls
[jan] Update German translation.
[jan] Update Brazilian Portuguese translation.
[mms] Added ISO 639 language code lookup.
Pdf
[gwr] Add missing font files.
Perms
[jan] Don't allow to create sub permissions of non-existant parent permissions
(Bug #10688).
Rdo
[jan] Add Horde_Rdo_Query#distinct() (Request #10535).
Routes
[jan] Make Horde_Routes_Utils::controllerScan() Windows compatible.
[gwr] Only remove the "_controller" suffix if it exists.
Service_Twitter
[gwr] Fixed posting tweets.
[mjr] Fix generating OAuth request when multiple URL parameters are passed.
[mjr] Fix oauth endpoints to reflect Twitter's new requirements for https
requests.
Service_Weather
[mjr] Initial release.
SessionHandler
[jan] Use portable queries in SQL session handler (Bug #10574).
Stream_Filter
[mms] Add Bin2hex filter.
SyncMl
[jan] Fix encoding of CDATA (horde@chk.cksf.de, Bug #10692).
Test
[jan] Require PHPUnit 3.5 due to BC breaking changes in 3.6.
[gwr] Added Horde_Test_Stub_Factory as a simple factory stub.
[gwr] Add Horde_Test_Setup for complex test suite setups.
Text_Diff
[jan] Fix class names in Horde_Text_Diff_ThreeWay merger (Bug #10548).
Text_Filter
[mms] Add some more questionable tags/attributes to strip in the XSS filter.
Token
[jan] Fix skipping tests if PDO driver is not available.
Util
[jan] Speed up Horde_String::substr() (Evert Pot, Request #8627).
Vfs
[gwr] Make unit tests timezone independent.
[jan] Fix reading file sizes from Samba backends.
[jan] Catch output from smbclient during error conditions (Bug #10638).
[jan] Implement size() method in Samba driver.
[jan] Fix setting permissions with File driver (Bug #10630).
[mms] Fix using File driver if vfsroot directory already exists (Bug #10584).
[mms] Fix internal reference to QUOTA_METRIC_* constants (Bug #10585).
[jan] Fix parsing of directory listings on /dev file systems in the SSH driver.
Xml_Wbxml
[jan] Complete fix for incorrect syncml:metinf and syncml:devinf URNs (Bug
#10229).
------
v4.0.3
------
[jan] Fix German title of tasks portal block (Bug #10486).
Horde Changes
-------------
[rla] Add account locking similar to the former kolab-specific option.
[jan] Add missing configuration for LDAP groups write support.
[rla] Show a warning when resetting password and no security question is set
(Request #10430).
[mjr] Update jQuery Mobile to version 1.0 Beta 2.
[jan] Update hordeweb theme to match new website layout.
Address Book Changes
--------------------
[rla] Turba LDAP Driver now only rewrites changed attributes (Bug #9343).
[mjr] Run attribute values through decode_attribute hook when exporting.
[mjr] Ensure encode_attribute hook is called on imported objects
[mjr] Improve handling of removeUserData.
[mjr] Honor auto_create configuration setting (Bug #10452,
qoole.horde@lillimoth.com)
[jan] Don't allow to search binary fields.
[jan] Fix attribute name for assistant phone (Bug #10449).
[jan] Add missing migration script (Bug #10436).
[mjr] Fix issue with synchronizing deleted contacts (Bug #10422).
[jan] Fix searching for duplicates on some databases (Bug #10383).
[mjr] Add and support more attributes by default.
Calendar Changes
----------------
[jan] Fix opening events from agenda view.
[mjr] Always included the current default calendar in the sync_calendars
preference.
[mjr] Ensure exception gets start and end times when created from month view
(Bug #10496)
[jan] Update group permission when changing group down list in basic
permissions (Bug #10482).
[jan] Fix race condition when editing group permission in basic permission
screen (Bug #10482).
[mjr] Fix removeUserData API (Bug #10241).
[jan] Fix deleting events with a WebDAV client (Bug #10478).
[jan] Fix fatal error while searching if hitting certain recurring events.
[jan] Fix exporting events with snoozed alarms (Bug #10438).
[jan] Fix deleting resources (Bug #10427)
[jan] Support snoozing alarms with Sundbird/Lightning (Request #7470).
[jan] Import VALARM components from iCalendar 2.0 data (Request #6665).
[jan] Fix exporting all-day events to Funambol clients (Thomas Ilsche
<git@zulan.net>, Bug #10349).
[jan] Fix creating events from dynamic view on Windows (Bug #9916).
[mjr] Fix displaying of freebusy data in dynamic view (adominguez@cne.gob.ve,
Bug #10347).
[mjr] Fix updating attendees (Bug #10411).
[jan] Fix error if Nag is not installed (Bug #10406).
Tagging Changes
---------------
[mjr] Fix broken tag cloud queries due to missing GROUP BY fields (Bug #10419)
[mjr] Prevent tagging with empty strings.
[mjr] Enforce that object and type names are always taken as a string (Bug
#10171).
[mjr] Updated unit tests to new test structure.
[mjr] Prevent tagging with empty tags.
Library Changes
---------------
ActiveSync
[mjr] Fix syncing daily recurrence types.
[mjr] Support additional GAL fields (Bug #10504).
[mjr] Prevent broken clients from sending incoming changes with initial SYNC
request (Bug #10461).
[mjr] Fix sending MONTHLY_NTH and YEARLY_NTH recurrence types (Bug# 10416).
[mjr] Fix synchronization loop due to messages being deleted on server then
attempting a change from the client.
[mjr] Fix bug with certain recurrence types due to erroneously outputting a
zero as an empty tag (Bug# 10416).
[mjr] Support POOMCONTACTS2 schema in AS 2.5 clients also.
[mjr] Fix sending unnecessary FOLDERSYNC changes.
[mjr] Fix issue with FOLDERSYNC requests that was causing Android clients to
PING and SYNC the same collection an unlimited number of times.
Auth
[jan] Dynamically disable capabilities of Customsql authentication driver if
queries are empty (Michael Gröne, Request #10510).
[jan] Fix updating users in LDAP while using preauthenticate hooks.
[jan] Add support for resetting passwords to LDAP driver.
[rla] Add bad login blocking and account locking to the base driver.
[rla] Fix SQL driver when using soft_expiration and hard_expiration features.
[rla] No longer enforce lowercase fieldnames.
Compress
[mms] Detect broken RAR data so it does not cause an infinite loop.
Core
[jan] Fix generating of URLs if both the webroot and the original URL are full
URLs.
[mjr] Support additional GAL fields (Bug #10504).
[jan] Allow to pass a configuration array to the LDAP factory.
[mms] Revamp and fix Horde_Registry#removeUserData(); this method should now be
the sole access point to delete user data for any/all apps (Bug #10241).
[mms] Correctly apply value of $conf['session']['timeout'] to PHP environment.
[mms] Fix cookie timeouts.
[rla] Add locking routines to Horde_Core_Auth_Application.
[rla] Add support for Horde_Auth's new locking feature.
[rla] Display permissions of hidden apps too
[gwr] Do not fail when no basedn is set for the Horde_Kolab_Server
configuration.
[mms] When reopening sessions, ensure that we don't alter session information
if the authentication status changed (Bug #10403).
[jan] Use 'ident' option of Horde_Log handlers to prefix log messages (Gonçalo
Queirós <goncalo.queiros@portugalmail.net>, Request #9322).
[jan] Check applications' authValidate() method if present.
[mms] Add Horde_Session::isActive().
[mjr] Add remove button to image fields (Request #9870).
Crypt
[mms] Encrypted data is already base64 encoded (Bug #10285).
Date
[jan] Fix exporting recurrence end date to iCalendar.
Db
[jan] Add methods to add and drop primary keys (Request #10469).
[gwr] Fix usage of Horde_Exception_Wrapped.
[jan] Fix setting unix socket in PostgreSQL DSN (bug-reports@flipjam.co.uk, Bug
#10466).
[jan] Fix determination of last insert id on PostgreSQL up to 8.1.
[jan] Fix migrations from primary keys that have not been created with Horde_Db
in PostgreSQL.
[jan] Fix autoincrementKey sequences not incrementing after manually inserting
key values in PostgreSQL.
[jan] Fix changeColumn() migration to autoincrementKey if no primary key exists
yet.
Exception
[gwr] Ensure correct message and code type.
[jan] Don't include backtrace in Horde_Exception_Pear messages.
Form
[mjr] Add remove button to image fields (Request #9870).
Group
[jan] Fix bind for modifying existing LDAP groups.
Icalendar
[mjr] Fix version access (Bug #10425).
[jan] Avoid infinite loop when importing certain vCalendar 1.0/vCard 2.1 data.
[mjr] Fix fetching the version from an Icalendar object (Bug #10411).
Imap_Client
[mms] Remove dependency on Auth_SASL.
[mms] Add support for CRAM-SHA1 and CRAM-SHA256 authentication (available in
Courier SASL library).
[mms] Remove dependency on Auth_SASL for CRAM-MD5 authentication.
[mms] Ignore unknown authentication methods; otherwise, they give false
positive when authenticating (Bug #10453).
[mms] Fix rare race condition that may cause FETCH requests in the IMAP Socket
driver to return empty results (Bug #10434).
[mms] Fix typo that prevented deletion of messages on POP3 servers (Bug #10424).
[mms] Fix regression in POP3 Socket driver that caused incorrect parsing of
server data (Bug #10417).
[mms] Fix OR search if first search element contains more than one search
criteria (Bug #10404).
[mms] Fix invalid IMAP command being sent if a changedsince search was empty.
Imsp
[jan] Fix file names for plaintext and imtest authentication drivers.
Kolab_Format
[gwr] Removed stray kolab-format script which was moved to Horde_Kolab_Cli.
[gwr] Fixed detecting parse errors in subsequent parse attempts.
Kolab_Server
[gwr] Fix reading the user name.
Kolab_Session
[gwr] Added a backend that avoids querying LDAP.
Ldap
[jan] Speed up Horde_Ldap_Search#shiftEntry() on large result sets.
Log
[jan] Add 'ident' option to all handlers (Gonçalo Queirós
<goncalo.queiros@portugalmail.net>, Request #9322).
Mail
[mms] Fix parseAddressList() for empty address strings (Bug #10534).
[mms] Fix SMTP error codes/messages (Bug #10498).
Memcache
[mms] Silence undefined errors when a search key is not found on the server.
Mime
[mms] Provide method to return approximate size of parts if it contains base64
encoded data (Request #9783).
[mms] Support Content-Duration MIME header (RFC 3803).
[mms] MIME body part can not have disposition of 'attachment' (Bug #10458).
[mms] Fix quoted-printable encoding for message parts contained in a multipart
that do not share the same EOLs as the parent part (Bug #10324).
Pdf
[jan] Fix setting Courier fonts with font style (PEAR Bug #18550).
Perms
[gwr] Accept either d or t IMAP ACL as deletion right.
Prefs
[mms] Fix identities when default_identity is locked (Bug #10098).
Routes
[mjr] Added Horde_Routes_Matcher helper class.
Service_Facebook
[mjr] Use FQL to obtain event list and add rsvp_status
SessionHandler
[mms] Call garbage collection before grabbing list of active sessions.
[mms] Fix obtaining session information from more than one session.
Share
[gwr] Fix usage of Horde_Exception_Wrapped.
[gwr] Fixed support for share parents in the Kolab driver.
[gwr] Fixed support for multiple namespaces of the same type in the Kolab
driver.
SyncMl
[jan] Fix logging errors while retrieving server changes.
Vfs
[jan] Fix renaming and catching errors while reading sizes in SQL driver.
[jan] Fix reading file contents from FTP.
Xml_Wbxml
[jan] Fix incorrect syncml:metinf and syncml:devinf URNs (Bug #10229).
[jan] Mark Xml_Wbxml:: methods as static.
------
v4.0.2
------
[jan] Don't load all shares with requested permissions from the backend if
$conf['share']['hidden'] is enabled.
Horde Changes
-------------
[mjr] Add remove button to image fields (Request #9870).
[mjr] Fix sending unnecessary FOLDERSYNC changes.
[mjr] Fix issue with FOLDERSYNC requests that was causing Android clients to
PING and SYNC the same collection an unlimited number of times.
[mjr] Use FQL to obtain event list and add rsvp_status.
[cjh] Add mobile maintenance screens.
[jan] Fix exporting multiline attributes to vCard 2.1 and vCalendar 1.0.
[cjh] New log filter for exact level matching (Bryan Alves
<bryanalves@gmail.com>).
[jan] Don't set optional integer fields to 0 when automatically updating
configuration.
[mjr] ActiveSync policykey is now per user, not per device.
[mjr] Fix recurring event exception handling for ActiveSync.
[mjr] Use AS in column aliases to make PostgreSQL happy (Bug #10346).
[jan] Don't show mobile login page if users are forced to traditional or
dynamic views (Request #10358).
[mjr] Improve calendar PING for iOS devices.
[mjr] Prevent an ActiveSync sync loop in some fringe cases.
[jan] Update PGP key server list and add SKS pool.
Address Book Changes
--------------------
[mjr] Fix obtaining default share via Turba's API (vilius@lnk.lt, Bug #10393).
[mjr] Force ActiveSync device reset after sync_books pref is changed
(Request #10342).
Calendar Changes
----------------
[jan] Display event time in dynamic agenda/search view.
[jan] Improve exporting all-day events to Funambol clients.
[mjr] Fix removing an exception from a recurrence series (Bug # 10365).
[jan] Close session while listing events to speed up parallel loading from
different calendars.
[jan] Share list of displayed task lists with Nag (requires Nag 3.0.3).
[jan] Don't show import/export link in preferences if using the dynamic view.
[mjr] Force ActiveSync device reset after sync_calendars pref is changed
(Request #10342).
[jan] Try to work with remote servers even if they don't support a recent
WebDAV protocol version.
[jan] Support updating attendees from vCalendar 1.0 iTip responses.
[jan] Fix sending invitations to attendees from traditional view.
[jan] Fix organizer attribute when exporting to vCalendar 1.0.
[mjr] Fix issue that prevented synching when no sync_calendar pref was set
(Bug #10329).
------
v4.0.1
------
Horde Changes
-------------
[mjr] Fix returning shares in the proper order when fetching multiple shares
by id.
[mjr] Fix incorrect method name in Pop3 Socket driver.
[jan] Don't use CSS cache in mobile interfaces because it breaks jQuery Mobile
CSS.
[mjr] Fix race conditions caused by broken clients sending an inappropriate
PING request.
[jan] Fix duplication of objects during synchronization (joniw@t-online.de, Bug
#10081).
[Jan] Don't allow to click disabled login button (Bug #10267).
[jan] Allow configuration of split read databases for PostgreSQL (Request
#7025).
[mjr] Honor initial_application setting for mobile view (Bug #10264).
[mjr] Fix issue with initial Android ActiveSync pairing.
[gwr] Support restricting the HTML tidy post processing by the message size
(Request #10266).
[gwr] Disabled the timeout on the logout token.
[mjr] Fix integer overflow issue in Facebook code (Bug #9889).
[mms] Fix adding users with Cyrsql driver (vilius@lnk.lt, Bug #10239).
Address Book Changes
--------------------
[jan] Pass contact object to decode_attribute hook (kd@tu-cottbus.de, Bug
#10287).
[jan] Complete fix for importing LDIF files (Bug #10139).
Calendar Changes
----------------
[jan] Update task due date in interface after dragging a task (Bug #10001).
[jan] Correctly sort events in portal block or widget if only displaying a
single calendar (Bug #10099).
[mjr] Allow syncing of multiple owner-owned calendars (Request #8734).
[jan] Don't show calendar drop down in event form without delete permissions
(Bug #10201).
[jan] Don't change event creator when saving events.
[jan] Fetch events immediately after saving remote calendar.
Tasks Changes
-------------
[jan] Add Ukrainian translation (Andriy Kopystyansky <anri@polynet.lviv.ua>).
----
v4.0
----
Horde Changes
-------------
[jan] Fix extracting of translation strings in a release.
[rla] Add user-specific admin permissions (Request #9350).
[jan] Don't strip domain from user name in account block.
[jan] Fix account block with empty configuration parameters.
[gwr] Added a script for exporting/importing preferences from/to a backend.
[mms] Fix regression with UTF7-IMAP encoding of non-ascii folder names (Bug
#10093).
[mms] Allow numbers to be zero in certain preferences (Bug #10120).
[mms] Fix running Horde login tasks (Bug #9767).
[mms] Fix authenticating as several users in the same request (Bug #10027).
[mms] Fix colorpicker on categories preferences screen (Bug #10118).
[jan] Update Spanish translation.
[jan] Update Slovak translation.
[mjr] Fix Metar portal block.
[gwr] Add support for the Kolab IMAP based preferences backend.
[mms] Complete fix for issue causing slow syncs only (Bug #10008).
[jan] Add button to update all configurations with default values at once.
[jan] Update DataTree conversion scripts for Horde 4.
[jan] Fix rendering of DataTree browse tree.
[mjr] Fix issue with deleting identities (Bug #9997).
[mjr] Fix issue causing credentials to be lost when accessing the API during
ActiveSync requests (Bug #9733).
[jan] Store preferences for guests in the session.
[jan] SECURITY: Fix permission checks of guest users on system shares.
[mms] SECURITY: Fix deletion of unwanted HTML nodes in XSS filter.
[mms] Fix authentication failure when TOS is not accepted.
[jan] Don't show IMP compose link if user doesn't have permissions to IMP (Bug
#10016).
[mms] Fix issue causing slow syncs only in SyncML (Bug #10008).
[jan] Fix adding categories.
[jan] Fix listing users in Customsql driver (Bug #9963).
[jan] Fix calculation of last password change in LDAP account portal block (Bug
#9770).
[jan] Don't check for outdated DB schemas if database support is disabled (Bug
#9986).
[mjr] Fix editing settings of fixed portal blocks (Bug #9910).
[mjr] Fix the blockTitle and blockContent API methods.
[jan] Fix creating folders with SQL VFS driver (Bug #9894).
[jan] Fix LDAP parameters of account portal block (Klaus Steinberger, Bug
#9770).
[jan] Fix migration detection on Windows.
[mjr] Correctly sanitize DSN when using custom cyrus auth driver (Bug #9879).
[mjr] Fix some display issues when geocoding with HordeMap (Bug #9883).
[mms] Don't load sidebar content if not expanded.
[jan] Fix deleting groups.
[jan] Fix adding new groups (Bug #9881).
[jan] Fix displaying the Facebook preference group.
[mms] Add appinitialized hook.
[cjh] Fix cyrsql configuration, rename cyrus host and port parameters to not
clash with Horde_Db parameters (Bug #9864).
[cjh] Fix signups, and update style on signup and reset password pages to
match the login page (Bug #9856, partially from Ian Roth
<iron_hat@hotmail.com>).
[cjh] Show an unknown app icon rather than a broken image if an application
doesn't have an icon (Bug #9867).
[jan] Fix setting incorrect database charset in PDO drivers.
[mms] Add pushapp_post hook.
[jan] Fix application-specific permission checks (Bug #9786).
[jan] Fix resetting passwords (Vilius Sumskas <vilius@lnk.lt>, Bug #9800).
[jan] Fix Cyrsql authentication driver (Vilius Sumskas <vilius@lnk.lt>, Bug
#9781).
[mjr] Fix ActiveSync provisioning.
[mjr] Fix for broken Nokia MfE clients (Bug #9757).
[jan] Delete object mappings too when deleting SyncML anchors (Request #9377).
[jan] Delay sidebar creation if the sidebar is generated through JavaScript.
[jan] Fix incorrect lowercasing of objectClasses in LDAP groups driver.
[jan] Fix fatal error in desktop notifications (Bug #9727).
[jan] Rename all scripts in bin/ to be prefixed with horde- and installed in
PEAR's bin_dir (Request #9647).
[jan] Don't throw exception when setting port number while using localhost in
MySQL configuration (Bug #9738).
[jan] Fix building LDAP filter for groups from configuration (Bug #9739).
[jan] Fix loading of Horde's vhost conf.php file (Bug #9704).
[jan] Fix OpenOffice MIME viewer.
[jan] Fire access keys on hidden elements in Internet Explorer (Bug #8057).
[jan] Don't fire access keys twice in Chrome browsers.
[jan] Fix JavaScript date calculations across DST boundaries.
[jan] Sort applications in preference menu by name.
[jan] Add translations for file upload error messages.
[mms] Fix identities pref UI when default_identity is locked (Bug #9701).
[mms] Added Horde::debug().
[jan] Update installation and upgrade instructions.
[jan] Fix converting identities with non-ascii characters to new format.
[jan] Fix passing arguments to sendmail binary (Gonçalo Queirós, Bug #9693).
[mjr] Service_Facebook refactored for OAuth2 authentication (Bug #9122).
[mjr] IMSP drivers refactored for Horde 4.
[gwr] Allow disabling applications for administrators.
[jan] Don't show sub-permissions for adding that exist already.
[jan] Fix listing more than one sub-permission (Bug #9671).
[jan] Fix calendar synchronization with certain Nokia phones (Bug #9646).
[jan] Catch fatal errors about missing tables during initial configuration.
[mms] Fix client-side IMAP sorting using envelope data.
[mms] Workaround PHP < 5.2.6 (broken stream handling) (Bug #9644).
[mjr] Fix updating schema for individual libraries.
[mjr] Improved control over which application view to load.
[jan] Find translateable strings in configuration files.
[mms] Fix clearing expanded state for javascript trees (Bug #9659).
[jan] Only show advanced preferences link if there are some.
[mms] Fix updates for refreshing Blocks (Bug #9655).
[mjr] Fix viewing applications with no mobile view from mobile devices.
[jan] Fix error when not using a Group backend. (Bug #9642).
[jan] Provide default configuration files instead of .dist versions.
[jan] Add a new Share SQL driver with better performance.
[cjh] Drop Log SQL driver.
[mms] Update prototypejs to v1.7.
[mms] Add theme caching.
[mms] Add hook to allow browser capabilities to be modified.
[jan] Add a configuration switch for automatic creation of default shares.
[cjh] Move from Net_DNS to Net_DNS2.
[jan] Translations for the framework packages are now bundled with those
packages.
[bak] Remove LDAP driver from Horde_SessionHandler
[jan] Require mandatory UTF-8 support for both servers and clients.
[jan] Renamed Setup to Configuration and Options to Preferences.
[mms] Moved sidebar code out of block/portal code (Request #9160).
[cjh] Remove fckeditor, standardizing on ckeditor.
[jan] Move all translations from po/ to locale/ and use short locale
identifiers where possible.
[jan] Remove frameset.
[jan] Remove dhtmlHistory library.
[mms] Removed support for krb5 authentication driver.
[jan] Allow to specify the URL parameter name for the alternate login setting.
[mms] Remove reliance on PEAR Mail library.
[jan] Send alarm emails again if the alarm has changed (Bug #8717).
[mms] Add advanced preferences options screen.
[mms] Complete rewrite of preferences UI display.
[mjr] Horde_Image can now act as an Iterator for multi-page images.
[mms] Remove Horde_Cipher library.
[mms] Add 'cssfiles' hook to add custom CSS files to a page.
[jan] Add configuration to not automatically show all available shares.
[jan] Add configuration to disallow world permissions for user shares.
[jan] Store alarm dates in UTC (Bug #8381).
[mms] Add abstracted AJAX interface (Request #4561).
[mms] Update scriptaculous to v1.8.3.
[mjr] Add Horde_Image_Exif (ported from Ansel) and add a exiftool driver.
[mjr] Horde_Image now has a native Imagick driver (removed proxy code).
[mms] All Horde login/authentication handled by single login page.
[mms] Move imple processing to a Horde service.
[mms] Refactor Maintenance:: -> Horde_LoginTasks::.
[mms] In Postgres, horde_prefs table now stores data in BYTEA instead of
TEXT (Bug #8130).
[mms] Improved caching of Registry data significantly reduces session sizes
and total session storage requirements (Request #8024).
[mms] IMAP auth driver now uses Horde_Imap_Client library.
[mms] Use Gnumeric package to render MS Excel files.
[mms] Use AbiWord package to render MS Word files.
[cjh] Remove sapdb session handler backend.
[jan] Add share locking (Alfonso Marín Marín <almarin@um.es>).
[cjh] Remove javascript popup alarms.
[cjh] Update the Auth_passwd driver's add/update/remove user
implementations (Bug #7810).
[cjh] Add a Horde_Routes dispatcher for Rampage applications.
[mjr] Fix a possible infinite loop with certain recurring events in Horde_Date.
[jan] Use DateTime internally in Horde_Date.
Address Book Changes
--------------------
[rla] Support multiple address books in search portal block (Request #8786).
[mjr] Fix importing LDIF files (Bug #10139).
[mjr] Fix issue introduced in 3.0.1 that caused contact images to not display
(Bug #10050).
[jan] Fix editing of multiple contacts at once (Bug #10085).
[jan] Enable homeAdress and workAdress composite fields by default.
[jan] Fix exporting department attribute over ActiveSync.
[mjr] Fix adding contacts with a category selected.
[jan] Fix LDAP schema checking (Bug #9826).
[jan] Fix creating temporary files with open_basedir restrictions.
[mjr] Fix importing objects with categories (Bug #9841).
[mjr] Fix merging duplicate contacts (Bug #9828).
[mjr] Allow unsetting the GAL and Client Address Book settings (Bug #9843).
[mjr] Fix deletion of virtual address books (Bug #9779).
[jan] Fix saving searches to virtual address books (Bug #9776).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.
[jan] Move all executable scripts to bin/ and prefix with turba-.
[jan] Add fields to all addresses if multiple passed to addField() API method
(Request #3482).
[mjr] Fix issue that caused the inability to preview contact images while
uploading (Bug #9702).
[jan] Update installation and upgrade instructions.
[gwr] Adapted the Kolab driver to Horde 4.
[mjr] Fix issue that caused erroneous file listings for objects in sources
without a __uid value.
[cjh] Fix storing of binary fields.
[mjr] Fix/refactor IMSP driver.
[mjr] Fix the listTimeObjects API for shared sources (Bug #9649).
[jan] Fix importing contacts with SyncML (Simon Bühler, Bug #9641).
[jan] Provide default configuration files instead of .dist versions.
[jan] Create a default address book if the user doesn't own any yet.
[jan] Rename sources.php to backends.php.
[mjr] If default addressbook is not browsable, try one from the addressbook pref
(Request: 6536).
[jan] Add duplicate search and merging.
[mjr] The listTimeObjects API now returns categories for each source
individually instead of returning only the categories available
(Request #8504).
Calendar Changes
----------------
[jan] Fix holidays being off with certain system timezones (Bug #9989).
[jan] Only highlight days in the mini calendar that are currently displayed
(Bug #10048).
[jan] Fix advanced search with empty search criteria (Bug #10038).
[jan] Add header for timeobjects calendars.
[jan] Fix date picker in advanced search form (Bug #10039).
[mjr] Remove visible exceptions when deleting recurring events (Bug #10013).
[mjr] Fix issue causing listTimeObject calendars to not appear (Bug #10012).
[jan] Don't show event edit links if user doesn't have edit permissions on any
calendar.
[jan] Fix parsing of recurrence end date in dynamic view (Bug #10025).
[jan] Fix displaying of new tasks in new task lists.
[jan] Fix displaying colors of task lists.
[jan] Delete tasks from tasks view when deleting tasks lists.
[jan] Don't export multi-day events as multiple events to iCalendar data (Bug
#10007).
[jan] Fix dragging tasks in the dynamic view.
[mjr] Fix calendar embedding.
[jan] Don't store all task lists in the session.
[jan] Fix new task lists not showing up until next login (Bug #9814).
[mjr] Fix broken event alarm links in sidebar (Bug #9897).
[mjr] Fix drag/drop editing of recurring events (Bug #9880).
[jan] Fix undefined function on Windows (Bug #9916).
[jan] Support adding and editing of CalDAV events in dynamic view (Bug #9865).
[mjr] Allow migrations to complete despite of missing shares.
[jan] Remove debug code in Ajax library (Bug #9818).
[jan] Fix application-specific permission checks (Bug #9786).
[jan] Fix fatal error when using the max_events permission (Bug #9784).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.