Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,9 @@ jobs:
with:
pkgs: boost-json cpr gettext-libintl glib gtest libsecret maddy
triplet: ${{ matrix.variant.triplet }}
revision: 4103f46cb1ebb69ef5511cab840ecea0f441fbd7
revision: b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01
token: ${{ github.token }}
cache-key: ${{ matrix.variant.triplet }}-4103f46cb1ebb69ef5511cab840ecea0f441fbd7
cache-key: ${{ matrix.variant.triplet }}-b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01
- name: "Build"
working-directory: ${{github.workspace}}/build
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,9 @@ jobs:
with:
pkgs: boost-json cpr gettext-libintl glib gtest maddy
triplet: arm64-osx
revision: 4103f46cb1ebb69ef5511cab840ecea0f441fbd7
revision: b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01
token: ${{ github.token }}
cache-key: "arm64-osx-4103f46cb1ebb69ef5511cab840ecea0f441fbd7"
cache-key: "arm64-osx-b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01"
- name: "Build"
working-directory: ${{github.workspace}}/build
run: |
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@ jobs:
with:
pkgs: boost-json cpr gettext-libintl gtest maddy sqlcipher
triplet: ${{ matrix.variant.triplet }}
revision: 4103f46cb1ebb69ef5511cab840ecea0f441fbd7
revision: b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01
token: ${{ github.token }}
cache-key: ${{ matrix.variant.triplet }}-4103f46cb1ebb69ef5511cab840ecea0f441fbd7
cache-key: ${{ matrix.variant.triplet }}-b1b19307e2d2ec1eefbdb7ea069de7d4bcd31f01
- name: "Build"
working-directory: ${{github.workspace}}/build
run: |
Expand Down
35 changes: 35 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
# Changelog

## 2025.9.0
### Breaking Changes
#### App
- Removed `DataFileBase`
- Removed `DataFileManager`
- Moved `AppInfo::convertUrlMapToVector()` to `Helpers::CodeHelpers` namespace
- Moved `App::CancellationToken` to `Helpers` namespace
#### Database
- Rewrote all classes with a more modern interface
- Renamed all classes with `Sqlite` prefix
#### Keyring
- Rewrote `Keyring` class with a more modern interface
- Moved `SystemCredentials` to `System::Credentials` namespace
- Removed `CredentialCheckStatus` enum
- Removed `PasswordStrength` module
#### Network
- Removed `DNS` module
- Removed `Socket` and related classes
#### Taskbar
- Removed module
### New APIs
#### Helpers
- Added `DEFINE_ENUM_FLAGS()` macro to `CodeHelpers` namespace
- Added `IJsonSerializable` interface
- Added `JsonFileBase` to replace `DataFileBase`
- Added `quote()` function to `StringHelpers` namespace
#### Keyring
- Added `Space` value to `PasswordContent`
#### System
- Added `execAsync()` function to `Environment` namespace
### Fixes
- Marked functions and methods with `noexcept` where applicable
#### System
- Fixed `Process`'s handling of quoted strings

## 2025.8.0
### Breaking Changes
None
Expand Down
53 changes: 19 additions & 34 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ endif()
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake")

