aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
blob: 0f417b06fde6aaf2e29f6a549b43f1a2e68aaa2e (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
Changelog
=========

__3.0.2a__
----------

*   Fixed bug on Windows when username containing wide characters causes the
    library to crash.

    _Le Liu_

__3.0.1a__
----------

*   Allows the application path and version to be excluded from the server name
    hash. The following flags were added for this purpose:
      * `SingleApplication::Mode::ExcludeAppVersion`
      * `SingleApplication::Mode::ExcludeAppPath`
*   Allow a non elevated process to connect to a local server created by an
    elevated process run by the same user on Windows
*   Fixes a problem with upper case letters in paths on Windows

    _Le Liu_

__v3.0a__
---------

*   Depricated secondary instances count.
*   Added a sendMessage() method to send a message to the primary instance.
*   Added a receivedMessage() signal, emitted when a message is received from a
    secondary instance.
*   The SingleApplication constructor's third parameter is now a bool
    specifying if the current instance should be allowed to run as a secondary
    instance if there is already a primary instance.
*   The SingleApplication constructor accept a fourth parameter specifying if
    the SingleApplication block should be User-wide or System-wide.
*   SingleApplication no longer relies on `applicationName` and
    `organizationName` to be set. It instead concatenates all of the following
    data and computes a `SHA256` hash which is used as the key of the
    `QSharedMemory` block and the `QLocalServer`. Since at least
    `applicationFilePath` is always present there is no need to explicitly set
    any of the following prior to initialising `SingleApplication`.
      * `QCoreApplication::applicationName`
      * `QCoreApplication::applicationVersion`
      * `QCoreApplication::applicationFilePath`
      * `QCoreApplication::organizationName`
      * `QCoreApplication::organizationDomain`
      * User name or home directory path if in User mode
*   The primary instance is no longer notified when a secondary instance had
    been started by default. A `Mode` flag for this feature exists.
*   Added `instanceNumber()` which represents a unique identifier for each
    secondary instance started. When called from the primary instance will
    return `0`.

__v2.4__
--------

*   Stability improvements
*   Support for secondary instances.
*   The library now recovers safely after the primary process has crashed
and the shared memory had not been deleted.

__v2.3__
--------

*   Improved pimpl design and inheritance safety.

    _Vladislav Pyatnichenko_

__v2.2__
--------

*   The `QAPPLICATION_CLASS` macro can now be defined in the file including the
Single Application header or with a `DEFINES+=` statement in the project file.

__v2.1__
--------

*   A race condition can no longer occur when starting two processes nearly
    simultaneously.

    Fix issue [#3](https://github.com/itay-grudev/SingleApplication/issues/3)

__v2.0__
--------

*   SingleApplication is now being passed a reference to `argc` instead of a
    copy.

    Fix issue [#1](https://github.com/itay-grudev/SingleApplication/issues/1)

*   Improved documentation.