|
1 | 1 | # SwiftFloris |
2 | 2 |
|
3 | | -     |
| 3 | +     |
4 | 4 |
|
5 | 5 | **SwiftFloris** is a privacy-first Android keyboard, forked from FlorisBoard and pushed toward SwiftKey-class multilingual typing without the cloud. It ships under Apache-2.0, holds no `INTERNET` permission, and binds zero accounts. |
6 | 6 |
|
|
37 | 37 |
|
38 | 38 | ## Highlights |
39 | 39 |
|
40 | | -| Area | What's in v1.8.242 | Privacy posture | |
| 40 | +| Area | What's in v1.8.243 | Privacy posture | |
41 | 41 | |------|-------------------|-----------------| |
42 | 42 | | **Autocorrect / prediction** | SCOWL 117k English dictionary, SymSpell d1+d2, bigram + trigram next-word, capitalization-aware completions, contraction handling, instant-remember user-dictionary overlay | On-device | |
43 | 43 | | **Multilingual typing** | Bilingual subtype presets (EN+ES / EN+FR / EN+DE), per-token Latin language identification, top-two straddle guard, sentence-local context scoring, and opt-in remembered keyboard language per app | On-device | |
|
56 | 56 | | **Editor reliability** | Expected-content generation for selection, text commit, composing finalize, and composing-region replacement paths now happens before `InputConnection` batch edits, with try/finally begin/end pairing and focused call-order tests | Local editor state only | |
57 | 57 | | **Alternative layouts** | Colemak / Dvorak / Workman from the FlorisBoard layout pack, plus selectable honeycomb hex layout with clipped hex keys and hex-aware hit testing (only FOSS Android keyboard shipping this — Typewise vacated the consumer market early 2026; see [docs/HONEYCOMB_LAYOUT.md](docs/HONEYCOMB_LAYOUT.md)) | On-device | |
58 | 58 | | **AI transparency** | First-run AI/ML explainer plus Settings → About → AI features screen covering next-word, glide, voice, translation, and smart compose; async suggestion work consumes request-scoped privacy snapshots for incognito, no-personalized-learning, offensive-content, and ghost-text sensitivity gates | On-device, no account, no telemetry | |
59 | | -| **CI / build** | No-network gate, repo-hygiene gate, OSV dep scan, Dependabot version review, lint baseline-drift wrapper with no committed app lint baseline, startup crash recovery via the local crash dialog, restore/crash diagnostics routed through project logging with safe fallback copy, settings-search resource/route drift guard, MIME helper aggregate-contract tests, NativeStr ByteBuffer slice tests, post-hotfix regression coverage for Arabic shaping, Snygg imports, private trace suppression, and locale-scoped n-gram flushes, manual emulator settings smoke, reproducible-build toolchain pins + build-twice APK self-check chained into release publication, Roborazzi visual-regression hard gate with committed theme/Addons baselines, Macrobenchmark trace sections in 6 hot paths, manual benchmark trend-regression report, and compatible dependency freshness through Compose BOM 2026.05.01 / KSP 2.3.9 / Roborazzi 1.63.0 | Audit-friendly | |
| 59 | +| **CI / build** | No-network gate, repo-hygiene gate, OSV dep scan, Dependabot version review, lint baseline-drift wrapper with no committed app lint baseline, startup crash recovery via the local crash dialog, restore/crash diagnostics routed through project logging with safe fallback copy, settings-search resource/route drift guard, MIME helper aggregate-contract tests, NativeStr ByteBuffer slice tests, localization/copy contract tests, post-hotfix regression coverage for Arabic shaping, Snygg imports, private trace suppression, and locale-scoped n-gram flushes, manual emulator settings smoke, reproducible-build toolchain pins + build-twice APK self-check chained into release publication, Roborazzi visual-regression hard gate with committed theme/Addons baselines, Macrobenchmark trace sections in 6 hot paths, manual benchmark trend-regression report, and compatible dependency freshness through Compose BOM 2026.05.01 / KSP 2.3.9 / Roborazzi 1.63.0 | Audit-friendly | |
60 | 60 |
|
61 | 61 | ## Distribution |
62 | 62 |
|
@@ -114,7 +114,7 @@ Project-internal docs all live in the repository: |
114 | 114 | - [`docs/REPRODUCIBLE_BUILDS.md`](docs/REPRODUCIBLE_BUILDS.md) — pinned toolchain and F-Droid rebuild plan. |
115 | 115 | - [`docs/BENCHMARKS.md`](docs/BENCHMARKS.md) — Macrobenchmark trace sections, workflow, and regression threshold contract. |
116 | 116 | - [`docs/LOCAL_VERIFICATION.md`](docs/LOCAL_VERIFICATION.md) — maintainer local test/build/lint/device commands. |
117 | | -- [`docs/REPO_HYGIENE.md`](docs/REPO_HYGIENE.md) — generated-output, deleted-doc, commit-scope, and handoff rules. |
| 117 | +- [`docs/REPO_HYGIENE.md`](docs/REPO_HYGIENE.md) — generated-output, deleted-doc, commit-scope, localization-copy, and handoff rules. |
118 | 118 | - [`docs/INLINE_AUTOFILL.md`](docs/INLINE_AUTOFILL.md) — inline-autofill matrix and password-manager verification. |
119 | 119 | - [`docs/TASKER_INTEGRATION.md`](docs/TASKER_INTEGRATION.md) — Tasker intent contract. |
120 | 120 | - [`docs/FONTS.md`](docs/FONTS.md) — bundled fonts (Nastaliq + Naskh fallback). |
@@ -287,6 +287,7 @@ Real device-number collection is tracked in [`docs/BENCHMARKS.md`](docs/BENCHMAR |
287 | 287 |
|
288 | 288 | The full release stream lives in [`CHANGELOG.md`](CHANGELOG.md) and on [GitHub Releases](https://github.com/SysAdminDoc/SwiftFloris/releases). |
289 | 289 |
|
| 290 | +- **v1.8.243** (2026-06-04) — Localization copy now avoids Turkish repeated-word lint, uses clearer source labels, and standardizes trust-sensitive failure/destructive copy with focused resource tests. ([notes](CHANGELOG.md#v1.8.243)) |
290 | 291 | - **v1.8.242** (2026-06-04) — `NativeStr.toJavaString()` now decodes only ByteBuffer remaining bytes across heap, sliced, direct, and read-only buffers without consuming caller position. ([notes](CHANGELOG.md#v1.8.242)) |
291 | 292 | - **v1.8.241** (2026-06-04) — MIME helper aggregate semantics are now documented and covered, constructor stdout logging is removed, and legacy font wildcard matching is explicit. ([notes](CHANGELOG.md#v1.8.241)) |
292 | 293 | - **v1.8.240** (2026-06-04) — Async preference-store init failures now stage a crash report, unblock the Settings splash wait, and redirect to recovery instead of hanging. ([notes](CHANGELOG.md#v1.8.240)) |
@@ -472,7 +473,7 @@ limitations under the License. |
472 | 473 |
|
473 | 474 | ## Status |
474 | 475 |
|
475 | | -🚀 **Active development.** Current release: **v1.8.242** (2026-06-04). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above. |
| 476 | +🚀 **Active development.** Current release: **v1.8.243** (2026-06-04). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above. |
476 | 477 |
|
477 | 478 | --- |
478 | 479 |
|
|
0 commit comments