#libnick Definition
project ("libnick" LANGUAGES C CXX VERSION 2025.8.0 DESCRIPTION "A cross-platform base for native Nickvision applications.")
project ("libnick" LANGUAGES C CXX VERSION 2025.9.0 DESCRIPTION "A cross-platform base for native Nickvision applications.")
include(CMakePackageConfigHelpers)
include(GNUInstallDirs)
include(CTest)
Expand All @@ -36,14 +36,12 @@ if(NOT WIN32)
endif()
add_library (${PROJECT_NAME}
"include/app/appinfo.h"
"include/app/cancellationtoken.h"
"include/app/datafilebase.h"
"include/app/datafilemanager.h"
"include/app/windowgeometry.h"
"include/database/sqlcontext.h"
"include/database/sqldatabase.h"
"include/database/sqlstatement.h"
"include/database/sqlvalue.h"
"include/database/sqlite.h"
"include/database/sqlitedatabase.h"
"include/database/sqlitefunctioncontext.h"
"include/database/sqlitestatement.h"
"include/database/sqlitevalue.h"
"include/events/event.h"
"include/events/eventargs.h"
"include/events/parameventargs.h"
Expand All @@ -54,33 +52,30 @@ add_library (${PROJECT_NAME}
"include/filesystem/userdirectories.h"
"include/filesystem/userdirectory.h"
"include/filesystem/watcherflags.h"
"include/helpers/cancellationtoken.h"
"include/helpers/codehelpers.h"
"include/helpers/ijsonserializable.h"
"include/helpers/jsonfilebase.h"
"include/helpers/pairhash.h"
"include/helpers/stringhelpers.h"
"include/keyring/credential.h"
"include/keyring/credentialcheckstatus.h"
"include/keyring/keyring.h"
"include/keyring/passwordcontent.h"
"include/keyring/passwordgenerator.h"
"include/keyring/passwordstrength.h"
"include/keyring/systemcredentials.h"
"include/localization/documentation.h"
"include/localization/gettext.h"
"include/network/addressfamily.h"
"include/network/dns.h"
"include/network/ipv4address.h"
"include/network/macaddress.h"
"include/network/networkmonitor.h"
"include/network/networkstate.h"
"include/network/networkstatechangedeventargs.h"
"include/network/socket.h"
"include/network/sockettype.h"
"include/network/web.h"
"include/notifications/appnotification.h"
"include/notifications/notificationsenteventargs.h"
"include/notifications/notificationseverity.h"
"include/notifications/shellnotification.h"
"include/notifications/shellnotificationsenteventargs.h"
"include/system/credentials.h"
"include/system/dependencysearchoption.h"
"include/system/deploymentmode.h"
"include/system/environment.h"
Expand All @@ -90,49 +85,42 @@ add_library (${PROJECT_NAME}
"include/system/processexitedeventargs.h"
"include/system/processstate.h"
"include/system/suspendinhibitor.h"
"include/taskbar/progressstate.h"
"include/taskbar/taskbaritem.h"
"include/update/updater.h"
"include/update/version.h"
"include/update/versiontype.h"
"src/app/appinfo.cpp"
"src/app/cancellationtoken.cpp"
"src/app/datafilebase.cpp"
"src/app/datafilemanager.cpp"
"src/app/windowgeometry.cpp"
"src/database/sqlcontext.cpp"
"src/database/sqldatabase.cpp"
"src/database/sqlstatement.cpp"
"src/database/sqlvalue.cpp"
"src/database/sqlitedatabase.cpp"
"src/database/sqlitefunctioncontext.cpp"
"src/database/sqlitestatement.cpp"
"src/database/sqlitevalue.cpp"
"src/filesystem/filesystemchangedeventargs.cpp"
"src/filesystem/filesystemwatcher.cpp"
"src/filesystem/userdirectories.cpp"
"src/helpers/cancellationtoken.cpp"
"src/helpers/codehelpers.cpp"
"src/helpers/jsonfilebase.cpp"
"src/helpers/stringhelpers.cpp"
"src/keyring/credential.cpp"
"src/keyring/keyring.cpp"
"src/keyring/passwordgenerator.cpp"
"src/keyring/passwordstrength.cpp"
"src/keyring/systemcredentials.cpp"
"src/localization/documentation.cpp"
"src/localization/gettext.cpp"
"src/network/dns.cpp"
"src/network/ipv4address.cpp"
"src/network/macaddress.cpp"
"src/network/networkmonitor.cpp"
"src/network/networkstatechangedeventargs.cpp"
"src/network/socket.cpp"
"src/network/web.cpp"
"src/notifications/appnotification.cpp"
"src/notifications/notificationsenteventargs.cpp"
"src/notifications/shellnotification.cpp"
"src/notifications/shellnotificationsenteventargs.cpp"
"src/system/credentials.cpp"
"src/system/environment.cpp"
"src/system/hardwareinfo.cpp"
"src/system/process.cpp"
"src/system/processexitedeventargs.cpp"
"src/system/suspendinhibitor.cpp"
"src/taskbar/taskbaritem.cpp"
"src/update/updater.cpp"
"src/update/version.cpp")
target_include_directories(${PROJECT_NAME} PUBLIC "$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/include>" "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}>")
Expand All @@ -152,7 +140,7 @@ find_package(maddy CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC Boost::json cpr::cpr Intl::Intl maddy::maddy)
if(WIN32)
find_package(sqlcipher CONFIG REQUIRED)
target_link_libraries(${PROJECT_NAME} PUBLIC sqlcipher::sqlcipher Advapi32 Dnsapi Dwmapi Gdiplus Kernel32 Shell32 UxTheme Ws2_32)
target_link_libraries(${PROJECT_NAME} PUBLIC sqlcipher::sqlcipher Advapi32 Dnsapi Dwmapi Gdiplus Kernel32 Shell32 UxTheme)
elseif(APPLE)
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_library(CF_LIBRARY CoreFoundation)
Expand Down Expand Up @@ -204,11 +192,10 @@ if (BUILD_TESTING)
add_executable(${PROJECT_NAME}_test
"tests/codetests.cpp"
"tests/databasetests.cpp"
"tests/datafiletests.cpp"
"tests/dnstests.cpp"
"tests/eventtests.cpp"
"tests/filewatchertests.cpp"
"tests/hardwaretests.cpp"
"tests/jsonfiletests.cpp"
"tests/keyringtests.cpp"
"tests/localizationtests.cpp"
"tests/main.cpp"
Expand All @@ -217,9 +204,7 @@ if (BUILD_TESTING)
"tests/passwordtests.cpp"
"tests/processtests.cpp"
"tests/stringtests.cpp"
"tests/systemcredentialstests.cpp"
"tests/systemtests.cpp"
"tests/taskbartests.cpp"
"tests/updatertests.cpp"
"tests/versiontests.cpp"
"tests/webtests.cpp")
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ PROJECT_NAME = "libnick"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = "2025.8.0"
PROJECT_NUMBER = "2025.9.0"

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
Loading
Loading