• train-v0.2.0 478171dd87

    Halkyon Train 0.2.0
    All checks were successful
    CI / check (push) Successful in 42m35s
    CI / deploy (push) Successful in 1m5s
    Stable

    raisondetredev released this 2026-11-03 17:33:17 +01:00 | 246 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Train 0.2.0 for Android and Linux. Both connect to train.halkyon.eu, the project's instance.

    What's new

    • Train starts again on Android: 0.1.0 crashed on start.
    • Strength plans and sessions, equipment by place and a plate calculator.
    • Each workout's weather, and reminders to move with workouts suggested from your steps.
    • The Polar Loop detects your training itself; Health Connect's permissions fixed on Android 14 and later.
    • One Profile for every Halkyon app, and a new dumbbell icon.
    • Train on the Linux desktop, as a snap.

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • todo-v0.1.0 c8d94d0ceb

    Halkyon Todo 0.1.0
    All checks were successful
    CI / check (push) Successful in 40m26s
    CI / deploy (push) Successful in 1m4s
    Stable

    raisondetredev released this 2026-11-03 11:33:40 +01:00 | 249 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Todo 0.1.0 for Android and Linux. Both connect to todo.halkyon.eu, the project's instance.

    What's new

    • The first release of Halkyon Todo: tasks in an Inbox and in projects with sections, Today and Upcoming, repeating tasks and reminders, each project as a list, a board or a calendar, everything sealed.

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • train-v0.1.0 90edf2ec84

    Halkyon Train 0.1.0
    All checks were successful
    CI / check (push) Successful in 40m37s
    CI / deploy (push) Successful in 56s
    Stable

    raisondetredev released this 2026-10-31 22:55:13 +01:00 | 298 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Train 0.1.0 for Android. It connects to train.halkyon.eu, the project's instance.

    What's new

    • The first release of Halkyon Train: record your workouts, plan routes and interval plans, and keep your days from the Polar Loop, everything sealed.

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • learn-v0.22.0 1233731b62

    Halkyon Learn 0.22.0
    All checks were successful
    CI / check (push) Successful in 35m9s
    CI / deploy (push) Successful in 55s
    Stable

    raisondetredev released this 2026-10-26 17:39:57 +01:00 | 404 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.22.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • a request carries how much the model thinks, in each provider's field
    • one budget per person for all their assistants, the effort each takes, the operator's lists by page
    • the operator's overview of screens, grants to several people at once with one budget each, assistants by provider
    • choosing how much an assistant thinks, and the assistants by provider in the field

    Fixes

    • the instance asks LanguageTool for its languages again a minute after it didn't answer

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • learn-v0.21.0 7b4ce3fe29

    Halkyon Learn 0.21.0
    All checks were successful
    CI / check (push) Successful in 33m45s
    CI / deploy (push) Successful in 49s
    Stable

    raisondetredev released this 2026-10-26 11:50:40 +01:00 | 414 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.21.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • GitHub signs nobody in any more (ADR 0020, D36)
    • sign-ups as the operator says, waiting accounts, operators (ADR 0021, step 1)
    • a wait screen for accounts that wait for the operator (ADR 0021, step 1)
    • the operator's "This instance" card, screen and badge (ADR 0021, step 1)
    • halkyon_llm, language models' APIs streamed over plain HTTP (ADR 0021, step 2)
    • the operator's assistants, and the instance's privacy page (ADR 0021, step 2)
    • the assistants in Settings and on the operator's screen
    • conversations with assistants, kept sealed (ADR 0021, step 3)
    • what an assistant may look up, and what it is told
    • asking an assistant in a conversation
    • the assistant answers in the field
    • a private studyset goes to an assistant only once agreed
    • an assistant explains a card missed and checks what was written
    • an assistant proposes flashcards from a text, a note or a PDF page
    • an assistant reads PDFs' pages, and sees images the person chooses or approves
    • the image an assistant asks to see shows beside the question
    • LanguageTool as a sidecar, reached through the server
    • spelling and grammar checked as people write (ADR 0024)

    Fixes

    • Settings no longer jumps while scrolled up slowly
    • the German privacy page names no "Betreiber"
    • an editor with nobody signed in above it checks nothing

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • learn-v0.20.0 ab5b7cd015

    Halkyon Learn 0.20.0
    All checks were successful
    CI / check (push) Successful in 31m14s
    CI / deploy (push) Successful in 50s
    Stable

    raisondetredev released this 2026-10-25 10:35:33 +01:00 | 449 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.20.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • a Serverpod module for signing in with OpenID Connect, SimpleLogin a preset (ADR 0023)
    • a fake provider for hosts' tests (testing.dart)
    • signing in with SimpleLogin through the register (ADR 0020, step 2)
    • the password's own proof key (ADR 0020, D19)
    • a kept identity taken in the host's transaction, and told kept without taking it
    • SimpleLogin accounts' keys without SRP, signing up in one call (ADR 0020, step 3)
    • the changes of SimpleLogin accounts' keys, each with the password and a fresh sign-in (ADR 0020, D20)
    • mending a broken SimpleLogin link with the handle and the recovery phrase (ADR 0020, D7)
    • handles hidden until their people go public, every answer about a new handle counted (ADR 0020, D5)
    • SimpleLogin's sign-in comes back by the app's scheme or the loopback (ADR 0020, D9 corrected)
    • halkyon_oidc_flutter, the device's half of signing in with OpenID Connect (ADR 0023)
    • the keys of accounts that sign in with SimpleLogin, on the device (ADR 0020, D19)
    • signing in with SimpleLogin on the device, its data layer (ADR 0020)
    • signing in with SimpleLogin, its sheet and the start screen's offer (ADR 0020)
    • adding SimpleLogin to an account (ADR 0020, D21, D23)
    • no anonymous accounts on the device (ADR 0020, D4, D25)
    • no anonymous accounts on the server (ADR 0020, D25)
    • a handle at password sign-up (ADR 0020, D26, D28–D30)
    • removing a profile makes it private (ADR 0020, D27)
    • a lost password with the recovery phrase in SimpleLogin's sheet (ADR 0020, 7)
    • a reset of the keys without the phrase, and the keys' proof key for a password that signs in (ADR 0020, D31–D34)
    • a reset of the keys without the phrase, its banner, and the keys' proof key for a password that signs in (ADR 0020, D31–D35)

    Fixes

    • the fake provider takes the client's credentials form-encoded
    • the handle's hint says it is private until the profile is public (ADR 0020, D5)

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • learn-v0.19.0 a94344cdf2

    Halkyon Learn 0.19.0
    All checks were successful
    CI / check (push) Successful in 32m17s
    CI / deploy (push) Successful in 52s
    Stable

    raisondetredev released this 2026-10-23 18:46:31 +02:00 | 479 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.19.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • ways in for accounts without a working password
    • change the password and the recovery phrase while signed in
    • the basics say when GitHub sign-in ends
    • sign in with a password and TOTP on the device
    • codes by mail no longer sign in
    • a session ended for its wrong proofs warns its owner
    • the warning that a session was ended for its proofs
    • secrets kept out of screenshots on macOS and Windows too
    • the instance's side of private studysets (ADR 0019)
    • content sealed with data keys, and an anonymous person's device keys (ADR 0019)
    • every synced payload sealed and opened through one envelope (ADR 0019)
    • the device tells the instance whether to count the person, and what their copies come from (ADR 0019, D3)
    • make a studyset private or not, and what a locked one shows (ADR 0019)
    • offer once to make every studyset from before private (ADR 0019, D4)
    • a private studyset's files are sealed with its key (ADR 0019, D5)
    • a studyset's marker says what the instance sees of it (ADR 0019)
    • the Publish sheet lists the tag names a release sends (ADR 0019)
    • Finish takes in edits nobody signed once the person agrees (ADR 0019)
    • no hand-off and no connector; the field searches the web (ADR 0022)
    • SimpleLogin's forwarding page and Learn's App Links statement (ADR 0020, step 1)

    Fixes

    • a new recovery phrase takes the password too
    • a device refuses Argon2id costs beyond the register's ceiling
    • the password alone calls off an account's reset waiting
    • the recovery phrase is proved by a key of its own
    • decoy encryption keys are keys a device could have made
    • proofs are bound to the instance the device addresses
    • new passwords have at least 12 characters
    • a sealed data key is signed by whoever sealed it
    • a capped wait, a long instance secret, writes of their own columns
    • limits by address and network, so nobody holds an owner out
    • codes wait after ten wrong in a row, and the owner is told
    • an IPv6 visitor counts by their /64
    • an account with a password deletes itself only with it and a code
    • a code is counted before it is checked
    • every proof counts toward the address as it is checked
    • a session's wrong codes end the session, not the account's codes
    • every call with a code after the password takes the address
    • a reset forgets the codes refused before it
    • a code by mail serves only what it was asked for
    • an account whose second factor doesn't work deletes itself
    • a member behind the register's clock says the password changed
    • a session alone never gets a code checked
    • every change of how an account is secured asks for the password
    • a code's mail names its purpose in the subject
    • a first password takes a fresh proof of the account's way in
    • the first authenticator takes the password, and a reset ends every session
    • a proof the register couldn't answer counts; the sign-up mail says it gives a password
    • a reset not carried out lapses a week after it took effect
    • codes after the recovery phrase count apart from the password's
    • a reset waits while its owner is held out, and devices show it
    • GitHub-only accounts go at GitHub's end; only the anonymous add an address
    • members learn of ended sessions in the background
    • only a session made since dismisses the owner's warning
    • a setup's password replaced ends the account's other sessions
    • a member asks the register before deleting an account
    • a member's clock running ahead of the register's is refused too
    • proofs are bound to the instance's whole base URL
    • the owner's proof is bound to what it approves
    • every owner's proof binds the change it approves
    • the phrase is never copied, codes leave the clipboard a minute later
    • instances over plain HTTP are refused, but on this machine
    • no sheet is left busy by an error nothing expected
    • saved files are the own user's alone, and iOS's copy goes
    • no state logs an authenticator's key, codes or the address
    • keyboards learn nothing of a password, a code or the phrase
    • only an otpauth URI is shown as a QR code or opened
    • on Apple's systems the account's keys stay on this device
    • no copy of a key left on the way, and the README says what is wiped
    • secrets are kept out of screenshots and the recent apps
    • a hold-out moves a reset on only by its own time, and a reset lives 30 days at most
    • a member's clock off the register's ends the sessions of its gap, waiting for nothing
    • a member asks the register whose account it is before a deletion's proof counts
    • GitHub-only accounts go 30 days after GitHub's end, on the register alone, one failure holding back none
    • the reading of the fixes' nits
    • nothing secret is copied
    • a saved file is the own user's from the start, and replaces the one chosen whole
    • the phrase typed back is kept out of screenshots too
    • an Apple device's keychain gives the keys only while it is unlocked
    • http:// and https:// on one host are one account on the device
    • no address in debug logs, and deleting goes on whatever reading the account met
    • what a password unlocked is wiped once done with
    • a reset takes effect 14 days after it was asked at the latest
    • a refusal past an address's ceiling answers before its resets move
    • a member keeps the session a reset signed in when its notice comes late
    • a member deletes nobody while the register is out of reach
    • GitHub's end deletes what it says, when it says
    • a saved secret is 0600 on Apple's Arm too, and macOS saves at all
    • the phrase typed back is pasted into its fields, never copied out
    • a phrase field keeps its focus as the app goes and comes back
    • keys an earlier build kept go too, and a locked keyring stops nothing
    • Windows keeps secrets out of captures by its real version
    • the short reading's nits on the device
    • a GitHub account someone has is theirs to switch to where passwords are offered too
    • GitHub's refusals say why, and no hint adds GitHub where passwords are offered
    • no Add GitHub where people sign in with a password
    • signing out or deleting the account keeps the person's app until it is done
    • a sign-out or deletion that failed says so, its tile showing it under way
    • the instance's side of the reading of private studysets (ADR 0019)
    • privacy is a signed fact the instance can't take back (ADR 0019)
    • what the app shows and adds keeps private studysets private (ADR 0019)
    • the short reading of the reading's fixes (ADR 0019)
    • publishing and suggestions after the short reading (ADR 0019)
    • a suggestion takes along only its own tree's sealed files (ADR 0019)
    • the tag names' list reads its names without catchError
    • what decides a row's key is bound into its seal (ADR 0019)
    • a release sends exactly the tag names the sheet showed (ADR 0019)
    • Finish shows what it would take in, and takes in exactly that (ADR 0019)
    • sweeps cost what a merge brought, and a rewrite holds only its tree (ADR 0019)
    • a device without the keys writes no content where the account has keys (ADR 0019)
    • what the hostile instance found (ADR 0019)
    • a newest settings row taken away leaves out what it outweighed (ADR 0019)
    • Material's icon font where serverpod_auth_idp_flutter asks for it

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • v0.18.0 ce2c00c7ea

    Halkyon Learn 0.18.0
    All checks were successful
    CI / check (push) Successful in 24m6s
    CI / deploy (push) Successful in 46s
    Stable

    raisondetredev released this 2026-10-22 23:20:57 +02:00 | 635 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.18.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • export a studyset as an archive to import again
    • sign in with an email address, keeping only a keyed hash of it
    • codes go by mail, through the SMTP service an instance sets up
    • profile pages on the account domain, and links verified by rel="me"
    • Japanese cut into words and looked up on the device
    • questions on published studysets, answered by learners
    • a show's tags follow it whatever it is called
    • a round in the order cards come, shared daily limits, and a start screen
    • an empty library says it is on its way during the first sync
    • your own studyset is yours, not one to add
    • the first start offers instances as tiles
    • an instance says where it keeps people's data
    • data locations as precise as a country or a state
    • the server on halkyon_base
    • the app on halkyon_app, with its own icon
    • one account across an instance's services (ADR 0016)
    • SRP-6a, the register's half and the device's
    • TOTP and recovery codes
    • halkyon_keys, an account's keys on the device
    • recovery codes kept under the instance's key
    • passwords taken as RFC 8265's OpaqueString
    • a password with TOTP on the register, and resets
    • say when an account signs in with its password
    • Learn's and Todo's servers take password sign-in

    Fixes

    • read a large release without waiting on git for ever
    • copies keep their ties to PDF pages, and ids swap whole
    • words held in topics, a chosen destination, faster adds
    • releases in parts, and say what kept a copy from being made
    • counts worked out once and kept until something changes
    • what everyone follows is read once, and two server hot spots
    • a path's steps, untagging and the card browser in bulk; fix untagging
    • a search finds keys by their first characters, indexed
    • the fork's signed commit with inbound merges and fast deletes
    • the fork's signed commit with fast merges, and #150 fixed
    • the checks run as a hook from a worktree too
    • the checks fetch the packages first
    • the fork's signed commit with fast merged deletes and batched inserts
    • the check limited to changes sees uncommitted ones too
    • count per-network limits by the visitor behind Caddy
    • adding an authenticator takes a code from one confirmed before
    • a password set up for good stays, through resets too

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • v0.17.0 40e4fb49fc

    Halkyon Learn 0.17.0
    All checks were successful
    CI / check (push) Successful in 18m19s
    CI / deploy (push) Successful in 29s
    Stable

    raisondetredev released this 2026-10-14 18:49:58 +02:00 | 711 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.17.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • a release keeps its colour, and a description for Explore
    • cards as the library's, in its colour, with a description of their own
    • a handle in a studyset opens its person's profile

    Fixes

    • the Store takes the snap: no mail addresses among its links
    • a map question names none of Japan's parts before it is answered
    • a search for blue no longer finds blunt
    • no language goes missing while the curator updates
    • a German separated verb is a verb, never a joined noun or particle
    • pinyin of names and sayings is typed and checked right
    • a Japanese word's romaji reading is not typed as pinyin
    • a Greek letter found opens no empty sheet of strokes
    • the summary's foot lines up with the rest of it
    • read exam plans only after changes that matter, once they settle
    • copies take the author's later changes to exam plans
    • an exam's pace keeps its rate, and plans hold what they show
    • the summary in blocks: what it is, what it holds, its release

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads
  • v0.16.0 26dbc84865

    Halkyon Learn 0.16.0
    All checks were successful
    CI / deploy (push) Successful in 28s
    CI / check (push) Successful in 17m3s
    Stable

    raisondetredev released this 2026-10-14 15:07:53 +02:00 | 734 commits to main since this release

    Signed by raisondetredev
    GPG key ID: 07F6FCF405488B64

    Halkyon Learn 0.16.0 for Android and Linux. Both connect to learn.halkyon.eu, the project's instance.

    Features

    • characters of Chinese and Korean, the Greek alphabet, Korean words from KRDict
    • characters of Chinese, Korean and Greek, written by hand; pinyin typed
    • the card browser finds and sorts words of any language as typed
    • a German verb is found with its particle at the clause's end
    • a question opens in the AI assistant chosen, Proton's Lumo by default
    • an empty tab says its material is in the topics, and leads there
    • prepare for an exam, with plans, a date and the pace to it

    Fixes

    • a dictionary whose file is gone is unloaded
    • a studyset's title shows in its language's shapes outside it too
    • a Hanja reads 물 수, and each radical's form shows once

    Installing

    SHA256SUMS lists the files' checksums, signed with the GPG key B172B9ED76A32EBCABA24A9F07F6FCF405488B64 (SHA256SUMS.asc).

    Downloads