summaryrefslogtreecommitdiffstats
path: root/CHANGELOG.md
blob: f20d747e659b3a198416d274c1d0a6620a6e8c13 (plain)
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
# Changelog

## [0.9.0] -- Unreleased

### Highlights

- Somewhat stable end to end encryption
  - Show the room verification status
  - Configure Nheko to only send to verified users
  - Store the encryption keys securely in the OS-provided secrets service.
  - Support online keybackup as well as sharing historical session keys.
- Crosssigning bootstrapping
  - Crosssigning is used to simplify the verification process. In this release
     Nheko can setup crosssigning on a new account without having to use a
     different client.
  - Nheko now also prompts you, if there are any unverified devices and asks you to verify them.
- Room directory (Manu)
  - Search for rooms on your server and other servers. (Prezu)
  - If their topic interests you and it has the right amount of members, join
      the room and the discussion!
- Custom sticker packs
  - Add a custom sticker picker, that allows you to send stickers from MSC2545.
  - Support creating new sticker (and emote) packs.
  - You can share packs in a room and enable them globally or just for that
      room.
- Token authenticated registration (Callum)
  - Sign up with a token to servers, that have otherwise disabled registration.
  - This was done as part of GSoC and makes it easier to run private servers for
      your family and friends!

### Features

- Support email in registration (required on matrix.org for example)
- Warn, if an @room would mention the whole room, because some people don't like that.
- Support device removal as well as renaming. (Thulinma)
- Show your devices without encryption support, when showing your profile.
    (Thulinma)
- Move to the next room with unread messages by pressing `Alt-A`. (Symphorien)
- Support jdenticons as a placeholder for rooms or users without avatars.
    (LorenDB)
  - You will need to install https://github.com/Nheko-Reborn/qt-jdenticon
- Properly sign macOS builds.
- Support animated images like GIF and WebP.
  - Optionally just play them on hover.
- Support accepting knocks in the timeline.
- Close a room when clicking it again. (LorenDB)
- Close image overlay with escape.
- Support .well-known discovery during registration.
- Limited spaces support.
  - No nice display of nested spaces.
  - No previews of unjoined rooms.
  - No way to edit a space.
- Render room avatar changes in the timeline. (BShipman)
- Support pulling out the sidebar to make it wider.
- Allow editing pending messages instead of blocking until they are sent.
    (balsoft)
- Support mnemonics in the context menus. (AppAraat)
- Support TOFU for encryption. (Trust on first use)
- Right click -> copy address location.
- Forward messages. (Jedi18)
- Alt-F to forward messages.

### Improvements

- Tranlation updates:
  - French by MayeulC, ISSOtm, Glandos, Carl Schwan
  - Dutch by Thulinma, Bas van Rossem, Glael, Thijs
  - Esperanto by Tirifto, Colin
  - Estonian by Priit
  - Indonesian by Linerly
  - German by 123, Konstantin, fnetX, Mr. X, CryptKid
  - Portuguese (Portugal) by Tnpod, Xenovox, Gabriel R
  - Portuguese (Brazil) by Terry, zerowhy
  - Finnish by sdrrespudro, Priit
  - Polish by Prezu, AXD, stabor
  - Malayalam by vachan-maker
  - Italian by Daniele, Lorenzo
  - Spanish by lluise
  - Russian by kirillpt
  - Various wording improvements throughout.
- Verification status and identity keys should now update properly after login.
- Clicking the user in a read receipt opens their profile. (LorenDB)
- Invites should now work properly on mobile.
- Use the modern notifications on macOS.
- Decode blurhashes faster.
- Port various dialogs to Qml. (LorenDB)
- Improve paste support on Windows, when mimetype detection fails and pasting
    SVGs (Thulinma)
- --help and --version now work, even if Nheko is already running somewhere.
- Update emoji support to version 14.
- Properly navigate to linked to events. (Thulinma)
- Lots of smaller bugfixes and refactorings. (LorenDB)
- Scroll entire profile page and properly trim contents. (Thulinma)
- Make it easy to switch between global and room specific profiles. (Thulinma)
- Deduplicate messages sent by the server. (Thulinma)
- Decrease the margin of blockquotes. (tastytea)
- Alerts now work, if the homeserver does not implement the notifications
    endpoint. (Thulinma)
