-
Notifications
You must be signed in to change notification settings - Fork 7
/
changelog.html
1003 lines (961 loc) · 88.3 KB
/
changelog.html
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>inVerse Plugin Changelog</title>
<style type="text/css">
BODY {
font-size : 100%;
}
BODY, TD, TH {
font-family : tahoma, verdana, arial, helvetica, sans-serif;
font-size : 0.8em;
}
H2 {
font-size : 10pt;
font-weight : bold;
padding-left : 1em;
}
A:hover {
text-decoration : none;
}
H1 {
font-family : tahoma, arial, helvetica, sans-serif;
font-size : 1.4em;
font-weight: bold;
border-bottom : 1px #ccc solid;
padding-bottom : 2px;
}
TT {
font-family : courier new;
font-weight : bold;
color : #060;
}
PRE {
font-family : courier new;
font-size : 100%;
}
</style>
</head>
<body>
<h1>
inVerse Plugin Changelog
</h1>
<p><b>10.1.8 Release 1</b> -- (to be determined))</p>
<ul>
<li>Requires Openfire 5.0.0 or later</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/68">#68:</a> Openfire 5.0.0 compatibility</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/70">#63: Update to Converse 10.1.8</a>, which includes these changes:
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/3553>">#3553</a>: Cannot create a groupchat via the modal</li>
<li>Update to the latest Strophe version to fix a security vulnerability with the <tt>stx</tt> tagged template literal. Converse itself is not vulnerable, since it only uses <tt>stx</tt> in tests, but it was also exported, so downstream projects might have relied on it.</li>
</ul>
</li>
</ul>
<p><b>10.1.7 Release 2</b> -- November 14, 2024</p>
<ul>
<li>Marked as last version to be compatible with Openfire versions prior to 5.0.0.</li>
</ul>
<p><b>10.1.7 Release 1</b> -- March 15, 2024</p>
<ul>
<li>Bump org.json:json from 20230227 to 20231013</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/63">#63: Update to Converse 10.1.7</a>, which includes these changes:
<ul>
<li>Update to Strophe 2.0.0. Fixes login issue with newer versions of Ejabberd</li>
</ul>
</li>
</ul>
<p><b>10.1.6 Release 1</b> -- September 4, 2023</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/60">#60: Update to Converse 10.1.6</a>, which includes these changes:
<h4>For Converse 10.1.6:</h4>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/3246>">#3246</a>: Badge color not responsive to dark theme</li>
<li>Fix a GIF rendering bug that causes a memory overflow</li>
</ul>
<h4>For Converse 10.1.5:</h4>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/3209>">#3209</a>: Fix error when importing the converse global with bootstrap modal API</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3207>">#3207</a>: .po translation files weren't included in previous release</li>
<li>Updated Galician and Portuguese translations</li>
</ul>
</li>
</ul>
<p><b>10.1.4 Release 1</b> -- June 27, 2023</p>
<ul>
<li>Bump json from 20220320 to 20230227</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/56">#56: Update to Converse 10.1.4</a>, which includes these changes:
<h4>For Converse 10.1.4:</h4>
<ul>
<li>Fix <tt>dist</tt> directory not included in NPM package</li>
</ul>
<h4>For Converse 10.1.3:</h4>
<ul>
<li>Add the ability to set roles and affiliations via the MUC occupant modal</li>
<li>Fix <tt>isOnlyEmojis is not a function</tt> when using only <tt>@converse/headless</tt></li>
<li>Fix <tt>autojoin</tt> checkbox state in MUC bookmark form</li>
<li>Remove call to <tt>api.confirm</tt> in <tt>@converse/headless</tt></li>
<li>Generate TypeScript declaration files into <tt>dist/types</tt></li>
<li>Removed documentation about the no longer implemented <tt>fullname</tt> option.</li>
<li>Updated translations</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3123">#3123</a>: Contacts do not show up online until chat is opened with them.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3156">#3156</a>: Add function to prevent drag stutter effect over iframes when resize is called in overlay mode</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3165">#3165</a>: Use configured nickname in profile view in the control box</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#stanza-timeout">stanza_timeout</a></li>
</ul>
</li>
</ul>
<p><b>10.1.2 Release 1</b> -- February 24, 2023</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/51">#51: Update to Converse 10.1.2</a>, which includes these changes:
<h4>For Converse 10.1.2:</h4>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/1490">#1490</a>: Busy-loop when fetching registration form fails</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1556">#1556</a>: Can't switch to registration form after logout</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3137">#3137</a>: Various UI/UX bugfixes regarding the registration form</li>
<li>XEP-0437: Room Activity Indicators (RAI) optimizations</li>
</ul>
<h4>For Converse 10.1.1:</h4>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/1851">#1851</a>: Sort open groupchats alphabetically</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2240">#2240</a>: Ad-Hoc command result form not shown</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3128">#3128</a>: Second bookmarked room shows info of the first one</li>
<li>Bugfix. Uyghur translations weren't loading</li>
</ul>
<h4>For Converse 10.1.0:</h4>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/326">#326</a>: Add the ability to reset your password</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2759">#2759</a>: Don't automatically log in again if the user manually logged out</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2816">#2816</a>: Chat highlight behaves odd</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2925">#2925</a>: File upload is not always enabled</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3001">#3001</a>: Add option to save SCRAM details and to use them to stay logged in upon reload</li>
<li>Add a "Add to Contacts" button in MUC occupant modals</li>
<li>Updated tranlsations and new language Uyghur</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#reuse-scram-keys">reuse_scram_keys</a></li>
</ul>
<h4>For Converse 10.0.0:</h4>
<ul>
<li>Update to Strophe.js 1.6.0 which adds support for SCRAM-SHA-256 and SCRAM-SHA-512</li>
<li>Don't automatically convert OpenStreetMap URLs into <tt>geo:</tt> URIs in sent messages</li>
<li>Remove the <tt>allow_chat_pending_contacts</tt> config option.</li>
<li>Show roster contacts with <tt>subscription</tt> set to <tt>none</tt></li>
<li>Remove the <tt>converse-carbons</tt> plugin and make carbons part of the <tt>converse-chat</tt> plugin.</li>
<li>Remove the <tt>message_carbons</tt> configuration setting. Carbons are now always enabled.</li>
<li>Move the <tt>converse-oauth</tt> plugin to the <a href="https://github.com/conversejs/community-plugins">community-plugins</a></li>
<li>Don't apply message corrections when the MUC occupant-id doesn't match.</li>
<li>Update <tt>nick</tt> attribute on ChatRoom when user nickname changes</li>
<li>Restrict editing of MUC messages to ones with the same XEP-0421 occupant ID</li>
<li>Remove unfurls for links removed in a subsequent message correction</li>
<li>Bookmarks now appear in a modal and the <tt>hide_open_bookmarks</tt> config setting has been removed.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1004">#1004</a>: Stop using fonts to render icons and use SVG instead</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2797">#2797</a>: Weird unicode characters rendering outside of line-height</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2870">#2870</a>: Fix for multiple URLs to be linkified when sent together in chat and adds a test for this.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2879">#2879</a>: Quotes, lines not aligned to the first line</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2925">#2925</a>: Fix missing disco-items in browser storage.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2936">#2936</a>: Fix documentation about enable_smacks option, which is true by default.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2939">#2939</a>: Data forms with a field named "username" are not displayed</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3005">#3005</a>: Fix MUC messages with a fallback body not rendering.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3007">#3007</a>: Fix links becoming text when a message is edited</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3018">#3018</a>: Fix MUC icons not functioning.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/3028">#3028</a>: Fix encrypted media from Conversations/Quicksy not properly decrypting</li>
</ul>
</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/52">#52</a>: Upgrade dependency org.json:json from version 20180813 to 20220320</li>
</ul>
<p><b>9.1.1 Release 1</b> -- May 10, 2022</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/49">#49: Update to Converse 9.1.1</a>, which includes these changes:
<ul>
<li>GIFs don't render inside unfurls and cause a TypeError</li>
<li>Improve how the <tt>muc_domain</tt> setting is populated via service discovery</li>
<li>Remove local (non-requesting) contacts not returned from a full roster response</li>
<li>Improve performance by looking up VCards via map instead of traversing an array</li>
<li>Fix infinite loop when receiving service discovery entities with a circular dependency</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1130">#1130</a>: Display the room’s vCard-temp avatar</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2746">#2746</a>: Always reply to all iqs, even those not understood</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2794">#2794</a>: Some display problems with mobile view mode</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2868">#2868</a>: Selected emoji is inserted into all open chat boxes</li>
</ul>
<p>Remove the very old and largely unused config option <tt>allow_muc</tt>. If you don't want MUC support, you can add <tt>'converse-muc'</tt> to the <tt>blacklisted_plugins</tt> setting.</p>
</li>
</ul>
<p><b>9.1.0 Release 1</b> -- April 6, 2022</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/44">#44</a>: Replace usage of deprecated Openfire API.
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/46">#46: Update to Converse 9.1.0</a>, which includes these changes:
<ul>
<li>Updated translations: af, ar, el, es, eu, fi, fr, gl, he, lt, ro, tr</li>
<li>Increased stanza timeout from 10 to 20 seconds</li>
<li>Replace various font icons with SVG icons</li>
<li>Fix bug where MUC config wasn't persisted across page loads</li>
<li>Add support for calling the IndexedDB <tt>getAll</tt> method to speed up fetching models from storage.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1761">#1761</a>: Add a new dark theme based on the <a href="https://draculatheme.com/">Dracula theme</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/2557">#2557</a>: Allow OMEMO encrypted messages to be edited</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2627">#2627</a>: Spoiler toggles only after switching to another tab and back</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2733">#2733</a>: Fix OMEMO race condition related to automatic reconnection and SMACKS</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2733">#2733</a>: Wait for decrypted/parsed message before queuing to UI</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2751">#2751</a>: Media not rendered when Converse runs in a browser extension</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2754">#2754</a>: Navigation keys doesn't work anymore into chat input message</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2781">#2781</a>: Flashing error when connecting to a room</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2786">#2786</a>: Fix webpack configuration not working on Windows OS</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2788">#2788</a>: <tt>TypeError</tt> when trying to use <tt>@converse/headless</tt></li>
<li><a href="https://github.com/conversejs/converse.js/issues/2789">#2789</a>: Implement new hook <tt>parseMessageForCommands</tt> for plugins to add custom commands</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2814">#2814</a>: Links are mangled on open/copy</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2822">#2822</a>: Singleton doesn't work in overlayed view mode</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#show-connection-url-input">show_connection_url_input</a></li>
</ul>
</li>
</ul>
<p><b>9.0.0 Release 1</b> -- December 1, 2021</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/42">#42: Update to Converse 9.0.0</a>, which includes these changes:
<h4>Issues and features</h4>
<ul>
<li>Compress new avatar images before uploading them</li>
<li>Add initial support for XEP-0421 occupant Ids.</li>
<li>Use more specific types for form fields based on XEP-0122</li>
<li>Fix trimming of chats in overlayed view mode</li>
<li>OMEMO bugfix: Always create device session based on real JID.</li>
<li>If <tt>auto_register_muc_nickname</tt> is set, make sure to register when the user changes current nick.</li>
<li>Emit a <tt>change</tt> event when a configuration setting changes</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1322">#1322</a>: Display occupants’ avatars in the occupants list</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1419">#1419</a>: Clicking on avatar should show bigger version</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1426">#1426</a>: Don't fetch member list if not affiliated</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2423">#2423</a>: Could not find dependency "converse-controlbox" for plugin "converse-muc"</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2640">#2640</a>: Add <tt>beforeFetchLoginCredentials</tt> hook</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2647">#2647</a>: Singleton mode doesn't work</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2650">#2650</a>: Clicking on occupant in sidebar should add nickname to textarea</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2683">#2683</a>: Show error messages that don't refer to specific chat messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2704">#2704</a>: Send button doesn't work in a multi-user chat</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2715">#2715</a>: Singleton + fullscreen mode styling issue</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2718">#2718</a>: Message is not displayed if it contains an invalid URL</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2725">#2725</a>: Send new presence status to all connected MUCs</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2728">#2728</a>: Not sending headers with upload request</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2733">#2733</a>: OMEMO Messages received while client closed not decrypted</li>
</ul>
<h4>Configuration settings</h4>
<ul>
<li>3 New configuration settings:
<ul>
<li><a href="https://conversejs.org/docs/html/configuration.html#render-media">render_media</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#allowed-audio-domains">allowed_audio_domains</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#allowed-video-domains">allowed_video_domains</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#allowed-image-domains">allowed_image_domains</a></li>
</ul>
</li>
</ul>
<p>Three config settings have been obsoleted:</p>
<ul>
<li>embed_audio</li>
<li>embed_video</li>
<li>show_images_inline</li>
<li>muc_show_ogp_unfurls</li>
</ul>
<h4>Breaking Changes</h4>
<p>Configuration settings are no longer available on the <tt>_converse</tt> object. Instead, use <tt>api.settings.get</tt> and <tt>api.settings.set</tt>.</p>
</li>
</ul>
<p><b>8.0.1 Release 1</b> -- November 4, 2021</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/40">#40: Update to Converse 8.0.1</a>, which includes these changes:
<h4>For Converse 8.0.1:</h4>
<ul>
<li><a href="http://github.com/conversejs/converse.js/issues/2326">#2326</a>: 404 for asset /logo/conversejs-filled.svg</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2628">#2628</a>: Open groupchats toggle emits an error</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2629">#2629</a>: OMEMO button tooltip is wrong in private chat</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2633">#2633</a>: Excessive logging of warning</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2634">#2634</a>: Image previews not loading when not serving Converse locally</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2636">#2636</a>: Don't fail when setting up a new XEP-0198 managed stream and <tt>_converse.session</tt> is undefined</li>
<li>Bugfix: Don't show minimized chats when logged out</li>
</ul>
<p>
Note: Singleton mode is not working correctly in version 8 of Converse. See here: <a href="https://github.com/conversejs/converse.js/issues/2647">#2647</a><br/>
This will be fixed in the upcoming version 9 release.
</p>
<h4>For Converse 8.0.0:</h4>
<h4>Issues and features</h4>
<ul>
<li><a href="http://github.com/conversejs/converse.js/issues/1083">#1083</a>: Add support for XEP-0393 Message Styling</li>
<li><a href="http://github.com/conversejs/converse.js/issues/1182">#1182</a>: Add support for XEP-0454 OMEMO Media sharing</li>
<li><a href="http://github.com/conversejs/converse.js/issues/1823">#1823</a>: New config options <a href="https://conversejs.org/docs/html/configuration.html#mam-request-all-pages">mam_request_all_pages</a></li>
<li><a href="http://github.com/conversejs/converse.js/issues/2275">#2275</a>: Allow punctuation to immediately precede a mention</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2348">#2348</a>: <tt>auto_join_room</tt> not showing the room in <tt>fullscreen</tt> <tt>view_mode</tt>.</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2400">#2400</a>: Fixes infinite loop bug when appending .png to allowed image urls</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2409">#2409</a>: Integrate App Badging API for unread messages</li>
<li><a href="http://github.com/conversejs/converse.js/issues/2464">#2464</a>: New configuration setting <a href="https://conversejs.org/docs/html/configuration.html#allow-url-history-change">allow-url-history-change</a></li>
<li><a href="http://github.com/conversejs/converse.js/issues/2497">#2497</a>: Bugfix /nick command is not working</li>
<li>Add a Description Of A Project (DOAP) file</li>
<li>Add ability to deregister nickname when closing a MUC by setting <tt>auto_register_muc_nickname</tt> to <tt>'unregister'</tt>.</li>
<li>Add support for XEP-0437 Room Activity Indicators see <a href="https://conversejs.org/docs/html/configuration.html#muc-subscribe-to-rai">muc-subscribe-to-rai</a></li>
<li>Add support for rendering unfurls via <a href="https://modules.prosody.im/mod_ogp.html">mod_ogp</a></li>
<li>Bugfix: Connection protocol not updated based on XEP-0156 connection methods</li>
<li>Bugfix: Use real JID in XEP-0372 references only when the MUC is non-anonymous</li>
<li>Bugfix: <tt>null</tt> inserted by emoji picker and can't switch between skintones</li>
<li>File structure reordering: All plugins are now in <tt>./plugins</tt> folders.</li>
<li>Show a gap placeholder when there are gaps in the chat history. The user can click these to fill the gaps.</li>
<li>Use the MUC stanza id when sending XEP-0333 markers</li>
<li>Add support for pausing Gif images</li>
<li>Add limited support for XEP-0316 MUC notifications</li>
</ul>
<h4>New configuration setings</h4>
<ul>
<li><a href="https://conversejs.org/docs/html/configuration.html#show-tab-notifications">show_tab_notifications</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#muc-clear-messages-on-leave">muc_clear_messages_on_leave</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#send-chat-markers">send_chat_markers</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#muc-show-ogp-unfurls">muc_show_ogp_unfurls</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#prune-messages-above">prune-messages-above</a></li>
<li><a href="https://conversejs.org/docs/html/configuration.html#pruning-behavior">pruning_behavior</a></li>
</ul>
<h4>New hooks and events</h4>
<ul>
<li>New hook: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:getMessageActionButtons">getMessageActionButtons</a></li>
<li>New hook: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:shouldNotifyOfGroupMessage">shouldNotifyOfGroupMessage</a></li>
<li>New hook: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:presenceConstructed">presenceConstructed</a></li>
<li>New event: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:historyPruned">historyPruned</a></li>
</ul>
<h4>Breaking Changes</h4>
<p>
The default persistent store, set via the <a href="https://conversejs.org/docs/html/configuration.html#persistent-store">persistent_store</a>,
is now IndexedDB. This main advantage of using IndexedDB is that it doesn't
have a fixed size limit. We don't provide a tool to migrate data from
localStorage to IndexedDB. For almost all data this is not a problem since
the data can be fetched again from the XMPP server. However,
decrypted OMEMO messages cannot be fetched again from the server, since the
double ratchet makes it impossible to again decrypt them. This means your
decrypted OMEMO history will be lost in the transition.</p>
<p>
The <a href="https://conversejs.org/docs/html/api/-_converse.html#event:afterMessageBodyTransformed">afterMessageBodyTransformed</a> and <a href="https://conversejs.org/docs/html/api/-_converse.html#event:beforeMessageBodyTransformed">beforeMessageBodyTransformed</a> events now has a different signatures.
When leaving a MUC, the message history is deleted. This means that decrypted
OMEMO messages are gone and cannot be recovered on that device. See <a href="https://conversejs.org/docs/html/configuration.html#muc-clear-messages-on-leave">muc_clear_messages_on_leave</a>.</p>
<p>Removed events:</p>
<ul>
<li><tt>bookmarkViewsInitialized</tt></li>
<li><tt>chatBoxInsertedIntoDOM</tt></li>
<li><tt>contactStatusMessageChanged</tt></li>
<li><tt>messageSend</tt> (use <tt>sendMessage</tt> instead)</li>
<li><tt>rosterGroupsFetched</tt></li>
</ul>
<p>The <tt>chatBoxClosed</tt>, <tt>chatBoxMaximized</tt> and <tt>chatBoxMinimized</tt> events now have the <tt>model</tt> as
payload and not the view.</p>
<p>The <tt>api.chatviews</tt> and <tt>api.roomviews</tt> API groupings and methods have been
removed. The original "views" don't really exist anymore, the UI is now composed web
components which should update reactively based on changes made on the models.</p>
</li>
</ul>
<p><b>7.0.6 Release 2</b> -- July 6, 2021</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/38">#38: Fix governance issues in 7.0.6 release</a></li>
</ul>
<p><b>7.0.6 Release 1</b> -- July 6, 2021</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/35">#35: Update to Converse 7.0.6</a>, which includes these changes:
<h4>For Converse 7.0.6:</h4>
<ul>
<li>Bugfix: Wrong assignment in OMEMO code</li>
</ul>
<h4>For Converse 7.0.5:</h4>
<ul>
<li>Bugfix: The @converse/headless NPM package is missing the dist directory, causing import errors</li>
<li>Bugfix: @converse/headless wrongly depends on CustomElement from the view layer</li>
<li>Bugfix: Converse does not reflect the browser language</li>
</ul>
</li>
</ul>
<p><b>7.0.4 Release 1</b> -- December 26, 2020</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/33">#31: upgrade to converse.js 7.0.4</a>, which includes these changes:
<h4>For Converse 7.0.4:</h4>
<ul>
<li>Bugfix: Set protocol after discovering connection methods</li>
</ul>
</li>
</ul>
<p><b>7.0.3 Release 1</b> -- December 8, 2020</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/31">#31: upgrade to converse.js 7.0.3</a>, which includes these changes:
<h4>For Converse 7.0.3:</h4>
<ul>
<li>Bugfix: null inserted by emoji picker and can't switch between skintones</li>
</ul>
<h4>For Converse 7.0.2:</h4>
<ul>
<li>Updated translations: de, nb, gl, tr</li>
<li>Still more necessary files not included in the 7.0.1 NPM package, causing Module not found errors.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2337">#2337</a>: Newly opened headline chat isn't hidden by default</li>
</ul>
</li>
</ul>
<p><b>7.0.1 Release 1</b> -- November 22, 2020</p>
<ul>
<li>Most <a href="https://conversejs.org/docs/html/configuration.html">Converse configuration properties</a> can now be specified, by setting them as a Openfire system property, prepended with <tt>inverse.config.</tt> (eg: <tt>inverse.config.ping_interval</tt>).</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/29">#29: upgrade to converse.js 7.0.0</a>, which includes these changes:
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/2328">#2328</a> Honor use_system_emojis in emoji-picker</li>
<li>Not all *.js files were included in the 7.0.0 package, causing: Module not found: Error: Can't resolve 'templates/*.js'</li>
</ul>
</li>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/29">#29: upgrade to converse.js 7.0.0</a>, which includes these changes:
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/2231">#2231</a> add sort_by_query and remove sort_by_length</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1313">#1313</a> Stylistic improvements to the send button</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1481">#1481</a> MUC OMEMO: Error No record for device</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1490">#1490</a> Busy-loop when fetching registration form fails</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1535">#1535</a> Add option to destroy a MUC</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1715">#1715</a> Update chat state notification after receiving a message correction.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1793">#1793</a> Send button doesn't appear in Firefox in 1:1 chats</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1820">#1820</a> Set focus on jid field after controlbox is loaded</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1822">#1822</a> Don't log error if user has no bookmarks</li>
<li><a href="https://github.com/conversejs/converse.js/issues/515">#515</a> Add support for XEP-0050 Ad-Hoc commands</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1823">#1823</a> New config options <a href="https://conversejs.org/docs/html/configuration.html#muc-roomid-policy">muc_roomid_policy</a> and <a href="https://conversejs.org/docs/html/configuration.html#muc-roomid-policy-hint">muc_roomid_policy_hint</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1826">#1826</a> A user can now add himself as a contact</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1839">#1839</a> Headline messages are shown in controlbox</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1924">#1924</a> Configuring an ejabberd room fails</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1896">#1896</a> Don't send receipts for messages fetched from the archive</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1937">#1937</a> Editing a message removes the mentions highlight</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1963">#1963</a> Mentions are visually incorrect when used in message replies</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1999">#1999</a> Demarcate first unread message</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2002">#2002</a> fix rendering of muc_roomid_policy_hint</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2006">#2006</a> fix rendering of emojis in case use_system_emojis == false</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2028">#2028</a> Implement XEP-0333 displayed chat marker</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2101">#2101</a> Improve contrast of text in control box</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2187">#2187</a> Avoid merging initial settings with themselves every time settings are extended.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2199">#2199</a> Fix BOSH session restore.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2201">#2201</a> added html to converse.env</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2213">#2213</a> added CustomElement to converse.env</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2220">#2220</a> fix rendering of emojis in case use_system_emojis == false (again).</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2092">#2092</a> fixes room list update loop when having the locked_muc_domain truthy or 'hidden'</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2285">#2285</a> Rename config option muc_hats_from_vcard to <a href="https://conversejs.org/docs/html/configuration.html#muc-hats">muc_hats</a>. Now accepts a list instead of a boolean and allows for more flexible choices regarding user badges.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2300">#2300</a> Fix message reorder issue after message correction.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2304">#2304</a> Custom emojis (stickers) images not shown</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2307">#2307</a> BootstrapModal is not accessible to plugins</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2308">#2308</a> Allow getHats method to be overriden in the overrides object in plugins.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/2321">#2321</a> When Converse runs inside a browser extension, enable browser sync and local storage for persistent storage</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1250">#1250</a> Change favicon color when unread messages</li>
<li>The trusted configuration setting has been removed in favor of two new settings: <ul><li><a href="https://conversejs.org/docs/html/configuration.html#allow-user-trust-override">allow_user_trust_override</a></li><li><a href="https://conversejs.org/docs/html/configuration.html#clear-cache-on-logout">clear_cache_on_logout</a></li></ul></li>
<li>The persistent_store setting can now also be set to sessionStorage</li>
<li>The api.archive.query method no longer accepts an RSM instance as argument.</li>
<li>The plugin converse-uniview has been removed and its functionality merged into converse-chatboxviews</li>
<li>Removed the mockups from the project. Recommended to use tests instead.</li>
<li>The API method api.settings.update has been deprecated in favor of api.settings.extend.</li>
<li>The API methods under the api.user.status namespace are now asynchronous and need to be awaited.</li>
<li>Filter roster contacts via all available information (JID, nickname and VCard full name).</li>
<li>Allow ignoring of bootstrap modules at build using environment variable. For xample: export BOOTSTRAP_IGNORE_MODULES="Modal,Dropdown" && make dist</li>
<li>Bugfix. Handle stanza that clears the MUC subject</li>
<li>Replace Backbone with <a href="https://github.com/skeletorjs/skeletor">Skeletor</a></li>
<li>Start using <a href="https://lit-html.polymer-project.org/">lit-html</a> instead of lodash for templating.</li>
<li><a href="https://conversejs.org/docs/html/configuration.html#muc-fetch-members">muc_fetch_members</a> now also accepts an array of affiliations to fetch.</li>
<li>Remove the configuration setting muc_show_join_leave_status. The optional status message is no longer shown at all.</li>
<li>Support for XEP-0156 is now enabled by default (which means that <a href="https://conversejs.org/docs/html/configuration.html#discover-connection-methods">discover_connection_methods</a> now has a default value of true).</li>
<li><a href="https://conversejs.org/docs/html/configuration.html#show-send-button">show_send_button</a> now has a default value of true.</li>
<li>The <a href="https://conversejs.org/docs/html/api/-_converse.api.html#.confirm">api.confirm</a> method now accepts a list of fields and returns the filled in list upon confirmation.</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#allow-adhoc-commands">allow_adhoc_commands</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#modtools-disable-assign">modtools_disable_assign</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#modtools-disable-query">modtools_disable_query</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-hats-from-vcard">muc_hats_from_vcard</a>.</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-send-probes">muc_send_probes</a>.</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#notify-nicknames-without-references">notify_nicknames_without_references</a>.</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#show-message-avatar">show_message_avatar</a>.</li>
<li>New public API <a href="https://conversejs.org/docs/html/api/converse.html#.insertInto">converse.insertInto</a></li>
</ul>
</li>
</ul>
<p><b>6.0.1 Release 1</b> -- March 13, 2020</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/24">#24: upgrade to converse.js 6.0.1</a>, which includes these changes:
<h4>For Converse 6.0.1:</h4>
<ul>
<li>Bugfix. Handle stanza that clears the MUC subject</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1313">#1313</a>: Stylistic improvements to the send button</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1793">#1793</a>: Send button doesn't appear in Firefox in 1:1 chats</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1822">#1822</a>: Don't log error if user has no bookmarks</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1820">#1820</a>: Set focus on jid field after controlbox is loaded</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1823">#1823</a>: New config options
<a href="https://conversejs.org/docs/html/configuration.html#muc-roomid-policy">muc_roomid_policy</a> and
<a href="https://conversejs.org/docs/html/configuration.html#muc-roomid-policy-hint">muc_roomid_policy_hint</a>
</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1826">#1826</a>: A user can now add himself as a contact</li>
<li>Note: due to a bug in the webpack config, the webfonts directory isn't copied over from ./sass to ./dist when you build
your own distribution files. As a workaround, you can just copy it over manually.
</li>
</ul>
<h4>For Converse 6.0.0:</h4>
<ul>
<li><a href="https://conversejs.org/docs/html/configuration.html#enable-smacks">enable-smacks</a> is not set to true by default.</li>
<li>Refactor some presence and status handling code from converse-core into @converse/headless/converse-status.</li>
<li>It's now possible to navigate the emoji-picker via the keyboard arrow keys.</li>
<li>Add support for <a href="https://xmpp.org/extensions/xep-0045.html#example-196">notifications about affiliation change for users not in a room</a></li>
<li>Add support for <a href="https://xmpp.org/extensions/xep-0424.html">XEP-0424 Message Retraction</a></li>
<li>Add support for <a href="https://xmpp.org/extensions/xep-0425.html">XEP-0425 Message Moderation</a></li>
<li>New API <a href="https://conversejs.org/docs/html/api/-_converse.api.headlines.html#.get">_converse.api.headlines</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#allow-message-retraction">allow_message_retraction</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-show-logs-before-join">muc-show-logs-before-join</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-mention-autocomplete-filter">muc_mention_autocomplete_filter</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-mention-autocomplete-show-avatar">muc_mention_autocomplete_show_avatar</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#persistent-store">persistent_store</a></li>
<li>Initial support for sending custom emojis. Currently only between Converse instances. Still working out a wire protocol for compatibility with other clients. To add custom emojis, edit the emojis.json file.</li>
<li><a href="https://xmpp.org/extensions/xep-0156.html">#129</a> Add support for <a href="">XEP-0156: Disovering Alternative XMPP Connection Methods</a> Only XML is supported for now.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1105">#1105</a> Support for storing persistent data in IndexedDB</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1253">#1253</a> Show contacts with unread messages at the top of the roster</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1322">#1322</a> Display occupants’ avatars in the occupants list</li>
<li><a href="https://github.com/conversejs/converse.js/pull/1640">#1640</a> Add the ability to resize the occupants sidebar in MUCs</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1666">#1666</a> Allow scrolling of the OMEMO fingerprints list</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1691">#1691</a> Fix collection.chatbox is undefined errors</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1767">#1767</a> credentials_url is not called when logging out and then in again</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1764">#1764</a> Incorrect URI encoding in "mention" references</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1772">#1772</a> _converse.api.contact.add(jid, nick) fails, says not a function</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1791">#1791</a> auto_focus set to false is ignored when switching back to a MUC</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1792">#1792</a> Fix: modals don't have scrollbars</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1796">#1796</a> Don't show "back" arrow navigation (on mobile) in the chat header when in singleton mode</li>
<li><a href="https://github.com/conversejs/converse.js/pull/1821">#1821</a> Errors caused by malformed URLs are now handled</li>
</ul>
<h4>Breaking changes</h4>
<ul>
<li>The debug configuration option has been replaced with loglevel. <a href="https://conversejs.org/docs/html/configuration.html#loglevel">loglevel.</a></li>
<li>In contrast to sessionStorage and localStorage, IndexedDB is an asynchronous database. A lot of code that relied on database access to be synchronous had to be updated to work with asynchronous access via promises.</li>
<li>In order to add support for XEP-0156, the XMPP connection needs to be created only once we know the JID of the user that's logging in. This means that the connectionInitialized event now fires much later than before. Plugins that rely on connectionInitializedbeing triggered before the user's JID has been provided will need to be updated.</li>
<li>The following API methods now return promises:
<ul>
<li>_converse.api.chats.get</li>
<li>_converse.api.chats.create</li>
<li>_converse.api.rooms.get</li>
<li>_converse.api.rooms.create</li>
<li>_converse.api.roomviews.close</li>
</ul>
</li>
<li>Changes the events:
<ul>
<li>The chatBoxInitialized event now triggers when a _converse.ChatBox (not the view) is opened.</li>
<li>Renamed the old chatBoxInitialized to chatBoxViewInitialized and trigger only for ChatBoxView instances.</li>
<li>Renamed chatRoomOpened event to chatRoomViewInitialized</li>
<li>The order of certain events have now changed: statusInitialized is now triggered after initialized and connected and reconnected.</li>
</ul>
</li>
<li>_converse.api.chats.get() now only returns one-on-one chats, not the control box or headline notifications.</li>
<li>The show_only_online_users setting has been removed.</li>
<li>_converse.api.alert.show is now _converse.api.show and instead of taking an integer for the type, "info", "warn" or "error" should be passed in.</li>
<li>The converse-headline plugin has been split up into converse-headlines and converse-headlines-view.</li>
</ul>
</li>
</ul>
<p><b>5.0.5 Release 1</b> -- November 20, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/21">#21: upgrade to converse.js 5.0.5</a>, which includes these changes:
<ul>
<li>Prevent editing of sent file uploads.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1089">#1089</a>: When filtering the roster for `online` users, show all non-offline users.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1733">#1733</a>: New message notifications for a minimized chat stack on top of each other.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1757">#1757</a>: Chats are hidden behind the controlbox on mobile.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1760">#1760</a>: Private messages no longer received after websocket reconnect.</li>
</ul>
</li>
</ul>
<p><b>5.0.4 Release 1</b> -- October 8, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/19">#19: upgrade to converse.js 5.0.4</a>, which includes these changes:
<h4>For Converse 5.0.4:</h4>
<ul>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#allow_message_corrections">allow_message_corrections</a> which, if set to last, limits editing of sent messages to the last message sent.</li>
<li>Bugfix: Don't treat every duplicate message ID as a message correction; since some clients don't use globally unique ID's this causes false positives.</li>
<li>Bugfix: process stanzas from mam one-by-one in order to correctly process message receipts</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1712">#1712</a> TypeError: plugin._features is not a function</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1714">#1714</a> Don't notify the user in case we're receiving a message delivery receipt only</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1739">#1739</a> New config option <a href="https://conversejs.org/docs/html/configuration.html#assets_path">assets_path</a> which lets you set the path from which "chunks" are loaded.</li>
</ul>
<h4>For Converse 5.0.3:</h4>
<ul>
<li>Emit chatBoxFocused and chatBoxBlurred events for emoji picker input</li>
<li>SECURITY FIX: Reject unencapsulated forwarded messages, since we don't support XEP-0297 on its own</li>
</ul>
<h4>For Converse 5.0.2:</h4>
<ul>
<li>po translations files are now loaded via Webpack. As a result the locales_url config option is now removed given that the path to the locale JSON files is now determined by the webpack config and can't be changed at runtime.</li>
<li>The JSON representing emojis is now fetched asynchronously as a separate file converse.emojis.js.</li>
<li>Webpack is now configured with a publicPath set to /dist/. This is necessary so that chunks (such as the emojis and locales JSON files) can be fetched asynchronously. This means that all your assets need to be served at /dist. If you need to set a different path, you'll need to set publicPath in webpack.config.js to your preferred path and then rebuild all assets (e.g. make dist).</li>
<li>Use listenTo to avoid memory leaks when views get removed.</li>
<li>SECURITY FIX: Ignore MAM chat messages not sent from yourself</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1692">#1692</a> Bugfix: TypeError: oldest_message is undefined</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1704">#1704</a> SECURITY FIX: Impersonation by misusage of groupchat carbons</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1705">#1705</a> Bugfix: this.roomspanel is undefined after hibernating</li>
</ul>
</li>
</ul>
<p><b>5.0.1 Release 1</b> -- August 27, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/17">#17: upgrade to converse.js 5.0.1</a>, which includes these changes:
<h4>For Converse 5.0.1:</h4>
<ul>
<li>Add a new GUI for moderator actions. You can trigger it by entering /modtools in a MUC.</li>
<li>Reconnect if the server doesn't respond to a ping within 10 seconds.</li>
<li>Don't query for MAM MUC messages before the cached messages have been restored (another cause of duplicate messages).</li>
<li>Show an error message and option to retry when fetching of the MAM archive times out</li>
<li>Bugfix: TypeError: o.getAttribute is not a function converse-chatview.js (can cause messages to not appear).</li>
</ul>
<h4>For Converse 5.0.0:</h4>
<ul>
<li>BOSH support has been moved to a plugin.</li>
<li>Support for XEP-0410 to check whether we're still present in a room</li>
<li>Initial support for the <a href="https://developer.mozilla.org/en-US/docs/Web/API/CredentialsContainer">CredentialsContainer</a> web API</li>
<li>Allow for synchronous events. When a synchronous event is fired, Converse will</li>
<li>wait for all promises returned by the event's handlers to finish before continuing.</li>
<li>Properly handle message correction being received before the corrected message</li>
<li>Groupchat default configuration now supports list-multi fields</li>
<li>Bugfix: Don't set muc_domain for roomspanel if locked_muc_domain is true.</li>
<li>Bugfix: Modal auto-closes when you open it for a second time.</li>
<li>Bugfix: Cannot read property 'parentElement' of null in shadow DOM</li>
<li>Take roster nickname into consideration when rendering messages and chat headings.</li>
<li>Hide the textarea when a user is muted in a groupchat.</li>
<li>Don't restore a BOSH session without knowing the JID</li>
<li>In the /help menu, only show allowed commands</li>
<li>Message deduplication bugfixes and improvements</li>
<li>Continuously retry (in 2s intervals) to fetch login credentials (via <a href="https://conversejs.org/docs/html/configuration.html#credentials-url">credentials_url</a>) in case of failure</li>
<li>Replace moment with DayJS.</li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#auto-focus">auto_focus</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#clear-messages-on-reconnection">clear_messages_on_reconnection</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#enable-smacks">enable_smacks</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#message-limit">message_limit</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-fetch-members">muc_fetch_members</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-mention-autocomplete-min-chars">muc_mention_autocomplete_min_chars</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-show-join-leave-status">muc_show_join_leave_status</a></li>
<li>New config option <a href="https://conversejs.org/docs/html/configuration.html#singleton">singleton</a></li>
<li>By setting this option to false and view_mode to 'embedded', it's now possible to</li>
<li>"embed" the full app and not just a single chat. To embed just a single chat, it's now</li>
<li>necessary to explicitly set singleton to true.</li>
<li>Re-add the previously removed config option <a href="https://conversejs.org/docs/html/configuration.html#keepalive">keepalive</a></li>
<li>New event: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:chatBoxBlurred">chatBoxBlurred</a></li>
<li>New event: <a href="https://conversejs.org/docs/html/api/-_converse.html#event:chatReconnected">chatReconnected</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/316">#316</a> Add support for XEP-0198 Stream Management</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1071">#1071</a> x clear cross of same size as text</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1142">#1142</a> Up/down arrow shouldn't erase current message</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1196">#1196</a> Use alternative connection method upon connfail</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1296">#1296</a> embedded view mode shows chatbox-navback arrow in header</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1330">#1330</a> Missing room name in MUC invitation popup</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1445">#1445</a> Participants list uses big font in embedded mode</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1455">#1455</a> Avatar in controlbox status-view not updated</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1465">#1465</a> When highlighting a roster contact, they're incorrectly shown as online</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1476">#1476</a> Support OMEMO on by default for chats via a config variable</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1494">#1494</a> Trim whitespace around messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1495">#1495</a> Mentions should always include a URI attribute</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1502">#1502</a> Fatal error when using prebind</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1524">#1524</a> OMEMO libsignal-protocol.js Invalid signature</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1532">#1532</a> Converse reloads on enter pressed in the filter box</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1538">#1538</a> Allow adding self as contact</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1548">#1548</a> Add support for paging through the MAM results when filling in the blanks</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1550">#1550</a> Legitimate carbons being blocked due to erroneous forgery check</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1554">#1554</a> Room auto-configuration broke if the config form contained fields with type fixed</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1558">#1558</a> this.get is not a function error when forward_messages is set to true.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1561">#1561</a> Don't call clear on local or session storage</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1572">#1572</a> In fullscreen view mode the top is cut off on iOS</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1575">#1575</a> MUC invitation autocomplete list doesn't appear</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1576">#1576</a> Converse gets stuck with spinner when logging out with auto_login set to true</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1579">#1579</a> Trim spaces at the beginning and end of a JID (when adding contact)</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1585">#1585</a> Upload files by pasting from clipboard</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1586">#1586</a> Not possible to kick someone with a space in their nickname</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1664">#1664</a> Blacklisting converse-profile makes the control box totally blank</li>
</ul>
</li>
</ul>
<p><b>4.2.0 Release 1</b> -- June 25, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/15">#15: upgrade to converse.js 4.2.0</a>, which includes these changes:
<ul>
<li>Upgrade to Backbone 1.4.0, Strophe 1.3.2 and Jasmine 2.99.2</li>
<li>Remove dependency on (our fork of) Awesomplete</li>
<li>Prevent user from adding themselves as contact</li>
<li>Fix "flashing" of roster filter when you have less than 5 roster contacts</li>
<li>Fix handling of CAPTCHAs offered by ejabberd</li>
<li>Don't send out receipts or markers for MAM messages</li>
<li>Allow setting of debug mode via URL with /#converse?debug=true</li>
<li>Render inline images served over HTTP if Converse itself was loaded on an unsecured (HTTP) page.</li>
<li>Make sure nickname passed in via _converse.initialize has first preference as MUC nickname</li>
<li>Make sure required registration fields have "required" attribute</li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#autocomplete-add-contact">autocomplete_add_contact</a></li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#locked-muc-domain">locked_muc_domain</a></li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#locked-muc-nickname">locked_muc_nickname</a></li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#show-client-info">show_client_info</a></li>
<li>Document new API method sendMessage</li>
<li>Don't filter out own device when sending an OMEMO message</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1149</a> With xhr_user_search_url, contact requests are not being sent out</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1213</a> Switch roster filter input and icons</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1327</a> fix False mentions positives in URLs and Email addresses</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1352</a> Add <a href="https://github.com/messageformat/Jed">Jed</a> as dependency of @converse/headless</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1373</a> Re-add support for the <a href="https://conversejs.org/docs/html/configuration.html#muc-domain">muc_domain setting</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1400</a> When a chat message is just an emoji, enlarge the emoji</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1407</a> Silent errors when trying to use whitespace as MUC nickname</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1437</a> List of groupchats in modal doesn't scroll</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1457</a> Wrong tooltip shown for "unbookmark" icon</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1467</a> Fix rendering of URLs enclosed with sharp brackets such as <https://example.org></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1479</a> Allow file upload by drag & drop also in MUCs</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1487</a> New config option <a href="https://conversejs.org/docs/html/configuration.html#muc-respect-autojoin">muc_respect_autojoin</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1488</a> In error message, fall back to JID if name is not available.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1501</a> Don't prompt for a reason if <a href="https://conversejs.org/docs/html/configuration.html#auto-join-on-invite">auto_join_on_invite</a> is true</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1507</a> Make message id and origin-id identical in order to fix LMC with Conversations</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1508</a> Minimized bookmarked chatboxes should not be always maximized after page reload.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1512</a> Allow manual entry of jid even with <a href="https://conversejs.org/docs/html/configuration.html#xhr-user-search-url">xhr_user_search_url</a>.</li>
<li>The JID input field is now also visible. To hide it simply hide .add-xmpp-contact__jid via CSS.</li>
</ul>
</li>
</ul>
<p><b>4.1.2 Release 1</b> -- February 22, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/12">#12: Upgrade to converse.js 4.1.2</a>, which includes these changes:
<ul>
<li>Updated translations: af, cz, de, es, he, it, nl, nl_BE, pt_BR, zh_CN</li>
<li>Bugfix. Prevent duplicate messages by comparing MAM archive id to XEP-0359 stanza ids.</li>
<li>Bugfix. Open groupchats not shown when logging in after disconnection.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1406">#1406</a> TypeError: e.devicelists is undefined when unchecking the "trusted device" checkbox</li>
</ul>
</li>
</ul>
<p><b>4.1.1 Release 1</b> -- February 20, 2019</p>
<ul>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/8">#8: Fix Maven build</a>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/9">#9: Upgrade to converse.js 4.1.1</a>, which includes these changes:
<ul>
<li>Updated translations: af, cz, de, es, eu, ga, he, hi, ja, nb, nl_BE, zh_CN</li>
<li>New language supported: Esperanto</li>
<li>Accessibility: Tag the chat-content as an ARIA live region, for screen readers</li>
<li>Set releases URL to new Github repo</li>
<li>Rudimentary support for XEP-0333 chat markers</li>
<li>Better support for XEP-0359 stanza-id and origin-id elements.</li>
<li>Bugfix: restore textarea size after sending a message</li>
<li>Bugfix: MUC invite form not appearing</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1369">#1369</a> Don't wrongly interpret message with subject as a topic change.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1405">#1405</a> Status of contacts list are not displayed properly</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1408">#1408</a> New config option roomconfig_whitelist</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1410">#1410</a> HTTP upload not working if conversations push proxy is used</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1412">#1412</a> MUC moderator commands can be disabled selectively by config</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1413">#1413</a> Fix moderator commands that change affiliation</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1414">#1414</a> Prevent duplicate messages on MUC join</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1417">#1417</a> Margin between nickname and badge</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1421">#1421</a> Fix direct invite for membersonly room</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1422">#1422</a> Resurrect the muc_show_join_leave option</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1438">#1438</a> Update contact nickname when receiving a roster push</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1442">#1442</a> MUC read receipts causing empty lines</li>
</ul>
</li>
</ul>
<p><b>4.1.0 Release 1</b> -- January 16, 2019</p>
<ul>
<li>[<a href='https://issues.igniterealtime.org/browse/OF-1517'>OF-1517</a>] - Don't require i18n source files for all plugins to be encoded.</li>
<li>[<a href='https://issues.igniterealtime.org/browse/OF-1641'>OF-1641</a>] - Ensure all JSP pages have the correct contentType.</li>
<li>Minimum Java requirement: 1.8</li>
<li><a href="https://issues.igniterealtime.org/browse/OF-1517">OF-1517: Don't require i18n source files for all plugins to be encoded.</a></li>
<li><a href="https://issues.igniterealtime.org/browse/OF-1629">OF-1636: Add 'fullpage' style sheet.</a>
<li><a href="https://issues.igniterealtime.org/browse/OF-1629">OF-1629: include missing resources (logos, sounds).</a>
<li><a href="https://github.com/igniterealtime/openfire-inverse-plugin/issues/6">#6: upgrade to converse.js 4.1.0</a>, which includes these changes:
<h4>For Converse 4.1.0:</h4>
<ul>
<li>Bugfix: MUC commands were being ignored</li>
<li>Bugfix: Multiple rooms shown active in the rooms list</li>
<li>Bugfix: Don't open chats when receiving messages without a body</li>
<li>Bugfix: Typing in the textarea can become very slow in large MUCs</li>
<li>UI: Always show the OMEMO lock icon (grayed out if not available).</li>
<li>Use publish-options with pubsub#access_model set to open when publishing OMEMO public keys and devices</li>
<li>Add a new converse-pubsub plugin, for generic PubSub operations</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1180">#1180</a> It's now possible to use OMEMO in a MUC (if it's members-only and non-anonymous)</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1334">#1334</a> Force avatar refetch when receiving vcard-temp:x:update</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1337">#1337</a> send_chat_state_notifications doesn't work in MUCs</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1353">#1353</a> Message Delivery Receipts not working because of the message "type" attribute</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1356">#1356</a> Make triangle icon usable</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1374">#1374</a> Can't load embedded chat when changing view_mode between page reloads</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1376">#1376</a> Fixed some alignment issues in the sidebar</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1378">#1378</a> Message Delivery Receipts were being sent for carbons and own messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1379">#1379</a> MUC unread messages indicator is failing</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1382">#1382</a> Message Delivery Receipts: Set store hint and type='chat'</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1388">#1388</a> implement muc-owner command /destroy</li>
</ul>
<h4>For Converse 4.0.6 (<a href="https://issues.igniterealtime.org/browse/OF-1653">OF-1653</a>):</h4>
<ul>
<li>Updated translations: ar, cs, de, es, eu, fr, gl, hu, id, it, ja, nb, pt_BR</li>
<li>Don't render http (i.e. non-TLS) resources</li>
<li>Bugfix: Converse caused RID out of range errors on Prosody</li>
<li>Bugfix: MUC messages sometimes appear twice after resync.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1331">#1331</a> Fix missing checkmarks in old muc messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1333">#1333</a> Don't send receipt requests in MUCs</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1348">#1348</a> Font gets cut off in Firefox #1348</li>
</ul>
<h4>For Converse 4.0.5:</h4>
<ul>
<li>Error FATAL: TypeError: Cannot read property 'extend' of undefined when using embedded view mode.</li>
<li>Default paths in converse-notifications.js are now relative</li>
<li>Add a button to regenerate OMEMO keys</li>
<li>Add client info modal which shows Converse's version number</li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#theme">theme</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/141">#141</a> XEP-0184: Message Delivery Receipts</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1033">#1033</a> Setting show_send_button to true didn't work</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1188">#1188</a> Feature request: drag and drop file to HTTP Upload</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1268">#1268</a> Switch from SASS variables to CSS custom properties</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1278">#1278</a> Replace the default avatar with a SVG version</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1288">#1288</a> Add CSS classes to differentiate between incoming and outgoing messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1305">#1305</a> added value 'all' for 'show_desktop_notifications' to notifiy even if converse.js is open</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1306">#1306</a> added option notification_delay</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1312">#1312</a> Error unrecognized expression in Safari</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1316">#1316</a> show version info in login dialog</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1317">#1317</a> Don't show errors for CSI messages</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1318">#1318</a> added values 'on' and 'off' for 'trusted' option which removes the "This is a trusted device" checkbox from the login form</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1319">#1319</a> Implement sending of presences according to XEP-0319: Last User Interaction in Presence</li>
</ul>
<h4>For Converse 4.0.4 (<a href="https://issues.igniterealtime.org/browse/OF-1635">OF-1635</a>):</h4>
<ul>
<li>Use <a href="https://lernajs.io/">Lerna</a> to create the @converse/headless package</li>
<li>Use ES2015 modules instead of UMD.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1252">#1252</a> Correctly reflect the state in bookmark icon title.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1257">#1257</a> Prefer 'probably' over 'maybe' when evaluating audio play support.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1259">#1259</a> Don't inform of affiliation change after user leaves MUC</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1261">#1261</a> File upload not working</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1264">#1264</a> Right Align badges of room occupants</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1272">#1272</a> Hiding MUC occupants leaves a blank space</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1278">#1278</a> Replace the default avatar with a SVG version</li>
</ul>
<h4>For Converse 4.0.3 (<a href="https://issues.igniterealtime.org/browse/OF-1628">OF-1628</a>):</h4>
<ul>
<li>New translations: Arabic, Basque, Czech, French, German, Hungarian, Japanese, Norwegian Bokmål, Polish, Romanian, Spanish</li>
<li>Bugfix. Converse continuously publishes an empty OMEMO devicelist for itself</li>
<li>Bugfix. Handler not triggered when submitting MUC password form 2nd time</li>
<li>Bugfix. MUC features weren't being refreshed when saving the config form</li>
<li>Don't show duplicate notification messages</li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#show-images-inline">show_images_inline</a></li>
<li>Disable OMEMO when the user has indicated that Converse is running on an untrusted device.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/537">#537</a> Render xmpp: URI as link</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1058">#1058</a> Send an inactive chat state notification when the user switches to another tab</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1062">#1062</a> Collapse multiple join/leave messages into one</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1063">#1063</a> URLs in the topic / subject are not clickable</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1140">#1140</a> Add support for destroyed chatrooms</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1169">#1169</a> Non-joined participants display an unwanted status message</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1185">#1185</a> Added Contact still shown as pending</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1190">#1190</a> MUC Participants column disappears in certain viewport widths</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1193">#1193</a> OMEMO messages without a body fallback are ignored</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1199">#1199</a> Can't get back from to login screen from registration screen</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1204">#1204</a> Link encoding issue</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1209">#1209</a> Bring color codes of users' status in line with other clients</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1214">#1214</a> Setting allow_contact_requests to false has no effect</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1221">#1221</a> Avoid creating a headlines box if we don't have anything to show inside it</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1222">#1222</a> Adding a bookmark should prefill the room name</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1228">#1228</a> Converse automatically visits links (to try and determine whether they're images to show inline)</li>
</ul>
</li>
</ul>
<p><b>4.0.2 Release 1</b> -- October 4th, 2018</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1620">OF-1620: inVerse plugin: translations are not working.</a>
<li><a href="https://issues.igniterealtime.org/browse/OF-1619">OF-1619: upgrade to converse.js 4.0.2</a>, which includes these changes:
<ul>
<li>M4A and WEBM files, when sent as XEP-0066 Out of Band Data, are now playable directly in chat</li>
<li>Updated French and Spanish translations</li>
<li>Two new languages supported, <a href="https://hosted.weblate.org/languages/hi/conversejs/">Hindi</a> and <a href="https://hosted.weblate.org/languages/ro/conversejs/">Romanian</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1187">#1187</a> UTF-8 characters have the wrong encoding when using OMEMO</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1189">#1189</a> Video playback failure</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1220">#1220</a> Converse not working in Edge</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1225">#1225</a> User profile sometimes not displayed when libsignal-protocol.js is used</li>
</ul>
</li>
</ul>
<p><b>4.0.1 Release 1</b> -- September 20th, 2018</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1612">OF-1612: upgrade to converse.js 4.0.1</a>, which includes these changes:
<ul>
<li>Use <a href="https://compliance.conversations.im/">https://compliance.conversations.im</a> instead of (dead) <a href="https://xmpp.net/">https://xmpp.net</a></li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#auto-register-muc-nickname">auto_register_muc_nickname</a></li>
<li>New config setting <a href="https://conversejs.org/docs/html/configuration.html#enable-muc-push">enable_muc_push</a></li>
<li><a href="https://github.com/conversejs/converse.js/issues/1182">#1182</a> MUC occupants without nick or JID created</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1184">#1184</a> Notification error when message has no body</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1201">#1201</a> Emoji picker appears when pressing enter</li>
</ul></li>
</ul>
<p><b>4.0.0 Release 1</b> -- September 8th, 2018</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1597">OF-1597: upgrade to converse.js 4.0.0</a>, which includes these changes:
<h3>New Features</h3>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/161">#161</a> XEP-0363: HTTP File Upload</li>
<li><a href="https://github.com/conversejs/converse.js/issues/194">#194</a> Include entity capabilities in outgoing presence stanzas</li>
<li><a href="https://github.com/conversejs/converse.js/issues/337">#337</a> API call to update a VCard</li>
<li><a href="https://github.com/conversejs/converse.js/issues/421">#421</a> XEP-0308: Last Message Correction</li>
<li><a href="https://github.com/conversejs/converse.js/issues/491">#497</a> XEP-0384: OMEMO encrypted messaging</li>
<li><a href="https://github.com/conversejs/converse.js/issues/968">#968</a> Use nickname from VCard when joining a room</li>
<li><a href="https://github.com/conversejs/converse.js/issues/986">#986</a> Affiliation changes aren't displayed in the chat</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1081">#1081</a> Allow for shift-enter to insert newlines</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1091">#1091</a> There's now only one CSS file for all view modes.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1094">#1094</a> Show room members who aren't currently online</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1106">#1106</a> Support for Roster Versioning</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1137">#1137</a> Autocompletion and support for <a href="https://xmpp.org/extensions/xep-0372.html">XEP-0372</a> References, specifically section "3.2 Mentions".</li>
<li>It's now also possible to edit your VCard via the UI</li>
<li>Automatically grow/shrink input as text is entered/removed</li>
<li>MP4 and MP3 files when sent as XEP-0066 Out of Band Data, are now playable directly in chat</li>
<li>Support for rendering URLs sent according to XEP-0066 Out of Band Data.</li>
<li>Geo-URIs (e.g. from Conversations) are now replaced by links to openstreetmap (works in reverse also)</li>
<li>Add a checkbox to indicate whether a trusted device is being used or not.</li>
<li>If the device is not trusted, sessionStorage is used and all user data is deleted from the browser cache upon logout.</li>
<li>If the device is trusted, localStorage is used and user data is cached indefinitely.</li>
<li>Initial support for <a href="https://xmpp.org/extensions/xep-0357.html">XEP-0357 Push Notifications</a>, specifically registering an "App Server".</li>
<li>Add support for logging in via OAuth (see the <a href="https://conversejs.org/docs/html/configuration.html#oauth-providers">oauth_providers setting</a>)</li>
</ul>
<h3>Bugfixes</h3>
<ul>
<li>Spoiler messages didn't include the message author's name.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1017">#1017</a> Documentation includes utf-8 charset to make minfied versions compatible across platforms.</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1026">#1026</a> Typing in MUC shows "Typing from another device"</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1039">#1039</a> Multi-option data form elements not shown and saved correctly</li>
<li><a href="https://github.com/conversejs/converse.js/issues/1143">#1143</a> Able to send blank message</li>
</ul>
<h3>API changes</h3>
<ul>
<li>_converse.api.vcard.get now also accepts a Backbone.Model instance and has an additional force parameter to force fetching the vcard even if it has already been fetched.</li>
<li>New API method _converse.api.vcard.update.</li>
<li>The contactStatusChanged event has been renamed to contactPresenceChanged and a event presenceChanged is now also triggered on the contact.</li>
<li>_converse.api.chats.open and _converse.api.rooms.open now returns a Presence which resolves with the Backbone.Model representing the chat object.</li>
</ul>
<h3>UI changes</h3>
<ul>
<li><a href="https://github.com/conversejs/converse.js/issues/956">#956</a> Conversation pane should show my own identity in pane header</li>
<li>The UI is now based on Bootstrap4 and Flexbox is used extensively.</li>
<li>Fontawesome 5 is used for icons.</li>
<li>User Avatars are now shown in chat messages.</li>
</ul>
<h3>Configuration changes</h3>
<ul>
<li>Removed the storage configuration setting, use <a href="https://conversejs.org/docs/html/configuration.html#trusted">trusted</a> instead.</li>
<li>Removed the use_vcards configuration setting, instead VCards are always used.</li>
<li>Removed the xhr_custom_status and xhr_custom_status_url configuration settings. If you relied on these settings, you can instead listen for the <a href="https://conversejs.org/docs/html/events.html#contactstatusmessagechanged">statusMessageChanged</a> event and make the XMLHttpRequest yourself.</li>
<li>Removed xhr_user_search in favor of only accepting xhr_user_search_url as configuration option.</li>
<li>xhr_user_search_url has to include the ? character now in favor of more flexibility. See example in the documentation.</li>
<li>The data returned from the xhr_user_search_url must now include the user's jid instead of just an id.</li>
<li>New configuration settings <a href="https://conversejs.org/docs/html/configuration.html#nickname">nickname</a> and <a href="https://conversejs.org/docs/html/configuration.html#auto-join-private-chats">auto_join_private_chats</a>.</li>
</ul>
<h3>Architectural changes</h3>
<ul>
<li>Extracted the views from converse-muc.js into converse-muc-views.js and where appropriate moved methods from the views into the models/collections. This makes MUC possible in headless mode.</li>
<li>Created a new core plugin converse-roster.js which contains the models for roster-related data. Previously this code was in converse-core.js.</li>
<li>VCards are now stored separately from chats and roster contacts.</li>
</ul>
<h3>Other</h3>
<ul>
<li>Support for OTR (off-the-record) encryption has been dropped.</li>
</ul>
</li>
</ul>
<p><b>3.3.4 Release 1</b> -- March 15th, 2018</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1512">OF-1512: upgrade to converse.js 3.3.4.</a></li>
</ul>
<p><b>3.3.2 Release 1</b> -- February 5th, 2018</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1473">OF-1473: upgrade to converse.js 3.3.2.</a></li>
</ul>
<p><b>3.2.1 Release 1</b> -- September 4th, 2017</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1370">OF-1370: hide registration tab when appropriate.</a></li>
<li><a href="https://issues.igniterealtime.org/browse/OF-1371">OF-1371: upgrade to converse.js 3.2.1.</a></li>
</ul>
<p><b>3.1.0 Release 1</b> -- July 10th, 2017</p>
<ul>
<li><a href="https://issues.igniterealtime.org/browse/OF-1359">OF-1359: Elevate webclients to top level menu in openfire admin UI</a></li>
<li><a href="https://issues.igniterealtime.org/browse/OF-1360">OF-1360: Update inVerse plugin to match upstream Converse 3.1.0 release.</a></li>
</ul>
<p><b>3.0.3 Alpha 1</b> -- June 19th, 2017</p>
<ul>
<li>Initial release.</li>
<li>Based on <a href="https://github.com/jcbrand/converse.js/commit/068be7bfeead28f3df2585873fa66f5e2d58c6dc">commit 068be7b</a>
of Converse, which is a commit newer than the 3.0.2 release, which was the latest official release at the time.</li>
</ul>