-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathCHANGELOG.txt
72 lines (58 loc) · 2.72 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# 2.x.y
Changes:
- Added [[nodiscard]] attribute for pg::connect functions.
- Fixed level 4 warning C4840 when building the tests as C++17 with MSVC.
- Added [[deprecated]] attribute for the pg::observer_owner.
# 2.1.0
Changes:
- Removed apex_observer class from the public API and moved it to the detail
namespace of the observer library.
- Fixed compilation with C++17 or newer.
- Build tests, examples and benchmark with C++17.
# 2.0.2
Changes:
- Revisited noexcept specifiers.
- Fixed a universal reference for the pg::connection_owner::connect overload
that connects function objects.
- Fixed connecting const member functions for instances that are const.
# 2.0.1
Changes:
- pg::connection_owner now uses a vector instead of a set to store connections.
A vector is faster more memory efficient than a set when used as a storage.
Also this makes possible to make the order of disconnecting observers from
the subjects the reverse of they were connected.
- Added pg::connect functions which return a pg::scoped_connection. These can
be used in case a connection_owner is a overkill, for example when you need
to connect only one subject.
The lifetime of the connection is coupeld to pg::scoped_connection.
- Renamed pg::observer_owner to pg::connection_owner and provided an alias for
the old name to ensure backwards compatibility.
The new name expresses better the functionality of the object.
- pg::connection_owner supports static polymorphism for subjects. A subject is
required to have a connect and a disconnect function that accepts an observer
interface pointer as parameter.
- Added pg::blockable_subject. This subject type maintains a block count so
that multiple resources can block its notifications.
Breaking changes:
- The overload pg::connection_owner::connect which connected one subject to
another is removed. Use the connect overload for member functions instead.
See tests or chain_subjects example.
- pg::subject is no longer blockable, use pg::blockable_subject instead.
- pg::subject_blocker now requires subjects to provide a block and a unblock
function, for example like pg::blockable_subject.
- A connection is no longer automaticly invalidated. The usability of this
feature didn't justify the extra complexity.
# 1.1.1
Changes:
- Restored the detail namespace in observer.h.
- Added a simple benchmark to get an idea about the overhead.
# 1.1.0
Changes:
- The destructor of subject now calls the disconnect of its observers in the
reversed order the in which observers were connected.
- Refactored the connection handle.
- Made pg::invoke part of the public API.
- Added doxygen documentation for the public API.
- Changed the observer interface to allow custom observer types.
# v1.0.0
- Initial release