- Right click menu now works on replies.
- Decrypt encrypted media only in memory.
- Don't use CC-BY in the appstream license to not confuse Gnome Software.
- Document how to sync the repo on Gentoo. (alfasi)
- Support online key backup.
- Improve FAQ. (harmathy)
- Support Backtab/Shift-Tab for moving backwards in completer selections.
- Clear cache to support the new features.
- Improve the emoji completer (less jitter and fix places where it didn't open). (Thomaps Karpiniec)
- Cleanup @room escape logic.
- Improve performance of timeline rendering.
- Add fallback for sent stickers, so that they show on iOS.
- Load rooms somewhat lazily.
- Properly scale avatars to DPI.
- Round avatars once in the backend instead of on every render.
- Request keys of all members, when opening a room the first time.
- Timeout TCP connections, if heartbeat can't be heard.
- Change secrets name. You might need to rerequest your secrets after upgrading!
- Protect against replay attacks where megolm sessions are reused.
- Add "request keys" button to undecryptable messages.
- Remove superfluous permissions in Flatpak.
- Properly set window parents on Wayland.
- Properly show users and allow opening their profiles in the members and read
    receipt dialogs. (LorenDB)
- Use Qt5.15 Connections syntax in Qml.
- Remove "respond to keyrequests option". We now reply to the right requests
    automatically and securely.
- Show confirmation prompt when leaving a room.
- Add trailing newline to session export for gomuks compatibility.
- Use a fancy Nheko logo as the loading indicator.
- Improve how the invite dialog handles users. (LorenDB)
- Store more data about megolm sessions.
- Speed up database queries by caching transactions.
- Use curl for network requests.
  - This removes the boost dependency.
  - Proxies now work using the usual curl variables.
  - Fixes a myriad of crashes.
  - Faster.
  - Less CPU load.
  - Less bandwidth usage.
- Cleanup user color generation.
- Show borders around tables.
- Improve wording of a few menu entries. (absorber)
- Highlight navigated to message.

### Bugfixes

- Redaction of edited messages should now actually show those messages as removed.
- Bootstrap after registration should run properly now.
- Getting logged out after registration should not happen anymore.
- Removed edgecases where identity keys could get uploaded twice.
- Fix the event loop when fetching secrets breaking random things like scrolling.
- Don't crash when clearing an empty timeline.
- Opening an invite in your browser or a matrix: URI should not crash Nheko anymore or do nothing.
- When clicking on an item in the roomlist, you don't have to move your mouse anymore, before being able to click again.
- Don't hide space childs when viewing that specific space and its children are hidden.
- Only allow specific URI schemes to be followed automatically.
- Properly hide day change indicator, when loading older messages.
- Rotate session properly when 'verified only' is set.
- Handle missing keys in key queries properly.
- Properly show the window title for Qml dialogs on windows.
- Don't show decryption errors in replies.
- Don't crash when storing secrets.
- Don't send megolm messages to ourselves, if possible.
- Fix SSSS without a password.
- Fix a few edge cases with OTK upload.
- Cache more media properly (i.e. in the Goose Chooser).
- Inline images in messages now load properly.
- Don't show verification requests after startup.
- Emoji picker now follows the theme.
- Send less newlines in the reply fallback.
- Fix tags going missing when joining spaces.
- Handle inline images with single quotes. (Cadair)
- Delay key requests until a room is opened.
- Fix rooms not showing, when groups endpoint is missing.
- Don't use deprecated parameters in /login.
- Fix encoding issues when translating matrix.to to matrix: URIs.

### Packaging changes

- Removed the AppImage

## [0.8.2] -- 2021-04-23

### Highlights

- Edits
  - If you made a typo, just press the `Up` key and edit what you wrote.
  - Messages other users edited will get updated automatically and have a small
      pen symbol next to them.
- Privacy Screen
  - Blur your messages, when Nheko looses focus, which prevents others from
    peeking at your messages.
  - You can configure the timeout of when this happens.
- Improved notifications (contributed by lorendb)
  - No more breakage, because the message included a > on KDE based DEs.
  - Render html and images where possible in the notification.
  - Render if a message is a reply or someone sent an emote message more nicely
      where possible.
  - Encrypted notifications now show, that the content is encrypted instead of
      being empty.
- Screenshare support in calls on X11 (contributed by trilene)
  - Share your screen in a call!
  - Select if your mouse cursor should be shown or not and if your webcam should
      be included.
- SEND MESSAGES AS RAINBOWS! (contributed by LordMZTE)
  - YES MESSAGES, EMOTES AND NOTICES!

### Features

- Set your displayname and avatar from Nheko either globally or per room.
    (contributed by jedi18)
- Show room topic in the room settings.
- Double tap a message to reply to it.
- Leave a room using `/part` or `/leave`. (contributed by lorendb)
- Show mxid when hovering a username or avatar.
- Allow opening matrix: uris on Windows.
- Disable room pings caused by replies sent via Nheko (unless you are using
    Element Web/Desktop).

### Improvements
- Userprofile can be closed via the Escape key. No more hotel california!
    (contributed by lorendb)
- Most dialogs are now centered on the Nheko window.  (contributed by lorendb)
- Update Hungarian translations. (contributed by maxigaz)
- Update Estonian translations. (contributed by Priit)
- Update Russian translations. (contributed by Alexey Murz and Artem)
- Update Swedish translations. (contributed by Emilie)
- Update French translations. (contributed by MayeulC, Nicolas Guichard and Carl Schwan)
- Allow drag and drop of files on the whole timeline. (contributed by lorendb)
- Enable notifications on Haiku. (contributed by kallisti5)
- Update scheme handler to the latest matrix: scheme proposal.
- Close completers when typing a space after the colon. (contributed by jedi18)
- Port room settings to Qml. (contributed by jedi18)
- Improved read marker handling. Read marker should now get stuck less often.
- Various changes around hover and tap handling in the timeline, which hopefully
    now works more predicatably.
- Buttons in the timeline are now rendered in a box on hover on desktop
    platforms.
- Complete room links in the timeline after typing a # character. (contributed
    by jedi18)
