Repository navigation
Releases: Fiouri/selis
Release list
Selis 1.0.0-rc.4
Fourth release candidate: sharper text at every zoom level.
Fixed
- Sharper text at every zoom level. Pages were drawn at a per-device scale cap (as low as 1.25
pixels per CSS pixel on 3 GB phones, so 42–48 % of the screen's resolution) and upscaled.
They are now drawn at CSS size × devicePixelRatio on whole device pixels; a page too large
for one bitmap keeps a quick base image and gets full-resolution tiles over what is on
screen, replacing the base within 300 ms of a zoom or scroll ending (ADR 0002 amendment).
Security
- ctutils 0.4.4 (RUSTSEC-2026-0385): constant-time masks and
u128comparisons in the crypto
utilities could compile to branches on secret values.
Android: one APK per ABI (arm64-v8a for nearly every phone) and a universal APK; check them against SHA256SUMS.
The .aab is the Google Play bundle (signed with the upload key); it does not install on a phone.
SBOMs: CycloneDX for the Rust crates and the npm packages in the app.
Selis 1.0.0-rc.3
Third release candidate: Erase page content, and redaction fixes.
Added
- Erase page content (ADR 0033): a new "Erase" tool in the annotate dock, separate from the
annotation eraser. Brush (three sizes) or rectangle over anything on the page, preview and
undo per stroke, then Apply: the text, the image pixels and the parts of drawings under the
area are removed from the file, and the area is filled white, with the background colour
around it, or with a colour picked from the page. "Object" mode deletes one image, text run
or drawing (a long press steps through overlapping ones). Every apply is a new version
labelled "erase"; the earlier versions are kept. A signed document warns once that erasing
invalidates the signature.
Fixed
- Redaction no longer changes other pages: an image or form drawn on several pages (a logo, a
letterhead), or twice on one page, is copied before the redaction changes it, so only the
redacted area loses it (ADR 0009 amendment). A second erase on a page could reuse the name an
earlier one gave a copied image or form and draw the wrong one; names are now always new. - Rotated pages (/Rotate 90, 180, 270): text selection, "copy text" and the accessibility layer
sat beside the words; the engine now reads text and glyph boxes itself and maps them as the
page is shown, for every feature (ADR 0034). Night mode no longer inverts images on rotated or
cropped pages. - Redaction removes everything under the box, not only text and image pixels. Vector drawings
are cut. Shadings, pattern fills, soft-masked content and masked images are replaced by a
raster of themselves with the redacted area left empty. PDFium's own redaction had left them
whole under the black box (ADR 0009 update). - Erase also clears the annotations over the area: ink and highlights are cut to fit, notes,
stamps, shapes and form fields there are removed. The toast says how many, and the version
keeps a note of it (ADR 0033 update).
Changed
- English first for new strings (ADR 0030 amendment): Greek is completed in a translation pass
before each release candidate; until then a string not translated yet shows in English. - Translation pass for 1.0.0-rc.3: the Erase tool is in Greek.
Security
- rustls-webpki 0.103.16 and webpki-roots 1.0.10 (RUSTSEC-2026-0382, RUSTSEC-2026-0381:
certificate verification could accept distrusted intermediates). Used by Transfer's relay
connections.
Android: one APK per ABI (arm64-v8a for nearly every phone) and a universal APK; check them against SHA256SUMS.
The .aab is the Google Play bundle (signed with the upload key); it does not install on a phone.
SBOMs: CycloneDX for the Rust crates and the npm packages in the app.
Selis 1.0.0-rc.2
Second release candidate: Scan 2.0.
Added
- Scan 2.0 (ADR 0032): automatic capture when the page is steady and sharp (progress ring,
haptic, "Auto" switch, on by default; the shutter always works), hints "Hold steady",
"Move closer", "More light needed" (turns the flash on); an Enhance filter, the new default,
that removes shadows and uneven light in colour; batch review — open a page to change its
corners or filter, rotate it, touch up a mark, retake or delete it, drag pages to reorder;
ID card mode: front and back on one A4 page at 85.6 × 54 mm. In a batch, a confident automatic
capture is kept straight away ("Page N added"), without the Adjust step.
Changed
- The scan camera's header keeps its text clear of the screen edges on narrow phones (360 dp)
in English and Greek; the page count appears with the first page.
Android: one APK per ABI (arm64-v8a for nearly every phone) and a universal APK; check them against SHA256SUMS.
The .aab is the Google Play bundle (signed with the upload key); it does not install on a phone.
SBOMs: CycloneDX for the Rust crates and the npm packages in the app.
Selis 1.0.0-rc.1
First release candidate of the mobile 1.0 (Android, iOS). Desktop builds come with 1.0 of the
desktop shell (P6).
Added
- Library: import from the file picker, "Open with" and share; grid and list, sort, title
search, favorites, tags, recents, thumbnails; rename and delete. Imports are copies — the
original file is never written. - Viewer: virtualised scroll for documents of 1000+ pages, pinch and double-tap zoom,
thumbnails, outline, full-text search, text selection and copy, rotate view, night mode. - Annotate: highlight, underline, strike-through, pen, shapes, text, sticky notes, eraser,
undo/redo. Every save is a new version; autosave and crash recovery of the working copy. - Forms and signatures: fill AcroForm fields, flatten; visual signatures (draw, type, picture),
saved for reuse. - Pages: reorder by drag, rotate, duplicate, delete, insert blank or from another PDF (form
fields stay fillable), extract, split. - Redaction: content under a box is removed from the file, not covered; whiteout with new text;
delete earlier versions that still hold the redacted text. - Transfer between devices without an account (iroh): QR code or link, 6-digit confirmation
code, end-to-end encrypted, resumes after a drop; trusted devices; move the whole library;
"Local network only" and a custom relay in Settings. .selispackfiles: export documents or the whole library to one file, optionally protected
with a passphrase (Argon2id + XChaCha20-Poly1305), and import them.- Tools (qpdf): protect with a password, remove a password, compress, optimise for the web,
repair. - Images to PDF (system photo picker, photo metadata removed) and save a page as PNG or JPEG.
- Document scan with the camera: page edge detection, perspective correction, filters, several
pages into one PDF. - Text recognition (OCR, Greek and English, on the device) makes scanned pages searchable.
- Settings: theme (light, dark, sepia), language (English, Greek), app lock, version retention.
Security
- No network at startup; the network is used only while the Transfer screen is open (or a
transfer you started is running). - No analytics, crash reporting, advertising or account; nothing is collected
(PRIVACY.md).
Android: one APK per ABI (arm64-v8a for nearly every phone) and a universal APK; check them against SHA256SUMS.
The .aab is the Google Play bundle (signed with the upload key); it does not install on a phone.
SBOMs: CycloneDX for the Rust crates and the npm packages in the app.