|
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.9.47 | Privacy posture | |
| 40 | +| Area | What's in v1.9.48 | Privacy posture | |
41 | 41 | |------|-------------------|-----------------| |
42 | 42 | | **Autocorrect / prediction** | SCOWL 117k English dictionary, heap-bounded 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, opt-in remembered keyboard language per app, and stale-id-safe manual subtype switching | On-device | |
@@ -324,6 +324,7 @@ Current SM-S938B / Android 16 baselines record `am start -W` first-render median |
324 | 324 |
|
325 | 325 | The full public release stream lives on [GitHub Releases](https://github.com/SysAdminDoc/SwiftFloris/releases). |
326 | 326 |
|
| 327 | +- **v1.9.48** (2026-06-14) — Audit hardening pass: the exported share-to-clipboard handler now rejects `file://` URIs (closing a confused-deputy read of the app's own private files); MCP daemon discovery bounds untrusted catalog reads to prevent an out-of-memory denial; incognito `FLAG_SECURE` now reapplies reliably across keyboard restarts; corrected an inverted SERA vowel order in the Ge'ez/Tigrinya transliterators; and several settings polish fixes — a real empty-state message for the privacy audit log, dark/light theme accessibility labels, no more dangling empty headers in Learned entries, and clearer sync-import and update-check wording. |
327 | 328 | - **v1.9.47** (2026-06-14) — New one-tap "Full backup" action on the Backup screen ticks every section (preferences, layouts, themes, and all local clipboard items) and writes a dated archive in a single tap — no manual checkbox juggling before a reinstall or migration. Reuses the existing local, no-network backup flow. |
328 | 329 | - **v1.9.46** (2026-06-14) — New "Touch calibration" setting (Settings → Typing) exposes Conservative / Normal / Rescue-heavy profiles that tune gap-rescue dead zones and adaptive-touch neighbour correction. Normal reproduces the previously-hardcoded behaviour exactly, so the default is unchanged. |
329 | 330 | - **v1.9.45** (2026-06-14) — New optional "CJK mixed-script spacing" setting inserts a boundary space between Han characters and adjacent Latin words or digits (安装 App, 第 3 章). Preference-gated, off by default; the Han boundary requirement keeps Latin/digit-only typing untouched and existing whitespace is respected. |
@@ -533,7 +534,7 @@ limitations under the License. |
533 | 534 |
|
534 | 535 | ## Status |
535 | 536 |
|
536 | | -🚀 **Active development.** Current release: **v1.9.47** (2026-06-14). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above. |
| 537 | +🚀 **Active development.** Current release: **v1.9.48** (2026-06-14). The SwiftKey account export window closed on **2026-05-31**; local/on-device migration paths remain documented above. |
537 | 538 |
|
538 | 539 | --- |
539 | 540 |
|
|
0 commit comments