- An improved quick switcher with better rendering and search. (contributed by jedi18)
- Some fixes around inline emoji and images.
- Jump into new rooms, after you created them. (contrubuted by jedi18)
- Improved search in the emoji picker.
- Allow disabling certificate checks via the config file.
- Use native menus where possible.
- Fix video playback on Windows. (contrubuted by jedi18)
- Send image messages by pressing Enter. (contributed by salahmak)
- Escape closes the upload widget. (contributed by salahmak)
- Improve session rotation and sharing in E2EE rooms.

### Bugfixes
- Emojis joined from separate emojis with a 0xfe0f in the middle should now
    render correctly.
- Fix a bug when logging out of a non default profile clearing the wrong
    profile. (contrubuted by lorendb)
- Various fixed around profile handling. (contributed by lorendb)
- Focus message input after a reaction. (contributed by jedi18)
- Disable native rendering to prevent kerning bugs on non integer scale factors.
- Fix duplex call devices not showing up. (contributed by trilene)
- Fix a few crashes when leaving a room. (contributed by jedi18)
- Fix hidden tags not updating properly. (contributed by jedi18)
- Fix some issues with login, when a server had SSO as well as password login
    enabled (for example matrix.org).
- Properly set the dialog flag for dialogs on most platforms. (Wayland does not
    support that.)
- Properly add license to source files.
- Fix fingerprint increasing the minimum window size.
- Don't send markdown links in the plain text body of events when autocompleting
    user or room names.
- Fix webcam not working in flatpaks.
- Fix markdown override in replies.
- Fix unsupported events causing errors when saving them. (contributed by
    anjanik)
- Fix exif rotation not being respected anymore in E2EE rooms.
- Remove unused qml plugins in the windows package.
- Fix broken olm channels automatically when noticed.