Skip to content

Commit d0aae34

Browse files
committed
v2.20.6
1 parent 8bda62a commit d0aae34

File tree

1,322 files changed

+1358
-972
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,322 files changed

+1358
-972
lines changed

.gitlab-ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ variables:
152152
- $env:VCPKG_ROOT = $env:VCPKG_ROOT_WINDOWS
153153
- $env:VCPKG_DEFAULT_BINARY_CACHE = $env:VCPKG_DEFAULT_BINARY_CACHE_WINDOWS
154154
- tools/build_all ${BUILD_FLAG} ${ARCH_FLAG} --ci-mode
155-
- $Diff = git diff src/client/gui/translations
155+
- $Diff = git diff src/client/frontend/gui/translations
156156
- if ( $Diff.Count -ne 0 ) { echo "You have changed desktop strings which are not in ts files. Update your ts files by building locally, run the translation script on them, and add them to the commit."; exit 1 }
157157
- $Diff = git diff src/installer/common/translations
158158
- if ( $Diff.Count -ne 0 ) { echo "You have changed installer strings which are not in ts files. Update your ts files by building locally, run the translation script on them, and add them to the commit."; exit 1 }
@@ -875,9 +875,9 @@ test:translations:
875875
variables:
876876
GIT_STRATEGY: clone
877877
script:
878-
- $Unfinished = Select-String -Path src\client\gui\translations\*,src\installer\common\translations\*,src\installer\windows\uninstaller\translations\* -Pattern 'type="unfinished"'
878+
- $Unfinished = Select-String -Path src\client\frontend\gui\translations\*,src\installer\common\translations\*,src\installer\windows\uninstaller\translations\* -Pattern 'type="unfinished"'
879879
- if ( $Unfinished.Matches.Count -ne 0 ) { echo "You have untranslated strings in your ts files. Run the translation script on the ts files and add them to the commit."; exit 1 }
880-
- $Vanished = Select-String -Path src\client\gui\translations\*,src\installer\common\translations\*,src\installer\windows\uninstaller\translations\* -Pattern 'type="vanished"'
880+
- $Vanished = Select-String -Path src\client\frontend\gui\translations\*,src\installer\common\translations\*,src\installer\windows\uninstaller\translations\* -Pattern 'type="vanished"'
881881
- if ( $Vanished.Matches.Count -ne 0 ) { echo "You have vanished strings in your ts files. Run the translation script on the ts files with --remove-vanished and add them to the commit."; exit 1 }
882882
dependencies: []
883883
rules:

CHANGELOG.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,28 @@
1+
2.20.6 (09/02/2026)
2+
All:
3+
* Added link to website, and shortened description, for "Clear Wi-Fi History" feature. #1585
4+
* Added link to website for "Decoy Traffic" feature. #1648
5+
* Fixed incorrect curl settings when SNI domain is specified, fixes in wsnet. #1639
6+
* Fixed connecting to a static IP location may fail on WireGuard. #1647
7+
* Fixed WireGuard connection failures when key limit is reached. #1645
8+
* Fixed captcha compatibility issues for ScribeForce customers. #1649
9+
10+
11+
2.20.5 (28/01/2026)
12+
All:
13+
* Added support for hashed login. #1593
14+
* Improved code organization. #1626
15+
* Fixed multiple dropdowns showing at the same time on protocol screen. #1574
16+
* Fixed potential app crash on launch. #1622
17+
* Fixed the maximum log file size, limited to 2 MB. #1623
18+
* Fixed a potential wsnet crash on Android when the application terminates. #1625
19+
* Fixed "unsaved changes" alert may bypass invalid DNS settings check. #503
20+
MacOS:
21+
* Improved robustness if the wstunnel process is killed or crashes. #1608
22+
Linux:
23+
* Improved automatic DNS manager detection. #1611
24+
25+
126
2.20.4 (19/01/2026)
227
All:
328
* Added feature to clear Wi-Fi history. #1585

CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
3131
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
3232

