None
- Added
Nickvision::System::Environment::hasVariable()
- Fixed an issue where Flatpak deployment mode was not correctly detected
None
None
- Fixed an issue where
DataFileBase
was incorrectly parsing JSON files
- Replaced
jsoncpp
library withboost-json
Nickvision::App::DataFileBase
'sm_json
object is now of typeboost::json::object
None
None
- The
Nickvision::Keyring::Keyring
class has been rewritten for better performance and a cleaner API. Keyrings created with previous versions of libnick are no longer compatible. - Removed
Nickvision::Keyring::KeyringDialogController
- Removed
Nickvision::Keyring::Store
None
None
None
None
- Improved
Nickvision::System::Process
implementation on UNIX systems
None
None
- Improved
Nickvision::System::Process
's handling of arguments
Nickvision::System::Process::kill()
will now kill child processes spawned by the respective process
None
- Cleaned up the message logged by
Nickvision::Logging::Logger:log()
- Improved
Nickvision::System::Process
's handling of arguments
- Removed the dependency on
libuuid
- Non-constructor methods will no longer throw exceptions but return true or false upon success.
- Non-constructor methods will no longer throw exceptions but return true or false upon success.
- Removed
Nickvision::Network::WebClient
class
- Added
Nickvision::Events::Event::count()
method - Added
Nickvision::Events::Event::operator bool()
method
- Added
Nickvision::Helpers::StringHelpers::newUuid()
method
- Added
Nickvision::Network::DNS
namespace - Added
Nickvision::Network::IPv4Address
class - Added
Nickvision::Network::MacAddress
class - Added
Nickvision::Network::Web
class
- Improved GUID/UUID generation in
Nickvision::Helpers::StringHelpers
None
- Added
Nickvision::System::Environment::testVariable()
- Fixed a deadlock that can occur when reading
Nickvision::Network::NetworkMonitor
's connectionState
- The default value of
Nickvision::Helpers::StringHelpers::join
'sseparateLast
parameter is nowfalse
None
- Fixed an issue where
Nickvision::System::SuspendInhibitor
did not work correctly on Linux systems
- Removed application directories from
Nickvision::Filesystem::UserDirectory
enum
- Added
Nickvision::Filesystem::ApplicationUserDirectory
enum - Added
Nickvision::Filesystem::UserDirectories::get()
function overload forNickvision::Filesystem::ApplicationUserDirectory
support
- Added
Nickvision::Helpers::StringHelpers::normalizeForFilename()
- Added
Nickvision::Helpers::StringHelpers::replace()
character overload
- Fixed an issue where
Nickvision::Update::Updater::windowsUpdate()
did not work correctly
- Removed
Nickvision::App::Aura
- Renamed
Nickvision::App::ConfigurationBase
toNickvision::App::DataFileBase
- Removed
Nickvision::Filesystem::SystemDirectories
namespace - Removed
Nickvision::Filesystem::UserDirectories::get*
methods
- Added
Nickvision::App::DataFileManager
class
- Added
Nickvision::Filesystem::UserDirectory
enum - Added
Nickvision::Filesystem::UserDirectories::get()
- Added
Nickvision::Notifications::NotifyIcon::getForHWND()
- Added
Nickvision::Localization::Documentation::getHelpUrl()
- Added
Nickvision::System::DeploymentMode
enum - Added
Nickvision::System::OperatingSystem
enum - Added
Nickvision::System::Environment::getOperatingSystem()
- Added
Nickvision::System::Environment::getDeploymentMode()
- Added
Nickvision::System::Environment::getExecutableDirectory()
- Added
Nickvision::System::Environment::getLocaleName()
- Added
Nickvision::System::Environment::getPath()
- Added
Nickvision::System::Environment::findDependency()
Nickvision::Filesystem::UserDirectories
will now fetch propermacOS
directories
Nickvision::Localization::Gettext::init()
will ensure the domainName is lowercase and contains no spaces
- Fixed an issue where Updater would crash if failed to fetch json
None
None
- Fixed x86 Windows builds
None
- Added support for
macOS
across the library
Nickvision::Helpers::StringHelpers::splitArgs()
Nickvision::System::SuspendInhibitor
class
Nickvision::System::Environment::exec()
now correctly handles quotes args
Nickvision::App::Aura
now disables move operations, as well as previously disabled copy operations
Nickvision::Events::HandlerId
is now defined asenum class HandlerId : size_t
instead ofusing HandlerId = size_t
Nickvision::Helpers::StringHelpers::encode
now acceptsstd::vector<std::byte>
instead ofstd::vector<std::uint_8>
Nickvision::Helpers::StringHelpers::decode
now returnsstd::vector<std::byte>
instead ofstd::vector<std::uint_8>
Nickvision::Notifications::NotifyIcon
constructor now requires specification of the tooltip string
Nickvision::App::Aura::getNotifyIcon()
Nickvision::Helpers::CodeHelpers::readFileBytes()
Nickvision::Helpers::CodeHelpers::writeFileBytes()
Nickvision::Notifications::NotifyIcon::getContextMenu()
Nickvision::Notifications::NotifyIcon::setContextMenu()
- Enum flag operators are now
constexpr
where applicable
None
None
- Fixed cmake config file
Nickvision::App::Aura::init()
will no longer initializelibcurl
- Renamed
Nickvision::CodeHelpers
namespace toNickvision::Helpers::CodeHelpers
- Renamed
Nickvision::StringHelpers
namespace toNickvision::Helpers::StringHelpers
- Removed
Nickvision::WebHelpers
namespace
Nickvision::Helpers::CodeHelpers::getLastSystemError()
Nickvision::Network::CurlEasy
classNickvision::Network::WebClient
class
None
- Removed
enumflags.h
- Added
sqlcipher
as a dependency for Windows buildsqlcipher
will continue to be built manually by libnick on Linux until thevcpkg
port is fixed for Linux
- Removed
Nickvision::App::Aura::getEnvVar()
- Removed
Nickvision::App::Aura::setEnvVar()
- Removed
Nickvision::App::Aura::sysExec()
Nickvision::Events::Event::subscribe()
andNickvision::Events::Event::operator+=()
will now return aNickvision::Events::HandlerId
that must be passed toNickvision::Events::Event::unsubscribe()
andNickvision::Events::Event::operator-=()
to remove a handler.
- Removed
Nickvision::Localization::Documentation
namespace
Nickvision::StringHelpers::split()
will return a list with an empty string when the string to split is empty, instead of an empty list- Renamed
Nickvision::StringHelpers::toBase64()
toNickvision::StringHelpers::encode()
- Renamed
Nickvision::StringHelpers::toByteList()
toNickvision::StringHelpers::decode()
- Renamed
Nickvision::StringHelpers::toLower()
toNickvision::StringHelpers::lower()
- Renamed
Nickvision::StringHelpers::toString()
toNickvision::StringHelpers::str()
- Renamed
Nickvision::StringHelpers::toUpper()
toNickvision::StringHelpers::upper()
- Renamed
Nickvision::StringHelpers::toWstring()
toNickvision::StringHelpers::wstr()
- Renamed
Nickvision::Update::Version::toString()
toNickvision::Update::Version::str()
Nickvision::App::Aura::isValid()
Nickvision::App::Aura::getHelpUrl()
Nickvision::App::Aura::operator bool()
Nickvision::System::Environment
namespace- Provides
getVariable()
- Provides
setVariable()
- Provides
clearVariable()
- Provides
sysExec()
- Provides
Nickvision::System::Process
classNickvision::System::ProcessExitedEventArgs
class
- Fixed an issue where
Nickvision::Keyring::SystemCredentials::addCredential
freed memory incorrectly on Windows - Improved the memory usage of
Nickvision::Network::NetworkMonitor
on Windows
- Improved test code
None
None
- Improved
Nickvision::Update::Updater
API