SingleApplication/CHANGELOG.md

225 lines
6.1 KiB
Markdown
Raw Normal View History

Changelog
=========
2019-10-13 15:35:50 +08:00
__3.0.18__
----------
* Fallback to standard QApplication class on iOS and Android systems where
the library is not supported.
2019-10-11 21:35:03 +08:00
__3.0.17__
----------
* Fixed compilation warning/error caused by `geteuid()` on unix based systems.
_Iakov Kirilenko_
* Added CMake support
_Hennadii Chernyshchyk_
2019-09-23 01:41:33 +08:00
__3.0.16__
----------
* Use geteuid and getpwuid to get username on Unix, fallback to environment variable.
_Jonas Kvinge_
2019-08-24 04:08:07 +08:00
__3.0.15__
2019-08-24 04:08:44 +08:00
----------
2019-08-24 04:08:07 +08:00
2019-08-24 04:07:43 +08:00
* Bug Fix: sendMessage() might return false even though data was actually written.
2019-09-23 01:41:33 +08:00
2019-08-24 04:07:43 +08:00
_Jonas Kvinge_
2019-01-22 20:21:25 +08:00
__3.0.14__
----------
* Fixed uninitialised variables in the `SingleApplicationPrivate` constructor.
2018-10-04 22:29:21 +08:00
__3.0.13a__
----------
* Process socket events asynchronously
* Fix undefined variable error on Windows
_Francis Giraldeau_
__3.0.12a__
----------
* Removed signal handling.
__3.0.11a__
----------
* Fixed bug where the message sent by the second process was not received
correctly when the message is sent immediately following a connection.
_Francis Giraldeau_
* Refactored code and implemented shared memory block consistency checks
via `qChecksum()` (CRC-16).
* Explicit `qWarning` and `qCritical` when the library is unable to initialise
correctly.
2017-12-04 01:09:27 +08:00
__3.0.10__
----------
* Removed C style casts and eliminated all clang warnings. Fixed `instanceId`
reading from only one byte in the message deserialization. Cleaned up
serialization code using `QDataStream`. Changed connection type to use
`quint8 enum` rather than `char`.
* Renamed `SingleAppConnectionType` to `ConnectionType`. Added initialization
values to all `ConnectionType` enum cases.
_Jedidiah Buck McCready_
__3.0.9__
---------
* Added SingleApplicationPrivate::primaryPid() as a solution to allow
bringing the primary window of an application to the foreground on
Windows.
_Eelco van Dam from Peacs BV_
__3.0.8__
2017-08-21 01:39:11 +08:00
---------
* Bug fix - changed QApplication::instance() to QCoreApplication::instance()
2017-08-21 01:39:11 +08:00
_Evgeniy Bazhenov_
2017-04-23 19:31:52 +08:00
__3.0.7a__
----------
* Fixed compilation error with Mingw32 in MXE thanks to Vitaly Tonkacheyev.
* Removed QMutex used for thread safe behaviour. The implementation now uses
QCoreApplication::instance() to get an instance to SingleApplication for
memory deallocation.
2017-02-02 12:35:46 +08:00
__3.0.6a__
----------
* Reverted GetUserName API usage on Windows. Fixed bug with missing library.
* Fixed bug in the Calculator example, preventing it's window to be raised
on Windows.
2017-04-23 19:31:52 +08:00
Special thanks to Charles Gunawan.
2017-02-01 01:35:00 +08:00
__3.0.5a__
----------
* Fixed a memory leak in the SingleApplicationPrivate destructor.
_Sergei Moiseev_
2017-01-25 22:55:30 +08:00
__3.0.4a__
----------
* Fixed shadow and uninitialised variable warnings.
_Paul Walmsley_
__3.0.3a__
----------
* Removed Microsoft Windows specific code for getting username due to
multiple problems and compiler differences on Windows platforms. On
2017-01-25 01:28:14 +08:00
Windows the shared memory block in User mode now includes the user's
home path (which contains the user's username).
* Explicitly getting absolute path of the user's home directory as on Unix
a relative path (`~`) may be returned.
2016-11-27 19:11:14 +08:00
__3.0.2a__
----------
2016-11-29 01:44:58 +08:00
* Fixed bug on Windows when username containing wide characters causes the
2016-11-27 19:11:14 +08:00
library to crash.
_Le Liu_
__3.0.1a__
2016-11-27 19:11:14 +08:00
----------
* 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__
---------
2019-08-24 03:57:28 +08:00
* Deprecated secondary instances count.
2016-08-10 09:42:46 +08:00
* Added a sendMessage() method to send a message to the primary instance.
* Added a receivedMessage() signal, emitted when a message is received from a
2016-08-10 09:42:46 +08:00
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
2016-12-03 05:12:31 +08:00
instance if there is already a primary instance.
2016-08-10 09:42:46 +08:00
* 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
2016-12-03 05:12:31 +08:00
data and computes a `SHA256` hash which is used as the key of the
2016-08-10 09:42:46 +08:00
`QSharedMemory` block and the `QLocalServer`. Since at least
`applicationFilePath` is always present there is no need to explicitly set
2016-12-03 05:12:31 +08:00
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
2016-08-10 09:42:46 +08:00
* The primary instance is no longer notified when a secondary instance had
2016-12-03 05:12:31 +08:00
been started by default. A `Mode` flag for this feature exists.
* Added `instanceNumber()` which represents a unique identifier for each
2016-08-10 09:42:46 +08:00
secondary instance started. When called from the primary instance will
return `0`.
__v2.4__
2016-08-15 19:42:16 +08:00
--------
2016-08-10 09:42:46 +08:00
* Stability improvements
* Support for secondary instances.
* The library now recovers safely after the primary process has crashed
2016-08-10 09:42:46 +08:00
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.