Skip to content

Commit ebfe23a

Browse files
authored
release: freeRASP 8.1.0 (#225)
* feat(ios): add Swift Package Manager support * feat(ios): update iOS SDK to 7.1.1 * docs: add 8.1.0 changelog entry * refactor(ios): use remote SPM binary target for TalsecRuntime * refactor(ios): flatten SPM Sources directory * ci: add Swift Package Manager iOS build job * refactor(ios): use local SPM binary target * ci: verify committed xcframework against official SDK release * docs: note Flutter 3.41.0 requirement for SPM support * ci: drop hardcoded-URL SDK integrity check from SPM job
1 parent 05068ef commit ebfe23a

81 files changed

Lines changed: 1048 additions & 807 deletions

File tree

Some content is hidden

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

‎.github/workflows/flutter-ci.yml‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,35 @@ jobs:
102102
- name: 🍎 Build iOS app
103103
working-directory: example
104104
run: flutter build ios --release --no-codesign
105+
106+
# Exercises the Swift Package Manager integration path, which the CocoaPods
107+
# `build-ios` job never reads (SPM is opt-in behind a feature flag). Uses a
108+
# throwaway consumer app instead of the example app: a plain consumer never
109+
# gets Flutter's example-only local package override, so it builds regardless
110+
# of the checkout directory name (the example app would require the checkout
111+
# dir to be named `freerasp`). FlutterFramework SwiftPM package requires 3.41.0+.
112+
build-ios-spm:
113+
runs-on: macos-latest
114+
needs: test
115+
116+
steps:
117+
- name: 📚 Git Checkout
118+
uses: actions/checkout@v6
119+
120+
- name: 🐦 Setup Flutter
121+
uses: subosito/flutter-action@v2
122+
with:
123+
channel: stable
124+
flutter-version: 3.44.0
125+
cache: true
126+
127+
- name: 📦 Enable Swift Package Manager
128+
run: flutter config --enable-swift-package-manager
129+
130+
- name: 🍎 Build iOS consumer app with SPM
131+
run: |
132+
set -euo pipefail
133+
flutter create --platforms=ios "$RUNNER_TEMP/spm_consumer"
134+
cd "$RUNNER_TEMP/spm_consumer"
135+
flutter pub add freerasp --path "$GITHUB_WORKSPACE"
136+
flutter build ios --release --no-codesign

‎.gitignore‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,8 @@ build/
3131
example/pubspec.lock
3232

3333
# FVM Version Cache
34-
.fvm/
34+
.fvm/
35+
36+
# SPM
37+
.build/
38+
.swiftpm/

‎CHANGELOG.md‎

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [8.1.0] - 2026-07-23
9+
10+
- Android SDK version: 18.3.0
11+
- iOS SDK version: 7.1.1
12+
13+
### Flutter
14+
15+
#### Added
16+
17+
- Swift Package Manager (SPM) support for iOS. Requires Flutter 3.41.0 or newer; CocoaPods remains supported on older versions.
18+
19+
### iOS
20+
21+
#### Added
22+
23+
- Added support for postponed checks, therefore, due to slower execution, some subchecks are run after initial startup checks.
24+
- Improved hook detection.
25+
26+
#### Fixed
27+
28+
- Fixed issue with app's color scheme initialization.
29+
- Fixed bad memory access in jailbreak check.
30+
31+
#### Changed
32+
33+
- Raised the minimum iOS deployment target to 13.0, as required by the iOS SDK.
34+
835
## [8.0.0] - 2026-05-13
936

1037
- Android SDK version: 18.3.0

‎ios/Classes/FreeraspPlugin.h‎

Lines changed: 0 additions & 4 deletions
This file was deleted.

‎ios/Classes/FreeraspPlugin.m‎

Lines changed: 0 additions & 15 deletions
This file was deleted.
-205 Bytes
Binary file not shown.

‎ios/freerasp.podspec‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@ FreeRASP for iOS is a lightweight and easy-to-use mobile app protection and secu
1313
s.license = { :file => '../LICENSE' }
1414
s.author = { 'Talsec' => 'talsec.app' }
1515
s.source = { :path => '.' }
16-
s.source_files = 'Classes/**/*', 'TalsecRuntime.xcframework'
16+
s.source_files = 'freerasp/Sources/**/*.swift'
1717
s.dependency 'Flutter'
18-
s.platform = :ios, '8.0'
18+
s.platform = :ios, '13.0'
1919

20-
s.preserve_paths = 'TalsecRuntime.xcframework'
20+
s.preserve_paths = 'freerasp/TalsecRuntime.xcframework'
2121
s.xcconfig = { 'OTHER_LDFLAGS' => '-framework TalsecRuntime' }
22-
s.vendored_frameworks = 'TalsecRuntime.xcframework'
22+
s.vendored_frameworks = 'freerasp/TalsecRuntime.xcframework'
2323

2424
# Flutter.framework does not contain a i386 slice.
2525
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'EXCLUDED_ARCHS[sdk=iphonesimulator*]' => 'i386' }

‎ios/freerasp/Package.swift‎

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
// swift-tools-version: 5.9
2+
import PackageDescription
3+
4+
let package = Package(
5+
name: "freerasp",
6+
platforms: [
7+
.iOS("13.0")
8+
],
9+
products: [
10+
.library(name: "freerasp", targets: ["freerasp"])
11+
],
12+
dependencies: [
13+
.package(name: "FlutterFramework", path: "../FlutterFramework")
14+
],
15+
targets: [
16+
.binaryTarget(
17+
name: "TalsecRuntime",
18+
path: "TalsecRuntime.xcframework"
19+
),
20+
.target(
21+
name: "freerasp",
22+
dependencies: [
23+
.product(name: "FlutterFramework", package: "FlutterFramework"),
24+
"TalsecRuntime"
25+
],
26+
path: "Sources"
27+
)
28+
]
29+
)

ios/Classes/Dispatchers/ExecutionStateDispatcher.swift renamed to ios/freerasp/Sources/Dispatchers/ExecutionStateDispatcher.swift

File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)