Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
155 commits
Select commit Hold shift + click to select a range
f3774c6
Report pre-release version (#862)
t-aleksander May 12, 2026
af67991
Device posture (#865)
moubctez May 13, 2026
08c005c
alpha client v2 (#866)
filipslezaklab May 18, 2026
808ba8a
Bump to 2.1.0
moubctez May 18, 2026
ff18052
Bump to 2.1.0
moubctez May 18, 2026
f548fb5
Fix build
moubctez May 18, 2026
fc42dcf
add build old ui step
filipslezaklab May 18, 2026
fc11b53
add login via oidc provider (#875)
filipslezaklab May 19, 2026
56d8fc0
connect mfa via mobile confirmation in tray ui (#877)
filipslezaklab May 19, 2026
db796de
Implement posture checks (#871)
j-chmielewski May 19, 2026
73f3187
Fix build on macOS
moubctez May 20, 2026
a75d6e9
Better windows positioning (#879)
moubctez May 20, 2026
5e73b68
Report number of days since last security update (#880)
t-aleksander May 20, 2026
94ae32c
tray update - windows 11 window management (#881)
filipslezaklab May 21, 2026
6c594b3
Optimise VPNExtension (#883)
moubctez May 21, 2026
76d3f4b
fix window spawning behaviour (#894)
filipslezaklab May 21, 2026
827de86
disable overscroll on body in tray window
filipslezaklab May 21, 2026
7dddd97
Handle posture checks in new UI (#882)
j-chmielewski May 22, 2026
f26e6e8
rounded corners for tray window on macos (#895)
filipslezaklab May 22, 2026
98f48b0
remove the manual menu invoke on macos tray click
filipslezaklab May 22, 2026
cd1d1a8
Sync code with mobile client (#896)
moubctez May 22, 2026
b5fa454
remove extra window decorations from macos tray window (#897)
filipslezaklab May 22, 2026
a3a8333
Fix posture checks on windows (#898)
j-chmielewski May 22, 2026
174f409
Fix macos new UI window (#900)
moubctez May 25, 2026
0a0cbfb
Fix deep link handling (#903)
filipslezaklab May 25, 2026
fea1f86
rollback packages for old-ui
filipslezaklab May 25, 2026
fc4ea04
fix deep link handling rust side (#904)
filipslezaklab May 25, 2026
809d0f1
macOS: handle app re-open (#905)
moubctez May 27, 2026
c9b5e4f
fix anti-virus posture report (#907)
j-chmielewski May 27, 2026
06f45b1
Posture errors layout (#909)
j-chmielewski May 27, 2026
5fcc1ac
update app icon and tray icon (#908)
filipslezaklab May 29, 2026
8a3d399
macOS: new UI window should not be resizeable (#929)
moubctez May 29, 2026
f1dcb8a
Mfa loader (#928)
j-chmielewski May 29, 2026
a684d54
Fix posture errors icon and spacing (#931)
j-chmielewski Jun 2, 2026
bd56518
split the Rust code into smaller, Tauri-independent crates in prepara…
wojcik91 Jun 10, 2026
989df9e
Posture checks CI (#945)
j-chmielewski Jun 11, 2026
fc9abff
replace full view with new ui (#948)
filipslezaklab Jun 12, 2026
63be61e
Fix new UI (#951)
moubctez Jun 12, 2026
ad03ea2
Add --version command to all binaries (#952)
wojcik91 Jun 12, 2026
fed0ffb
Full view connect (#956)
filipslezaklab Jun 15, 2026
f902543
[New UI] Updates view (#957)
t-aleksander Jun 15, 2026
bd1bf76
[New UI] Log view (#953)
t-aleksander Jun 15, 2026
a452245
Try whatsNew for App Store Connect
moubctez Jun 15, 2026
089d95b
fix compact view spacing (#960)
filipslezaklab Jun 15, 2026
2fb0604
[New UI] App settings (#954)
t-aleksander Jun 15, 2026
1369332
implement base CLI for Linux & Windows (#949)
wojcik91 Jun 15, 2026
e81c40d
remove lodash-es dep
filipslezaklab Jun 15, 2026
d892237
WhatsNew take 2
moubctez Jun 15, 2026
9fa4ddd
WhatsNew take 3
moubctez Jun 15, 2026
7b42e33
WhatsNew take 4
moubctez Jun 15, 2026
0d0a77d
WhatsNew take 5
moubctez Jun 15, 2026
7df8bab
WhatsNew take 6
moubctez Jun 15, 2026
fdb9ad2
WhatsNew take 7
moubctez Jun 15, 2026
6b8d588
add external OIDC MFA for the CLI client (#966)
wojcik91 Jun 16, 2026
484fcce
Optional summary field (#969)
t-aleksander Jun 16, 2026
a0c1855
NixOS module fix (#972)
wojcik91 Jun 16, 2026
9c73a92
Build defguard-cli tar archive (#973)
j-chmielewski Jun 17, 2026
203c520
Sharing state between active windows (#975)
filipslezaklab Jun 18, 2026
1041f67
fixes squash (#978)
filipslezaklab Jun 18, 2026
34c70bf
implement mobile auth for CLI (#974)
wojcik91 Jun 18, 2026
9640e1f
[New UI] Location details (#980)
t-aleksander Jun 19, 2026
fcd3cd9
Update client tray icon (#979)
filipslezaklab Jun 19, 2026
3356906
Add tunnel wizard (#981)
filipslezaklab Jun 22, 2026
a0b19af
change mfa factor in connect process (#982)
filipslezaklab Jun 22, 2026
a35dad0
add auto start openid mfa preference to app config (#983)
filipslezaklab Jun 22, 2026
2d09e8a
display app version via tauri api (#984)
filipslezaklab Jun 22, 2026
a553b27
Dev update (#986)
filipslezaklab Jun 23, 2026
5fe435a
macOS CLI (#988)
moubctez Jun 25, 2026
c9c502f
Sign defguard-cli on macOS
moubctez Jun 25, 2026
2ed7b9f
Sign defguard-cli on macOS; take 2
moubctez Jun 25, 2026
f5eb256
Sign defguard-cli on macOS; take 3
moubctez Jun 25, 2026
182b83c
Sign defguard-cli on macOS; take 4
moubctez Jun 25, 2026
4c0583c
Sign defguard-cli on macOS; take 5
moubctez Jun 25, 2026
9095a26
Sign defguard-cli on macOS; take 6
moubctez Jun 25, 2026
822d83a
Bail out CLI on macOS
moubctez Jun 25, 2026
5bb4168
Fix window close on macOS (#992)
moubctez Jun 25, 2026
215925d
Build and sign windows bundle (#991)
j-chmielewski Jun 25, 2026
5cd7e00
CLI config polling (#993)
j-chmielewski Jun 29, 2026
d0fd954
add menu and snackbars (#996)
filipslezaklab Jun 29, 2026
39379c6
fix Nix hash update workflow (#997)
wojcik91 Jun 29, 2026
dc887ca
CLI connection monitoring (#994)
j-chmielewski Jul 1, 2026
0ee9f7f
Custom window decoration for windows / macos (#1000)
filipslezaklab Jul 1, 2026
60d84dd
Update WindowDecorations.tsx (#1002)
filipslezaklab Jul 2, 2026
2af18bb
macOS installer (#1001)
moubctez Jul 3, 2026
a65908e
Fix macOS inconsistent buttons positioning (#1004)
filipslezaklab Jul 3, 2026
759c11b
merge main to dev (#1005)
wojcik91 Jul 3, 2026
f898274
Always on service locations on linux (#999)
j-chmielewski Jul 3, 2026
9f56da1
chore(CI): fix workflow file reference
wojcik91 Jul 3, 2026
dac14ba
inherit secrets
moubctez Jul 3, 2026
c68976b
Fix signing identity for DMG
moubctez Jul 3, 2026
da492a9
Set CI=1
moubctez Jul 3, 2026
21d5925
CI=1 -> --ci
moubctez Jul 3, 2026
f115efc
Try TAURI_BUNDLER_DMG_IGNORE_CI
moubctez Jul 3, 2026
a30f834
Try TAURI_BUNDLER_DMG_IGNORE_CI take 2
moubctez Jul 3, 2026
e50e066
ui fixes batch 3 (#1007) (#1013)
filipslezaklab Jul 6, 2026
a71e2d0
add actions menu to overview page (#1011)
filipslezaklab Jul 6, 2026
802c07a
Better errors (#1015)
filipslezaklab Jul 6, 2026
0f9dbba
Update ConfirmModal.tsx (#1019)
filipslezaklab Jul 6, 2026
db0e2a6
match linux interfaces by pubkey (#1014)
j-chmielewski Jul 7, 2026
514fc27
Update WindowDecorations.tsx (#1023)
filipslezaklab Jul 7, 2026
9a0a66c
Pin runner on macOS (#1026)
moubctez Jul 7, 2026
9b7cfa3
fix tray view opening with no locations (#1024)
wojcik91 Jul 7, 2026
2d1e6bd
Posture checks for macOS (#1027)
moubctez Jul 8, 2026
65da1a1
E2E tests (#1012)
jakub-tldr Jul 8, 2026
39970c2
Run Linux posture checks (#1028)
moubctez Jul 8, 2026
1becca2
make password step in enrollment optional (#1018)
wojcik91 Jul 8, 2026
3951021
fix creating a new wireguard tunnel & other tunnel related issues (#1…
wojcik91 Jul 9, 2026
aaba868
Separate keychain for builds (#1031)
moubctez Jul 9, 2026
8359998
Fix split DNS on macOS (#1033)
moubctez Jul 9, 2026
6673567
Unlock keychain before building the app
moubctez Jul 9, 2026
c1146bd
Revert to altool
moubctez Jul 9, 2026
b2d27d4
fix delete last selectable (#1034)
filipslezaklab Jul 10, 2026
271a502
add enrollment markdown message from core (#1036)
filipslezaklab Jul 13, 2026
7502589
Edge communication error (#1045)
jakub-tldr Jul 14, 2026
af0ab9d
Welcome window (#1043)
filipslezaklab Jul 15, 2026
ac9f8ca
change way of displaying error in tray view (#1048)
jakub-tldr Jul 15, 2026
b76dd5c
Connect from tray (#1047)
moubctez Jul 15, 2026
f74d3d8
Service log rotation (#1049)
j-chmielewski Jul 17, 2026
a2137c7
Update wireguard-rs (#1050)
moubctez Jul 20, 2026
27413a5
migrate connection-related logic to backend (#1040)
wojcik91 Jul 20, 2026
c46fa86
style fixes (#1057)
filipslezaklab Jul 21, 2026
4103851
Workaround for nvidia and wayland webkitgtk issues (#1060)
j-chmielewski Jul 21, 2026
6cf39d9
Integrate command line with main app (#1058)
moubctez Jul 22, 2026
02faa01
Implement hardened linux disk encryption posture signal (#1061)
j-chmielewski Jul 22, 2026
dabd080
show errors during enrollment wizard (#1063)
wojcik91 Jul 28, 2026
6dc55e0
Fix service logs file extension (#1065)
j-chmielewski Jul 29, 2026
66c8f37
old ui project removed (#1068)
filipslezaklab Jul 29, 2026
b0d3cd8
Linux posture ci (#1067)
j-chmielewski Jul 29, 2026
a201cb3
Fix stats query (#1072)
j-chmielewski Jul 30, 2026
9deeba9
handle WireGuard tunnels being disabled in core settings (#1070)
wojcik91 Jul 30, 2026
8130f7f
chore: update Nix hash
wojcik91 Aug 3, 2026
6593379
show Edge communication errors for posture-check-only locations (#1074)
wojcik91 Aug 3, 2026
2c01513
Change component in APT (#1076)
jakub-tldr Aug 3, 2026
e5b71ab
Posture check authenticates the device with polling token (#1075)
j-chmielewski Aug 4, 2026
5281bd6
run sccache earlier (#1077)
jakub-tldr Aug 4, 2026
dc21e9c
fix tunnel events (#1082)
filipslezaklab Aug 6, 2026
36ca250
Service location posture checks (#1078)
j-chmielewski Aug 7, 2026
8eb9846
disconnect connected service-location tunnels after posture rejection…
j-chmielewski Aug 10, 2026
2b0e888
fix posture tests and compile-checks (#1087)
j-chmielewski Aug 10, 2026
95e8fb2
Fix release ci (#1088)
j-chmielewski Aug 11, 2026
5c05e2c
Fix wireguard tunnels config/labels & E2E tests (#1093)
jakub-tldr Aug 11, 2026
7366fe8
change type to number (#1095)
jakub-tldr Aug 11, 2026
9fd66bb
Update dependencies and fix build on macOS and Windows (#1096)
moubctez Aug 12, 2026
00c4fa9
ignore-version-mismatches (#1100)
moubctez Aug 13, 2026
eca7257
fix compact-view connection race (#1106)
j-chmielewski Aug 17, 2026
f207a1d
Show correct "active mfa" label (#1114)
jakub-tldr Aug 18, 2026
2fe15ba
Display correct routing labels in CLI/UI (#1116)
jakub-tldr Aug 18, 2026
8b22847
Block connect button (#1115)
moubctez Aug 19, 2026
cb01e9b
Enable "What's new" screen (#1120)
jakub-tldr Aug 25, 2026
a85ecbc
change object-position (#1121)
jakub-tldr Aug 25, 2026
5aba651
Adjust "What's new" window (#1122)
jakub-tldr Aug 27, 2026
3acc6cd
DG2608-11: [desktop] Malformed peer request terminates the privileged…
jakub-tldr Aug 28, 2026
50db2f9
reject non uuids instance ids (#1126)
jakub-tldr Aug 31, 2026
e8aee48
Allow only one all-traffic connection (#1107)
moubctez Sep 1, 2026
27f5768
fix Allowed IPs validation & normalize Allowed IPs for routing config…
wojcik91 Sep 1, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
3 changes: 0 additions & 3 deletions .eslintignore

This file was deleted.

82 changes: 0 additions & 82 deletions .eslintrc.cjs

This file was deleted.

97 changes: 77 additions & 20 deletions .github/workflows/build-macos.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,22 @@ on:
tags:
- v*.*.*

env:
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"
SQLX_OFFLINE: "1"

jobs:
build-macos:
runs-on:
- self-hosted
- macOS
- native
env:
APPLE_SIGNING_IDENTITY: "Apple Distribution: defguard sp. z o.o. (82GZ7KN29J)"
APPLE_SIGNING_IDENTITY_INSTALLER: "3rd Party Mac Developer Installer: defguard sp. z o.o. (82GZ7KN29J)"
APPLE_PROVIDER_SHORT_NAME: "82GZ7KN29J"
APPLE_ID: "kamil@defguard.net"
APPLE_TEAM_ID: "82GZ7KN29J"
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
submodules: recursive

Expand All @@ -32,42 +35,96 @@ jobs:
VERSION=$(echo ${GITHUB_REF_NAME#v} | cut -d '-' -f1)
echo Version: $VERSION
echo "VERSION=$VERSION" >> ${GITHUB_ENV}
if [ "${GITHUB_REF_TYPE}" = "tag" ]; then
echo "DEFGUARD_CLIENT_BUILD_VERSION=${GITHUB_REF_NAME#v}" >> ${GITHUB_ENV}
fi

- uses: actions/setup-node@v6
with:
node-version: 25
node-version-file: new-ui/.nvmrc

- uses: pnpm/action-setup@v5
- uses: pnpm/action-setup@v6
with:
cache: true
version: 10
run_install: false
version: 11

- name: Install deps
run: pnpm install --frozen-lockfile
- name: Get pnpm store directory
run: |
STORE_PATH=$(pnpm store path --silent)
mkdir -p "$STORE_PATH"
echo "STORE_PATH=$STORE_PATH" >> ${GITHUB_ENV}

- uses: dtolnay/rust-toolchain@stable
- name: Restore pnpm store cache
uses: actions/cache@v5
with:
path: ${{ env.STORE_PATH }}
key: pnpm-store-${{ runner.os }}-${{ hashFiles('new-ui/pnpm-lock.yaml') }}
restore-keys: |
pnpm-store-${{ runner.os }}-

- name: Install Node dependencies for New UI
run: |
cd new-ui
pnpm install --no-frozen-lockfile

- name: Install Rust stable
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin,x86_64-apple-darwin

- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.10

- name: Install tauri-cli
run: cargo install tauri-cli --locked

- name: Set build number
run: |
sed -i '' "s,@BUILD_NUMBER@,${{ github.run_number }}," src-tauri/tauri.conf.json
sed -i '' "s,@BUILD_NUMBER@,${{ github.run_number }}," swift/extension/VPNExtension.xcodeproj/project.pbxproj
sed -i '' "s,@BUILD_NUMBER@,${{ github.run_number }}," src-tauri/tauri.macos.conf.json

- name: Build new UI
run: |
cd new-ui
pnpm build

- name: Unlock keychain
run: security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" login.keychain
run: |
security unlock-keychain -p "${{ secrets.BUILD_KEYCHAIN_PASSWORD }}" build.keychain

- name: Build app
uses: tauri-apps/tauri-action@v0
uses: tauri-apps/tauri-action@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
args: --target universal-apple-darwin
tauriScript: cargo tauri
args: --ignore-version-mismatches --config src-tauri/tauri.app.conf.json --target universal-apple-darwin

- name: Build installation package
run: |
security -v unlock-keychain -p "${{ secrets.KEYCHAIN_PASSWORD }}" login.keychain
xcrun productbuild --sign "${{ env.APPLE_SIGNING_IDENTITY_INSTALLER }}" --component "src-tauri/target/universal-apple-darwin/release/bundle/macos/Defguard.app" /Applications defguard-client.pkg
xcrun altool --upload-app --type macos --file defguard-client.pkg --apiKey ${{ secrets.APPLE_API_KEY }} --apiIssuer ${{ secrets.APPLE_API_ISSUER }}
# xcrun notarytool submit --wait --apple-id ${{ env.APPLE_ID }} --password ${{ secrets.NOTARYTOOL_APP_SPECIFIC_PASSWORD }} --team-id ${{ env.APPLE_TEAM_ID }} defguard-client.pkg
# xcrun stapler staple defguard-client.pkg
xcrun productbuild --keychain build.keychain \
--sign "${{ env.APPLE_SIGNING_IDENTITY_INSTALLER }}" \
--component "src-tauri/target/universal-apple-darwin/release/bundle/macos/Defguard.app" \
/Applications defguard-client.pkg
xcrun altool --api-key ${{ secrets.APPLE_API_KEY }} \
--api-issuer ${{ secrets.APPLE_API_ISSUER }} \
--upload-app --platform macos --file defguard-client.pkg --wait

- name: Upload What's New
env:
APP_ID: "6754601166"
run: |
UPLOAD_DIR=$(mktemp -d)
mkdir -p "${UPLOAD_DIR}/beta-${APP_ID}/upload/MACOS"
git log -1 --pretty='"whatsNew" = "%B";' > "${UPLOAD_DIR}/beta-${APP_ID}/upload/MACOS/en-US.txt"
RETRIES=0
until [ ${RETRIES} -gt 6 ]
do
xcrun altool --api-key ${{ secrets.APPLE_API_KEY }} --api-issuer ${{ secrets.APPLE_API_ISSUER }} \
--apple-id ${APP_ID} --bundle-version ${{ github.run_number }} \--bundle-short-version-string ${VERSION} \
--platform macos --beta-app-store-text "${UPLOAD_DIR}" --upload && break
echo "Waiting for app ${APP_ID} build ${{ github.run_number }} version ${VERSION}"
sleep 10
((RETRIES++))
done
rm -f -r "${UPLOAD_DIR}"
63 changes: 63 additions & 0 deletions .github/workflows/cross-platform-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
name: Cross-platform check

on:
push:
branches:
- main
- dev
- "release/**"
paths-ignore:
- "*.md"
- "LICENSE"
pull_request:
branches:
- main
- dev
- "release/**"
paths-ignore:
- "*.md"
- "LICENSE"

env:
CARGO_TERM_COLOR: always
SQLX_OFFLINE: "1"
SCCACHE_GHA_ENABLED: "true"
RUSTC_WRAPPER: "sccache"

jobs:
check:
strategy:
fail-fast: false
matrix:
os:
- macOS
- Windows

runs-on:
- self-hosted
- ${{ matrix.os }}

defaults:
run:
working-directory: ./src-tauri

steps:
- name: Checkout
uses: actions/checkout@v7
with:
submodules: recursive

- name: Install Rust
uses: dtolnay/rust-toolchain@stable

- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.10

- name: Install protoc
if: matrix.os != 'Windows'
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: Check compilation
run: cargo check --workspace --all-targets
Loading
Loading