-
Notifications
You must be signed in to change notification settings - Fork 36
/
RELNOTES.txt
1371 lines (1206 loc) · 55.8 KB
/
RELNOTES.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
11.0.2 (2021-05-12)
===================
Fixes:
* icalmapi: not all fields of cantacts end up in VCF [KC-1608]
* common: stderr not logged with unix_system [KC-1872]
* configuration: commented attachment_storage setting does not reflect
default [KC-1875]
* backup: used diskspace not decreasing after purge [KC-1970]
* pyko: Unable to create items from ics file in public store [KC-1980]
Enhancements:
* dagent: make it possible again to forward auto replied messages
(configurable) [KC-1525]
* pyko: remove item.filtered_html [KC-1752]
* pyko: remove import * pattern [KC-1799]
* server: enable enable_sql_procedures by default [KC-1855]
11.0.1 (2021-02-08)
===================
Fixes:
* swig: revert to tuples for multi-output functions [KC-1680]
* provider: reject URLs with zero-length domain name
* utils: display root folder as ROOT in mailbox-permissions
* pyko: Set PR_FREEBUSY_ENTRYIDS correctly for a MSR store
Enhancements:
* Add necessary const_cast for compilation with C++14
* Prevent build with SWIG >= 4
* installer: remove obsolete searchscripts
* swig: add PR_EC_SERVER_VERSION property tag
* Make OBSOLETE and UNUSED settings clearly distinct
* Deprecate ldap_authentication_method configuration
* Remove unused server_ssl_protocols variable
11.0.0 (2021-01-19)
===================
All changes from the 10.x branch up to 10.0.7 are included.
10.0.7 (2021-01-13)
===================
Fixes:
* libserver: disable PR_ACCESS shortcut for GetContentsTable entries [KC-1755]
* server: cache can exceed desired size [KC-1764]
* srvadm: only complain about config errors when -c is used [KC-1810]
* libserver: repair user store table returning garbage error values [KC-1818]
* dagent,spooler: fail startup if plugin system not loadable [KC-1823]
* backup: fall back to guid when store.company is not available [KC-1835]
* pyko: disable syslog log method support [KC-1858]
* pyko: honor log_timestamp log setting [KC-1862]
* pyko: check if basedate is not None when accepting meeting request [1871]
* storeadm: Listing orphan stores produces segmentation fault [KC-1873]
* common: Avoid looping available file pointers on startup [KC-1843]
* spooler: pluginmanager uses deprecated python "imp" module [KC-1801]
* common: cure crash when ec_socket calls freeaddrinfo [KC-1889]
* client: read JSON license block for SSO/OIDC logons [KC-1892]
* libserver: remove questionable rejection of different-term OR search
requests [KC-1385]
* pyko: handle invalid PR_EXTENDED_FOLDER_FLAGS [KC-823]
Enhancements:
* build: replace libkcserver-ldapms.so generation [KC-850]
* cli: add future warning for upcoming deprecation [KC-1778]
* python-scripts: remove from .. import * pattern [KC-1799]
* server: more direct invocation of userscripts [KC-1800]
* server: print license information in log on startup [KC-1812]
* server: speedup cached item expiry [KC-1817]
* server: deliver boolean flag to MAPI clients based on libkustomer ensure
results [KC-1821]
* ldap: reduce DN cache retrieval time [KC-1876]
* build: make kopano-indexer complation optional [KC-1881]
* libvserver: early-reject/-filter invalid searchfolder criteria [KC-1915]
* cfgchecker: check for +x bits on scripts and programs
* eidprint: decode ZCONTACTS's entryids
Changes:
* kopano-rules: the utility has been removed
10.0.6 (2020-05-24)
===================
All changes from the 9.x branch up to 9.0.9 are included.
Enhancements:
* pyko: Add subject_prefix to meeting request decline
Changes:
* dagent, gateway: drop server-side HTML filtering [KC-1175]
10.0.5 (2020-05-20)
===================
All changes from the 9.x branch up to 9.0.7 are included.
Changes:
* common: process kd_trans rollback even during exceptions
* dagent: failure to run actions will not stop rule processing
10.0.4 (2020-04-10)
===================
All changes from the 9.x branch up to 9.0.6 are included.
10.0.3 (2020-03-17)
===================
All changes from the 9.x branch up to 9.0.5 are included.
10.0.2 (2020-03-06)
===================
All changes from the 9.x branch up to 9.0.4 are included.
* dagent: add processing time stats and publish via surveyclient
* common: fix a malloc/delete[] mismatch in kc_utf8_to_punyaddr
* Respect KOPANO_SOCKET environment variable in all programs
* server: support numeric UID/GID for local_admin_users directive
* daemons: support numeric UID/GID for run_as_* directives
10.0.1 (2020-01-28)
===================
All changes from the 9.x branch up to 9.0.3 are included.
Enhancements:
* client: IDN support [KC-1659]
Saving PR_EMAIL_ADDRESS/PR_SMTP_ADDRESS will transform
IDN domains to Punycode.
* In config files, fractional values can now be used for sizes, e.g.
"cache_cell_size=0.5G"
9.0.11 (2020-07-29)
===================
Changes from the 8.7.x branch up to 8.7.16 are included.
Fixes:
* storeadm: have -M emit a single JSON object [KC-1820]
Changes:
* server: use a lot less LDAP connections [KS-45830]
* server: synchronize SQL column stores.user_id with hierarchy.owner so that
storeadm -M and -O output are consistent with one another [KC-1819]
* server: cure a case where caches can exceed their desired size [KC-1764]
9.0.10 (2020-07-09)
===================
Changes from the 8.7.x branch up to 8.7.15 are included.
Fixes:
* mapi4linux: fix a refcycle between session and stores/
move store cache to ZCONTACTS provider [KC-1791]
* m4lcommon: avoid losing rows from ECMemTable
Changes:
* GetContentsTable now produces correct PR_ACCESS columns [KC-1755]
* cli: the utility now emits an obsoletion warning [KC-1778]
9.0.9 (2020-06-22)
==================
Fixes:
* gateway: resolve file descriptors building up /
mapi4linux: manually break session<->store object_ptr loop [KC-1791]
Changes:
* spooler: avoid premature expansion of distlists into individual
recipients when the distlist does in fact have an email address /
m4lcommon: add missing address type promotion when looking up
ZARAFA->SMTP addresses [KC-1792]
* php-ext: add error reason to error some messages
9.0.8 (2020-06-16)
==================
Changes from the 8.7.x branch up to 8.7.14 are included.
9.0.7 (2020-05-20)
==================
Changes from the 8.7.x branch up to 8.7.13 are included.
Fixes:
* mapi4linux: avoid M4LMAPISession going away while ECMsgStore still alive
9.0.6 (2020-04-15)
==================
Changes from the 8.7.x branch up to 8.7.12 are included.
Enhancements:
* daemons: now run with systemd protections [KC-430]
9.0.5 (2020-03-17)
==================
Changes from the 8.7.x branch up to 2020-03-16 are included.
Enhancements:
* server: new config directive request_log_method and request_log_file
Changes:
* server: The log_level=0x100000 bit (SOAP) no longer has a meaning;
use the request_log_file mechanism instead.
9.0.4 (2020-03-04)
==================
Changes from the 8.7.x branch up to 2020-03-04 are included.
Fixes:
* common: cure free/delete[] mismatch in hr_logcode2
9.0.3 (2020-01-28)
==================
Changes from the 8.7.x branch up to 2020-01-14 are included.
Enhancements:
* common: avoid computing log messages that will not get shown [KC-1674]
* freebusy: fix crash in RecurrenceState::Exception instantiation
9.0.2 (2019-12-11)
==================
All changes from the 8.7.x branch up to 8.7.9 are included.
9.0.1 (2019-11-29)
==================
All changes from the 8.7.x branch up to 8.7.8 are included.
Enhancements:
* freebusy: generate human-readable string for recurrences [KC-1289]
* storeadm: have `storeadm -M` show mailbox size [KC-1632, KS-43943]
Changes:
* daemons: removed old config file options from before KC 8.7,
these will now generate an error during startup.
8.7.85 (2019-11-06)
===================
All changes from the 8.7.x branch up to 8.7.7 are included.
Enhancements:
* daemons: support "%xxx"-style interface identifiers in bindspecs
(the "server_listen" or similarly-named directives in .cfg files)
* client: send fewer logoff calls [KC-1590]
Fixes:
* daemons: AF_LOCAL sockets were erroneously owned by root rather than
run_as_user [KC-1616]
* pyko: avoid circular strong reference from notification to store [KC-1572]
* php: add missing successful return value for zif_mapi_vcfstomapi [KC-1487]
* client: unbreak translation of newly created store folder names [KC-1607]
Changes:
* dagent: the server_bind_intf option is removed in favor of %xxx
* search: put back the old value for limit_results=1000
8.7.84 (2019-10-04)
===================
All changes from the 8.7.x branch up to 8.7.6 are included.
Enhancements:
* admin: the --mr-process option has been added
* dbadm: the "populate" action has been added
* daemons: the {pop3,imap,etc.}_listen directives can now take an
interface specifier similar to ping(8), e.g. "%eth0"
* server/ldapplugin: LDAP group membership cache [KC-1588]
Changes:
* server: new installations will use files_v2 by default [KC-567]
* icalmapi: vCard 4.0 (RFC 6350) is now emitted
* kopano-set-oof has been removed; use `kopano-oof` instead [KC-981]
* kopano-localize-folders has been removed; use `kopano-storeadm -Y` instead
8.7.83 (2019-09-12)
===================
All changes from the 8.7.x branch up to 8.7.5 are included.
Enhancements:
* daemons: a new config variable "tls_min_proto" is available
(kopano-server: "server_tls_min_proto") [KC-1439]
* daemons: SCTP socket support [KC-1508]
* server/client: new RPC for batch creation of folders; this improves
store creation time by +5–8% [KC-1258]
* client: enable write-caching for properties on stores and folders;
improves e.g. store creation time by another +17% [KC-1585]
* server: configurable fanout factor for files_v1 attachment backend [KC-1540]
Changes:
* PHP5 support has been dropped [KC-1042]
8.7.82 (2019-07-03)
===================
All changes from the 8.7.x branch up to 8.7.4 are included.
Enhancements:
* php: added PHP API to read multi-vcard VCF [KC-1487]
Changes:
* RHEL6 is no longer officially supported
Fixes:
* server: cure emission of repeated K-1515 messages [KC-1519]
8.7.81 (2019-05-14)
===================
All changes from the 8.7.x branch up to 8.7.2 are included.
Enhancements:
* ldapplugin: 22% speedup in retriving the entire user list [KC-1399]
* client: avoid double-fetching PR_RTF_COMPRESSED_DATA [KC-1349]
* inetmapi: added C++ API to read multi-vcard VCF [KC-1291]
Changes:
* dagent, spooler: plugins are disabled by default now [KC-1475]
Add plugin_enabled=yes to your .cfg if needed.
* dagent, spooler: threaded more is enabled by default now [KC-1475]
* search: index_attachments is disabled by default now [KC-1455]
* daemons: the -F option is removed, daemons always start in foreground
mode now [KC-1428]
* server: support for non-Unicode connections used by ZCP 5.x was removed
* server: support for some legacy RPCs used by ZCP 6.30 was removed
* Support for Python 2.x was removed
* The python-zarafa compat module was removed
* The object-oriented MAPI classes (written in PHP) were removed from KC.
A copy survives in kopano-webapp. What remains in KC is the set of
MAPI-related procedural functions provided by the PHP plugin
(written in C++).
* kopano-rest has been moved to a separate git repository
Packaging changes:
* gsoap 2.8.73 or higher is now required
8.7.16 (2020-07-27)
===================
Fixes:
* srvadm: read admin.cfg by default [KC-1815]
* srvadm: do pass TLS certificates to server [KC-1815]
* libserver: resolve crash in notify_mgr thread on shutdown [KS-45804]
8.7.15 (2020-07-09)
===================
Fixes:
* libserver: fix off by one crash in
ECGenericObjectTable::AddCategoryBeforeAddRow [KC-1798]
* libserver: fix crash in ECNotifyClient::Reregister [KC-1806]
* storeadm: support -D on global public store [KS-45824]
* storeadm: support -D on company public stores [KS-45824]
Changes:
* storeadm: -O distinguishes "entities with no store" more
precisely now as "users without private store" and
"companies without public store" [KC-1805]
8.7.14 (2020-06-11)
===================
* build: support gsoap 2.8.103
* libserver: add thread_end calls for ECSchedule threads [KC-1767]
* server: add debug messages for SQL connection object states [KC-1767]
* mapi4linux: cure a pointer mismatch that could lead to a crash
in M4LAddrBook::OpenEntry / (PHP)mapi_ab_openentry [KC-1790]
8.7.13 (2020-05-20)
===================
Enhancements:
* gateway: gateway: support entering MAPI folders with slash in it [KS-45600]
* server: support files_v2 attachment directory that has had files
saved with KC 9.x [KC-1760]
Fixes:
* admin: fix stack exhaustion calling AclRightsToString [KS-44473]
* admin: fix out-of-bounds access in ConsoleTable [KC-1758]
* admin: show more specific error text for attached archive ACLs [KS-44473]
* dagent: change SMTP error code for plugin failure from permanent to
transient category [KS-45558]
* doc: update kopano-server.cfg:thread_limit default [KS-46529]
* server: call ntlm_auth with absolute path [KS-45579]
* server: recognize more MariaDB-specific status codes and initiate
reconnect if needed [KS-45596, KS-45601]
* server: fix a cache pollution with PR_HTML and PR_RTF_COMPRESSED [KS-43977]
* stats: fix misprinting of CPUTIME column in `kopano-stats --top`
8.7.12 (2020-04-09)
===================
Enhancements:
* icalmapi: support reading multi-iCal and multi-vCard files [KC-1291]
* storeadm: show store guid and sizes for mailbox overview (-M)
* client: avoid unnecessary property computations [KC-1660]
Changes:
* Process RES_CONTENT restrictions with Unicode normalization [KC-1672]
Fixes:
* dagent, spooler: workaround crash during Python GC [KC-1427]
* dagent, gateway: avoid stack exhaustion in librosie [KC-1653]
* dagent: force indexing of X-Kopano-Rule-Action to make forward loop detection
functional again [KC-1647]
* spooler: do not emit "not found" when rule does not match [KS-44090]
* gateway: avoid non-atomic replacement of SSL context [KC-1530]
* gateway: avoid one crash case for deeply-nested HTML mail [KC-1653]
* admin: admin: fix error message when --{udqw,udqs,udqh} is missing
* server: cure a mysql wait phase during shutdown [KC-1645]
* server: cure a crash when the SQL server has shut down [KC-1578]
* daemons: avoid deadlock during signal handling [KC-1654]
* libserver: fix use-after-free and crash on shutdown [KC-1662]
* better stack traces when dying on uncaught exceptions [KC-1670]
* gateway, ical: new-style OpenSSL 1.1 API setup [KF-2886]
* fsck: consistent unique entity check [KC-1665]
* Various null deref warnings from clang --analyze were fixed
* pymapi, pyko: emit tuples rather than arrays for functions with
multiple return values (e.g. [KC-1680]
* ical: treat HTTP headers as case-insensitive
* libserver: resolve memory leak of MYSQL objects [KC-1645]
8.7.9 (2019-12-10)
==================
Enhancements:
* cfgchecker: cure compiler warnings
* common: replace kc_perror call by ec_perror [KC-1639]
Fixes:
* libserver: adjust version notice for old ZCP database schemas [KF-2841]
* libserver: drop K-1255 message [KF-2833]
* server: fix dreaded "SSL_accept: (null)" reporting
8.7.8 (2019-11-29)
==================
Enhancements:
* storeadm: print entity types in orphan list [KC-718]
* client: improve dreaded "gsoap connect: ()" reporting
* ECtools: add kopano-vcfimport
Fixes:
* dbadm: selecting across "names" table needs
NO_UNSIGNED_SUBTRACTIONS [KF-2757]
* doc: adjust LDAP attribute names for OpenLDAP ANR search [KC-494]
* client: fix always reject when attempting OIDC/SSO impersonation
login [KC-1624]
* client: resolve rogue file descriptor closing [KC-1397, KC-1462, KC-1518,
KC-1584, KS-42330, KS-43193, KS-43409, KS-43618, KS-43677, KS-43693,
KS-43907, KS-43925, KS-43936]
* dagent: resolve crash when appointment has empty organizer [KC-1637]
* spooler: regard redirected messages as having recipients [KC-1638]
8.7.7 (2019-11-06)
==================
Enhancements:
* icalmapi: export more MAPI field to VCF and import vice-versa [KC-1608]
Fixes:
* libserver: avoid null deref when GIG on RFC2307 is attempted [KC-1606]
* storeadm: allow combining -P and -k [KF-2741]
* fsck: fix broken recipient lists deduplication [KC-1562]
* oof: -x option should prompt for plain password [KC-1617]
* oof: avoid printing set=null [KC-1629]
* freebusy: avoid out of bounds access in HrAddFBBlock [KC-235]
* admin: cannot change group fullname [KC-734]
* doc: update misspelling and behavior of --verbose [KC-1554]
* doc: quota recipients only work with companies [KC-735]
8.7.6 (2019-10-01)
==================
Fixes:
* spooler: shorter Message-Ids to adhere to RFC [KC-1548]
* spooler: avoid setting PYTHONPATH repeatedly [KC-1558]
* server: remove assertions on normal behavior [KC-1551, KC-1552, KC-1011]
* server: avoid emission of K-1504 log messages [KC-1589]
* gateway: plug a memory leak [KC-1397]
* server: reduce K-1515 warnings in normal situations [KF-2677]
* server: cure use-after-free on shutdown [KC-1531]
* dagent: split OP_REPLY/OP_FORWARD header match lists [KC-1445]
* dagent: mails with ICS attachments now remain IPM.Note [KC-1555]
Enhancements:
* icalmapi: import and export middle names, prefixes and suffixes
from/to vCards [KC-1595]
8.7.5 (2019-07-09)
==================
Fixes:
* php: add a missing vector resize call to
mapi_freebusysupport_loadupdate [KC-1539]
* libserver: fix "withholding" of properties from clients [KC-1547]
8.7.4 (2019-07-03)
==================
Fixes:
* storeadm: accept -l option even if the non-UTF8 variant of that locale is
absent from the system [KC-1429]
* dagent: rule matching against very large subject lines was made
functional [KC-1478]
* gateway: guard against a null dereference [KC-1505]
* inetmapi: avoid emitting multi-encoded words to work around Outlook
bugs [KC-1506]
* daemons: resolved a startup failure when socket activation was used [KC-1513]
* daemons: resolved kopano-server.socket entering a failed state after stopping
kopano-server.service [KC-1514]
* dagent: cured a silent exit when "lmtp_listen" contained garbage [KC-1516]
* dagent: evalute entire transport headers [KC-1443]
* freebusy: fix potential freeing of uninitialized pointers [KC-1539]
* pyko: avoid local time conversion of UTC dates
Enhancements:
* logrotate will now use `systemctl reload` if available [GH-PR-14]
* doc: new manpages kopano-admin.cfg(5) and kopano-statsd.cfg(5)
* admin: do not abort out on --details SYSTEM
* server: report highest objectid to statsd [KC-1523]
8.7.3 (2019-05-27)
==================
Fixes:
* stats: print "PR_..." instead of proptag numbers [KC-1495]
* server: no more unbounded thread number increase [KC-1446]
* php: fix crash in zif_mapi_getprops [KC-1507]
8.7.2 (2019-05-13)
==================
Fixes:
* server: complete utf8mb4->utf8 fallback for RHEL6 [KC-1423]
* inetmapi: modified appointments need to produce a new Message-ID [KC-1458]
* dagent: set Bcc/RecipMe flags appropriately [KC-319]
* inetmapi: restore FQDN in Message-IDs [KC-1393]
* inetmapi: parse fake "From:" header better to hinder proliferation of
impersonations [KC-1350]
8.7.1 (2019-04-17)
==================
Fixes:
* dagent: standard casing for RFC 5322 headers [KF-2100]
* daemons: do not fail startup on IPv4-only systems [KC-1400]
* Feed HTML through libtidy before using it for the to-plaintext
conversion stage [KS-40722]
* server: fix crash on shutdown [KF-2179]
* server: address a potential crash due to type mismatch [KF-2151]
* server: use utf8mb3 with mysql 5.1 [KC-1423]
* server: avoid entering truncated tproperties data into the cache [KC-1417]
* server: avoid using OpenLDAP-specific filters that 389-ds does not
know about [KC-1402]
* server: fixed TLS negotiation errors with openSSL 1.1.1 [KC-1439]
* spooler: avoid unnecessary QP encoding in header fields [KC-1430]
* spooler: fix hang on process termination [KC-1449]
* srvadm: do not complain about default_store_locale [KC-1416]
* dbadm: some long-running statements can now be run in parallel
with the new -j option [KS-42617]
* pyko: expand stubbed messages when dumping [KC-1159,KC-1168]
* pyko: don't mix str/int busy statuses [KC-1433]
* oof: fix erroneous -u parsing [KC-1425]
* oof: make --message option set the right property [KC-1435]
* dagent: some large properties need different kind of loading [KC-1443]
Enhancements:
* backup: do record outofoffice settings
* php-ext: performance measurement log now contains a timestamp, thread
identifier, and global monotonic counter. This can be used for estimating the
achieved command rate.
8.6.92 -> 8.7.0 (2019-01-24)
============================
Fixes:
* server: incomplete LDAP filter processing (KC-1261 from 8.6.91) had
caused GAB users to be not shown, which is fixed [KC-1381]
8.6.92 (8.7 beta) (2019-01-11)
==============================
Enhancements:
* dagent: a new config directive "mail_conversion_detail" was added [KC-1342]
* server: support running with old utf8mb3 databases by filtering
all Emojis/Unicode SMP characters [KC-725]
8.6.91 (8.7 beta) (2018-12-21)
==============================
Fixes:
* server: fix disappearing inbox rules [KC-1359,KF-1940]
* kopano-dbadm: new action "usmp" and "usmp-charset"
* server: no more automatic upgrade to utf8mb4,
use `kopano-dbadm usmp` instead [KF-1394]
Enhancements:
* server: reduction of search folder overhead (have ECSearchFolders use a thread pool)
* server: implement faster LDAP-based Global Addressbook searches [KC-1261]
* ibrule: show contents of address lists
Changes:
* ol-schema-migrate: add back openldap support with -X option
(ol-schema-migrate was earlier updated to a new upstream version,
which changed attribute names to 389-ds)
8.6.90 (8.7 beta) (2018-10-18)
==============================
Fixes:
* server: fix large inbox rule table/properties to "disappear" [KC-1359]
Enhancements:
* kopano-statsd: new daemon that records dagent/server/spooler stats
(memory use, items processed, etc.) in RRD files.
This constitutes a preview. RRA parameters are currently hardcoded (7-day
window, 60-second step). PNG image generation is not included (CPU intensive,
and styling depends on user taste).
To enable, set statsclient_interval=60 in dagent.cfg/server.cfg/spooler.cfg.
Changes:
* dagent/spooler: the custom plaintext protocol of StatsClient is
replaced by a JSON variant [KC-1264]
8.6.82 (8.7 Milestone) (2018-10-12)
===================================
Fixes:
* server: logon/logoff times were not reported correctly [KC-1257]
Enhancements:
* daemons: coredumps no longer rely on fs.suid_dumpable [KC-1043]
* server: support for Unicode supplemental plane (Emojis) [KC-725]
* spooler: support for process_model=thread mode [KC-1235]
* spooler: add copy_delegate_mails=move-to-rep config directive [KC-412]
* dagent: "mark mail as read" rule action support [KC-1080]
* kopano-ibrule: new utility for MAPI rules [KC-1229]
* server: experimental "files_v2" attachment storage [KC-567]
Changes:
* dagent: ignore OP_REPLY/OP_FORWARD for autoreplies [KC-1244]
* server: the directives "socketspec", "server_tcp_enabled", "server_tcp_port",
"server_ssl_enabled", "server_ssl_port" and "server_bind" have been removed
in favor of "server_listen" and "server_listen_tls".
* dagent: the directives "socketspec", "lmtp_port" and "server_bind" have been
removed in favor of "lmtp_listen".
* gateway: the directives "socketspec", "imap_enabled", "imap_port",
"imaps_enabled", "imaps_port", "pop3_enabled", "pop3_port", "pop3s_enabled",
"pop3s_port" and "server_bind" have been removed in favor of "imap_listen",
"imaps_listen", "pop3_listen" and "pop3s_listen".
* ical: the directives "socketspec", "ical_enable", "ical_port",
"icals_enable", "icals_port" and "server_bind" have been removed in favor of
"ical_listen" and "icals_listen".
Packaging changes:
* The MySQL 8 C API is now supported at build time [KC-1237]
8.6.81 (8.7 Milestone) (2018-08-10)
===================================
Fixes:
* ical: better support recurring tasks [KC-781]
Enhancements:
* dagent: support for process_model=thread mode [KC-1170]
* dagent: modern socket specification in dagent.cfg with lmtp_listen= [KC-1174]
* dagent: PF_LOCAL socket support for communicating with postfix [KC-1131]
* dagent: limited support for RFC 6531 (SMTPUTF8) [KC-833]
* gateway: modern socket specification in gateway.cfg with
imap_listen=, pop3_listen=, etc. [KC-1130]
* ical: "coredump_enable" config directive now recognized [ZCP-11696]
* ical: modern socket specification in ical.cfg with
ical_listen=, etc. [KC-1187]
* server: multivalue properties are now cached [KC-1162]
* server: LDAP STARTTLS support for user backend [KC-1188]
* spooler: new config value log_raw_message=error [KC-1105]
* daemons: TLS ECDH curves can now be specified in config [KC-1233]
* php: new functions to get freebusy message [KC-1077]
* inetmapi: support multiple recipients in Reply-To [KC-434]
Changes:
* daemons: the default logging target is now syslog/journalctl [KC-1100]
* daemons: SSLv3, TLSv1.0 and TLSv1.1 are now disabled by default [KC-1231]
* dagent will no longer join HTML MIME parts together by default;
a new config directive "insecure_html_join" was added [KC-1157]
* kopano-mr-accept was replaced by a Python script
* systemd services start with more restrictions [KC-430]
Packaging changes:
* libkcpyplug.so.0 is dlopened from kopano-{dagent,spooler};
dagent/spooler packages need a Require on it
for a default install to function.
8.6.x
=====
Fixes:
* dagent: the spam_header_name was not matched correctly [KF-1961]
* dagent/client/libserver: fix inadvertent AF_LOCAL->SSL redirect [KC-1368]
* client: ABEIDs were parsed wrong (and it broke with gcc8) [KC-1386, KS-42325]
* libserver: restore a missing KCERR_NOT_FOUND return code in getStore
* php7-ext: cease modifying potentially-immutable PHP variables [KC-1355]
* gateway: avoid uncaught exception when client disconnects midway [KC-1452]
* client: add a nullptr check when parsing copying resolvePseudoUrlResponse
struct [KC-1453]
Enhancements:
* dbadm: new action "usmp-shrink-columns"
* dagent: add directive to read whitelist domains and body from file
[KC-1278, KC-1279]
* Support for PHP 7.3 [KC-1372]
Packaging:
* Support for gsoap 2.8.73
8.6.9 (2018-11-28)
==================
Fixes:
* backup: use PR_STORE_ENTRYID instead of PR_STORE_RECORD_KEY
to open stores [KC-1331]
* php: add missing variable initialization [KS-41996]
* server: cease issuing redirects to AF_LOCAL when connecting
over AF_INET* [KC-117]
Enhancements:
* inetmapi: support multiple recipients in Reply-To [KC-434]
* server: print openssl errors when they happen [KC-1340]
Packaging:
* Support for gsoap 2.8.71
8.6.8 (2018-10-03)
==================
Fixes:
* dagent/client: fixed broken umlauts in PR_EC_BODY_FILTERED
when input was not UTF-8 [KC-1225]
* daemons: avoid setting possibly nonexisting locales
(specifically en_US) [KC-1271]
Enhancements:
* zcontacts: expose mobile phone number, business phone number and company name
through ZCABContainer [KC-1246]
Changes:
* kopano-server no longer reads the KOPANO_USERSCRIPT_LOCALE variable from
{/etc/sysconfig/kopano, /etc/default/kopano} and no longer passes it to
kopano-storeadm invocations.
* Instead, kopano-storeadm reads default_store_locale", from admin.cfg, on its
own now, thereby making the behavior of kopano-storeadm consistent between
automatic invocations from kopano-server and manual invocations from a
command prompt. [KC-1262]
8.6.7 (2018-08-14)
==================
Fixes:
* gateway, spooler: (re-)activate RFC 2047 header generation
(Outlook is still unable to read the RFC 2231 headers that
are generated normally) [KC-1226]
* srvadm: make --purge-softdelete=0 work
Enhancements:
* dagent: advertise 8BITMIME/RFC6152 support [KS-41452]
Changes:
* PHP function mapi_icaltomapi now returns MAPI_E_TABLE_EMPTY
rather than MAPI_E_INVALID_PARAMETER when the .ics file has no (usable)
appointments. [KC-1227]
8.6.6 (2018-07-31)
==================
Fixes:
* server: avoid SSL crash near ERR_clear_error on shutdown [KC-1132]
* ical: recognize quotes in Content-Type charset [KC-1198]
8.6.5 (2018-07-23)
==================
Fixes:
* kopano-mr-accept.py: preserve categories when processing MR [KC-1195]
* config: update server.cfg comment for owner_auto_full_access [KC-1190]
* php7-ext: cure stack corruption in mapi_vcftomapi [KC-1218]
* gateway: avoid uncaught exception when client disconnects midway [KS-41342]
* dagent: avoid always running into K-2383 [KC-1219]
8.6.4 (2018-07-17)
==================
Fixes:
* build: fix expansion of @PKGLIBEXECDIR@ [KC-1217]
* backup: fix differential deletes [KC-1207]
* installer: use pidfile in all cases for RH6 init script
* backup: don't delete while looping
* common: kopano_dcgettext_wide needs additional UTF-8 hint [KC-1196]
8.6.3 (2018-07-06)
==================
Fixes:
* ical: hopefully cure uncaught exception on OpenBSD
* ical: handle double quotes in Content-Type header [KC-1198]
* server: repair broken timing log messages for ldapplugin [KS-41082]
Enhancements:
* client: now emits warnings about own incomplete PR_RULES_DATA processing
* inetmapi: now emits a warning when runtime vmime is too old [KC-1124]
* server: fewer stat calls to the attachment backend [KC-1192]
Changes:
* dagent: default for log_timestamp changed to "yes" [KC-1152]
8.6.2 (2018-06-07)
==================
Includes changes until including 8.5.z.
Fixes:
* installer: remove duplicate defaults from sample config
* icalmapi: allow RRULE with DTSTART having zulu-marking [KC-414, KC-811]
* icalmapi: do not mark timestamp as UTC when we explicitly give a
timezone [KC-920, KC-1018]
* icalmapi: do not write empty fields to VCF files [KW-2503]
* scripts: follow symbolic links when running user/group/company scripts,
and run them in lexicographic order [KC-1171,KC-1172]
* common: force Unicode for internal string translations [KC-1140]
* common: remove bin2hex warning [KC-1178]
Enhancements:
* libicalmapi: allow some properties to be missing when serializing ADR
* kopano-dbadm: default to a loglevel so all dbadm messages get shown [KC-1167]
8.6.1 (2018-04-05)
==================
Includes changes from 8.5.6.
Fixes:
* swig: fix type error in SaveChanges(FILETIME, FILETIME)
* storeadm: honor config file and SSL parameters
Enhancements:
* pyko: add Python 3.4 compatibility
8.6 (2018-03-08)
================
Enhancements:
* spooler: rules support testing for out-of-office flag [KC-119]
* kopano-spamd: new daemon for spam learning in Kopano/SpamAssasin [KC-666]
* kopano-oof: new utility for Out Of Office [KC-981]
* kopano-storeadm: new utility replacing the store functions
of kopano-admin [KC-982]
* server: JSON Web Token support via OpenID Connect [KC-898]
* daemons: added the --dump-config option [KC-1023]
* inetmapi: ensure all generated messages has a Message-ID [KC-989]
* gateway: handle a zero-length PR_TRANSPORT_MESSAGE_HEADERS property
as if it was absent [KC-979]
Changes:
* gateway: generate Internet headers if missing [KC-979]
* inetmapi: ensure all messages have a Message-Id [KC-989]
Fixes:
* monitor: changed inconsistency in soft/hard template for
user/company [KC-795]
8.5.z
=====
Enhancements:
* spooler: allow hard termination via repeated Ctrl-C
8.5.9 (2018-05-16)
==================
Changes:
* daemons: disable SSL renegotiation for OpenSSL 1.1+
* server: invalid port strings are now rejected
* client: quiesce verbose logon failure messages
* installer: set default and UTF-8 locale for services [KC-840, KC-1140]
Fixes:
* dbadm: recognize -c option properly
* libserver: drop all remains of clientupdatestatus table [KC-644]
* dbadm: fix np-defrag crash when run on blank database
* dbadm: fix np-defrag freemap handling [KC-1126]
* gateway: fix crash when new client immediately disconnects
* mapi: avoid garbage at end of malformed RTF [KC-1142]
Enhancements:
* dbadm: add timestamps to log messages
* dbadm: speed up np-defrag by using a reverse run
* dbadm: add helper index creation/removal as an explicit action
* dbadm: ad-hoc progress meter during operation
* dbadm: support mid-way program termination [KC-1156]
* dbadm: add np-remove-unused action
* propmap: expose kopanoHidden LDAP attribute as PR_EC_AB_HIDDEN [KC-63]
8.5.8 (2018-04-18)
==================
Enhancements:
* dbadm: np-repair-dups will now iterate over more tables that have proptags
* dbadm: handle overlapping proptags in np-repair-dups [KC-1126]
* dbadm: respect log_level from server.cfg (e.g. log_level=0x10006 to print
SQL queries)
8.5.7 (2018-04-18)
==================
Fixes:
* Fix crash due to ODR violation [KF-1245,KC-379]
Enhancements:
* kopano-dbadm: new diagnostics program for offline database
modification
* kopano-server: allow use of --ignore-da to skip schema update that won't
complete (log id K-1221) [KC-1123]
* build: support ICU 61
8.5.6 (2018-04-05)
==================
Fixes:
* backup: ignore error when server cannot find attachments [KC-1056]
* server: search folders were not loaded on startup [KC-1074]
* monitor: handle absence of config file [KC-1095]
* dagent: do not treat -d option like -c was given [KC-1096]
* server: fix a case where an old kopano-server would refuse to
start with a newer database even if --ignore-da was used
* server: fix server/client getting slower when named properties
are created multiple times [KC-1108]
* client: fix data corruption when server returns high named property
IDs [KC-1107]
Changes (generally requires admin action):
* inetmapi: stop treating empty indexed_headers as "X-*" [KC-1107]
* dagent: cease indexing X-Headers by default [KC-1107]
* dagent: turn indexed_headers from a prefix list into an exact-match set
[KC-1107]
* If you need certain e-mail headers copied into named properties, they MUST
be explicitly listed _one by one_ in dagent.cfg:indexed_headers now.
Enhancements:
* server: reorder SQL log messages so the error is shown first,
and do say when the message was truncated [KC-1053]
8.5.5 (2018-03-07)
==================
Fixes:
* unixplugin: fix email resolving to multiple users [KC-1066]
* dagent: loglevel was erroneously reduced [KC-1030]
* gateway: check for illegal folder names that crashed the process [KC-1064]
* gateway: slightly improve error reporting around IMToINet
* gateway: make SELECT read the mails stored in the selected folder
* spooler: reduce harmless plugindir warning to info
8.5.4 (2018-02-28)
==================
Fixes:
* libicalmapi: handle BDAY VCF property [KC-1058]
* libicalmapi: add REV VCF property [KC-1058]
* libserver: restore PR_EMS_AB_HOME_MDB [KS-40005]
8.5.3 (2018-02-20)
==================
Fixes:
* php: pass mailuser to ParseICal; this is needed to deduce
the organizer address
* php: fix wrong initialization of a bool variable
* admin: --user-count failed to print user counts [KC-1048]
* server: fix broken cache handling for ICS bulk restriction matching [KC-912]
Enhancements:
* php: add "ignore_missing_attachments" to sending_options [KC-704]
Release notes for 8.5.2 (2018-02-16)
====================================
Fixes:
* spooler: avoid deadlock due to double mutex acquisition within
one thread [KC-815]
* php: mapi_icaltomapi did not copy the iCal recipients to the MAPI object
* archiver erroneously forgot to create its SQL tables on first use
* server: stop complaining about server_tcp_port when that is not specified [KC-1038]
Release notes for 8.5.1 (2018-02-13)
====================================
Enhancements:
* server: emit log message when LDAP is missing server info objects [KC-1021]
Release notes for 8.5.0 (2018-02-05)
====================================
Enhancements:
* server: new "server_listen" directive replacing "server_bind" [KC-645]
* server: stronger keep-alive [KC-888,KC-890]
* server: further general performance improvements
[KC-62,KC-181,KC-889,KC-892,KC-893]
* server: update PR_LOCAL_COMMIT_MAX on hard-deletes [KC-770]
* server: speed up contact and search folder querying [KC-265,KC-941]
* server: skip some unnecessary attachment accesses [KC-769,KC-794]
* spooler: introduce indexed_headers config directive [KC-948]
* search: pass "limit_results" to xapian to improve performance [KC-786]
* search: optionally index draft folders [KC-787]
* unixplugin: support multiple non_login_shells [KC-824]
* unixplugin: add /sbin/nologin as a non_login_shell
(new installs only) [KC-824]
* gateway: RFC 6154 support [KC-857]
* dagent: a Python version of kopano-autorespond is available [KC-861]
* kopano-spamd: new program [KC-666]
* icalmapi: support URL, NICKNAME, PRODID in vcards
* php: extend mapi_feature with ST_ONLY_WHEN_OOF [KC-970]
Fixes:
* gateway: generate envelope using inetmapi if not present yet [KC-607]
* spooler: only evaluate rules that are explicitly enabled using
PR_RULE_STATE [KC-963]
* search: supply a HOME environment (tmpdir) when running
conversion tools [KC-331]
Changes:
* Support for Debian 7 ended [KC-736]
* /etc/kopano is no longer prepopulated, create .cfg manually if you need to
override anything [KC-681, KC-978]
* server: remove support for upgrading databases older than ZCP 7.2 [KC-839]
* gateway: use threaded mode for reduced memory usage on many-user systems
(new installs only) [KC-768]
* gateway: the "imap_store_rfc822" config directive is removed
[KC-964]
* server: the "counter_reset" config directive is removed [KC-960]
* spooler: the "always_send_utf8" config directive is removed [KC-901]
* client: MAPI provider configuration moved from /etc/mapi to /usr/lib/mapi.d
Packager notes:
* libical 3.x support [KC-920]
Release notes for 8.4.7
=======================
Fixes:
* php: do return true when AbortSubmit succeeded [KW-2087]
Release notes for 8.4.6 (2018-02-02)
====================================
Fixes:
* common: restore support for binary data in RTF [KC-969]
* libserver: store size for orphaned stores was reported incorrectly [KC-984]
* client: have OpenEntry check for NULL entryids and entryids too
short [KC-932]
* dagent, client: fix nonfunctional HTML filter [KC-953]
* common: switch logging to stderr when pipe dies [KC-815]
* spooler: avoid printing garbage when non-worker child exits [KC-815]
Release notes for 8.4.5 (2017-12-15)
====================================
Fixes:
* treewide: avoid freeing ADRLIST garbage pointers [KC-927]
* libserver: fix waiting for ntlm_auth forever [KC-916]
* libserver: fix use after free in ECCacheManager::GetPropFromObject
[KC-60, KC-177, KC-355, KC-669, KC-754]