3333
# Read version from header file
34-
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/version/windscribe_version.h"
34+
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/version/windscribe_version.h"
3535
VERSION_MAJOR_LINE REGEX "^#define WINDSCRIBE_MAJOR_VERSION")
36-
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/version/windscribe_version.h"
36+
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/version/windscribe_version.h"
3737
VERSION_MINOR_LINE REGEX "^#define WINDSCRIBE_MINOR_VERSION")
38-
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/version/windscribe_version.h"
38+
file(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/version/windscribe_version.h"
3939
VERSION_BUILD_LINE REGEX "^#define WINDSCRIBE_BUILD_VERSION")
4040

4141
string(REGEX REPLACE "^#define WINDSCRIBE_MAJOR_VERSION ([0-9]+).*" "\\1"
@@ -46,7 +46,7 @@ string(REGEX REPLACE "^#define WINDSCRIBE_BUILD_VERSION ([0-9]+).*" "\\1"
4646
WINDSCRIBE_VERSION_BUILD "${VERSION_BUILD_LINE}")
4747

4848
# Detect build type (guinea pig, beta, or stable)
49-
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/version/windscribe_version.h" VERSION_FILE_CONTENTS)
49+
file(READ "${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/version/windscribe_version.h" VERSION_FILE_CONTENTS)
5050
if(VERSION_FILE_CONTENTS MATCHES "^[^/]*#define WINDSCRIBE_IS_GUINEA_PIG" OR
5151
VERSION_FILE_CONTENTS MATCHES "\n[^/]*#define WINDSCRIBE_IS_GUINEA_PIG")
5252
set(WINDSCRIBE_BUILD_TYPE "guinea_pig")

cmake/packaging_linux.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ macro(linux_copy_files DEST_DIR TARGET_NAME)
5757
# Copy open source licenses
5858
add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
5959
COMMAND ${CMAKE_COMMAND} -E copy_if_different
60-
"${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/licenses/open_source_licenses.txt"
60+
"${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/licenses/open_source_licenses.txt"
6161
"${DEST_DIR}/opt/windscribe/"
6262
)
6363

cmake/packaging_windows.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ if(BUILD_APP)
106106
# Copy common files (licenses, etc.)
107107
COMMAND ${CMAKE_COMMAND} -E echo "Copying common files..."
108108
COMMAND ${CMAKE_COMMAND} -E copy_if_different
109-
"${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/licenses/open_source_licenses.txt"
109+
"${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/licenses/open_source_licenses.txt"
110110
"${BUILD_INSTALLER_FILES}/open_source_licenses.txt"
111111
)
112112

cmake/signing.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ endif()
7777
if(APPLE)
7878
# Extract Development Team ID from executable_signature_defs.h
7979
if(NOT DEFINED DEVELOPMENT_TEAM OR DEVELOPMENT_TEAM STREQUAL "")
80-
set(SIGNATURE_DEFS_FILE "${CMAKE_CURRENT_SOURCE_DIR}/src/client/common/utils/executable_signature/executable_signature_defs.h")
80+
set(SIGNATURE_DEFS_FILE "${CMAKE_CURRENT_SOURCE_DIR}/src/client/client-common/utils/executable_signature/executable_signature_defs.h")
8181
if(EXISTS "${SIGNATURE_DEFS_FILE}")
8282
file(READ "${SIGNATURE_DEFS_FILE}" SIGNATURE_DEFS)
8383
if(SIGNATURE_DEFS MATCHES "MACOS_CERT_DEVELOPER_ID \"[^(]+\\(([A-Z0-9]+)\\)\"")

libs/wsnet/include/wsnet/WSNet.h

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,17 @@ class EXPORTED WSNet : public scapix_object<WSNet>
2323
public:
2424
virtual ~WSNet() {}
2525

