Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
71 commits
Select commit Hold shift + click to select a range
a040733
APK build job (#158)
jakub-tldr Nov 17, 2025
c01da52
Implement "force all traffic" enterprise setting (#159)
j-chmielewski Nov 21, 2025
cbefcbd
Add DB migrations (#160)
j-chmielewski Nov 24, 2025
fbf8c66
fix periodic SBOM regeneration (#161)
wojcik91 Nov 24, 2025
8c243f3
Merge branch 'main' into release/1.6-alpha-merger
j-chmielewski Nov 27, 2025
86a7107
Merge pull request #164 from DefGuard/release/1.6-alpha-merger
j-chmielewski Nov 27, 2025
04dc91d
Merge pull request #165 from DefGuard/release_1.6_merger
wojcik91 Dec 10, 2025
5c681e2
Omit IPA from release artefacts; bump dependencies (#168)
moubctez Jan 20, 2026
f31248d
iOS: clamp IPv6 prefix to /120 (#170)
moubctez Feb 4, 2026
bdfebf8
Upgrade BoringTun bindings (#172)
moubctez Feb 12, 2026
94f54d4
Update BoringTun with better bindings.sh
moubctez Feb 13, 2026
1a606e5
Version reporting (#173)
jakub-tldr Feb 13, 2026
50fc76e
Fix IpAddrMask (#176)
moubctez Feb 23, 2026
1b29321
Added new issue templates (#177)
kchudy Feb 27, 2026
278d056
Use system CA's & fix signing (#181)
jakub-tldr May 6, 2026
9fc0834
Display OpenID provider name (#185)
jakub-tldr May 15, 2026
d8fd125
bump version (#186)
jakub-tldr May 15, 2026
68ac1ea
Sync VPNExtension with Client (#187)
moubctez May 22, 2026
2d68495
add Location::posture_check_required field
j-chmielewski May 25, 2026
c1ed5b8
update deps, fix ndk version mismatch
j-chmielewski May 25, 2026
55659c7
Merge branch 'fix-ndk' into postures
j-chmielewski May 25, 2026
423c184
allow plain http communication
j-chmielewski May 25, 2026
822eb15
connect using dummy posture data
j-chmielewski May 26, 2026
6ab54b3
move posture structs to enterprise module
j-chmielewski May 26, 2026
dcebbf6
gather real posture report
j-chmielewski May 26, 2026
f06a287
comment
j-chmielewski May 26, 2026
c7a8ff7
posture-check-only connection flow
j-chmielewski May 26, 2026
cbe15c5
Merge pull request #188 from DefGuard/postures
j-chmielewski May 27, 2026
5f4916e
WhatsNew for TestFlight
moubctez Jun 19, 2026
19613cd
Bump version
moubctez Jun 19, 2026
64ea8cd
add security level patch posture check data (#192)
filipslezaklab Jun 25, 2026
f2cc4dd
Update Xcode project
moubctez Jun 29, 2026
9cc0411
Bump version to 1.7.0 in Xcode project
moubctez Jun 29, 2026
3c5f541
Add verbosity
moubctez Jun 29, 2026
53d6b8b
Auto sign VPNExtension
moubctez Jun 29, 2026
e3b86b0
One entitlements
moubctez Jun 29, 2026
0dd18f0
pod reintegrate
moubctez Jun 29, 2026
f96b581
CODE_SIGN_INJECT_BASE_ENTITLEMENTS = NO
moubctez Jun 29, 2026
aa5df25
One entitlements for Runner
moubctez Jun 29, 2026
e54c175
Decrease verbosity
moubctez Jun 29, 2026
b710298
fix dev build fix platform info report to core (#195)
filipslezaklab Jul 2, 2026
8eac506
Proxy request error (#196)
filipslezaklab Jul 3, 2026
bebbfd8
chore: add Renovate config
wojcik91 Jul 6, 2026
a47939e
iOS: fix split DNS (#240)
moubctez Jul 10, 2026
4f60fa1
New iOS build (#244)
moubctez Jul 13, 2026
9a33f00
KeepAlive fix for iOS (#248)
moubctez Jul 20, 2026
e18a3d8
upgrade major packages, upgrade flutter
filipslezaklab Aug 6, 2026
48fcf2a
Update pubspec.lock
filipslezaklab Aug 6, 2026
807e425
new ui init
filipslezaklab Aug 6, 2026
50ee2ae
bump gradle to 9.0.1 drop explicit kotlin package
filipslezaklab Aug 6, 2026
b580766
migrate project to flutter 3.44
filipslezaklab Aug 7, 2026
3e69b72
fix primary and secondary next button styling
filipslezaklab Aug 7, 2026
1c09129
bump build workflow
filipslezaklab Aug 7, 2026
75d40ec
remove testing screen for next button
filipslezaklab Aug 7, 2026
052b42f
widgets up
filipslezaklab Aug 11, 2026
54b0940
widgets up
filipslezaklab Aug 11, 2026
e8516e9
new splash screen
filipslezaklab Aug 13, 2026
6c1fb43
Update splash.dart
filipslezaklab Aug 13, 2026
e3e98e4
bumped splash style
filipslezaklab Aug 13, 2026
65ecc87
redesigned instance screen
filipslezaklab Aug 13, 2026
ac064f4
add toggle widget
filipslezaklab Aug 13, 2026
d57cfc5
Update next_toggle.dart
filipslezaklab Aug 13, 2026
f37c89e
add instance screen
filipslezaklab Aug 18, 2026
7d790eb
add instance screens
filipslezaklab Aug 18, 2026
039b949
Update .gitignore
filipslezaklab Aug 18, 2026
244e03f
Merge remote-tracking branch 'origin/dev' into dev-merge
filipslezaklab Aug 18, 2026
b640d62
Delete .fvmrc
filipslezaklab Aug 18, 2026
85ed22b
upgrade workflows flutter version
filipslezaklab Aug 18, 2026
b72ad67
Update pubspec.lock
filipslezaklab Aug 18, 2026
5c11cdc
Delete implementation_plan.artifact.md
filipslezaklab Aug 18, 2026
ec541bf
fix flutter analyze
filipslezaklab Aug 18, 2026
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
3 changes: 0 additions & 3 deletions .fvmrc

This file was deleted.

11 changes: 4 additions & 7 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.38.10
flutter-version: 3.47.0

- name: Use homebrew ruby
run: |
Expand Down Expand Up @@ -106,7 +106,7 @@ jobs:
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.38.10
flutter-version: 3.47.0

- name: Configure Flutter JDK
run: flutter config --jdk-dir "$JAVA_HOME"
Expand Down Expand Up @@ -179,14 +179,11 @@ jobs:
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.38.10

- name: Configure Flutter JDK
run: flutter config --jdk-dir "$JAVA_HOME"
flutter-version: 3.47.0

- name: Install Android SDK components
run: |
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install 'build-tools;29.0.3'
$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager --install 'build-tools;36.0.0'
- name: Accept licenses
run: yes | flutter doctor --android-licenses

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/lint-and-test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ jobs:
uses: subosito/flutter-action@v2
with:
channel: stable
flutter-version: 3.38.10
flutter-version: 3.47.0

- name: get deps
run: flutter pub get
Expand All @@ -73,7 +73,7 @@ jobs:
# uses: subosito/flutter-action@v2
# with:
# channel: stable
# flutter-version: 3.38.10
# flutter-version: 3.47.0

# - name: get deps
# run: flutter pub get
Expand Down
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,10 @@

# FVM Version Cache
.fvm/

# JetBrains IDEs
.idea/
*.iml
*.iws
*.ipr
out/
4 changes: 4 additions & 0 deletions client/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
.swiftpm/
.gradle
migrate_working_dir/
.artifacts
docs

# IntelliJ related
*.iml
Expand Down Expand Up @@ -51,3 +53,5 @@ app.*.map.json

local.properties
ios/VPNExtension/BoringTun
# Widget Preview related
.widget_preview/
7 changes: 7 additions & 0 deletions client/analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@ linter:
analyzer:
exclude:
- "**/*.g.dart"
- build/**
- android/**
- ios/**
- web/**
- windows/**
- macos/**
- linux/**
plugins:
- custom_lint

Expand Down
16 changes: 9 additions & 7 deletions client/android/app/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
plugins {
id("com.android.application")
id("kotlin-android")
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id("dev.flutter.flutter-gradle-plugin")
}

android {
namespace = "net.defguard.mobile"
compileSdk = 36
compileSdk = 37
ndkVersion = flutter.ndkVersion

compileOptions {
Expand All @@ -16,14 +15,10 @@ android {
targetCompatibility = JavaVersion.VERSION_17
}

kotlinOptions {
jvmTarget = JavaVersion.VERSION_17.toString()
}

defaultConfig {
applicationId = "net.defguard.mobile"
minSdk = 31
targetSdk = 36
targetSdk = 37
versionCode = flutter.versionCode
versionName = flutter.versionName
}
Expand All @@ -39,6 +34,13 @@ android {
}
}


kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17
}
}

dependencies {
coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.1.5")
implementation("com.google.android.gms:play-services-cronet:18.1.1")
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified client/android/app/src/main/res/drawable-v21/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,4 @@
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
<item android:bottom="24dp">
<bitmap android:gravity="bottom" android:src="@drawable/branding"/>
</item>
</layer-list>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file modified client/android/app/src/main/res/drawable/background.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions client/android/app/src/main/res/drawable/gradient_bg.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="315"
android:endColor="#0A3EDF"
android:startColor="#4F79FA"
android:type="linear" />
</shape>
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,4 @@
<item>
<bitmap android:gravity="center" android:src="@drawable/splash"/>
</item>
<item android:bottom="24dp">
<bitmap android:gravity="bottom" android:src="@drawable/branding"/>
</item>
</layer-list>
5 changes: 2 additions & 3 deletions client/android/app/src/main/res/values-night-v31/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#0C8CE0</item>
<item name="android:windowSplashScreenBrandingImage">@drawable/android12branding</item>
<item name="android:windowSplashScreenBackground">#4F79FA</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
<item name="android:windowSplashScreenIconBackgroundColor">#0c8ce0</item>
<item name="android:windowSplashScreenIconBackgroundColor">#4F79FA</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Expand Down
5 changes: 2 additions & 3 deletions client/android/app/src/main/res/values-v31/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,9 @@
<item name="android:windowFullscreen">false</item>
<item name="android:windowDrawsSystemBarBackgrounds">false</item>
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:windowSplashScreenBackground">#0C8CE0</item>
<item name="android:windowSplashScreenBrandingImage">@drawable/android12branding</item>
<item name="android:windowSplashScreenBackground">#4F79FA</item>
<item name="android:windowSplashScreenAnimatedIcon">@drawable/android12splash</item>
<item name="android:windowSplashScreenIconBackgroundColor">#0c8ce0</item>
<item name="android:windowSplashScreenIconBackgroundColor">#4F79FA</item>
</style>
<!-- Theme applied to the Android Window as soon as the process has started.
This theme determines the color of the Android Window while your
Expand Down
2 changes: 1 addition & 1 deletion client/android/app/src/main/res/values/colors.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ic_launcher_background">#0c8ce0</color>
<color name="ic_launcher_background">#4F79FA</color>
</resources>
3 changes: 3 additions & 0 deletions client/android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ allprojects {
google()
mavenCentral()
}
configurations.all {
exclude(group = "org.chromium.net", module = "cronet-shared")
}
}

val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get()
Expand Down
6 changes: 5 additions & 1 deletion client/android/gradle.properties
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
android.useAndroidX=true
android.enableJetifier=true
android.enableJetifier=true
android.newDsl=false
android.builtInKotlin=false


12 changes: 12 additions & 0 deletions client/android/gradle/gradle-daemon-jvm.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#This file is generated by updateDaemonJvm
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c2dd35c9d0aaf0ba6ad0791320f99dfc/redirect
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/e5810bd7fd1f8a586644409d395a7e55/redirect
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/7b3c4877c0749019e6805bb61e421497/redirect
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/d76df094a9cbbabd3b08251f9e61444a/redirect
toolchainVersion=25
2 changes: 1 addition & 1 deletion client/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.2-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.6.1-all.zip
4 changes: 2 additions & 2 deletions client/android/settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,8 @@ pluginManagement {

plugins {
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
id("com.android.application") version "8.11.0" apply false
id("org.jetbrains.kotlin.android") version "2.2.0" apply false
id("com.android.application") version "9.0.1" apply false
id("org.jetbrains.kotlin.android") version "2.3.20" apply false
}

include(":app")
Binary file added client/assets/fonts/geist-300.ttf
Binary file not shown.
Binary file added client/assets/fonts/geist-400.ttf
Binary file not shown.
Binary file added client/assets/fonts/geist-500.ttf
Binary file not shown.
Binary file added client/assets/fonts/geist-600.ttf
Binary file not shown.
Binary file added client/assets/fonts/jetbrains-regular.ttf
Binary file not shown.
3 changes: 3 additions & 0 deletions client/assets/next/icons/arrow_big.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions client/assets/next/icons/arrow_small.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions client/assets/next/icons/biometric.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions client/assets/next/icons/connected_devices.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions client/assets/next/icons/delete.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions client/assets/next/icons/device_ip.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions client/assets/next/icons/dialog_check.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions client/assets/next/icons/dialog_info.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions client/assets/next/icons/dialog_warning.svg
3 changes: 3 additions & 0 deletions client/assets/next/icons/disconnect_all.svg
3 changes: 3 additions & 0 deletions client/assets/next/icons/globe.svg
3 changes: 3 additions & 0 deletions client/assets/next/icons/hamburger.svg
Loading
Loading