-
Notifications
You must be signed in to change notification settings - Fork 41
Expand file tree
/
Copy pathChangeLog.sql
More file actions
1612 lines (1426 loc) · 76 KB
/
ChangeLog.sql
File metadata and controls
1612 lines (1426 loc) · 76 KB
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
# 5.5
* Improvements:
- New setting `NO_PROXY`, used to specify hosts which shouldn't be reached
via proxy (the `HTTP_PROXY` setting).
* Fixed issues:
- Not remove relevant records from `moderators` table while removing
mailing list.
- Used quota is always empty if email address contains upper cases.
- Can not close modal window.
# 5.4
* RESTful API:
+ `GET /api/users/<domain>`: Export used quota info.
* Fixed issues:
- [API] Disabling domain causes losing inbound BCC email address.
- Can not save few per-admin privileges.
- Not respect server wide min/max password lengths while adding new user.
- tools/cleanup_amavisd_db.py: Can not clean up old SQL records if
column "quar_type" value is null.
# 5.3
+ Ship Python module web.py (github.com/webpy/webpy, public domain).
* RESTful API:
+ Able to reset passwords of all users under same domain.
* Improvements:
+ New: tools/promote_user_to_global_admin.py, used to promote an
existing mail user to be a global admin.
- New config parameter: SET_PASSWORD_CHANGE_DATE_FOR_NEW_USER.
Set password last change date for newly created user. Defaults to True.
If you want to force end user to change password when first login or
send first email (with iRedAPD plugin `*_force_change_password`),
please set it to False.
* Fixed issues:
- Can not delete user if email address ends with a whitespace.
- Domain admin can still login when domain is disabled.
Thanks Linh Phan for the feedback.
- tools/upgrade_iredadmin.sh: incorrect uwsgi path on CentOS 8.
- tools/reset_user_password.py: Not set password last change date when
reset user password.
+ Translations:
- New: Swedish (sv_SE).
Thanks Anders Johansson <johansson _at_ aljmedia.se>.
# 5.2
* Improvements:
- Return server-side-render text for new mailing list subscription API.
- Add link to mailing list profile page in "Top Senders" section on
Dashboard page.
- Support custom email notification template file on server deployed
with iRedMail Easy platform:
`/opt/iredmail/custom/iredadmin/notify_quarantined_recipients.html`
* Fixed issues:
- Normal admin can view all admin's activities.
- Default uwsgi buffer size (4096) for iRedAdmin may be too small if
iRedAdmin is running behind a proxy server. Increased to 8192 now.
Thanks Marcel for the feedback.
- Can not list disabled domains.
Thanks Linh Phan for the report.
- Programming error while accessing newsletter subscription page.
# 5.1
* Improvements:
- tools/import_users.py now supports employee id.
* Fixed issues:
- Removing domain should not remove all email forwarding destinations
which are users under the removed domain.
Thanks to Anzulo1984@GitHub for the report.
- Disallow non-ascii characters in email username and domain name.
- Not support email address with IP address as domain name. For
example, `user@[192.168.1.1]`.
# 5.0
* Fixed issues:
- RESTful API: Updating user profile causes empty value of SQL column
`mailbox.mailboxfolder`.
- Self-service: missing pagination on moderated mailing lists page.
- Settings stored in SQL db does not work in command line tools.
- Domain admin was able to set unlimit mailbox quota for user even
there's a domain-level mailbox quota.
- Error displaying banned rules if it's empty.
Thanks to laiyukwa@GitHub for the report.
- Invalid function argument while calling API to create new user.
Thanks to Dmitriy Maksimov for the report.
- Can not set per-user and per-domain banned rules.
Thanks to Peter Schumacher for the report.
- Not correctly display number of banned IP addresses on Dashboard page.
- Not disable web browser autocomplete feature for input fields like
username and passwords while creating new account.
- Not correctly detect new version and display a button to request
download link.
* Updated translations.
+ Danish (da_DK). Thanks Søren Mortensen <sm _at_ upnavigator.dk>.
= 4.9 =
* Improvements:
- Able to enable or disable per-user SOGo webmail, calendar and
activesync service.
- Allow to assign Amavisd ban rules to user, domain or globally.
FYI: https://docs.iredmail.org/iredadmin-pro.custom.ban.rules.html
- Able to view all users' last login dates, including imap/pop3 login,
and latest delivered message.
- Add link to system settings in "About mail logs" modal.
* Fixed issues:
- Can not correct display time stamp in "Sent/Received Emails" page.
- It now allows omit mailbox folder name while creating new user.
- Admin can not update (subscribeable) mailing list owners and
moderators.
= 4.8 =
* Improvements:
+ (base64) Decode log lines stored by Fail2ban.
+ Able to limit max recipients of single message.
Note: iRedAPD-5.0 is required.
+ Standalone admin account now has timezone setting.
+ Self-service: able to manage owned or moderated mailing lists,
including updating profile, members, newsletter-style subscription.
Thanks to Konrad Oleksinski for the sponsorship.
+ Able to log to stdout. Thanks to tms0@GitHub.
+ Activities are logged to SQL db by default, it now logs to
syslog/stdout too.
* Fixed issues:
- Not update moderator and owner of mailing list while changing user's
email address.
- Not reject emails before queue if user is marked as not to accept
emails.
- tools/cleanup_amavisd_db.py: Not correctly remove old records.
- tools/import_users.py: can not import users correctly with Python 3.
* Updated translations.
+ Spanish (es_ES). Thanks Gonzalo Meneses (alakentu@github).
= 4.7 =
* Fixed issues:
- No menu item to visit rejected smtp sessions.
- Error while searching mail accounts.
- Not keep pagination on rejected smtp sessions page.
- Error (in some cases) while sending notification emails to recipients
of quarantined messages.
- Error while viewing quarantined mails.
- Error while exporting per-domain accounts.
- Error while whitelisting IP for senderscore service.
- Error while converting timestamp to local timezone.
- Error while sending notification to recipient of quarantined mails.
= 4.6 =
* Improvements:
- Able to search mailing list account.
* Fixed issues:
- Error while deleting all admin activitys (`Activites -> Admin Log`).
- Can not view quarantined mail message.
- Error while searching mail accounts.
- Can not view user profile if domain has mulitple mail alias accounts.
- Several errors in upgrade script `tools/upgrade_iredadmin.sh`.
= 4.5 =
* Improvements:
- Python-3.5 or later is required. Python-2 support has been dropped completely.
* Fixed issues:
- Cannot always successfully start `iredadmin` service on FreeBSD.
- Can not get count of banned IP addresses in some case.
- Not validate whitelist addresses for greylisting service.
- Not remove non-existing addresses in same domain while updating
per-domain catch-all addresses.
- Can not set relay without verifying local recipients.
- Fix few functions which takes no keyword arguments.
- Not validate existence of local email address(es) while updating
per-user BCC addresses.
- Not keep pagination after performed action on user list page.
- `Top Senders` on Dashboard page doesn't work.
* Updated translations.
- Japanese (ja_JP). Thanks Osakana Taro (osakanataro@github).
- Danish (da_DK). Thanks Søren Mortensen <sm _at_ upnavigator.dk>.
= 4.4 =
* RESTful API:
+ Able to whitelist IP for senderscore checking (applied by iRedAPD
plugin `senderscore`) on `SMTP sessions` page.
- URL: `PUT /api/wblist/senderscore/whitelist/<ip>`
+ Able to whitelist IP for greylisting service (applied by iRedAPD
plugin `greylisting`) on `SMTP sessions` page.
- URL: `PUT /api/greylisting/global/whitelist/<ip>`
* Improvements:
- Display max user quota besides the "Default quota of new user" input
field for normal admin.
- Able to view log lines which triggered the ban by Fail2ban.
- Able to view reverse DNS name of banned IP address.
- Able to specify hours of statistics data on Dashboard page with
parameter `STATISTICS_HOURS`, defaults to `24` hours.
- Create connection to iRedAPD database only once.
- Able to verify CRYPT-SHA-512 password hash (handled by 'doveadm pw').
* Fixed issues:
- Incorrect time zone for Turkey/Istanbul, it's now GMT+03:00.
- The sender of subscription confirmation was hard-coded to
`no-reply@localhost.local`, it's now set to mailing list itself.
- SMTP session time is not rendered with correct time zone.
- If either parameter `amavisd_enable_logging` or
`amavisd_enable_quarantine` is set to False, daily cron job
`tools/cleanup_amavisd_db.py` will not run.
= 4.3 =
* Improvements:
- Able to unban IP addresses.
Note: If your server was deployed with iRedMail Easy platform,
this should be enabled by default. If deployed with the
downloadable iRedMail installer, please follow our tutorial to
configure Fail2ban to store banned IP in SQL database:
https://docs.iredmail.org/fail2ban.sql.html
- Able to manage alias addresses for mailing list account.
- Failed login will be logged to syslog.
- It now display last login time of both IMAP and POP3 logins.
* Fixed issues:
- Not disable access to per-user or per-domain (Sent/Received Mails)
activity pages if admin is disallowed to view the activities.
* Updated translations.
- New: Latvian (lv_LV). Thanks Juris BALANDIS (JurisBALANDIS@GitHub).
- Triditional Chinese (zh_TW). Thanks WildfootW@GitHub.
- Simplified Chinese (zh_CN).
= 4.2 =
* RESTful API:
- Fixed: resetting mail forwarding (with `forwarding=`) generates
incorrect SQL record.
* Improvements:
- Allow to mark domain as backup mx without specifying primary mx
(Postfix will query DNS record to get primary mx).
- Normal admin can not set min/max password lengths shorter/longer than
global settings.
- Able to disallow normal admin to manage min/max password lengths.
- Able to view banned IP addresses (in Fail2ban).
Note: This is available only when you setup iRedMail server with
iRedMail Easy platform.
* Fixed issues:
- Not store password last change date while updating user password
via RESTful API.
- Not correctly remove user profiles while iRedAPD and Amavisd are
disabled.
- Modified incorrect settings while updating admin profile.
= 4.1.2 =
* Fixed issues:
- Can not save mail forwarding addresses.
- Incorrect pagination on smtp outbound session history page.
- Incorrect pagination on disabled mail alias account list page.
= 4.1.1 =
* Fixed issues:
- Can not save a copy of forwarded messages.
Thanks Mark (mark _at_ bluebanana.com) for the feedback.
= 4.1 =
* RESTful API:
- Able to add new or remove existing mail forwarding addresses.
- URL: `PUT /api/user/<mail>`
- Parameter names: `addForwarding`, `removeForwarding`
* Improvements:
- Disallow few characters in local accounts' email addresses: +, =, /.
- Simplify uwsgi log format.
* Fixed issues:
- Incorrect syslog id in uwsgi config file.
- Log of outbound session with sasl_username filter doesn't work.
- Incorrect pagination on smtp session history page.
= 4.0 =
* Improvements:
- Display number of smtp authentications and rejected smtp sessions
on Dashboard page. NOTE: This feature requires iRedAPD-3.2.
- Display detailed logs of smtp authentication and rejected smtp
sessions. NOTE: This feature requires iRedAPD-3.2.
* Fixed issues:
- Not correctly convert mail alias account to subscribeable mailing list.
- Can not whitelist/blacklist top-level domain name like `.com` as
reverse DNS domain name.
- Can not correctly count in/out emails.
= 3.9 =
* Fixed issues:
- Do not display menu `System -> Settings` for normal admin.
Thanks Eckehardt Riedel <e.riedel _at_ webserv-it dot de> for the
feedback.
- Pagenation on mailing lists page doesn't work.
- Per-domain password length is not applied.
- Admin log page doesn't work in some cases.
- tools/upgrade_iredadmin.sh: not set correct syslog socket on FreeBSD.
= 3.8 =
* Fixed issues:
- Not correctly update spam policy to quarantine detected virus.
- Not ignore white/blacklists which contain non-ascii chars.
- Not display password last change date with correct time zone.
= 3.7 =
* Improvements:
- tools/bulk_import.py: able to disable https SSL cert verification.
* Fixed issues:
- Can not filter existing email addresses due to a programming error.
Thanks to sfletcher for the report in forum.
= 3.6 =
* RESTful API:
- Able to manage global, per-domain and per-user whitelists and
blacklists.
- Fixed: Not check whether mail alias account exists before updating
profile.
Thanks David Good <dgood _at_ willingminds.com> for the report.
* Improvements:
- iRedAdmin-Pro now logs error message to syslog, facility "local5".
- Able to verify SHA512-CRYPT password hash with `doveadm pw` command.
* Fixed issues:
- Can not save mail alias members with extension (e.g.
user+folder@domain.com).
- If user is disabled, newly added forwarding addresses were not disabled.
- Activating a disabled mail alias account doesn't activate its members.
Thanks Susan for the report and firming video to help reproduce the
issue.
- Can not delete mail alias account on search result page.
Thanks marius.timukas for the report in forum.
- Not correctly enable disabled user.
* Misc:
- File renamed: tools/bulk_import.py -> tools/import_users.py.
= 3.5 =
* RESTful API:
- Able to create mail user with a password hash instead of plain
password (parameter name `password_hash`).
- Fixed: can not update max message size of subscribeable mailing list.
- Fixed: can not update per-user services.
Thanks Christopher Dent <chris _at_ grolis.com> for the report.
* Improvements:
+ Display user last login date on search result page.
Note: it requires additional setup by following this tutorial:
https://docs.iredmail.org/track.user.last.login.html
* Fixed issues:
- Not correctly redirect to mailing list profile page on `System ->
Received Mails` page.
- Can not save outbound throttle setting in some cases.
- Improper tooltip text for viewing/editing domain profile on domain
list page.
- Not correctly get first character of account email addresses.
- Not convert values of global settings returned by SQL query to
correct formats.
- Do not log error message if python module netifaces is not available.
- Do not log error message for PostgreSQL backend if no sql table
`vmail.last_login`.
- tools/cleanup_amavisd_db.py: not establish proper SQL connection.
- tools/update_mailbox_quota.py: not read quota size correctly.
- tools/bulk_import.py: read mail user accounts from text file and
import them with the RESTful API interface.
= 3.4 =
* RESTful API:
* Always return user last login date.
URIs:
- `GET /api/user/<mail>`
- `GET /api/users/<domain>`
* Improvements:
+ Correctly show first character of existing mail addresses on
user/maillist/alias account list page.
+ Display user last login date on user list page and profile page.
Note: This requires Dovecot config change, please follow our
tutorial here: https://docs.iredmail.org/track.user.last.login.html
+ Store and manage few iRedAdmin-Pro settings in SQL db.
Updating iRedAdmin-Pro config file `settings.py` still works, but
settings in SQL db have higher priority.
+ tools/export_last_login.py: used to export user last login time.
Note: You need to follow this tutorial to enable last_login plugin in
Dovecot: https://docs.iredmail.org/track.user.last.login.html
* Fixed issues:
- Not display the saved value for disabling account creating in
domain profile page.
- Can not get first character of username/domain with PostgreSQL 8.x
on CentOS 6.
Thanks Stanislav Studený <studeny _at_ vut.cz> for the report and fix.
- Can not limit number of mailing lists while creating mail domain.
- It counts virus email which is not quarantined in SQL db.
= 3.3 =
* RESTful API:
* Able to update account status of mail alias account.
URI: `PUT /api/alias/<mail>`, parameter `accountStatus`
* Able to update per-user sender/recipient bcc.
URI: `PUT /api/user/<mail>`
* Able to get all users' and aliases' profiles of given domain.
URI: `GET /api/users/<domain>`
URI: `GET /api/aliases/<domain>`
* Improvements:
+ Able to sort mail users by display name.
* Fixed issues:
- tools/delete_mailboxes.py:
- (python) syntax error when removes mailboxes without timestamp
in maildir path.
= 3.2 =
* Fixed issues:
- Not correctly remove user from subscribed mailing list while
removing mail user.
- Can not filter admin activity log.
- Not correct detect allowed IP for global admins.
Thanks Ralph Hensel <ralph.hensel _at_ convar.com> for the report in
iRedMail Easy platform.
- Can not delete all quarantined emails in database.
- Not remove user from subscribed mailing lists while removing user.
- Can not request download link of new iRedAdmin-Pro release.
- tools/delete_mailboxes.py: not verify whether the maildir of removed
user contains other user's mailbox.
* Translations:
- Updated: German (de_DE).
Thanks Martin Hofheinz <info _at_ netzwerk-design _dot_ net>.
Thanks toxicvengeance @ github.
Thanks lug-gh @ github.
= 3.1 =
* Fixed issues:
- Incorrectly show featured relevant to Amavisd on domain profile page
when it's not installed.
- Not correctly parse quarantined email message.
- Upgrade script 'tools/upgrade_iredadmin.sh' doesn't correct restart
web service.
* Translations:
- Updated: German (de_DE).
Thanks Martin Hofheinz <info _at_ netzwerk-design _dot_ net>.
= 3.0 =
* RESTful API:
* Able to add subscribers while creating (subscribeable) mailing list.
* Able to add/remove subscribers while updating (subscribeable) mailing
list.
* Able to get all subscribers of given mailing list with optional
parameter `with_subscribers=yes`:
- URI: `GET /api/ml/<mail>?with_subscribers=yes`
* Able to list all mailing lists in given domain:
- URI: `GET /api/mls/<domain>`
- Optional parameters:
- `email_only=yes`: if present, return a list of mailing list
email addresses. Otherwise return a list of mailing list
profiles.
* Able to set mailbox format, mailbox folder name, full maildir path
while creating/updating user:
- URLS:
- `POST /api/user/<mail>`
- `PUT /api/user/<mail>`
- Parameters: `mailboxFormat`, `mailboxFolder`, `maildir`.
* Show mailbox size and number of stored messages while getting user
profile:
- URI: GET /api/user/<mail>
- New parameter names: stored_bytes, stored_messages.
* Show assigned mail alias groups and mailing lists while getting user
profile:
- URI: GET /api/user/<mail>
- New parameter names: mailing_aliases, mailing_lists.
* Able to reset user password by submitting a password hash
(`PUT /api/user/<mail>`, parameter `password_hash`).
* Fixed issues:
- Cannot verify password: `POST /api/verify_password/user/<mail>`.
- Not correctly set date to deleted mailboxes while deleting a
domain (`DELETE /api/domain/<domain>/keep_mailbox_days/<number>`)
Thanks Wes Cossick <wes _at_ hoa-express.com> for the report.
* Improvements:
+ Able to export statistics of admins.
+ If new password doesn't match policies, display error messages of
all unmatched policies.
+ Spam policy: able to set score for blocking/quarantining detected
spam.
+ On search result page, now able to set days to keep mailbox of
removed domain and user accounts.
+ Able to define days to keep removed mailbox for normal domain admin
and global admin.
With default settings, normal admin can keep mailbox for 1 day,
1/2/3 weeks, 1/2/3/6/12 months.
Global admin can keep mailbox for 1 day, 1/2/3 weeks, 1/2/3/6/12
months, 2/3 years, and 'forever'.
+ Display user password last change date on user list page and user
profile page.
+ Able to set mailbox format while creating new user.
+ New: tools/dump_quarantined_mails.py, used to dump quarantined
emails to the directory given on command line. It's useful if you
want to train SpamAssassin by calling `sa-learn`.
* Fixed issues:
- While deleting a domain, it removes all forwarding destinations
addresses under this domain, but it should be kept for those
forwarding source addresses which don't belong to removed domain.
- When login as normal admin, it lists global admins in the per-domain
admin list page.
- Normal domain admin should not be able to update max user quota.
- Cannot correctly sort domain names on domain list page.
- Cannot unassign user from external mail aliases on user profile page.
- Cannot filter admin log.
- Cannot set throttle setting to inherit from lower priority account.
- Not strip leading and ending spaces in search string.
- Incorrectly delete assigned external mail alias groups while updating
mail user profile.
- Cannot disable imap service per user.
- Not correctly set spam policy to deliver detected
spam/virus/badheader/banned mail to mailbox while quarantining is
disabled.
- Not delete all emails of selected quarantined type (e.g. spam,
virus). It deleted all emails no matter which quarantined type you
are viewing.
- Not handle service name 'pop3tls' and 'imaptls' for Dovecot-2.3.
- Not use AMAVISD_QUARANTINE_HOST as mlmmj relay host if a remote
Amavisd server is used.
- tools/notify_quarantined_recipients.py:
- Cannot generate email message if quarantined mail subject
contains non-ascii characters.
- Not correctly handle mail subject in some case.
* Translations:
- New: Danish (da_DK). Thanks Søren Mortensen <sm _at_ upnavigator.dk>.
- Updated: German (de_DE). Thanks lug-gh on github.
= 2.9.0 =
* RESTful API:
* Show allocated domain quota while getting domain profile
(`GET /api/domain/<domain>`).
* Able to manage alias domains while updating domain profile
(`GET /api/domain/<domain>`):
* `aliasDomains`: reset all alias domains
* `addAliasDomain`: add new alias domains
* `removeAliasDomain`: remove existing alias domains
* Parameter names changed while updating domain profile
(`PUT /api/domain/<domain>`):
* `enableService` was renamed to `addService`
* `disableService` was renamed to `removeService`
* `removeAllServices` was renamed to `services`
* Improvements:
- mlmmj mailing list integration. Mailing list is now subscribable via
email or web.
Admin can migrate existing mail alias account to subscribable mailing
list in account profile page, all profiles (members/moderators,
access policy, etc) will be fully migrated.
- Able to export all managed accounts with one click.
- Able to disable domain ownership verification per admin for newly
created domain.
- Able to disable normal domain admin to view mail log and manage
quarantined mails.
* Fixed issues:
- Not correctly set spam policy while no options were updated.
- self-service: user cannot update white/blacklists while removing
log of received/sent mails.
Thanks Jochen Häberle <jochen _at_ haeberle _dot_ net> for the
feedback in forum.
- Not delete records which use removed mail accounts as destination bcc
address.
- Not display stored messages and size in user profile page if user has
unlimited mailbox quota.
- Cannot set user mailbox quota to unlimited by leaving the input field
empty.
- Cannot correctly indicate managed domains in user profile page.
Thanks Slawomir Wrobel <slawek _at_ studio-it.pl> for the report.
- Filter on domain list page shows only first letter of all existing
domains instead of hard-coded letters.
- Dead link used to display greylisting tracking data.
- Per-user bcc settings were removed while updating per-domain bcc
settings.
- Email address with extension is considered as not existing.
- Not correctly display indicator of mail forwarding in search result
page.
Thanks Luke6283 <support _at_ sbcjolley.com> for the report in forum.
- Not correct set spam policy if `Quarantine spam` is not checked in
spam policy setting page.
Thanks Jorge <jorge _at_ bsd.com.br> for the report in forum.
- Normal admin cannot edit user mailbox quota.
Thanks Adil Demiri <adil _at_ sgn.net> for the report.
- tools/notify_quarantined_recipients.py: Cannot get correct timestamp
of quarantined emails.
- tools/cleanup_amavisd_db.py: endless loop in some case with
PostgreSQL.
* Translations:
- Update German (de_DE). Thanks Peter <info _at_ nuw.biz>.
- Update Italian (it_IT). Thanks Francesco <frankonet _at_ infinito.it>.
= 2.8.0 =
* RESTful API:
+ NEW: Able to list all managed domains (/domains).
+ NEW: Able to manage per-usre enabled mail services (/user/<mail>).
+ NEW: Able to promote mail user to be a global admin (/user/<mail>).
+ Enhancement: Return managed domain names while getting user (must
have admin privilege) or admin profile.
* Improvements:
- Able to filter domains in the "Managed Domains" section on user/admin
profile page.
* Fixed issues:
- RESTful API:
- It always requires password while updating domain admin profile.
- Cannot view domain list and domain profile with MariaDB-10.x.
Thanks Torkil Liseth <torkil.liseth _at_ gmail.com> for the feedback.
- Not delete records in `forwardings` table while removing mail alias
account.
Thanks lamagra <slawek _at_ studio-it.pl> for the report in forum.
To delete dead / orphan mail alias accounts, please run SQL commands:
USE vmail;
DELETE FROM forwardings WHERE is_list=1 AND address NOT IN (SELECT address FROM alias);
- Cannot update per-domain bcc if there's alias domain.
- Not return 'INVALID_CREDENTIALS' if login with a not-existing domain
name.
- If login as normal domain admin, search result will return matched
accounts not in managed domain.
- If a mail user is marked as domain admin with privilege to mark other
user as admin, it's able to assign user to any domain hosted on
server.
- Cannot use '*@domain.com' as alias moderator.
- Cannot save wildcard sender addresses for whitelist/blacklists.
- Top 10 Senders/Recipients show non-local users.
- Not correctly paginate domain list.
- Cannot store maildir path of removed user due to incorrect variable
type.
- Not use current date as password last change date for created user.
- Cannot update per-domain throttle settings.
= 2.7.0 =
* RESTful API:
+ NEW: Able to manage global, per-domain and per-user greylisting
settings, whitelist senders, and global whitelisted SPF domains.
* Improvements:
- While removing mail user account, option 'Keep (mailbox) forever'
now log a null delete date instead of keeping for 100 years.
Thanks mejo <jonas _at_ freesources.org> for the feedback in forum.
- Able to manage whitelists/blacklists based on reverse DNS name of
sender server IP address.
Sponsored development by Daniel Senie <dts _at_ amaranth.com>.
- Able to search accounts based on per-user alias address and mail
forwarding address.
- Display per-user alias addresses and mail forwarding addresses in
search result page.
- Able to define custom favicon.ico with parameter BRAND_FAVICON.
- Able to use CIDR network as whitelist/blacklists. e.g.
192.168.1.0/24, 2002::1234:abcd:ffff:c0a8:101/64.
Sponsored development by Daniel Senie <dts _at_ amaranth.com>.
- Able to generate and verify SHA512 password hash.
+ New: tools/reset_user_password.py, used to reset user password.
* Fixed issues:
- RESTful API:
- Not remove admin privilege after revoked domain admin privilege
if admin doesn't manage any domain anymore.
- Not correctly set per-domain enabled/disabled domain profiles.
- Cannot get per-domain sender dependent relayhost while getting
domain profile.
- Cannot correctly remove per-domain sender/recipient BCC settings.
- Cannot correctly reset per-domain transport if domain was marked
as backup MX.
- Not correctly update profiles (password, global admin privilege)
for standalone admin account.
- Cannot set per-user alias addresses while creating new mail user.
- Cannot add or remove per-user alias addresses while updating user
profile.
- User mailbox quota was removed while updating user profile.
Thanks Dorian Gutowski <dorian _at_ 604media.com> for the report.
- Not use default transport setting while creating new domain.
- Cannot remove user from assigned groups in user profile page.
- Not delete managed domains if user (which has admin privilege) after
revoked admin privilege.
- Not store plain password while user changing password -- if
iRedAdmin-Pro is configured to store plain password.
Thanks Sergio <sergio _at_ winc.net> for the report.
- Not remove per-account wblist/greylisting/throttle settings and
tracking data while removing account.
- Not correctly count accounts while listing accounts with first letter
of email address.
- Not correctly page if current account list page is filtered with
first letter of email address.
- Not remove throttle and greylisting settings while removing domains.
- Spam policy (quarantining) doesn't fully working.
- If user is assigned as moderator of mail alias account, after user
was removed, it still exists in alias moderator list.
- Not use custom settings while getting top sender/recipients on
Dashboard page.
Thanks nicolasfo <nicolas _at_ franceoxygene.fr> for the report.
- Not update backupmx status while disabling 'Relay without verifying
local recipients' in domain profile page, tab 'Relay'.
Thanks Luftar Braha <luftar.braha _at_ gmail> for the report.
- tools/notify_quarantined_recipients.py:
- Not convert time to local time zone.
Thanks roy.wong <roy.wong _at_ jmi.com.hk> for the report.
= 2.6.0 =
* Fixed issues:
- API:
- Cannot save a (email) copy while updating per-user mail forwarding.
Thanks Wes Cossick <wes _at_ hoa-express.com> for the report.
- Not correctly enable alias domain after domain ownership
verification.
- Should not require domain ownership verification if alias domain was
added by global admin.
- Not disable white/blacklisting actions in 'Quarantined Mails' page
if white/blacklist is disabled by domain admin in user preferences.
Thanks Rain <rain6966@gmail> for the report.
- Cannot create new mail user due to miss sql column name in 'GROUP BY'
statement.
+ tools/notify_quarantined_recipients.py:
- unicode error if mail subject contains unicode characters.
- unicode error if system default encoding is 'ascii'
Thanks Rain <rain6966@gmail> for the report.
- tools/upgrade_iredadmin.sh cannot create new MySQL table due to
missing required privilege.
= 2.5.0 =
* APIs:
* Several parameter names have been changed for simplification:
+ old: `cn` -> new: `name`
+ old: `mailQuota` -> new: `quota`
+ old: `preferredLanguage` -> new: `language`
* Variable names used in returned JSON data have been changed to avoid
possible namespace conflict:
+ old: {'success': ..., 'msg': ...}
+ new: {'_success': ..., '_msg': ...}
+ NEW: /api/users/<domain>: Update profiles for all users under domain.
+ NEW: /api/users/<domain>/password: Update all user passwords under domain.
+ NEW: /api/domain/admins/<domain>: manage domain admins.
+ NEW: Verify given (plain) password against the one stored in LDAP.
- /api/verify_password/user/<mail>
- /api/verify_password/admin/<mail>
+ NEW: /api/admin/<mail>: manage standalone domain admins.
+ Able to delete mail domain or user with option to keep mailboxes for
given days.
+ Able to update more domain profiles (/api/domain/<domain>):
+ default mailbox quota for new user.
+ max mailbox quota of newly created mail user
+ catch-all account
+ inbound and outbound relay
+ sender bcc, recipient bcc
+ set max number of users, aliases, mailing lists
+ disabled domain profiles
+ disabled user profiles
+ disabled user preferences
+ Able to update more user profiles (/api/user/<mail>):
+ mail forwarding
+ employee id
+ per-user alias addresses
+ Able to change email address of user/alias accounts.
+ Able to set members while creating mail alias account.
+ Able to update members while updating mail alias account.
+ Able to get profile of existing mail domain/user/alias.
+ NEW: Able to manage global, per-domain and per-user spam policy.
- Fixed: Cannot set per-domain quota while creating domain.
* Improvements:
+ Normal domain admin is now able to create new mail domains with
limits like number of max domains/users/alias/lists/quota.
Note: new mail domain added by normal domain admin requires domain
ownership verification. For more details, please check our tutorial:
http://www.iredmail.org/docs/iredadmin-pro.domain.ownership.verification.html
+ Able to use domain name as primary MX server (IP address is
recommended).
+ Able to enable/disable pop3/imap/smtp/sogo/managesieve services for
existing or newly created mail users under domain in domain profile
page.
+ Able to enable/explicitly disable greylisting for domain/user.
+ Able to schedule date to delete mailboxes while removing domain or
mail users.
Note: This feature requires a daily cron job to run
`tools/delete_mailboxes.py`.
+ Able to set access policy while creating mail alias account.
+ Able to set timezone while creating mail domain.
+ New: tools/update_password_with_csv.py, used to reset password by
reading password from CSV file (format: '<email> <password>').
+ tools/dump_disclaimer.py: able to dump disclaimer for alias domains.
+ tools/cleanup_amavisd_db.py: Huge performance improvement with dirty
read (SELECT) while cleaning up old records in Amavisd database.
+ tools/notify_quarantined_recipients.py:
+ able to track last notify time and notify for new quarantined
emails only.
+ able to notify users under backup MX domains with command line
argument '--notify-backupmx'.
+ correctly encode mail subject and sender name
* Fixed issues:
- SECURITY: iRedAdmin accepts any password on FreeBSD and OpenBSD
if password is stored in BCRYPT hash.
- Standalone admin account cannot change its own password.
- Standalone admin account can be an email address under locally
hosted mail domain. This causes conflict when there's a normal mail
user with same email address.
- Normal domain admin cannot view/update its own profile if it doesn't
manage its own domain.
- Not check current email address existence while changing account
email address.
- Not update sql column `mailbox.local_part` while changing account
email address.
- Not remove per-user alias addresses while removing user account.
- Cannot use domain name as Primary MX in backup mx setting page.
- Cannot delete mail user account due to incorrect PostgreSQL command.
- Cannot use non-ascii characters in mail subject and body of
notification mail used to notify local recipient of quarantined mails.
- Cannot search mail accounts with PostgreSQL backend.
- Normal domain admin can view or update global domain admin's profile.
- Cannot save submitted greylisting whitelists while there's a
duplicate sender inserted by `tools/spf_to_greylist_whitelists.py`.
Thanks Juan Bou Riquer <jbou _at_ cancun.com.mx> for the report.
- Incorrect pages while viewing disabled accounts.
Thanks to Li Wei <liwei _at_ bond520.com> for the report.
- Incorrectly count number of mail alias accounts in domain list page.
Thanks to Santosh Gupta <head.it _at_ satmatechnologies.com> for the
report.
- Separated normail domain admin cannot change its own password.
- Able to set unlimited mailbox quota when per-domain quota was set.
- Cannot handle mail alias members if some character is
in uppercase.
- Not specify path to python command to run 'tools/cleanup_db.py' in
upgrade script, this causes error in cron job.
- Incorrectly update domain backupmx status while updating profile
under tab 'General'.
- iOS devices may have problem with character '^' in password. we
remove it from allowed special character for randomly generated
password.
- Creating domain in invalid domain format causes 'internal server error'.
- Fix the html target="_blank" vulnerability.
* Translations:
- Update Traditional Chinese (zh_TW). Thanks rain <rain6966@gmail>.
- Update Simplified Chinese (zh_CN).
= 2.4.0 =
* RESTful API. Read document below for more details:
http://www.iredmail.org/docs/iredadmin-pro.restful.api.html
* Improvements:
+ Able to set limits of mail user/alias accounts while creating new
domain.
+ Able to search user alias address (name and email address).
+ Able to manage per-domain and per-user sender dependent relayhost.
+ Able to enable/disable SOGo service for a single user in user
profile page.
+ Bring back option 'Relay without verifying local recipients' for
per-domain relay setting.
+ Show progress bar in domain list page to indicate percentage of used
quota (and allocated quota).
+ Show a small icon as indicator:
- on domain list page: indicate certain domain has alias domain(s).
- on user list page: indicate current account has alias and
forwarding addresses.
Moving cursor on the icon will show more details like
alias/forwarding addresses.
* Fixed issues:
- Not remove email address which contains invalid character while
updating alias members/moderators.
- Cannot convert invalid date/time to local time.
- Not add required header (Content-Type: text/html) for web pages.
- Not correctly handle submitted alias moderators.
- tools/cleanup_amavisd_db.py: Not correctly delete unreferred sql
records in Amavisd database, this bug may incorrectly delete some
whitelists/blacklists.
- Cannot correctly sort mail users by used quota of mailbox with
PostgreSQL backend.
Thanks Andris Vasers <andris.vasers _at_ rigasvilni.lv> for the report.
- Updating per-domain and per-user greylisting setting will delete
greylisting whitelisted domains.
* Updated translations:
+ Spain (es_ES).
Thanks Juan Bou Riquer <jbou@cancun.com.mx>.
= 2.3.1 =
* Fixed issues:
+ Not correctly strip email addresses which contains delimiter.
= 2.3.0 =
* Completely remove support for Policyd and Cluebringer.
iRedMail shipped Policyd in very early releases, THANK YOU. GOODBYE.
* tools/wblist_admin.py has been removed, it's available in iRedAPD-1.8.0.
* Improvements:
+ Able to manage greylisting whitelist domains.
+ New option of 'Disabled self-service preferences' in domain profile
page, under tab 'Advanced': View basic info of received mails.
+ Better spam policy control: able to control bypassing or
quarantining detected spam/virus/banned/bad-header email.
* Fixed issues:
- Cannot release quarantined email on some Linux distributions.
- Cannot add email address like 'user+ext@domain.com' as alias member.
- Improper maildir path if username contains more than 3 characters.
Thanks bardzotrudny <bardzotrudnymail _at_ gmail> for the report in
forum.
- Cannot update throttle settings.
Thanks ketan.aagja <ketan.aagja _at_ gmail> for the report in forum.
- Self-service is not working.
- Not correctly set greylisting priorities.
Thanks Animatrix <kurt6459 _at_ gmail> for the report in forum.
- Incorrect regular expressions of email address and domain name, cause
several '404 page not found' errors, and cannot access user profile
page whose email address contains a dot like 'abc.def@domain.com'.
* Updated translations:
+ Spain (es_ES).
Thanks Juan Bou Riquer <jbou@cancun.com.mx>.
+ Bulgarian (bg_BG).
Thanks Пламен Василев <p.vasileff _at_ gmail.com>.
= 2.2.0 =
NOTE: Greylisting and throttling offered by iRedAPD conflict with
Policyd/Cluebringer, so if you want to use Policyd/Cluebringer,
please disable iRedAPD integration in config file `settings.py` with
setting `iredapd_enabled = False`.
We have greylisting and throttling support in iRedAPD as replacement,
and here's tutorial to help you migrate from Cluebringer to iRedAPD:
http://www.iredmail.org/docs/cluebringer.to.iredapd.html
* Improvements:
- Able to restrict user to login from specified IP addresses or network.
(under user profile page, tab "Advanced".)
- Able to manage global, per-domain and per-user greylisting and
throttle settings implemented with iRedAPD.
- Able to list disabled domain/user/mailing list/alias accounts.
- Allow to store mail user's plain password in additional column in
`vmail.mailbox` table.
- Able to bypass bad-header checking in spam policy setting page.
- Able to manage per-user alias addresses.
- Show iRedMail version number stored in /etc/iredmail-release.
- Able to manage white/blacklists for outbound message.
- tools/cleanup_amavisd_db.py won't cause lock issue or performance
issue anymore.
- New scripts:
+ tools/update_mailbox_quota.py: update mailbox quota for one user
(specified on command line) or bulk users (read from a plain text
file).
* Fixed issues:
+ Not correctly update spam subject text (spam_subject_tag3).
Thanks rafaelr <rafaelr _at_ icctek.com> for the report in forum.
+ Cannot correctly handle improper unicode string in mail headers
while viewing quarantined mail.
+ Not correctly submit per-domain white/blacklists while submitting
from 'Quarantined Mails' page as normal domain admin.
+ Cannot set empty time zone and preferred language.
+ Not generate proper maildir path when first 3 characters in
username part of email address contains dot.
- Cannot verify BCRYPT password hash with '{BLF-CRYPT}' prefix.
- Not correctly set access restriction to account profile page.
- Not correctly set domain as backup mx.
* Updated translations:
+ Germany (de_DE).
Thanks Joachim Buthe <buthe _at_ gugw.tu-darmstadt.de> and
Martin Hofheiz <m.hofheinz _at_ netzwerk-design.net>.
+ Spain (es_ES).
Thanks informatica _at_ ttu.es.
+ Simplified Chinese (zh_CN).