forked from Syndace/python-omemo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
84 lines (58 loc) · 4.61 KB
/
CHANGELOG
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
Version 0.12.0 (released: 28th of March, 2020)
- The JSONFileStorage now encodes JIDs using hashes, to avoid various issues regarding the file system. <- WARNING, THERE ARE KNOWN ISSUES WITH THIS STORAGE IMPLEMENTATION.
- Sending 12 byte IV's instead of 16 now
- Fixed the way key transport messages are sent and received to be compatible with other implementations.
- Switched to MIT license with the agreement of all contributors!
This version introduces changes to the existing public APIs:
- SessionManager.encryptKeyTransportMessage now receives the optional plaintext as a parameter directly, instead of using a callback to encrypt external data. If the plaintext is omitted, a shared secret is returned that can be used for purposes external to this library.
Other internal breaking changes are listed above.
Version 0.11.0 (released: 13th of December, 2019)
- Fixed a bug in the SessionManager, where the contents of a parameter (passed by reference) were modified.
- Merged the "trust" and "distrust" methods into "setTrust".
- Added a new method "resetTrust", which allows going back to the trust level "undecided".
- Removed the SessionManagerAsyncIO, in preparation for the big Python 3 update coming soon.
This version introduces changes to the existing public APIs:
- SessionManager.trust and SessionManager.distrust were merged into SessionManager.setTrust
- Storage.storeTrust must now be able to handle the value "None" for the "trust" parameter
- SessionManagerAsyncIO completely removed
There are additions to the public API:
- SessionManager.resetTrust can now be used to go back from trusted/untrusted to undecided.
Version 0.10.5 (released: 21st of July, 2019)
- Fixed two bugs in the JSONFileStorage implementation
- Fixed a type-issue in the __str__ of the TrustException
- Fixed a rare bug where sessions uncapable of encrypting messages would be stored
- 2019 license and author email update
This version does not introduce any changes to public APIs. No further updating should be required.
Version 0.10.4 (released: 1st of February, 2019)
- Added an implementation of the storage using a simple directory structure and JSON files.
- RatchetForwardingMessages do not require the recipient to be trusted any more, as they contain no user-generated content. See #22 for information. Fixes #22
- Cleared up the confusion about the UntrustedException. Renamed the exception to TrustException and added a fourth field "problem" to get the type of problem (untrusted vs. undecided). Fixes #25
This version does introduce a minor change to the existing public APIs:
- Renamed UntrustedException to TrustException
- Added a new parameter "problem" of type string to the TrustException, including a getter for it. Valid values: "untrusted" and "undecided".
Version 0.10.3 (released: 29th of December, 2018)
- Added a method for requesting trust information from the storage at bulk. This can be overridden for better performance.
- Added a method for requesting sessions from the storage at bulk. This can be overridden for better performance.
- Added a public method to delete an existing session. This is useful to recover from broken sessions.
- Added a public method to retrieve a list of all managed JIDs.
- Turned the changelog upside-down, so that the first entry is the newest.
- Added a stresstest, mostly to test recursion depth.
- Modified no_coroutine in the promise lib to use a loop instead of recursion.
- Modified the promise constructor to run promises in threads.
This update does not introduce changes to any of the existing public APIs. There are new additions to the public API though:
- Storage.loadTrusts
- Storage.loadSessions
- SessionManager.deleteSession
- SessionManager.listJIDs
Version 0.10.2 (released: 29th of December, 2018)
- Most exceptions now implement __str__ to generate human-readable messages. Fixes #19
- Introduced an exception-hierarchy to allow for more fine-grained exception catching and type-checking. Fixes #20
- Added methods to retrieve trust information from the SessionManager (getTrustForDevice and getTrustForJID). Fixes #21
- Fixed a bug that tried to instantiate an object of the wrong class from serialized data.
This update does not introduce changes to any of the existing public APIs. There are new additions to the public API though:
- SessionManager.getTrustForDevice
- SessionManager.getTrustForJID
Version 0.10.1 (released: 27th of December, 2018)
- Added CHANGELOG
- Upon serialization the current library version is added to the serialized structures, to allow for seamless updates in the future. Fixes #18
This version does not introduce any changes to public APIs. No further updating should be required.