26-
// set debugLog to true for more verbose log output
27-
// call this function only once before initialize the library
28-
static void setLogger(WSNetLoggerFunction loggerFunction, bool debugLog);
29-
3026
// basePlatform value can be "windows", "mac", "linux", "android", "ios"
3127
// platformName and appVersion values are added to each request.
3228
// difference between basePlatform and platformName is that platformName is more specific (for example windows_arm64/windows).
3329
// deviceId - unique device identifier, in particular used for the API StaticIps
3430
// must supply sessionTypeId, where 3 = DESKTOP, 4 = MOBILE (ios and android) to get an appropriate session type token
31+
// set debugLog to true for more verbose log output
3532

3633
static bool initialize(const std::string &basePlatform, const std::string &platformName, const std::string &appVersion,
3734
const std::string &deviceId, const std::string &openVpnVersion, const std::string &sessionTypeId,
38-
bool isUseStagingDomains, const std::string &language, const std::string &persistentSettings);
35+
bool isUseStagingDomains, const std::string &language, const std::string &persistentSettings,
36+
WSNetLoggerFunction loggerFunction, bool debugLog);
3937
static std::shared_ptr<WSNet> instance();
4038
static void cleanup();
4139
static bool isValid();

libs/wsnet/include/wsnet/WSNetApiResourcesManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ class WSNetApiResourcesManager : public scapix_object<WSNetApiResourcesManager>
6868
virtual bool loginWithAuthHash() = 0;
6969

7070
// authTokenLogin call, must be called before login API call. Required for two stage login + CAPTCHA
71-
virtual void authTokenLogin(bool useAsciiCaptcha) = 0;
71+
virtual void authTokenLogin(const std::string &username, bool useAsciiCaptcha) = 0;
7272

7373
// login with username/password
7474
// optionally send captcha data

libs/wsnet/include/wsnet/WSNetHttpNetworkManager.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,11 +68,6 @@ class WSNetHttpNetworkManager : public scapix_object<WSNetHttpNetworkManager>
6868
// this callback function must return control after the firewall is configured
6969
// you can pass null to disable the callback function
7070
virtual std::shared_ptr<WSNetCancelableCallback> setWhitelistIpsCallback(WSNetHttpNetworkManagerWhitelistIpsCallback whitelistIpsCallback) = 0;
71-
72-
// callback function allowing the caller to add sockets to the firewall exceptions (Android specific)
73-
// this callback function must return control after the firewall is configured
74-
// you can pass null to disable the callback function
75-
virtual std::shared_ptr<WSNetCancelableCallback> setWhitelistSocketsCallback(WSNetHttpNetworkManagerWhitelistSocketsCallback whitelistSocketsCallback) = 0;
7671
};
7772

7873
} // namespace wsnet

libs/wsnet/include/wsnet/WSNetServerAPI.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -150,8 +150,8 @@ class WSNetServerAPI : public scapix_object<WSNetServerAPI>
150150
WSNetRequestFinishedCallback callback) = 0;
151151
virtual std::shared_ptr<WSNetCancelableCallback> sso(const std::string &provider, const std::string &token,
152152
WSNetRequestFinishedCallback callback) = 0;
153-
virtual std::shared_ptr<WSNetCancelableCallback> authTokenLogin(bool useAsciiCaptcha, WSNetRequestFinishedCallback callback) = 0;
154-
virtual std::shared_ptr<WSNetCancelableCallback> authTokenSignup(bool useAsciiCaptcha, WSNetRequestFinishedCallback callback) = 0;
153+
virtual std::shared_ptr<WSNetCancelableCallback> authTokenLogin(const std::string &username, bool useAsciiCaptcha, WSNetRequestFinishedCallback callback) = 0;
154+
virtual std::shared_ptr<WSNetCancelableCallback> authTokenSignup(const std::string &username, bool useAsciiCaptcha, WSNetRequestFinishedCallback callback) = 0;
155155
virtual std::shared_ptr<WSNetCancelableCallback> passwordRecovery(const std::string &email, WSNetRequestFinishedCallback callback) = 0;
156156
};
157157

0 commit comments

Comments
 (0)