Skip to content

Releases: Fiouri/selis

Selis 1.0.0-rc.4

Selis 1.0.0-rc.4 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 28 Oct 21:02
d2c9d48

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 u128 comparisons 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

Selis 1.0.0-rc.3 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 21 Oct 11:59
3289b36

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

Selis 1.0.0-rc.2 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 20:50
08f4eac

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

Selis 1.0.0-rc.1 Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 16 Oct 13:55
fb4a4f7

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.
  • .selispack files: 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.