diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index ebefb9cb..7e09b965 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -268,3 +268,5 @@ jobs:
grep -E "error:|Testing failed:|XCTAssert.*failed|exceeded execution time allowance" "$LOG" | head -40
exit 1
fi
+ set -e
+ scripts/check-swift-warnings.sh "$LOG"
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 564e7b64..0584fbcd 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -153,6 +153,8 @@ jobs:
grep -E "error:|Testing failed:|XCTAssert.*failed|exceeded execution time allowance" "$LOG" | head -40
exit 1
fi
+ set -e
+ scripts/check-swift-warnings.sh "$LOG"
# A keychain of its own, unlocked only for this job, so nothing lands in the runner's login keychain.
- name: Import the signing certificates
diff --git a/Flowlight.xcodeproj/project.pbxproj b/Flowlight.xcodeproj/project.pbxproj
index efbdce26..a3943ffe 100644
--- a/Flowlight.xcodeproj/project.pbxproj
+++ b/Flowlight.xcodeproj/project.pbxproj
@@ -2184,7 +2184,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 56;
+ CURRENT_PROJECT_VERSION = 57;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;
@@ -2199,7 +2199,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 15.0;
- MARKETING_VERSION = 0.15.9;
+ MARKETING_VERSION = 0.15.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -2245,7 +2245,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 56;
+ CURRENT_PROJECT_VERSION = 57;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEVELOPMENT_TEAM = 38RJUJHKZS;
ENABLE_HARDENED_RUNTIME = YES;
@@ -2260,7 +2260,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 15.0;
- MARKETING_VERSION = 0.15.9;
+ MARKETING_VERSION = 0.15.10;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -2325,7 +2325,7 @@
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
CODE_SIGN_STYLE = Automatic;
COPY_PHASE_STRIP = NO;
- CURRENT_PROJECT_VERSION = 56;
+ CURRENT_PROJECT_VERSION = 57;
DEBUG_INFORMATION_FORMAT = dwarf;
DEVELOPMENT_TEAM = "";
ENABLE_HARDENED_RUNTIME = YES;
@@ -2346,7 +2346,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
MACOSX_DEPLOYMENT_TARGET = 15.0;
- MARKETING_VERSION = 0.15.9;
+ MARKETING_VERSION = 0.15.10;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
@@ -2371,6 +2371,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.flowlight.app.tests;
SDKROOT = macosx;
+ SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Flowlight.app/Contents/MacOS/Flowlight";
};
name = AppStore;
@@ -2428,6 +2429,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.flowlight.app.tests;
SDKROOT = macosx;
+ SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Flowlight.app/Contents/MacOS/Flowlight";
};
name = Release;
@@ -2505,6 +2507,7 @@
);
PRODUCT_BUNDLE_IDENTIFIER = com.flowlight.app.tests;
SDKROOT = macosx;
+ SWIFT_TREAT_WARNINGS_AS_ERRORS = YES;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Flowlight.app/Contents/MacOS/Flowlight";
};
name = Debug;
diff --git a/FlowlightTests/InspectScopeTests.swift b/FlowlightTests/InspectScopeTests.swift
index 8a99dca4..fd870baf 100644
--- a/FlowlightTests/InspectScopeTests.swift
+++ b/FlowlightTests/InspectScopeTests.swift
@@ -25,8 +25,8 @@ final class InspectScopeTests: XCTestCase {
/// The exact shape of the bug: a page that merely mentions the app's name.
func testScopingToAnAppExcludesAPageThatOnlyMentionsIt() throws {
let db = try database()
- try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "api.anthropic.com"))
- try db.insertExchange(exchange(app: ("com.google.Chrome", "Google Chrome"), host: "github.com",
+ _ = try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "api.anthropic.com"))
+ _ = try db.insertExchange(exchange(app: ("com.google.Chrome", "Google Chrome"), host: "github.com",
body: "
Generated with Claude Code
"))
let scoped = try db.exchanges(since: Date().addingTimeInterval(-60), app: "claude")
@@ -39,9 +39,9 @@ final class InspectScopeTests: XCTestCase {
func testScopingToAHostKeepsItsSubdomains() throws {
let db = try database()
- try db.insertExchange(exchange(app: ("a", "A"), host: "api.github.com"))
- try db.insertExchange(exchange(app: ("b", "B"), host: "github.com"))
- try db.insertExchange(exchange(app: ("c", "C"), host: "example.com"))
+ _ = try db.insertExchange(exchange(app: ("a", "A"), host: "api.github.com"))
+ _ = try db.insertExchange(exchange(app: ("b", "B"), host: "github.com"))
+ _ = try db.insertExchange(exchange(app: ("c", "C"), host: "example.com"))
let scoped = try db.exchanges(since: Date().addingTimeInterval(-60), host: "github.com")
XCTAssertEqual(Set(scoped.map(\.host)), ["github.com", "api.github.com"])
@@ -50,8 +50,8 @@ final class InspectScopeTests: XCTestCase {
/// A scope and a search have to compose, or narrowing a scoped list would silently widen it.
func testAScopeAndASearchBothApply() throws {
let db = try database()
- try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "api.anthropic.com"))
- try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "registry.npmjs.org"))
+ _ = try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "api.anthropic.com"))
+ _ = try db.insertExchange(exchange(app: ("claude", "Claude Code"), host: "registry.npmjs.org"))
let both = try db.exchanges(since: Date().addingTimeInterval(-60), search: "npmjs", app: "claude")
XCTAssertEqual(both.count, 1)
@@ -60,8 +60,8 @@ final class InspectScopeTests: XCTestCase {
func testNoScopeStillReturnsEverything() throws {
let db = try database()
- try db.insertExchange(exchange(app: ("a", "A"), host: "one.example"))
- try db.insertExchange(exchange(app: ("b", "B"), host: "two.example"))
+ _ = try db.insertExchange(exchange(app: ("a", "A"), host: "one.example"))
+ _ = try db.insertExchange(exchange(app: ("b", "B"), host: "two.example"))
XCTAssertEqual(try db.exchanges(since: Date().addingTimeInterval(-60)).count, 2)
}
}
diff --git a/FlowlightTests/InspectionTests.swift b/FlowlightTests/InspectionTests.swift
index 2fdcd0a3..bedb382d 100644
--- a/FlowlightTests/InspectionTests.swift
+++ b/FlowlightTests/InspectionTests.swift
@@ -319,7 +319,7 @@ final class InspectionStorageTests: XCTestCase {
requestBody: Data("{}".utf8), requestSize: 2, requestTruncated: false, responseHeaders: [], responseBody: Data([0, 1, 2]),
responseSize: 3, responseTruncated: false, contentType: "text/event-stream", pid: 42, bundleID: "claude", appName: "claude",
agent: "claude", agentName: "Claude Code", mcpServer: nil, toolCalls: [call], note: nil)
- try db.insertExchange(exchange)
+ _ = try db.insertExchange(exchange)
let rows = try db.exchanges(since: Date().addingTimeInterval(-60))
XCTAssertEqual(rows.count, 1)
XCTAssertEqual(rows[0].toolCalls, [call])
diff --git a/FlowlightTests/MockResponseTests.swift b/FlowlightTests/MockResponseTests.swift
index 59152a32..0246ef90 100644
--- a/FlowlightTests/MockResponseTests.swift
+++ b/FlowlightTests/MockResponseTests.swift
@@ -296,11 +296,11 @@ final class MockRuleStorageTests: XCTestCase {
responseHeaders: [], responseBody: Data(), responseSize: 0, responseTruncated: false, contentType: "", pid: 1,
bundleID: "b", appName: "a", agent: nil, agentName: nil, mcpServer: nil, toolCalls: [])
exchange.mockRule = "down"
- try db.insertExchange(exchange)
- try db.insertExchange(exchange) // a second row, left real
+ _ = try db.insertExchange(exchange)
+ _ = try db.insertExchange(exchange) // a second row, left real
var real = exchange
real.mockRule = nil
- try db.insertExchange(real)
+ _ = try db.insertExchange(real)
let rows = try db.exchanges(since: .distantPast)
XCTAssertEqual(rows.compactMap(\.mockRule), ["down", "down"])
XCTAssertEqual(rows.count, 3)
diff --git a/FlowlightTests/ResponseTransformTests.swift b/FlowlightTests/ResponseTransformTests.swift
index 26d0bac7..8510fafc 100644
--- a/FlowlightTests/ResponseTransformTests.swift
+++ b/FlowlightTests/ResponseTransformTests.swift
@@ -297,7 +297,7 @@ final class ResponseTransformProvenanceTests: XCTestCase {
let url = FileManager.default.temporaryDirectory.appendingPathComponent("response-transform-\(UUID()).sqlite")
defer { try? FileManager.default.removeItem(at: url) }
let db = try TrafficDatabase(url: url)
- try db.insertExchange(try XCTUnwrap(exchange))
+ _ = try db.insertExchange(try XCTUnwrap(exchange))
let stored = try XCTUnwrap(db.exchanges(since: .distantPast).first)
XCTAssertEqual(stored.responseTransform, "Rewrite status")
XCTAssertNil(stored.mockRule)
diff --git a/FlowlightTests/RuleTests.swift b/FlowlightTests/RuleTests.swift
index d24a5385..e44b4bf3 100644
--- a/FlowlightTests/RuleTests.swift
+++ b/FlowlightTests/RuleTests.swift
@@ -553,15 +553,13 @@ final class RuleTests: XCTestCase {
generation: store.ruleSet.generation
)
let completed = expectation(description: "retirement completed")
- var saved: Bool?
store.retireBoundedClaim(claim) { result in
- saved = result
+ XCTAssertFalse(result)
completed.fulfill()
}
await fulfillment(of: [completed], timeout: 2)
- XCTAssertEqual(saved, false)
XCTAssertEqual(store.rules.first(where: { $0.id == allow.id })?.hits, 1)
XCTAssertNil(store.live.flowDecision(facts()).externalClaim)
}
diff --git a/FlowlightTests/UpdateTests.swift b/FlowlightTests/UpdateTests.swift
index 417698df..39263cfd 100644
--- a/FlowlightTests/UpdateTests.swift
+++ b/FlowlightTests/UpdateTests.swift
@@ -92,7 +92,7 @@ final class UpdateTests: XCTestCase {
@MainActor
func testCleanRelaunchPromotionOpensWindowForNewerRelease() async {
- let release = await fixtureChecker(version: nextMajorVersion())
+ let release = fixtureChecker(version: nextMajorVersion())
await release.checker.check(userInitiated: false, promoteIfAvailable: true)
@@ -105,7 +105,7 @@ final class UpdateTests: XCTestCase {
@MainActor
func testCleanRelaunchPromotionSkipsSkippedRelease() async {
- let release = await fixtureChecker(version: nextMajorVersion())
+ let release = fixtureChecker(version: nextMajorVersion())
UserDefaults.standard.set(release.version, forKey: UpdateChecker.Keys.skipped)
await release.checker.check(userInitiated: false, promoteIfAvailable: true)
@@ -119,7 +119,7 @@ final class UpdateTests: XCTestCase {
@MainActor
func testCleanRelaunchPromotionDoesNotOpenForCurrentRelease() async {
- let checker = await fixtureChecker(version: currentVersion())
+ let checker = fixtureChecker(version: currentVersion())
await checker.checker.check(userInitiated: false, promoteIfAvailable: true)
diff --git a/docs/404.html b/docs/404.html
index bb39da11..0dd00678 100644
--- a/docs/404.html
+++ b/docs/404.html
@@ -86,7 +86,7 @@ That page isn't here Try the home page ,
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/about/index.html b/docs/about/index.html
index 857dee54..b27b030c 100644
--- a/docs/about/index.html
+++ b/docs/about/index.html
@@ -48,7 +48,7 @@
-
+
Skip to content
@@ -153,7 +153,7 @@ Thanks
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/de/about/index.html b/docs/de/about/index.html
index d2a9cca4..41fc4f22 100644
--- a/docs/de/about/index.html
+++ b/docs/de/about/index.html
@@ -48,7 +48,7 @@
-
+
Zum Inhalt springen
@@ -152,7 +152,7 @@ Dank
© 2026 Die Flowlight-Mitwirkenden. Flowlight ist freie Software, veröffentlicht unter der GNU General Public License v3.0 .
-
Version 0.15.9 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
+
Version 0.15.10 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
diff --git a/docs/de/docs/index.html b/docs/de/docs/index.html
index a0e329c3..89148c1f 100644
--- a/docs/de/docs/index.html
+++ b/docs/de/docs/index.html
@@ -48,7 +48,7 @@
-
+
Zum Inhalt springen
@@ -76,7 +76,7 @@
Dokumentation
Flowlight benutzen
-
Alles vom ersten Start bis zum Feinschliff an den Agentenregeln. Flowlight 0.15.9, macOS 15 oder neuer.
+
Alles vom ersten Start bis zum Feinschliff an den Agentenregeln. Flowlight 0.15.10, macOS 15 oder neuer.
@@ -755,7 +755,7 @@ Grenzen
© 2026 Die Flowlight-Mitwirkenden. Flowlight ist freie Software, veröffentlicht unter der GNU General Public License v3.0 .
-
Version 0.15.9 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
+
Version 0.15.10 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
diff --git a/docs/de/index.html b/docs/de/index.html
index 02ea1621..06708fb3 100644
--- a/docs/de/index.html
+++ b/docs/de/index.html
@@ -48,7 +48,7 @@
-
+
Zum Inhalt springen
@@ -90,7 +90,7 @@ Sieh, was deine Apps im Netz tun.brew install --cask xinbetween/tap/flowlightKopieren
- v0.15.9 macOS 15+ Universal GPL-3.0 Keine Telemetrie
+ v0.15.10 macOS 15+ Universal GPL-3.0 Keine Telemetrie
@@ -572,7 +572,7 @@ Wisse, was deinen Mac verlässt.
© 2026 Die Flowlight-Mitwirkenden. Flowlight ist freie Software, veröffentlicht unter der GNU General Public License v3.0 .
-
Version 0.15.9 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
+
Version 0.15.10 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
diff --git a/docs/de/privacy/index.html b/docs/de/privacy/index.html
index 9ac4332d..b2771699 100644
--- a/docs/de/privacy/index.html
+++ b/docs/de/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Zum Inhalt springen
@@ -189,7 +189,7 @@
© 2026 Die Flowlight-Mitwirkenden. Flowlight ist freie Software, veröffentlicht unter der GNU General Public License v3.0 .
-
Version 0.15.9 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
+
Version 0.15.10 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
diff --git a/docs/de/threat-model/index.html b/docs/de/threat-model/index.html
index dac47be2..b662f66b 100644
--- a/docs/de/threat-model/index.html
+++ b/docs/de/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Zum Inhalt springen
@@ -225,7 +225,7 @@ Eine Schwachstelle melden
© 2026 Die Flowlight-Mitwirkenden. Flowlight ist freie Software, veröffentlicht unter der GNU General Public License v3.0 .
-
Version 0.15.9 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
+
Version 0.15.10 · Nicht verbunden mit Apple oder einem der hier genannten KI-Anbieter.
diff --git a/docs/docs/index.html b/docs/docs/index.html
index 35ac715a..e1c6d9a5 100644
--- a/docs/docs/index.html
+++ b/docs/docs/index.html
@@ -48,7 +48,7 @@
-
+
Skip to content
@@ -76,7 +76,7 @@
Documentation
Using Flowlight
-
Everything from the first launch to tuning the agent rules. Flowlight 0.15.9, macOS 15 or later.
+
Everything from the first launch to tuning the agent rules. Flowlight 0.15.10, macOS 15 or later.
@@ -793,7 +793,7 @@ Limitations
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/es/about/index.html b/docs/es/about/index.html
index d361e4c0..488e9274 100644
--- a/docs/es/about/index.html
+++ b/docs/es/about/index.html
@@ -48,7 +48,7 @@
-
+
Ir al contenido
@@ -152,7 +152,7 @@ Agradecimientos
© 2026 Quienes contribuyen a Flowlight. Flowlight es software libre, publicado bajo la GNU General Public License v3.0 .
-
Versión 0.15.9 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
+
Versión 0.15.10 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
diff --git a/docs/es/docs/index.html b/docs/es/docs/index.html
index 2bcf1a14..851e7d8c 100644
--- a/docs/es/docs/index.html
+++ b/docs/es/docs/index.html
@@ -48,7 +48,7 @@
-
+
Ir al contenido
@@ -76,7 +76,7 @@
Documentación
Usar Flowlight
-
Todo, desde el primer arranque hasta el ajuste de las reglas de agentes. Flowlight 0.15.9, macOS 15 o posterior.
+
Todo, desde el primer arranque hasta el ajuste de las reglas de agentes. Flowlight 0.15.10, macOS 15 o posterior.
@@ -749,7 +749,7 @@ Limitaciones
© 2026 Quienes contribuyen a Flowlight. Flowlight es software libre, publicado bajo la GNU General Public License v3.0 .
-
Versión 0.15.9 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
+
Versión 0.15.10 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
diff --git a/docs/es/index.html b/docs/es/index.html
index 9a5c0191..732e1826 100644
--- a/docs/es/index.html
+++ b/docs/es/index.html
@@ -48,7 +48,7 @@
-
+
Ir al contenido
@@ -90,7 +90,7 @@ Observa la actividad de red de tus apps.
brew install --cask xinbetween/tap/flowlightCopiar
- v0.15.9 macOS 15+ Universal GPL-3.0 Sin telemetría
+ v0.15.10 macOS 15+ Universal GPL-3.0 Sin telemetría
@@ -572,7 +572,7 @@ Ten claro qué sale de tu Mac.
© 2026 Quienes contribuyen a Flowlight. Flowlight es software libre, publicado bajo la GNU General Public License v3.0 .
-
Versión 0.15.9 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
+
Versión 0.15.10 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
diff --git a/docs/es/privacy/index.html b/docs/es/privacy/index.html
index 8e591cf5..466c5952 100644
--- a/docs/es/privacy/index.html
+++ b/docs/es/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Ir al contenido
@@ -189,7 +189,7 @@
© 2026 Quienes contribuyen a Flowlight. Flowlight es software libre, publicado bajo la GNU General Public License v3.0 .
-
Versión 0.15.9 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
+
Versión 0.15.10 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
diff --git a/docs/es/threat-model/index.html b/docs/es/threat-model/index.html
index 0d907231..6475b6b1 100644
--- a/docs/es/threat-model/index.html
+++ b/docs/es/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Ir al contenido
@@ -221,7 +221,7 @@ Informar de una vulnerabilidad
© 2026 Quienes contribuyen a Flowlight. Flowlight es software libre, publicado bajo la GNU General Public License v3.0 .
-
Versión 0.15.9 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
+
Versión 0.15.10 · Sin relación con Apple ni con ningún proveedor de IA mencionado en este sitio.
diff --git a/docs/fr/about/index.html b/docs/fr/about/index.html
index b800ae8b..c64470a6 100644
--- a/docs/fr/about/index.html
+++ b/docs/fr/about/index.html
@@ -48,7 +48,7 @@
-
+
Aller au contenu
@@ -152,7 +152,7 @@ Remerciements
© 2026 Les contributeurs de Flowlight. Flowlight est un logiciel libre, publié sous la GNU General Public License v3.0 .
-
Version 0.15.9 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
+
Version 0.15.10 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
diff --git a/docs/fr/docs/index.html b/docs/fr/docs/index.html
index 20fa511d..1718e633 100644
--- a/docs/fr/docs/index.html
+++ b/docs/fr/docs/index.html
@@ -48,7 +48,7 @@
-
+
Aller au contenu
@@ -76,7 +76,7 @@
Documentation
Utiliser Flowlight
-
Tout, du premier lancement au réglage des règles des agents. Flowlight 0.15.9, macOS 15 ou version ultérieure.
+
Tout, du premier lancement au réglage des règles des agents. Flowlight 0.15.10, macOS 15 ou version ultérieure.
@@ -755,7 +755,7 @@ Limites
© 2026 Les contributeurs de Flowlight. Flowlight est un logiciel libre, publié sous la GNU General Public License v3.0 .
-
Version 0.15.9 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
+
Version 0.15.10 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
diff --git a/docs/fr/index.html b/docs/fr/index.html
index 3ba9265a..c3176953 100644
--- a/docs/fr/index.html
+++ b/docs/fr/index.html
@@ -48,7 +48,7 @@
-
+
Aller au contenu
@@ -90,7 +90,7 @@ Voyez l’activité réseau de vos apps.
brew install --cask xinbetween/tap/flowlightCopier
- v0.15.9 macOS 15+ Universel GPL-3.0 Sans télémétrie
+ v0.15.10 macOS 15+ Universel GPL-3.0 Sans télémétrie
@@ -572,7 +572,7 @@ Sachez ce qui quitte votre Mac.
© 2026 Les contributeurs de Flowlight. Flowlight est un logiciel libre, publié sous la GNU General Public License v3.0 .
-
Version 0.15.9 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
+
Version 0.15.10 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
diff --git a/docs/fr/privacy/index.html b/docs/fr/privacy/index.html
index 5b33f81b..035f91bc 100644
--- a/docs/fr/privacy/index.html
+++ b/docs/fr/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Aller au contenu
@@ -189,7 +189,7 @@
© 2026 Les contributeurs de Flowlight. Flowlight est un logiciel libre, publié sous la GNU General Public License v3.0 .
-
Version 0.15.9 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
+
Version 0.15.10 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
diff --git a/docs/fr/threat-model/index.html b/docs/fr/threat-model/index.html
index a92ca8f7..32466174 100644
--- a/docs/fr/threat-model/index.html
+++ b/docs/fr/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Aller au contenu
@@ -224,7 +224,7 @@ Signaler une vulnérabilité
© 2026 Les contributeurs de Flowlight. Flowlight est un logiciel libre, publié sous la GNU General Public License v3.0 .
-
Version 0.15.9 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
+
Version 0.15.10 · Sans lien avec Apple ni avec aucun fournisseur d’IA cité sur ce site.
diff --git a/docs/index.html b/docs/index.html
index 9030c8e3..d9cffeab 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -48,7 +48,7 @@
-
+
Skip to content
@@ -90,7 +90,7 @@ See your apps' network activity.brew install --cask xinbetween/tap/flowlightCopy
- v0.15.9 macOS 15+ Universal GPL-3.0 No telemetry
+ v0.15.10 macOS 15+ Universal GPL-3.0 No telemetry
@@ -594,7 +594,7 @@ Know what leaves your Mac.
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/it/about/index.html b/docs/it/about/index.html
index f6dd591a..b4409f79 100644
--- a/docs/it/about/index.html
+++ b/docs/it/about/index.html
@@ -48,7 +48,7 @@
-
+
Vai al contenuto
@@ -152,7 +152,7 @@ Ringraziamenti
© 2026 Chi contribuisce a Flowlight. Flowlight è software libero, distribuito sotto la GNU General Public License v3.0 .
-
Versione 0.15.9 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
+
Versione 0.15.10 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
diff --git a/docs/it/docs/index.html b/docs/it/docs/index.html
index d6485672..cf2a6b19 100644
--- a/docs/it/docs/index.html
+++ b/docs/it/docs/index.html
@@ -48,7 +48,7 @@
-
+
Vai al contenuto
@@ -76,7 +76,7 @@
Documentazione
Usare Flowlight
-
Tutto, dal primo avvio alla messa a punto delle regole per gli agenti. Flowlight 0.15.9, macOS 15 o successivo.
+
Tutto, dal primo avvio alla messa a punto delle regole per gli agenti. Flowlight 0.15.10, macOS 15 o successivo.
@@ -753,7 +753,7 @@ Limitazioni
© 2026 Chi contribuisce a Flowlight. Flowlight è software libero, distribuito sotto la GNU General Public License v3.0 .
-
Versione 0.15.9 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
+
Versione 0.15.10 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
diff --git a/docs/it/index.html b/docs/it/index.html
index ae8403d3..ba53f718 100644
--- a/docs/it/index.html
+++ b/docs/it/index.html
@@ -48,7 +48,7 @@
-
+
Vai al contenuto
@@ -90,7 +90,7 @@ Vedi la rete delle tue app.Ca
Metti una stella su GitHub
brew install --cask xinbetween/tap/flowlightCopia
- v0.15.9 macOS 15+ Universale GPL-3.0 Nessuna telemetria
+ v0.15.10 macOS 15+ Universale GPL-3.0 Nessuna telemetria
@@ -572,7 +572,7 @@ Sappi che cosa esce dal tuo Mac.
© 2026 Chi contribuisce a Flowlight. Flowlight è software libero, distribuito sotto la GNU General Public License v3.0 .
-
Versione 0.15.9 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
+
Versione 0.15.10 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
diff --git a/docs/it/privacy/index.html b/docs/it/privacy/index.html
index e8270be3..bf4aa410 100644
--- a/docs/it/privacy/index.html
+++ b/docs/it/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Vai al contenuto
@@ -189,7 +189,7 @@
© 2026 Chi contribuisce a Flowlight. Flowlight è software libero, distribuito sotto la GNU General Public License v3.0 .
-
Versione 0.15.9 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
+
Versione 0.15.10 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
diff --git a/docs/it/threat-model/index.html b/docs/it/threat-model/index.html
index 8847cd85..46864583 100644
--- a/docs/it/threat-model/index.html
+++ b/docs/it/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Vai al contenuto
@@ -223,7 +223,7 @@ Segnalare una vulnerabilità
© 2026 Chi contribuisce a Flowlight. Flowlight è software libero, distribuito sotto la GNU General Public License v3.0 .
-
Versione 0.15.9 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
+
Versione 0.15.10 · Non affiliato ad Apple né ad alcun fornitore di IA citato in questo sito.
diff --git a/docs/ja/about/index.html b/docs/ja/about/index.html
index aaf4cdd2..c3620996 100644
--- a/docs/ja/about/index.html
+++ b/docs/ja/about/index.html
@@ -48,7 +48,7 @@
-
+
本文へスキップ
@@ -153,7 +153,7 @@ 謝辞
© 2026 Flowlight コントリビューター。Flowlight は GNU General Public License v3.0 のもとで公開されている自由ソフトウェアです。
-
バージョン 0.15.9 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
+
バージョン 0.15.10 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
diff --git a/docs/ja/docs/index.html b/docs/ja/docs/index.html
index a8202299..049377b8 100644
--- a/docs/ja/docs/index.html
+++ b/docs/ja/docs/index.html
@@ -48,7 +48,7 @@
-
+
本文へスキップ
@@ -76,7 +76,7 @@
ドキュメント
Flowlight の使い方
-
初回起動からエージェントのルールの調整まで、すべてここに。Flowlight 0.15.9、macOS 15 以降。
+
初回起動からエージェントのルールの調整まで、すべてここに。Flowlight 0.15.10、macOS 15 以降。
@@ -703,7 +703,7 @@ 制限事項
© 2026 Flowlight コントリビューター。Flowlight は GNU General Public License v3.0 のもとで公開されている自由ソフトウェアです。
-
バージョン 0.15.9 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
+
バージョン 0.15.10 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
diff --git a/docs/ja/index.html b/docs/ja/index.html
index 19c0553f..c2447728 100644
--- a/docs/ja/index.html
+++ b/docs/ja/index.html
@@ -48,7 +48,7 @@
-
+
本文へスキップ
@@ -90,7 +90,7 @@ アプリの通信が見える。brew install --cask xinbetween/tap/flowlightコピー
- v0.15.9 macOS 15+ ユニバーサル GPL-3.0 テレメトリなし
+ v0.15.10 macOS 15+ ユニバーサル GPL-3.0 テレメトリなし
@@ -571,7 +571,7 @@ Mac から何が出ていくのかを知る。
© 2026 Flowlight コントリビューター。Flowlight は GNU General Public License v3.0 のもとで公開されている自由ソフトウェアです。
-
バージョン 0.15.9 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
+
バージョン 0.15.10 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
diff --git a/docs/ja/privacy/index.html b/docs/ja/privacy/index.html
index c4ad2698..fabffc5f 100644
--- a/docs/ja/privacy/index.html
+++ b/docs/ja/privacy/index.html
@@ -48,7 +48,7 @@
-
+
本文へスキップ
@@ -187,7 +187,7 @@
© 2026 Flowlight コントリビューター。Flowlight は GNU General Public License v3.0 のもとで公開されている自由ソフトウェアです。
-
バージョン 0.15.9 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
+
バージョン 0.15.10 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
diff --git a/docs/ja/threat-model/index.html b/docs/ja/threat-model/index.html
index 056d33a0..f1d41a7f 100644
--- a/docs/ja/threat-model/index.html
+++ b/docs/ja/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
本文へスキップ
@@ -222,7 +222,7 @@ 脆弱性を報告する
© 2026 Flowlight コントリビューター。Flowlight は GNU General Public License v3.0 のもとで公開されている自由ソフトウェアです。
-
バージョン 0.15.9 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
+
バージョン 0.15.10 · Apple および本サイトに挙げた AI プロバイダとは関係ありません。
diff --git a/docs/ko/about/index.html b/docs/ko/about/index.html
index 47df6bef..683ea45f 100644
--- a/docs/ko/about/index.html
+++ b/docs/ko/about/index.html
@@ -48,7 +48,7 @@
-
+
본문으로 이동
@@ -153,7 +153,7 @@ 감사
© 2026 Flowlight 기여자들. Flowlight는 GNU General Public License v3.0 아래 배포되는 자유 소프트웨어입니다.
-
버전 0.15.9 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
+
버전 0.15.10 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
diff --git a/docs/ko/docs/index.html b/docs/ko/docs/index.html
index 9aea60b9..e751d54b 100644
--- a/docs/ko/docs/index.html
+++ b/docs/ko/docs/index.html
@@ -48,7 +48,7 @@
-
+
본문으로 이동
@@ -76,7 +76,7 @@
문서
Flowlight 사용하기
-
첫 실행부터 에이전트 규칙 조정까지 전부. Flowlight 0.15.9, macOS 15 이상.
+
첫 실행부터 에이전트 규칙 조정까지 전부. Flowlight 0.15.10, macOS 15 이상.
@@ -744,7 +744,7 @@ 한계
© 2026 Flowlight 기여자들. Flowlight는 GNU General Public License v3.0 아래 배포되는 자유 소프트웨어입니다.
-
버전 0.15.9 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
+
버전 0.15.10 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
diff --git a/docs/ko/index.html b/docs/ko/index.html
index 4235d1e1..60f2f941 100644
--- a/docs/ko/index.html
+++ b/docs/ko/index.html
@@ -48,7 +48,7 @@
-
+
본문으로 이동
@@ -90,7 +90,7 @@ 앱이 무엇을 하는지 봅니다.
brew install --cask xinbetween/tap/flowlight복사
- v0.15.9 macOS 15+ 유니버설 GPL-3.0 텔레메트리 없음
+ v0.15.10 macOS 15+ 유니버설 GPL-3.0 텔레메트리 없음
@@ -572,7 +572,7 @@ 내 Mac에서 무엇이 나가는지 아세요.
© 2026 Flowlight 기여자들. Flowlight는 GNU General Public License v3.0 아래 배포되는 자유 소프트웨어입니다.
-
버전 0.15.9 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
+
버전 0.15.10 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
diff --git a/docs/ko/privacy/index.html b/docs/ko/privacy/index.html
index 257a5908..48a62f66 100644
--- a/docs/ko/privacy/index.html
+++ b/docs/ko/privacy/index.html
@@ -48,7 +48,7 @@
-
+
본문으로 이동
@@ -190,7 +190,7 @@
© 2026 Flowlight 기여자들. Flowlight는 GNU General Public License v3.0 아래 배포되는 자유 소프트웨어입니다.
-
버전 0.15.9 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
+
버전 0.15.10 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
diff --git a/docs/ko/threat-model/index.html b/docs/ko/threat-model/index.html
index a5ab59b2..a1d2e0cb 100644
--- a/docs/ko/threat-model/index.html
+++ b/docs/ko/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
본문으로 이동
@@ -221,7 +221,7 @@ 취약점 신고하기
© 2026 Flowlight 기여자들. Flowlight는 GNU General Public License v3.0 아래 배포되는 자유 소프트웨어입니다.
-
버전 0.15.9 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
+
버전 0.15.10 · Apple 및 이 사이트에 언급된 어떤 AI 제공업체와도 무관합니다.
diff --git a/docs/llms-full.txt b/docs/llms-full.txt
index bb3a5e3b..16efb147 100644
--- a/docs/llms-full.txt
+++ b/docs/llms-full.txt
@@ -62,7 +62,7 @@ Documentation
Using Flowlight
- Everything from the first launch to tuning the agent rules. Flowlight 0.15.9, macOS 15 or later.
+ Everything from the first launch to tuning the agent rules. Flowlight 0.15.10, macOS 15 or later.
On this page
@@ -894,7 +894,7 @@ Understand your AI agents.
brew install --cask xinbetween/tap/flowlightCopy
- v0.15.9macOS 15+UniversalGPL-3.0No telemetry
+ v0.15.10macOS 15+UniversalGPL-3.0No telemetry
connectionslive
@@ -1629,8 +1629,20 @@ Releases
Downloads, checksums and full notes for each version are on GitHub Releases.
+ 0.15.10
+October 28, 2026Latest
+
+ Make the full test target warning-free. Concurrency captures, redundant actor awaits, and intentionally ignored
+ database insert IDs now compile cleanly with current Xcode.
+
+ Treat test warnings as release failures. The test bundle promotes compiler warnings to errors, while the log
+ gate separately rejects first-party diagnostics the compiler leaves nonfatal.
+
+ Keep release checks explicit. Deterministic fixtures prove warnings from app and test sources both fail the gate
+ while Xcode metadata and dependency notices remain visible.
+
0.15.9
-October 27, 2026Latest
+October 27, 2026
Make Store builds warning-free. Ambiguous optionals, isolation boundaries, sendable callbacks,
capture ownership, and stale compatibility code now compile cleanly with current Xcode.
diff --git a/docs/llms.txt b/docs/llms.txt
index 83ac8ce5..83a22d5e 100644
--- a/docs/llms.txt
+++ b/docs/llms.txt
@@ -1,6 +1,6 @@
# Flowlight
-> Free, open-source (GPL-3.0) application-aware network monitor for macOS, with focused visibility into AI agents. It attributes observed TCP and UDP activity to the application that made it and records the destination, protocol and byte counts, keeping local history from second to year. Recognized AI agents are listed by name along with the tools and MCP servers they start, under per-agent allowlists. It can also refuse, once asked: a rule blocks an application, a destination or a URL for as long as you specify, and a guardrail withholds a tool from an agent before its model is offered it. Runs on macOS 15 or later; capture is by a sampler or a Network Extension. Current version: 0.15.9.
+> Free, open-source (GPL-3.0) application-aware network monitor for macOS, with focused visibility into AI agents. It attributes observed TCP and UDP activity to the application that made it and records the destination, protocol and byte counts, keeping local history from second to year. Recognized AI agents are listed by name along with the tools and MCP servers they start, under per-agent allowlists. It can also refuse, once asked: a rule blocks an application, a destination or a URL for as long as you specify, and a guardrail withholds a tool from an agent before its model is offered it. Runs on macOS 15 or later; capture is by a sampler or a Network Extension. Current version: 0.15.10.
- [Download Flowlight.dmg](https://github.com/xinbetween/flowlight/releases/latest/download/Flowlight.dmg)
- [Source code](https://github.com/xinbetween/flowlight)
diff --git a/docs/plugins/index.html b/docs/plugins/index.html
index e7d82f84..b244754a 100644
--- a/docs/plugins/index.html
+++ b/docs/plugins/index.html
@@ -28,7 +28,7 @@
-
+
Skip to content
@@ -211,7 +211,7 @@ Review checklist
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/privacy/index.html b/docs/privacy/index.html
index 84ff2e03..e7fee853 100644
--- a/docs/privacy/index.html
+++ b/docs/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Skip to content
@@ -196,7 +196,7 @@
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/pt-PT/about/index.html b/docs/pt-PT/about/index.html
index 4e5838e9..6a2fa2fe 100644
--- a/docs/pt-PT/about/index.html
+++ b/docs/pt-PT/about/index.html
@@ -48,7 +48,7 @@
-
+
Ir para o conteúdo
@@ -152,7 +152,7 @@ Agradecimentos
© 2026 Quem contribui para o Flowlight. O Flowlight é software livre, publicado sob a GNU General Public License v3.0 .
-
Versão 0.15.9 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
+
Versão 0.15.10 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
diff --git a/docs/pt-PT/docs/index.html b/docs/pt-PT/docs/index.html
index b1ba08f9..ee8560aa 100644
--- a/docs/pt-PT/docs/index.html
+++ b/docs/pt-PT/docs/index.html
@@ -48,7 +48,7 @@
-
+
Ir para o conteúdo
@@ -76,7 +76,7 @@
Documentação
Usar o Flowlight
-
Tudo, da primeira abertura ao ajuste das regras dos agentes. Flowlight 0.15.9, macOS 15 ou posterior.
+
Tudo, da primeira abertura ao ajuste das regras dos agentes. Flowlight 0.15.10, macOS 15 ou posterior.
@@ -749,7 +749,7 @@ Limitações
© 2026 Quem contribui para o Flowlight. O Flowlight é software livre, publicado sob a GNU General Public License v3.0 .
-
Versão 0.15.9 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
+
Versão 0.15.10 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
diff --git a/docs/pt-PT/index.html b/docs/pt-PT/index.html
index 7636c467..50449b69 100644
--- a/docs/pt-PT/index.html
+++ b/docs/pt-PT/index.html
@@ -48,7 +48,7 @@
-
+
Ir para o conteúdo
@@ -90,7 +90,7 @@ Veja a atividade de rede das suas apps.
brew install --cask xinbetween/tap/flowlightCopiar
- v0.15.9 macOS 15+ Universal GPL-3.0 Sem telemetria
+ v0.15.10 macOS 15+ Universal GPL-3.0 Sem telemetria
@@ -572,7 +572,7 @@ Saiba o que sai do seu Mac.
© 2026 Quem contribui para o Flowlight. O Flowlight é software livre, publicado sob a GNU General Public License v3.0 .
-
Versão 0.15.9 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
+
Versão 0.15.10 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
diff --git a/docs/pt-PT/privacy/index.html b/docs/pt-PT/privacy/index.html
index e4864065..0e5a402c 100644
--- a/docs/pt-PT/privacy/index.html
+++ b/docs/pt-PT/privacy/index.html
@@ -48,7 +48,7 @@
-
+
Ir para o conteúdo
@@ -189,7 +189,7 @@
© 2026 Quem contribui para o Flowlight. O Flowlight é software livre, publicado sob a GNU General Public License v3.0 .
-
Versão 0.15.9 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
+
Versão 0.15.10 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
diff --git a/docs/pt-PT/threat-model/index.html b/docs/pt-PT/threat-model/index.html
index c518b92a..cc31dfff 100644
--- a/docs/pt-PT/threat-model/index.html
+++ b/docs/pt-PT/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Ir para o conteúdo
@@ -222,7 +222,7 @@ Comunicar uma vulnerabilidade
© 2026 Quem contribui para o Flowlight. O Flowlight é software livre, publicado sob a GNU General Public License v3.0 .
-
Versão 0.15.9 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
+
Versão 0.15.10 · Sem qualquer ligação à Apple ou a algum fornecedor de IA mencionado neste site.
diff --git a/docs/releases/index.html b/docs/releases/index.html
index 789456dd..d79abfb0 100644
--- a/docs/releases/index.html
+++ b/docs/releases/index.html
@@ -28,7 +28,7 @@
-
+
Skip to content
@@ -61,7 +61,19 @@ What's new
- 0.15.9 October 27, 2026 Latest
+ 0.15.10 October 28, 2026 Latest
+
+ Make the full test target warning-free. Concurrency captures, redundant actor awaits, and intentionally ignored
+ database insert IDs now compile cleanly with current Xcode.
+ Treat test warnings as release failures. The test bundle promotes compiler warnings to errors, while the log
+ gate separately rejects first-party diagnostics the compiler leaves nonfatal.
+ Keep release checks explicit. Deterministic fixtures prove warnings from app and test sources both fail the gate
+ while Xcode metadata and dependency notices remain visible.
+
+
+
+
+
Make Store builds warning-free. Ambiguous optionals, isolation boundaries, sendable callbacks,
capture ownership, and stale compatibility code now compile cleanly with current Xcode.
@@ -1361,7 +1373,7 @@ What's new
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/sitemap.xml b/docs/sitemap.xml
index b2ed251a..adc1b48c 100644
--- a/docs/sitemap.xml
+++ b/docs/sitemap.xml
@@ -1,55 +1,55 @@
- https://flowlight.xinbetween.com/about/ 2026-10-27
- https://flowlight.xinbetween.com/docs/ 2026-10-27
- https://flowlight.xinbetween.com/ 2026-10-27
- https://flowlight.xinbetween.com/plugins/ 2026-10-27
- https://flowlight.xinbetween.com/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/releases/ 2026-10-27
- https://flowlight.xinbetween.com/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/de/about/ 2026-10-27
- https://flowlight.xinbetween.com/de/docs/ 2026-10-27
- https://flowlight.xinbetween.com/de/ 2026-10-27
- https://flowlight.xinbetween.com/de/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/de/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/es/about/ 2026-10-27
- https://flowlight.xinbetween.com/es/docs/ 2026-10-27
- https://flowlight.xinbetween.com/es/ 2026-10-27
- https://flowlight.xinbetween.com/es/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/es/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/fr/about/ 2026-10-27
- https://flowlight.xinbetween.com/fr/docs/ 2026-10-27
- https://flowlight.xinbetween.com/fr/ 2026-10-27
- https://flowlight.xinbetween.com/fr/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/fr/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/it/about/ 2026-10-27
- https://flowlight.xinbetween.com/it/docs/ 2026-10-27
- https://flowlight.xinbetween.com/it/ 2026-10-27
- https://flowlight.xinbetween.com/it/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/it/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/pt-PT/about/ 2026-10-27
- https://flowlight.xinbetween.com/pt-PT/docs/ 2026-10-27
- https://flowlight.xinbetween.com/pt-PT/ 2026-10-27
- https://flowlight.xinbetween.com/pt-PT/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/pt-PT/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/ja/about/ 2026-10-27
- https://flowlight.xinbetween.com/ja/docs/ 2026-10-27
- https://flowlight.xinbetween.com/ja/ 2026-10-27
- https://flowlight.xinbetween.com/ja/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/ja/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hans/about/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hans/docs/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hans/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hans/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hans/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hant/about/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hant/docs/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hant/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hant/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/zh-Hant/threat-model/ 2026-10-27
- https://flowlight.xinbetween.com/ko/about/ 2026-10-27
- https://flowlight.xinbetween.com/ko/docs/ 2026-10-27
- https://flowlight.xinbetween.com/ko/ 2026-10-27
- https://flowlight.xinbetween.com/ko/privacy/ 2026-10-27
- https://flowlight.xinbetween.com/ko/threat-model/ 2026-10-27
+ https://flowlight.xinbetween.com/about/ 2026-10-28
+ https://flowlight.xinbetween.com/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/ 2026-10-28
+ https://flowlight.xinbetween.com/plugins/ 2026-10-28
+ https://flowlight.xinbetween.com/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/releases/ 2026-10-28
+ https://flowlight.xinbetween.com/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/de/about/ 2026-10-28
+ https://flowlight.xinbetween.com/de/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/de/ 2026-10-28
+ https://flowlight.xinbetween.com/de/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/de/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/es/about/ 2026-10-28
+ https://flowlight.xinbetween.com/es/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/es/ 2026-10-28
+ https://flowlight.xinbetween.com/es/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/es/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/fr/about/ 2026-10-28
+ https://flowlight.xinbetween.com/fr/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/fr/ 2026-10-28
+ https://flowlight.xinbetween.com/fr/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/fr/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/it/about/ 2026-10-28
+ https://flowlight.xinbetween.com/it/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/it/ 2026-10-28
+ https://flowlight.xinbetween.com/it/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/it/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/pt-PT/about/ 2026-10-28
+ https://flowlight.xinbetween.com/pt-PT/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/pt-PT/ 2026-10-28
+ https://flowlight.xinbetween.com/pt-PT/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/pt-PT/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/ja/about/ 2026-10-28
+ https://flowlight.xinbetween.com/ja/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/ja/ 2026-10-28
+ https://flowlight.xinbetween.com/ja/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/ja/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hans/about/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hans/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hans/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hans/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hans/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hant/about/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hant/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hant/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hant/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/zh-Hant/threat-model/ 2026-10-28
+ https://flowlight.xinbetween.com/ko/about/ 2026-10-28
+ https://flowlight.xinbetween.com/ko/docs/ 2026-10-28
+ https://flowlight.xinbetween.com/ko/ 2026-10-28
+ https://flowlight.xinbetween.com/ko/privacy/ 2026-10-28
+ https://flowlight.xinbetween.com/ko/threat-model/ 2026-10-28
diff --git a/docs/threat-model/index.html b/docs/threat-model/index.html
index 063a382e..7487a5fd 100644
--- a/docs/threat-model/index.html
+++ b/docs/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
Skip to content
@@ -231,7 +231,7 @@ Reporting a vulnerability
© 2026 The Flowlight contributors. Flowlight is free software, released under the
GNU General Public License v3.0 .
-
Version 0.15.9 · Not affiliated with Apple or any AI provider named on this site.
+
Version 0.15.10 · Not affiliated with Apple or any AI provider named on this site.
diff --git a/docs/zh-Hans/about/index.html b/docs/zh-Hans/about/index.html
index d4a9cfb0..0e8803e4 100644
--- a/docs/zh-Hans/about/index.html
+++ b/docs/zh-Hans/about/index.html
@@ -48,7 +48,7 @@
-
+
跳到正文
@@ -152,7 +152,7 @@ 致谢
© 2026 Flowlight 贡献者。Flowlight 是自由软件,依 GNU General Public License v3.0 发布。
-
版本 0.15.9 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
+
版本 0.15.10 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
diff --git a/docs/zh-Hans/docs/index.html b/docs/zh-Hans/docs/index.html
index fcdb0a13..8b4b6eb3 100644
--- a/docs/zh-Hans/docs/index.html
+++ b/docs/zh-Hans/docs/index.html
@@ -48,7 +48,7 @@
-
+
跳到正文
@@ -76,7 +76,7 @@
文档
使用 Flowlight
-
从第一次启动到调整代理规则,需要的都在这里。Flowlight 0.15.9,macOS 15 或更高版本。
+
从第一次启动到调整代理规则,需要的都在这里。Flowlight 0.15.10,macOS 15 或更高版本。
@@ -706,7 +706,7 @@ 限制
© 2026 Flowlight 贡献者。Flowlight 是自由软件,依 GNU General Public License v3.0 发布。
-
版本 0.15.9 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
+
版本 0.15.10 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
diff --git a/docs/zh-Hans/index.html b/docs/zh-Hans/index.html
index 2511d8ae..13cf0fc0 100644
--- a/docs/zh-Hans/index.html
+++ b/docs/zh-Hans/index.html
@@ -48,7 +48,7 @@
-
+
跳到正文
@@ -90,7 +90,7 @@ 看清应用的网络活动。
brew install --cask xinbetween/tap/flowlight拷贝
- v0.15.9 macOS 15+ 通用架构 GPL-3.0 无遥测
+ v0.15.10 macOS 15+ 通用架构 GPL-3.0 无遥测
@@ -569,7 +569,7 @@ 知道什么离开了你的 Mac。
© 2026 Flowlight 贡献者。Flowlight 是自由软件,依 GNU General Public License v3.0 发布。
-
版本 0.15.9 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
+
版本 0.15.10 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
diff --git a/docs/zh-Hans/privacy/index.html b/docs/zh-Hans/privacy/index.html
index 91238ffc..009bbca1 100644
--- a/docs/zh-Hans/privacy/index.html
+++ b/docs/zh-Hans/privacy/index.html
@@ -48,7 +48,7 @@
-
+
跳到正文
@@ -187,7 +187,7 @@
© 2026 Flowlight 贡献者。Flowlight 是自由软件,依 GNU General Public License v3.0 发布。
-
版本 0.15.9 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
+
版本 0.15.10 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
diff --git a/docs/zh-Hans/threat-model/index.html b/docs/zh-Hans/threat-model/index.html
index c151a968..255f35e5 100644
--- a/docs/zh-Hans/threat-model/index.html
+++ b/docs/zh-Hans/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
跳到正文
@@ -210,7 +210,7 @@ 报告漏洞
© 2026 Flowlight 贡献者。Flowlight 是自由软件,依 GNU General Public License v3.0 发布。
-
版本 0.15.9 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
+
版本 0.15.10 · 与 Apple 及本站提及的任何 AI 提供方均无关联。
diff --git a/docs/zh-Hant/about/index.html b/docs/zh-Hant/about/index.html
index 6f1286bf..cccccdf7 100644
--- a/docs/zh-Hant/about/index.html
+++ b/docs/zh-Hant/about/index.html
@@ -48,7 +48,7 @@
-
+
跳至內容
@@ -152,7 +152,7 @@ 致謝
© 2026 Flowlight 貢獻者。Flowlight 是自由軟體,依 GNU General Public License v3.0 發布。
-
版本 0.15.9 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
+
版本 0.15.10 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
diff --git a/docs/zh-Hant/docs/index.html b/docs/zh-Hant/docs/index.html
index 7b874ac6..b710164f 100644
--- a/docs/zh-Hant/docs/index.html
+++ b/docs/zh-Hant/docs/index.html
@@ -48,7 +48,7 @@
-
+
跳至內容
@@ -76,7 +76,7 @@
說明文件
使用 Flowlight
-
從第一次啟動到調整代理規則,全都在這裡。Flowlight 0.15.9,macOS 15 或以上版本。
+
從第一次啟動到調整代理規則,全都在這裡。Flowlight 0.15.10,macOS 15 或以上版本。
@@ -712,7 +712,7 @@ 限制
© 2026 Flowlight 貢獻者。Flowlight 是自由軟體,依 GNU General Public License v3.0 發布。
-
版本 0.15.9 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
+
版本 0.15.10 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
diff --git a/docs/zh-Hant/index.html b/docs/zh-Hant/index.html
index 11d527ac..3502cd99 100644
--- a/docs/zh-Hant/index.html
+++ b/docs/zh-Hant/index.html
@@ -48,7 +48,7 @@
-
+
跳至內容
@@ -90,7 +90,7 @@ 看見每個 App 的網路活動。brew install --cask xinbetween/tap/flowlight拷貝
- v0.15.9 macOS 15+ 通用架構 GPL-3.0 無遙測
+ v0.15.10 macOS 15+ 通用架構 GPL-3.0 無遙測
@@ -570,7 +570,7 @@ 知道有什麼離開了你的 Mac。
© 2026 Flowlight 貢獻者。Flowlight 是自由軟體,依 GNU General Public License v3.0 發布。
-
版本 0.15.9 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
+
版本 0.15.10 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
diff --git a/docs/zh-Hant/privacy/index.html b/docs/zh-Hant/privacy/index.html
index c47fb29e..88219ab1 100644
--- a/docs/zh-Hant/privacy/index.html
+++ b/docs/zh-Hant/privacy/index.html
@@ -48,7 +48,7 @@
-
+
跳至內容
@@ -187,7 +187,7 @@
© 2026 Flowlight 貢獻者。Flowlight 是自由軟體,依 GNU General Public License v3.0 發布。
-
版本 0.15.9 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
+
版本 0.15.10 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
diff --git a/docs/zh-Hant/threat-model/index.html b/docs/zh-Hant/threat-model/index.html
index 10c46531..a4802d69 100644
--- a/docs/zh-Hant/threat-model/index.html
+++ b/docs/zh-Hant/threat-model/index.html
@@ -48,7 +48,7 @@
-
+
跳至內容
@@ -211,7 +211,7 @@ 回報漏洞
© 2026 Flowlight 貢獻者。Flowlight 是自由軟體,依 GNU General Public License v3.0 發布。
-
版本 0.15.9 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
+
版本 0.15.10 · 與 Apple 及本站提及的任何 AI 供應商均無關聯。
diff --git a/project.yml b/project.yml
index ee520893..3c92daa2 100644
--- a/project.yml
+++ b/project.yml
@@ -15,8 +15,8 @@ settings:
DEVELOPMENT_TEAM: ""
CODE_SIGN_STYLE: Automatic
ENABLE_HARDENED_RUNTIME: YES
- MARKETING_VERSION: "0.15.9"
- CURRENT_PROJECT_VERSION: "56"
+ MARKETING_VERSION: "0.15.10"
+ CURRENT_PROJECT_VERSION: "57"
configs:
AppStore:
DEVELOPMENT_TEAM: 38RJUJHKZS
@@ -147,6 +147,7 @@ targets:
GENERATE_INFOPLIST_FILE: YES
TEST_HOST: "$(BUILT_PRODUCTS_DIR)/Flowlight.app/Contents/MacOS/Flowlight"
BUNDLE_LOADER: "$(TEST_HOST)"
+ SWIFT_TREAT_WARNINGS_AS_ERRORS: YES
dependencies:
- target: Flowlight
schemes:
diff --git a/scripts/check-swift-warnings.sh b/scripts/check-swift-warnings.sh
index 9d8538f0..6a169597 100755
--- a/scripts/check-swift-warnings.sh
+++ b/scripts/check-swift-warnings.sh
@@ -9,7 +9,7 @@ if [[ $# -ne 1 || ! -f "$1" ]]; then
fi
log=$1
-warnings=$(grep -E '^/.*/(Flowlight|FlowlightExtension|FlowlightResponseScriptHelper|Shared)/.*\.swift:[0-9]+:[0-9]+: warning:' "$log" || true)
+warnings=$(grep -E '^/.*/(Flowlight|FlowlightExtension|FlowlightResponseScriptHelper|FlowlightTests|Shared)/.*\.swift:[0-9]+:[0-9]+: warning:' "$log" || true)
if [[ -n "$warnings" ]]; then
echo "Flowlight Swift compiler warnings are release blockers:" >&2
echo "$warnings" >&2
diff --git a/scripts/test-swift-warnings.sh b/scripts/test-swift-warnings.sh
index 83d4777f..a288abdc 100755
--- a/scripts/test-swift-warnings.sh
+++ b/scripts/test-swift-warnings.sh
@@ -13,14 +13,24 @@ cat > "$temporary/clean.log" <<'LOG'
LOG
scripts/check-swift-warnings.sh "$temporary/clean.log"
-cat > "$temporary/dirty.log" <<'LOG'
+cat > "$temporary/app-warning.log" <<'LOG'
/tmp/checkout/Flowlight/Analysis/RuleStore.swift:412:90: warning: actor-isolated property used from nonisolated context
** BUILD SUCCEEDED **
LOG
-if scripts/check-swift-warnings.sh "$temporary/dirty.log" > "$temporary/output" 2>&1; then
- echo "first-party Swift warning was not rejected" >&2
+if scripts/check-swift-warnings.sh "$temporary/app-warning.log" > "$temporary/app-output" 2>&1; then
+ echo "first-party app warning was not rejected" >&2
exit 1
fi
-grep -Fq 'RuleStore.swift:412:90: warning:' "$temporary/output"
+grep -Fq 'RuleStore.swift:412:90: warning:' "$temporary/app-output"
-echo "Swift warning fixtures passed: toolchain and dependency notices allowed, first-party warning rejected."
+cat > "$temporary/test-warning.log" <<'LOG'
+/tmp/checkout/FlowlightTests/RuleTests.swift:559:13: warning: mutation of captured var 'saved' in concurrently-executing code
+** TEST BUILD SUCCEEDED **
+LOG
+if scripts/check-swift-warnings.sh "$temporary/test-warning.log" > "$temporary/test-output" 2>&1; then
+ echo "first-party test warning was not rejected" >&2
+ exit 1
+fi
+grep -Fq 'RuleTests.swift:559:13: warning:' "$temporary/test-output"
+
+echo "Swift warning fixtures passed: toolchain and dependency notices allowed, first-party app and test warnings rejected."
diff --git a/site/pages/releases.html b/site/pages/releases.html
index b8c78ab3..3c43c86f 100644
--- a/site/pages/releases.html
+++ b/site/pages/releases.html
@@ -13,7 +13,19 @@ What's new
- 0.15.9 October 27, 2026 Latest
+ 0.15.10 October 28, 2026 Latest
+
+ Make the full test target warning-free. Concurrency captures, redundant actor awaits, and intentionally ignored
+ database insert IDs now compile cleanly with current Xcode.
+ Treat test warnings as release failures. The test bundle promotes compiler warnings to errors, while the log
+ gate separately rejects first-party diagnostics the compiler leaves nonfatal.
+ Keep release checks explicit. Deterministic fixtures prove warnings from app and test sources both fail the gate
+ while Xcode metadata and dependency notices remain visible.
+
+
+
+
+
Make Store builds warning-free. Ambiguous optionals, isolation boundaries, sendable callbacks,
capture ownership, and stale compatibility code now compile cleanly with current Xcode.