LibrePortal
Sponsor
Install

What's new

What changed in each LibrePortal release that you'd notice: new features, things that behave differently, and fixes.

On this page
  1. 0.10.96
  2. 0.10.95
  3. 0.10.94
  4. 0.10.93
  5. 0.10.92
  6. 0.10.91
  7. 0.10.90
  8. 0.10.89
  9. 0.10.88
  10. 0.10.87
  11. 0.10.86
  12. 0.10.85
  13. 0.10.84
  14. 0.10.83
  15. 0.10.82
  16. 0.10.81
  17. 0.10.80
  18. 0.10.79
  19. 0.10.78
  20. 0.10.77
  21. 0.10.76
  22. 0.10.75
  23. 0.10.74
  24. 0.10.73
  25. 0.10.72
  26. 0.10.71
  27. 0.10.70
  28. 0.10.69
  29. 0.10.68
  30. 0.10.67
  31. 0.10.66
  32. 0.10.65
  33. 0.10.64
  34. 0.10.63
  35. 0.10.62
  36. 0.10.61
  37. 0.10.60
  38. 0.10.59
  39. 0.10.58
  40. 0.10.57
  41. 0.10.56
  42. 0.10.55
  43. 0.10.54
  44. 0.10.53
  45. 0.10.52
  46. 0.10.51
  47. 0.10.50
  48. 0.10.49
  49. 0.10.48
  50. 0.10.47
  51. Also new
  52. 0.10.44
  53. 0.10.42
  54. 0.10.41
  55. 0.10.40
  56. 0.10.39 and 0.10.38
  57. 0.10.37
  58. 0.10.36 and 0.10.35
  59. 0.10.34
  60. 0.10.33
  61. 0.10.32
  62. 0.10.31
  63. 0.10.30
  64. 0.10.29
  65. 0.10.28
  66. 0.10.27
  67. 0.10.26
  68. 0.10.25
  69. 0.10.24
  70. 0.10.23
  71. 0.10.22
  72. 0.10.21
  73. 0.10.20
  74. 0.10.19
  75. 0.10.18
  76. 0.10.17
  77. 0.10.16
  78. 0.10.15
  79. 0.10.14
  80. 0.10.13
  81. 0.10.12
  82. 0.10.11
  83. 0.10.10
  84. 0.10.9
  85. 0.10.8
  86. 0.10.6
  87. 0.10.5
  88. 0.10.4
  89. 0.10.3
  90. 0.10.2
  91. 0.10.1
  92. 0.10.0
  93. 0.9.21
  94. 0.9.20
  95. 0.9.19
  96. Who can open what
  97. Updates
  98. Notifications
  99. Everywhere
  100. 0.9.18
  101. Shared folders
  102. Running taskbar
  103. Getting around
  104. On your phone
  105. 0.9.17
  106. 0.9.16
  107. Installs without a blip
  108. Fast downloads stay safe
  109. On your phone
  110. Everyday improvements
  111. 0.9.15
  112. 0.9.14
  113. On your phone
  114. Welcome popup
  115. 0.9.13
  116. Backups
  117. Shared folders
  118. Updates
  119. On your phone
  120. 0.9.11
  121. Tasks and progress
  122. On your phone and desktop
  123. Backups
  124. Security
  125. Fix

The newest release is first. Updating is covered on the Updates page.

0.10.96#

  • Twelve colour themes and a new sign-in look: pick a theme in Appearance, grouped Dark (Ocean, Aurora, Violet, Ember, Rose, Graphite), Black (Midnight, Onyx, Obsidian) and Light (Daylight, Mint, Sand). The sign-in screen follows it. The old clear, Nebula, Dark Blue and Light themes are retired; anyone using them moves to Ocean, and your own custom themes are kept.
  • DNS records for other apps: connect a domain in Tools, Access ("Connect a domain", deSEC or Namecheap) and give an app its own key. The app then sends the records it needs and LibrePortal applies only the changes, can never touch anyone else's records, and handles the temporary records for certificates so private names can have one without a public address. A domain LibrePortal doesn't manage gets a clear answer instead of a silent failure. Namecheap changes are checked after saving and put back from a safety copy if anything looks wrong.
  • Big uploads no longer cut off after a minute: uploads through LibrePortal's front door (Traefik) may now take up to ten minutes. It takes effect the next time Traefik restarts for its own reasons, so it never causes an extra restart.
  • Off-site backup locations from a program: libreportal backup location apply --json takes a storage location with its password on standard input; the phone app uses it to give each server its own storage box login.
  • Plainer output for the phone app: commands run from the app no longer print the big logo and boxed headers.

0.10.95#

  • No more false "a task failed" notices after an update: an update used to restart LibrePortal's background service twice, and the second restart could cut off the clean-up that runs straight after. Now it restarts once. When LibrePortal restarts on purpose, finished work keeps its result and safe tasks (like the clean-up) simply run again; only a real crash or genuinely half-done work is reported. Nightly backups and clean-ups wait until an update has finished.
  • Needs the system-components update: the update applies it.

0.10.94#

  • Your domain opens the control panel already signed in from the app: on a server whose control panel is behind the sign-in page, the paired app now opens it on the domain without asking for a password. It uses a single-use pass that only works for that device and that address, for one minute; everything else on the domain still meets the sign-in page.
  • Your phone can unlock the disk after a restart: on a server with an encrypted disk, your phone's key now goes into the unlock login too, so the phone can type the disk password after a restart. Removing the phone or resetting its key takes it out again. Keys someone added by hand are never touched.
  • Root login, only if you want it: everyone logs in as the libreportal user. Root login over SSH can be switched on per person (keys only, never a password) in People, or in the app. The first owner always has it; everyone else starts with it off.
  • LibreLedger is gone from the app list: the old LibreLedger entry no longer shows up to add, and old LibreLedger backups show under LibreMoney as "LibreMoney (before rename)".
  • The phone app (0.37.37 to 0.37.39): buttons in blue, green (go ahead) and red (remove); card settings sit in the card's title row with the (i) always on the right; buttons go full width on phones; tiles in a grid are all the same height; a first-time "How should this open?" choice for Open LibrePortal with a default you can change; errors slide up from the bottom; the Terminal ⋯ lets you choose who to log in as, and Terminal turns into Unlock while a server waits for its disk password.
  • Needs the system-components update: the update applies it.

0.10.93#

  • Docker updates now reach your apps' engine: LibrePortal runs Docker under its own user, and that copy used to sit apart from the system's packages, so a Docker update only changed the packages and not the engine your apps use. Your server now moves over to the packaged engine by itself, during its next Docker update (in the quiet time), and from then on every Docker update really reaches it. An update only counts as done when the running version matches.
  • New servers start on the packaged engine.
  • The phone app (0.37.36): every entry sits in its own box, boxes and buttons use the same dark blue as the website, apps and our own products show their real icons, Details sits near the top with Links and Notes at full width, the ways in open as a full-screen menu with the domain first, the phone's SSH key shows whether the server already has it (with an Add to server button if not), and link addresses are checked as you type them.
  • Needs the system-components update: the update applies it.

0.10.92#

  • Docker updates by itself: Docker, the engine your apps run on, is now kept up to date automatically, like the nightly system updates. It runs in your quiet time (Automatic Update Window) when one is set, otherwise after the daily clean-up. The apps stop for a minute or two, start again and are checked, and you get a message afterwards. It waits while a backup or another update is running. Turn it off in Admin, System, under "Docker updates", if you'd rather choose the moment yourself.
  • Traefik always comes back after a Docker update: Docker refuses to start an app when an old empty folder sits where a file should be mounted. Traefik had one, so the front door stayed shut after the restart. LibrePortal now clears empty leftover folders like this before every app start and every Docker update, and tries an app once more if it doesn't start.

0.10.91#

  • Update Docker when you choose: LibrePortal holds Docker's own updates back so your apps never stop at a random moment. Now you can apply them safely: tap "Docker update waiting" in the app, or run libreportal system maintenance engine-update (add --check to only look). It stops the apps in order, updates Docker, starts them again and checks each one. It says if a restart is needed afterwards. Other tools can follow it with engine-update --status --json.
  • The phone app (0.37.34 and 0.37.35): People and VPN are now one section. Each person is shown with their devices, devices with no person have their own group, and Add offers a person or a device. Each device can have its key reset (and the person's app can switch to the new key by itself) or be removed. The panel button names what it opens, with every way in under the ⋯. Updates run on the phone's own terminal page, and the menus have space between their options.
  • Needs the system-components update: the update applies it.

0.10.90#

  • Device lists reach the programs that ask for them: libreportal security device list --json (and the other device answers with --json) now print on standard output, so the app and other tools read them straight away.
  • Needs the system-components update: the update applies it.

0.10.89#

  • A note on each private-network device: give every phone and computer a few words, such as "Main laptop, kept at home". Set it with libreportal security device note <device> "text", on the VPN page of the web page (the pencil under the name), or in the app under Devices & VPN. An empty note clears it.
  • Your phone trusts your server straight away: when your own phone gets its admin access, the server also sends its SSH fingerprints over the paired connection, so the first connection needs no question.
  • Needs the system-components update: the update applies it.

0.10.88#

  • Restart in the quiet hours when updates need it: the server can now restart itself in its maintenance window when an update needs a restart. It is off by default: turn on "Restart when needed" in Admin, System, or use libreportal system maintenance restart. It stops the apps in order, restarts, then starts them again and checks each one, with a notice before and after. Other tools can ask first with restart --check --json.
  • Your own phone gets admin access by itself: when you pair your phone as the server's owner, it is let in to look after the server (People, Health, Devices & VPN and the rest) with nothing to type. Unlinking the phone takes that access away again, and you get a notice when a phone is given it.
  • The app is told the server's theme, so each server's card in the app can wear its own colours.
  • The phone app (0.37.26 to 0.37.33): the server list shows each server's colours, with Portal, Backup and Other filters, search and pull to refresh. A Home page shows what needs a look, what's coming up and recent activity. Move to Vaultwarden keeps your vault there, opened by your fingerprint, with no master password to type again. Devices & VPN lists every device on the server with its note. Remote backups opens each choice on its own page, and an Always-on VPN row walks you through making LibrePortal your always-on VPN.
  • Needs the system-components update: the update applies it.

0.10.87#

  • Choose how long a pairing code works: the "Connect the app" panel and libreportal app pair --for let you pick 10 minutes (the default), 1 hour, 1 day, 2 days or 7 days. Backup Server invites have the same choice from Backup Server 0.3.9 and app 0.37.25.
  • CrowdSec shows as running: services that run on the server itself, such as CrowdSec, now show their real state in the apps list instead of "stopped".
  • A new encrypted server gets exactly the name you chose: the encryption script no longer adds a random ending. With no name given it uses libreportal- and four characters of the install's id.
  • The phone app (0.37.24 and 0.37.25): saves and opens files with Android's own screens; asks for every permission at the start, each with its reason, with Allow all; can start its vault from Vaultwarden or Bitwarden, with a generated master password kept there and unlock by fingerprint or screen lock; and keeps each server's logins in its own LibrePortal/<server name> folder.

0.10.86#

  • A firewall batch takes seconds: the lines of a batch are now checked in one pass, and the firewall is asked about all the new rules at once. On a small test server a 100-rule batch takes about 3 seconds start to finish (it took about 22 seconds in 0.10.85 and over an hour one rule at a time), with the same firewall result rule for rule.
  • Single rule changes are quick too: libreportal firewall rule add and rule remove now run straight away instead of going through the task queue, and take about a second on a small server (two to three seconds with a hundred extra rules). Changes made from the web page still appear in the Tasks list.
  • Backups of apps whose captured folder holds only a database no longer fail the check.
  • Needs the system-components update: the update applies it; a server without it keeps working, only slower.

0.10.85#

  • A firewall batch goes in with one reload: libreportal firewall batch apply (and firewall reload, and adding or removing a single extra rule) now puts all its changes into the firewall in one step instead of one rule at a time. The result is exactly what the slow way gave, rule for rule. On a small test server a 100-rule batch takes about 20 seconds in total, against well over an hour one rule at a time; the firewall itself changes in about one second of that.
  • Checking a batch is faster too: the lines are judged on a scratch copy and the firewall is asked about all the new rules at once. A line that clashes with a rule the firewall already holds is refused before anything changes.
  • Needs the system-components update: the update applies it. A server that has not had it yet keeps working the one-rule-at-a-time way.

0.10.84#

  • Change many firewall rules at once: libreportal firewall batch apply FILE (or --from-stdin) takes a list of extra-rule adds and removes, checks every line first, then changes the firewall with one reload. It is all or nothing: if any line is refused, or the firewall turns a rule away, nothing changes. Add --confirm-within 5m and the server puts the old rules back by itself unless you run libreportal firewall batch confirm in time, so a mistake cannot lock you out. rule add and rule remove also take --no-reload, and libreportal firewall reload applies what was staged.
  • Adding one rule is much quicker: the firewall is only touched from the first rule that changed, instead of taking the whole block out and putting it back. With many extra rules this saves most of the wait.
  • Needs the system-components update: the confirm timer uses a new part of the system helper, so run libreportal update as usual; the rest works without it.

0.10.83#

  • Backup Servers behind a router can connect: if the Backup Server has no public address but your LibrePortal does, the Backup Server now dials out to you over a private link of its own. On your server open Backups, Locations, Connect to a Backup Server and give the Backup Server its address and code, as before; it picks the right path by itself and tells you which. Unpairing takes the link and its port away again. A Backup Server that cannot make an invite says so in plain words and points to this way instead.
  • Pairing works on newer Ubuntu: the backup reader account is now set up on systems that use the new sudo (Ubuntu 26.04).

0.10.82#

  • Big apps still get backed up on small servers: when there is not enough free disk to copy an app first, it is stopped briefly and backed up in place instead of being skipped. If there is no room for the backup itself, you get a notice saying which app and how much space it needs.

0.10.81#

  • Join with a code saved in a file: libreportal backupserver join --invite-file FILE works for any admin login, and join < FILE reads the code too.

0.10.80#

  • Connect to a Backup Server with one code: the Backup Server's owner runs librebackup invite NAME and passes on the code. On your server, libreportal backupserver join asks for it, or use Have an invite code? under Backups, Locations, Connect to a Backup Server. The private backup link sets itself up and the first backup starts. The code works once and runs out after 48 hours.

0.10.79#

  • Backups check their own contents: if an app's backup is missing its data, the backup is now marked as failed, shown in red and you get a notice, instead of a quiet "verified".
  • Restore from a terminal: libreportal restore connect asks for the backup password (hidden), or reads it from a file, for scripts.
  • Quieter updates: update apply no longer prints "getcwd" errors.

0.10.78#

  • Run libreportal as yourself: any admin can type libreportal … from any folder. It switches to the LibrePortal user by itself, with no "getcwd" noise. sudo -u libreportal libreportal … still works.

0.10.77#

  • Admin commands without a password, for a while: libreportal system sudo grant 1h (up to a week) lets an admin login use sudo without a password, then switches itself off. system sudo status shows how it is set; revoke ends it early. The LibrePortal app has the same switch on a server's SSH keys page.

0.10.76#

  • App reload works again: libreportal app reload <app> recreates the app with its current settings.
  • Updates from older versions run clean and finish their upgrade steps in one go.
  • Backup space check: folders left out of a backup no longer count toward the free space it needs.

0.10.75#

  • Important backup fix: in 0.10.74, backups of apps whose data is copied before the snapshot (Linkding, Forgejo and others) left that data out. Update, then take a new backup of those apps.

0.10.74#

A full design pass over every page, backups that leave out what can be rebuilt, and a few things that now work straight away.

  • Every page checked: each Admin page, the Dashboard, the App Center, app pages, Tasks, Backups and My Account were checked on a phone and a computer. Loose text now sits in cards, sections have proper headers, coloured notices are soft glass, buttons have icons, and see-through panels are solid.
  • App pages on a computer: the normal tab bar is back, the extra title under the tabs is gone, and sub-tabs sit straight under the tabs.
  • Left out of backups: every app now skips data it can rebuild, such as Forgejo's package registry or Nextcloud's image previews. Each item has a switch on the app's Backups tab to back it up after all, and you can add your own. "Free space" takes the left-out data out of older backups.
  • Forgejo package clean-up: deleted packages free their space after an hour instead of a day. Change it on Forgejo's settings page under Package clean-up.
  • Install check looks at the whole server: "Ports Free" on the install screen now also checks programs outside LibrePortal, and its dropdown lists the ports the app will use.
  • Settings apply at once: libreportal config update now restarts only the apps whose settings changed, as saving in the admin panel does. Add --no-apply to save only.
  • My Account: password and two-step sign-in sit together under Sign-in security.

0.10.73#

Every Admin page now starts at the same distance from the top, and the setup wizard matches the rest.

  • One top gap: Notifications, Branding, Shared Folders, People, SSO, Addresses, Firewall and Privacy had twice the space between the page header and the first section, and between sections. They now match Roles, SSH Access and Config.
  • Setup wizard: the card, check rows and fields use the Night glass look.
  • Migrate and VPN: the peers list sits in a glass container, and the VPN header's link no longer runs into the picture.
  • Sign-in: the tagline and the phone-app card are gone from the sign-in page in every theme, not only Night glass.

0.10.72#

Every page now opens with a short, plain explanation of what it is for.

  • A line on every page: each Admin page, the Dashboard, the App Center, Tasks and every app tab says in a sentence or two what it does. Config, Network starts with what domains are, and Domain and DNS explains DNS as the internet's address book.
  • Shorter text: long explanations in the Privacy check, the system checks and the swap setting keep their first sentence, and the rest is in the ? tooltip.

0.10.71#

Every button, the sign-in page and SSH Access get the finished Night glass look.

  • Buttons everywhere: every button now has proper padding, a 44px tap height on a phone, the lighter glass for the quiet ones, the blue gradient for the main one and a red outline for anything that deletes. The Roles cards' Copy button now sits inside its card.
  • A calmer sign-in: the sign-in page is just the logo, your server's name, the two fields and the button, on a glass card. The tagline and the phone-app card are gone.
  • SSH Access redone: status tiles, the three steps to set up a key as numbered rows with the commands in copy boxes, and glass containers throughout.
  • Same top gap: Roles and Overview no longer leave a double gap under the page picker on a phone.

0.10.70#

Every Admin page now sits in the same dark blue glass containers.

  • Containers everywhere: the Admin pages (Domains and the other config pages, Notifications, Shared Folders, SSH Access, Access, VPN, Roles, Activity and System) put each section in a glass container, with even padding and 16px gutters on a phone.
  • Same top gap: every Admin page starts at the same height as the app tabs, with no extra gap at the top.
  • Data in boxes: addresses, keys and commands you copy sit in their own read-only boxes with the copy button inside.

0.10.69#

See what DNS your domains need, and when an app's address isn't pointing here yet.

  • Domain and DNS card: under Config, Network, Domains, each domain lists the records it needs at your DNS company (the domain, one wildcard for every app, and mail records when a mail server is installed), with a live Working, Missing or Points elsewhere status and a copy button for each.
  • Handled by the app: when the LibrePortal app manages a domain's DNS for you, the card lists the records it added and says no action is needed.
  • Heads-up on new apps: if an app's address doesn't point at this server yet, the install welcome and the app's page say so and link to the card. Nothing shows when the wildcard already covers it.

0.10.68#

More Night glass polish, and app pages that open faster.

  • Night glass on more tabs: Tools, Updates, Services, Backups, Tasks and Notifications now use the same dark blue glass.
  • App pages load with their header: an app page shows its header and a placeholder list straight away while the details load.
  • Steadier section bars: section bars no longer shrink when you tap them.
  • Boot logo follows your look: the logo shown while the portal starts now matches the theme you chose.
  • Tidier welcome pop-up.
  • Notifications saves from the bottom bar: the Save button sits with the other page actions.

0.10.67#

Tidier phone menus and Integrations; pages now refresh their look after every update.

0.10.66#

Pick your look: four Night glass looks, or your own colour.

  • Four looks and your own colour: Night glass, Nebula, Aurora and Ember, or a colour of your own. Every drawing and the portal follow the look you choose.
  • Portal settings: Appearance has a new Portal card to set the portal's colours, blend and speed, or turn it off.
  • Choose your look in first-time setup: right after the account steps you pick a look from large tiles.
  • List or Compact settings with icons: the config pages show a small icon in front of each setting, and the List and Compact switch is easier to use.
  • Redesigned app pages: Open and the menu now sit in the bottom bar, and the Phone apps downloads and Integrations are cards.
  • Night glass polish everywhere: more pages now use the same dark blue glass.
  • Tidier pop-ups and notifications: cleaner dialogs and toasts.
  • Security updates: newer builds of the Friendica, Invidious, ownCloud and Paperless images.

0.10.65#

Night glass everywhere, calmer config pages, and safer backups.

  • Night glass polish: every page now uses the same dark blue cards, glass buttons and cyan icons, including the Tasks list, My account, app details and the phone top bar.
  • List or Compact settings: on the Admin config pages, the button in the bottom bar switches between one setting per row and a compact two-per-row view with each name beside its box. Phones always show the list. Every setting also has a small icon in front of its name.
  • App Center bottom bar: the List, Grid and Large switch and the sort now sit in a floating bar at the bottom, like the Save bar on config pages, and the panel behind the cards is dark.
  • Phone apps tab redesigned: each phone app is one card with its store buttons, a QR code and a copy button.
  • Safer backups: a backup now checks there is enough free space before it starts, never leaves an app stopped if something goes wrong, and cleans up after itself.
  • New command: libreportal backups cleanup removes leftovers from backups that were cut short.
  • Security updates: newer builds of the Friendica, ownCloud, Rocket.Chat and Stoat images.

0.10.64#

A new look: Night glass.

  • Night glass is the new standard look: a navy-purple night sky, glass buttons with cyan icons, dark blue cards with a faint drawing behind each one, and a floating side panel. It is the same look as this guide and libreportal.org. New installs start in it, and so does anyone who never picked a look. If you chose a look yourself, you keep it, and the old one is still there as Nebula in the theme menu.
  • The same shape everywhere: every page has the same header block, panels, buttons, fields, tabs and badges, and the sidebar rows have an icon chip each.
  • Icons instead of emoji: every little picture in the WebUI is now one of the WebUI's own line icons, in the same style, including in menus, drop-downs and tabs.
  • Less text: section headers carry one short line; the longer explanation lives in the ? beside it or in this guide.
  • Sign-in screen: the sign-in and start-up screens match the new colours.

0.10.63#

A clearer web address when you install.

  • Address free: the install check list now says when an app's web address is free, and shows it. The address the WebUI itself is on counts as taken.
  • Points to this server: a soft line beside it says whether the name points at your server, from the last domain check. It never blocks an install, and it stays grey when nothing has checked yet.
  • Root of the domain: type @ as the subdomain, in an app's port settings or when you create a copy of an app, to serve it on the bare domain. A small line under the box shows the real address as you type.

0.10.62#

Security updates.

  • Security updates for BookStack, Friendica, Funkwhale, Gitea and 12 more: the latest builds of their images are now pinned, so the fixes reach your server. Each app moves to its new build in its normal update window.

0.10.61#

Security fixes, a faster start for every command, and an Addresses page.

  • Security fixes: this release includes several security fixes, so please update. Among them: an app's settings are now only read from the app's own settings file, an invited device can never be given control-panel access, the block list refuses addresses that must never be blocked (your own server, your VPN, your network), switching a person off removes every VPN device that was set up for them, and failed-login records can no longer be given a false address.
  • Invites are for members: a device added with libreportal people invite always gets a member's access to the person's apps, never the control panel, and a code now lasts at most 72 hours. To use the control panel from a phone, pair it from the panel.
  • Addresses page: Admin has one page to block an address, lift a block and keep the allow lists. Blocks also stop apps' published ports, and they come back after a restart.
  • Docker mode switch: switching between rooted and rootless Docker now carries your apps and their data across in both directions, and switching back no longer needs a reinstall.
  • Faster commands: commands load far less code, so libreportal answers sooner on small servers.
  • System update: this release updates small system helpers. The one-click update on the Updates page installs them like any other.

0.10.60#

Block an address by hand, and let an invited device look after its own key.

  • Block an address: libreportal security block <address> blocks an address or range for 24 hours (or --for 4h, 7d, 30d or forever), with an optional --reason. Your server blocks with what it has: CrowdSec if it is running, otherwise the firewall, otherwise its own block list, and blocks come back after a restart. security blocks lists every block, security unblock <address> lifts one, and security block-method says which way your server blocks. It refuses your own connection, your home network, your VPN and its devices, and the never-block list, unless you add --yes-even-mine.
  • A device refreshes its own VPN key: a person's device that was invited with people invite can now swap its own VPN key from the LibrePortal app, without anyone using SSH. The old key is put back by itself if the new one does not connect within a minute. It can only change its own key, never another device or any rights.
  • System update: this release adds a small system helper that does the blocking. The one-click update on the Updates page installs it like any other.

0.10.59#

Three things for people and devices.

  • Unblock an address: libreportal crowdsec unblock <address> lifts a block CrowdSec put on an address (or a range), and the decisions list now says who is blocked and why. Add --allow to also keep that address from being blocked again. If CrowdSec is removed, its packages now go with it, and you are told plainly if they could not be removed.
  • Refresh a device's VPN key: libreportal security device key <name> <new-public-key> --confirm-within swaps a device's key without cutting it off. The device makes the new key, switches to it, and if the server does not see it connect in time the old key is put back. security device key-status <name> shows how it went.
  • Invite a person's device: libreportal people invite <person> makes a one-time code. The person scans it in the LibrePortal app, which signs in as them and joins their phone to the private network with exactly their own access: their own apps, never admin rights and never SSH. Switching a person off or removing them signs their devices out and removes them from the private network.
  • System update: this release updates a small system helper. The one-click update on the Updates page installs it like any other.

0.10.58#

A clearer view of your server for other software, and a way to cut off a lost device.

  • DNS records for other software: libreportal dns wanted --json lists the public DNS records your server wants for each of your domains: app addresses, the mail records with the live DKIM key, and the certificate rule. Approved integrations read the same list at /api/v1/system/dns. libreportal help dns explains it.
  • Server status in one place: libreportal status --json reports your apps, key services, disks, certificates, updates and backups in one document. Approved integrations read it at /api/v1/system/status.
  • Security events: libreportal security events shows failed SSH logins from the last day, SSH keys and open ports that changed, and what CrowdSec has done. Run libreportal security baseline once to say that today's keys and ports are normal. Approved integrations read it at /api/v1/system/security-events.
  • Cut off a lost device: libreportal security revoke-device removes a device's SSH key and VPN access in one step.
  • Update and back up from a script: libreportal app update and libreportal backup now run without questions, so they work over SSH and in scheduled jobs.
  • A slow phone gets more time: the start screen now waits up to a minute and says "Still starting" instead of giving up.
  • System update: this release updates a small system helper that reads the SSH log. The one-click update on the Updates page installs it like any other.

0.10.57#

A safety refinement to 0.10.56: an app that has to move one version at a time still does, even when it has a release of its own. Only patch releases come straight from a signed app release; a new minor version waits for its normal, checked step.

0.10.56#

Apps can now update without waiting for a LibrePortal release.

  • Updates for a single app: when an app has a new version, LibrePortal can publish it on its own, signed with the same key as every release. Your server picks it up at its next update check and shows it on the Updates page like any other update. A backup is taken first, the new build is checked after it starts, and it is rolled back if it does not come up.
  • Safe by design: an update like this never moves an app backwards, never jumps to a new major version (those still wait for you), and a later LibrePortal release can never undo it. New installs and Configure start from the newest signed version.
  • For scripts: libreportal updater releases lists the signed app versions your server holds and whether each one applies.

0.10.55#

Backup status that other software can read.

  • Backup status for scripts: libreportal backup status --json and libreportal backup list --json give a clear report of your backups that a script or monitoring tool can read. The same report is available to approved integrations at /api/v1/system/backups.
  • Check a backup: libreportal backup verify <app> --json checks an app's newest backup and answers with an exit code: 0 when it is fine, 1 when it is not, 2 when it could not be checked.
  • A restore test: libreportal backup restore-test <app> --to <folder> restores the newest backup into an empty folder you choose, so you can prove it works without touching the running app.
  • Built-in help: libreportal help backup lists these commands. See Commands for other software.
  • LibreMoney 2.5.0: see how much each person spends. A ledger can list its people, every payment and recurring item has a Who, and each month and year has a By person card. Backups carry the people list, and the CSV export gains a Who column. LibreMoney updates by hand: use the Updates page (a backup is taken first).
  • LibreMoney 2.5.1: each person's total sits inside the month and year totals, People is a button at the top, sections can be reordered, and the + is now an Add payment or Add recurring menu.
  • LibreMoney 2.5.2: the People cards are laid out like Totals on a phone, and Money in and Money out open a panel showing who, instead of chips.
  • LibreMoney 2.7.0: Ask about money is laid out in tidy tiles, with a clear Safe to spend card. Any entry or recurring item can have a note, and a bill can be set to Pay by a date (a total, a due date and what is paid so far) so it is planned for rather than treated as due today: you see what is left and about how much to set aside each month. Notes are sent to the AI only if you turn it on, with names hidden by default. LibreMoney updates by hand: use the Updates page (a backup is taken first).
  • LibreMoney 2.6.0: Ask about money. A new section at the top shows what is safe to spend until your next payment and your lowest point before it, worked out on your device from your accounts, entries and recurring bills and income. If you want, add your own Claude or ChatGPT key under More, AI helper, and ask in plain words ("Can I afford £40 on Friday?"). The sums are never done by the AI, names are swapped for labels such as Groceries A before anything is sent and put back on your screen, and the key stays inside the encrypted ledger. It is off until you turn it on. There is also a small helper character in the corner (Sprout, Hedgehog or Acorn, or hidden). LibreMoney updates by hand: use the Updates page (a backup is taken first).

0.10.54#

  • LibreMoney 2.4.14: the Recurring page has a bar along the top showing how many items you have, with Fill all months and + Add, like a month's page.

0.10.53#

Firewall extras that are easy to find.

  • Hooks folder ready: /etc/libreportal/hooks/firewall-post.d/ now exists on every server, with a short README. Programs placed there run after every firewall rebuild.
  • See and run hooks: libreportal firewall hooks list and libreportal firewall hooks run (both with --json).
  • Forwarding explained: the firewall help now covers routed rules, for example route allow iif wg-hub oif wg-hub, along with to, any, labels and adopt. Other software can check firewall rule list --json for a features list before using them. See Commands for other software.

0.10.52#

  • Phone VPN setup is more reliable: a phone setting up its own private-network device finishes even when the server is slow to answer.
  • Signing a device out removes its VPN too, including when you do it from the command line.

0.10.51#

Everything a member's app needs.

  • Members' apps work on their own: the LibrePortal app shows a member their apps, shared folders and notifications, lets them change their password, and can set up their own private-network (VPN) device.
  • Owners see the real details: the app shows the server's actual SSH port and the unlock key's fingerprint.
  • Security updates for Mastodon, ownCloud and PeerTube.

0.10.50#

One LibrePortal app, connected with a scan.

  • Connect the app: open Connect the app in the account menu and scan the QR code (or use the link or code) with the LibrePortal app. Each phone or computer gets its own key, and you can see your devices and sign any of them out. See Connect the app.
  • The right view for each person: the app asks your server what a person may see. Members get their own things; admins also get the management sections.
  • Invites open in the app: an invite link or QR code can open straight in the app under Join a server. It still works in a browser.

0.10.49#

Handy for other software, and for encrypted servers.

  • Outside tools can do more: other programs can set an app's address, see which other apps a command had to recreate, and preview an install with --dry-run. See Commands for other software.
  • Adopt a firewall rule: a firewall rule you wrote by hand can be taken over as a LibrePortal extra rule, so it is kept and shown with the rest.
  • Check an encrypted server: the encryption helper can now check, adopt and repair a server that is already encrypted, without a rescue system.

0.10.48#

Health checks you can tune, and lighter by default.

  • Health checks per app: each app's Config tab (under Advanced) lets you set how often it is checked, how long to wait, how many failures count, and how long a new start is left alone. See App settings.
  • Lighter by default: apps are now checked about once a minute, so small servers use less processor.

0.10.47#

  • A quieter idle tab: the WebUI stops asking the server for news while its browser tab is hidden, so a forgotten tab costs the server nothing.
  • LibreMoney 2.4.13: money in and out show a sign on the amount instead of an IN or OUT label. LibreMoney updates by hand: use the Updates page (a backup is taken first).
  • VPN provider list refreshed.

Also new#

  • LibrePost on any server: LibrePost, the post office that keeps your mail server private, is now also an ordinary Debian or Ubuntu package that needs no LibrePortal. See LibrePost on any server.
  • LibrePortal app 0.3: the app now connects with a scan, as described above, and shows each person what their server allows.

0.10.44#

A much lighter server when nobody is looking.

  • Far less background work: the jobs that refresh the admin page's numbers and check on the server used to take around thirty seconds of processor time every minute on a server with many apps. They now take under one. The numbers refresh every two minutes while the admin page is open and every fifteen minutes otherwise, and anything slow (disk use of Docker, the drive list, file counts in shared folders) keeps its own, longer timer. Finishing a task still refreshes everything.
  • Webhook retries work again: a webhook that could not be reached is now retried on schedule; before, only the first attempt was ever made.

0.10.42#

  • LibreMoney 2.4.10: a month bar with Add and Filter, sections that run edge to edge, and touch-friendly reordering. LibreMoney updates by hand: use the Updates page (a backup is taken first).

0.10.41#

  • LibreMoney 2.4.9: the live connection now works behind Traefik's compression, so changes made on another device show up straight away and the app shows as Live. LibreMoney updates by hand: use the Updates page (a backup is taken first).

0.10.40#

CrowdSec that other software can work with, and LibreMoney checked against its newest version.

  • CrowdSec for other software: LibrePortal can report CrowdSec's status in a machine-readable form, turn it on or off, and let another program add its own log sources, never-ban addresses and rules. Each is tagged with its owner, so it is never mixed up with yours.
  • Kept in your backup: those extras are part of the system backup and come back when you restore.
  • LibreMoney is recognised: LibrePortal now reads LibreMoney's version from the running app, so its tools show the real version instead of "unknown". Renaming a person and backups are checked against 2.4.8.

0.10.39 and 0.10.38#

System updates, a backup report you can read at a glance, and a calmer firewall setup.

  • System updates install everything: the nightly clean-up now installs all of the server's software updates, not only security fixes. You can change this back under Clean-up. It never restarts the server or Docker by itself.
  • Restart reminders: if an update needs a restart, or Docker has an update waiting, you are told and you choose when. Outside apps can read the same state.
  • One backup report: after a backup of everything, you get a single report instead of a message for every app. It lists what was backed up, how much and how long it took, and you can read past reports on the Backups page under Reports. Choose how you hear about it in Notifications.
  • CrowdSec protects SSH: Fail2Ban is retired and removed once CrowdSec is ready, so one tool guards the server.
  • LibreMoney 2.4.8: a toolbar for export and the rest, a pop-up for editing lines, one theme icon and a Currency item under the more button. LibreMoney updates by hand: use the Updates page (a backup is taken first).

0.10.37#

Updates that stop offering the same version again, and fresher app images.

  • No more repeat offers: an app pinned to an exact version is no longer shown an update every time the publisher quietly rebuilds the same version. History now records an update that changed nothing as "up to date".
  • 29 app images refreshed: Traefik, Nextcloud and its helpers, ownCloud, PeerTube, BookStack, Mosquitto and the databases and caches used by several apps now start from the publishers' latest build of the same version. No version or database major changed. Apps move over when you update them.

0.10.36 and 0.10.35#

Tidier app pages, safer Gluetun installs, and LibreMoney 2.4.3.

  • Gluetun installs wait until it works: an app cannot be installed through Gluetun while Gluetun is not working, and the form and the routing window grey that choice out.
  • A tidier app page: the ... menu stays top-right at every width, and tab rows that do not fit turn into a dropdown instead of overlapping. The Tasks toolbar reads Select, Search tasks and Bin.
  • Task logs: the last line of a task's log no longer shows twice, and messages after an install use the app's proper name.
  • Privacy Report: the app page's privacy button now has this name.
  • LibreMoney 2.4.3: ledger lines are edited in a pop-up, ledgers show as quiet rows, buttons no longer glow, and Reload keeps you unlocked. LibreMoney updates by hand: open the Updates page and update it (a backup is taken first).

0.10.34#

Calmer repairs, a safer VPN default, and tidier storage.

  • Repairs no longer repeat themselves: an app that keeps crashing is now really stopped, and when a repair finds nothing to fix it waits longer before trying again, instead of filling the task list with "fix system issues" tasks overnight.
  • Gluetun is only the default when it is healthy: a new app is no longer set to use a VPN that is not working.
  • Apps that did not install properly say so: an app marked installed whose files are gone now shows "Not installed properly" and offers the repair.
  • Old app images go sooner: after an update only the newest previous image of each app is kept for the rollback window, and unused images that no rollback can use are removed on the next clean-up.
  • A clearer Storage page: it shows which unused images are kept for a rollback, which are ready to remove, and which have not been checked, all from the same plan the clean-up follows.
  • Clean-up catches up: on a machine that is switched off at night, the daily clean-up now runs after it starts and again each hour until it has run.

0.10.33#

A safer firewall for the places you trust, LibreMoney 2.4.0, and new phone-app releases.

  • CrowdSec no longer bans a trusted place: an address on your Trusted places list is never banned by CrowdSec, whichever protection mode you use.
  • VPN names for public apps too: over the VPN, the server answers every name it serves, including its public app names, with its VPN address.
  • LibreMoney 2.4.0: sign-in names come from your LibrePortal account without a name step, people show as present, copies of your ledger on a device that were left incomplete are healed, and the Share window and Your ledgers list have a new look. Update it from the Updates page; take a backup first, as for any app holding your money.
  • LibreMoney for Android 0.4.0: several accounts, each on its own card, in the same style as the LibrePortal app. Reorder them, open, sign out or remove one, and add a server from the bar at the bottom.
  • LibreMoney for Android 0.4.1: Back from an account now takes you to your list of accounts. The list has a proper settings cog in its header, an open account has its own top bar, and the setup and sign-in screens share the same header, so nothing floats over the page.
  • LibreMoney for Android 0.4.2: on an unfolded Fold the accounts list and every other screen now use the full width, like LibreSync and the LibrePortal app. Reload in an open account's top bar now keeps you signed in; it used to show the sign-in page because the 15-minute sign-in had run out, and it now renews it first.
  • LibreSync 0.5.12: your servers appear as cards like the LibrePortal app's, with their status under the name, and notifications say "Shared Music".
  • LibreSync 0.5.13: folders you have not set up yet now say so: Home shows them as available with a Set up button, and the Folders screen calls them suggestions and offers Start syncing. Pairing the phone again after a username change now keeps the folders you chose.
  • LibrePortal app 0.2.24: if you have only one dashboard on a server it opens straight away, and you can pick which dashboard each server starts on. Mark all read and Clear all now sit beside the Notifications title.

0.10.32#

Smoother sign-in, and username changes that are kinder to phones.

  • No more stuck sign-in page: if a sign-in reaches Authelia without saying which app it is for (often a page left open from before), you are taken to the sign-in page instead of an error that does nothing.
  • After a username change: for 90 days, signing in to the control panel with the old username and the right password tells you the new one. Authelia's own page cannot show this.
  • Phones keep their shared folders through a username change: the file service waits for the change to finish, then checks every phone still has its folders.

0.10.31#

An important backup fix: please update.

  • App backups take snapshots again. In 0.10.29 and 0.10.30 an app backup could be marked as done without a snapshot being written. Update to 0.10.31; tonight's backup then runs normally, and you can run one now from the Backups page. Backups from before 0.10.29, and copies on a Backup Server, were not affected.
  • An error can no longer pass for a backup: a backup that did not produce a real snapshot is now always marked as failed.

0.10.30#

A "Ways in" card, richer notifications for the phone app, and app backups at 3am.

  • Ways in: the admin overview lists every address the control panel answers on (home network, web address, private network, LibrePortal Connect, internet), each with a copy button, and says which are open right now and which one you are using. libreportal webui login shows the same list.
  • Solid buttons on the admin overview, in each card's colour with white text.
  • Richer notifications: each alert says what kind it is and carries its details (app, size, reason), and links to the right page, so the LibrePortal phone app (0.2.22) can show a designed card per kind with a drop-down and a View button.
  • A short server summary for the phone app's server list: version, updates, health, disk, last backup and VPN devices.
  • App backups run at 3am by default, so a Backup Server's 4am pull has finished before the morning. Existing servers keep their own time; change it under Backups.
  • VPN range moves: the preview always shows its plan, and the move uses exactly the range the preview showed. A device can be given a new key from the command line (libreportal security device key), keeping its name, address and rights.

0.10.29#

A new VPN address range that phone firewall apps leave alone, changing a person's username everywhere, and smoother sign-in for phone apps.

  • The VPN moves to a 100.64 range: new servers pick a random free range inside 100.64.0.0/10, which apps like RethinkDNS do not treat as your home network, so private apps work over the VPN while your LAN keeps working. An existing server keeps its range until you move it from the VPN page (Show Advanced Options, then VPN Address Range, with a Randomise button). Every device keeps its name and key; you update its Address, DNS and Allowed IPs once, and the page shows the new values.
  • Private app names answer correctly on and off the VPN: AdGuard gives the VPN address only to VPN devices, and everyone else the server's normal address.
  • Change username: a person's username can be changed everywhere at once (LibrePortal, Authelia, single sign-on links and apps), with a preview first, checked backups and an undo. A username changed away is held free for 90 days.
  • Phone apps sign in more smoothly: LibreSync and LibrePortal Manager reach their sign-in and discovery addresses on the WebUI hostname without stopping at the Authelia page, and when the panel's own session runs out it signs back in through Authelia instead of showing its own sign-in form.
  • Notification history: the server keeps a list of the alerts it sends, which the LibrePortal phone app's bell shows.
  • Vaultwarden: a switch to sign in only through single sign-on, and fields to send mail through your own mail server.
  • Stalwart shows which apps send email through it, with a switch for each and one button to turn them all on.
  • Backups page: every backup attempt is logged, failures included, and each app shows its last result with a View log button.
  • Config page: the section picker is its own bar, Name starts with the app's name, and Save changes only lights up after a real edit.
  • Passwords stay out of task logs: a new person's generated password is shown once on the People page instead.
  • Config update adds a setting an older install is missing, and says when a setting does not exist.

0.10.28#

Tasks finish the moment their work is done, and the logs and alerts read better.

  • Tasks finish promptly: a task is marked done as soon as its command returns, instead of waiting for stray background processes it started. Anything left over after a few seconds is tidied away; updates and anything that restarts LibrePortal itself are left alone.
  • Cleaner task logs: a task log no longer shows email addresses or other personal details, and the start line is short, for example "Started: LibrePortal App Install Nextcloud".
  • Proper names in task logs and alerts: LibrePortal and your apps appear with their proper capitals, including in backup and restart lines.
  • One WebUI data rebuild per update, and the single sign-on pass skips apps that cannot sign in through Authelia, so updates are quicker.
  • Config form: if the browser objects to a value on an app page, the message now names the setting.
  • Backups: an app is backed up even when its folder holds a copy that only root can read, and cleaning up old backups waits for a busy backup repository instead of failing.
  • LibreMoney safety copies from earlier updates are cleaned up after 14 days like other leftovers.
  • Invidious uses the rebuilt image for its pinned version, since the old one was withdrawn upstream.

0.10.27#

  • The Config page saves again when a field you did not touch holds a value the browser calls invalid (a stored empty Git address used to block every Save). Validation happens on LibrePortal's side, and the field that needs fixing is named.
  • The app page's section picker is pinned again under the Config bar on phones.
  • Generated data files are written by rename and never replaced with nothing, so an interrupted run can no longer leave a WebUI list empty.

0.10.26#

  • You stay signed in to Authelia for 12 hours, or 2 hours idle, instead of 1 hour and 5 minutes. The update restarts Authelia once; people signed in have to sign in again.
  • The sign-in portal's limits no longer blank its page: the strict limits now apply only where a password is hashed or an identity is checked, and the portal's scripts are never limited.
  • Backups of large databases are reliable on Ubuntu 26.04: their dumps are written without the system's tee, whose Rust version could fail on big files and report the database as "not answering".

0.10.25#

More speed, and LibreMoney's "Continue as" on your server.

  • Even faster tasks: every task log now records how long each step took, saving a display-only setting no longer rescans every app, the firewall helper skips rule sets that have not changed, and rebuilds are narrowed to what changed. This update changes a system component, which the one-click update applies for you.
  • LibreMoney "Continue as": LibreMoney's address tags are filled in on servers that already have it, so its phone app can offer "Continue as" through LibrePortal Manager. LibreMoney restarts once to pick them up.

0.10.24#

Tasks and updates finish much faster, and a Gluetun fix.

  • Faster task tails and updates: the end of every task no longer re-reads all your apps. LibrePortal keeps per-app facts and refreshes only what changed, the service list reads only each app's port rows, and the log-level and privacy steps rebuild the firewall and service list once at the end instead of after every app. Installs and uninstalls lose about forty seconds of repeated scanning.
  • Every-minute background jobs wait for a running task instead of competing with it for the processor.
  • A long update is no longer killed at two hours after its upgrade steps have finished. Before, a slow step could use up the whole limit and the update was marked failed during its last tidy-up with everything already applied.
  • Gluetun: its quiet log level is now one it accepts (warn); with the old one Gluetun would not start after the log-level step.
  • Install and update summaries and the sign-in details print last, after every hook and upgrade step; task logs wrap long lines, step headers are no longer numbered, and the Find field in the task log is easier to see.
  • The Install ID moved to the Advanced section of the Config page.

0.10.23#

  • Trivy installs and restarts again: a fresh Trivy (the vulnerability scanner) refused to start after the change that stopped publishing its API port, and an existing one could not be recreated. It has no published port at all now, and the update repairs an existing Trivy.

0.10.22#

A fix for 0.10.21, which should not be used: it stopped app backups from finishing. 0.10.22 replaces it.

  • App backups work again: the backup of an app could not find its private staging folder, so no snapshot was made. If you updated to 0.10.21, update again; nothing was lost.
  • The home-network address is always shown: after a fresh install that limits the control panel to trusted places, the sign-in details list the address on your home network as well as the trusted one.
  • A smoother Traefik step: the update's CrowdSec step no longer reports an error about a compose file it had just edited itself.

0.10.21#

A security-hardening release, plus LibrePost for hiding a mail server that lives at home.

  • LibrePost: a small public relay that stands between the internet and a mail server at home, so the address of your home connection is not exposed. One pairing code from the Stalwart page joins them. See Hide your mail server with LibrePost.
  • A smaller footprint in the logs: apps log warnings and errors only, addresses are cut to a network after 30 days, Traefik keeps a short access log, and there is a 24-hour debug switch per app. See What we log, and why.
  • Extra firewall rules that survive: keep your own rules (or let other software add them) through firewall rebuilds, updates, backups and restores. See Extra firewall rules.
  • Release pointer is signed: the file that says which version is current now carries an issue time and an expiry and is signed, and an install refuses one that is unsigned, expired or older than one it already accepted.
  • Real visitor addresses behind Traefik: the address recorded for a sign-in is the visitor's real one, and failed sign-ins are counted per account and address so one device cannot lock everyone out.
  • Safer restores: a restore, a peer pull and an import take only data and checked settings from a backup, and rebuild the compose file and configuration themselves.
  • Verified downloads: Docker, the Compose plugin and CrowdSec are installed from a pinned signing key or a pinned checksum, never a script piped into a root shell.
  • Hardened containers: every catalogue container gets no new privileges, process and memory ceilings and dropped capabilities where that is safe. Installed apps pick it up the next time they are recreated.
  • Pinned images: every catalogue image is pinned to an exact version and its digest, and installed apps that already run that exact image get the digest on their compose file, with nothing pulled or restarted.
  • Private by default: new installs start private, app data folders (Vaultwarden, Uptime Kuma, Stalwart) are closed to other users on the host, and Trivy's scanner port is no longer published.
  • CrowdSec sees web attacks: Traefik writes a small JSON access log that CrowdSec reads. This restarts Traefik once during the update.
  • Fixes: the update step that rebuilds apps for the new log levels no longer refuses apps whose compose LibrePortal itself had edited.

0.10.20#

  • Sign-in limits: a flood of sign-in attempts can no longer push other people's sign-ins out or eat the machine's memory: attempts are counted before the slow password check, a rotating forwarded address no longer resets the code limits, and the Authelia sign-in portal has rate limits in front of it.
  • Other audit fixes: one failed mail test no longer takes the control panel down, and the release file name, a backup location's name and a restore's staging path can no longer become paths or shell code.

0.10.19#

Nightly backups run again, calls get a relay of your own, and phone apps sign in through LibrePortal Manager.

  • Nightly backups run again: scheduled jobs (the 05:00 backup, the Stalwart certificate sync and others) could not find the libreportal command from cron, so they quietly did nothing. They find it now.
  • LibreSTUN: a STUN and TURN relay of your own, so video calls work from anywhere with nothing going to Google. Jitsi Meet, Matrix, Stoat, PairDrop and Nextcloud Talk use it when it is installed and go back to how they were when it is removed.
  • Encrypt your stored mail: an optional switch and a guided card with a test, so your stored mail can only be read with a key only you hold, with a way back. See Encrypt your stored mail.
  • Phone apps sign in through LibrePortal Manager: allow an app once and it signs you in with a one-time code. Allowed apps are listed on the People page with a Revoke button, and a server can add its own private phone apps to the shared sign-in. LibreMoney 2.3.2 uses it, with fingerprint unlock and several servers, and its phone app learns the server's ntfy addresses.
  • Updates follow the release's pinned version: an update moves an app to the version and digest the release pins instead of re-applying the old deployed tag, and never moves an app backwards.
  • Less power for apps: eighteen apps no longer get the Docker engine's socket, which would have handed everything to anyone who broke into one of them. Installed apps lose it the next time they are recreated; nothing restarts for this.
  • Authelia's branded emails match what Authelia 4.39 really reads.

0.10.18#

Tidier dashboards, one branded design for every email, and privacy you can see and change app by app.

  • Privacy, as settings you can change: apps now turn off telemetry, update checks and outside lookups by default and pin exact versions. Each choice is a setting on the app, and a choice you made yourself is never overridden. Every app page has a Privacy pop-up saying what the app does with your data, and Admin → Tools → Privacy check checks what every installed app sends out. Dashy and Traefik no longer ask outside. Installed apps get the new defaults when you update, and what changed is logged.
  • One design for every email: emails come in a dark Nebula look (the default) or a Clean look, picked on Admin → Branding → Email with a live preview. Authelia's own sign-in emails are not switched over yet.
  • Tidier dashboards: Chat and Mail have their own sections, status dots tell the truth, phone-only badges show which apps need a phone app, every row has an icon and there is one calm footer. Dashboards open horizontal and large by default, and ntfy shows for phones only. Your existing dashboards are re-rendered by the update; a layout you set yourself is kept.
  • A name for your server, filled in for you: a randomly generated Server ID now looks like helical-penguin (lowercase with a hyphen), and the matching display name "Helical Penguin" is filled in for you, including on servers that already have one of these IDs and no display name.
  • LibreMoney 2.2.3: a new sign-in look, the login card is called Setup Code with help beside it, and nothing is typed behind the gate. The update offers it through the usual app update.
  • Phone notifications keep flowing: phones are told every address the server's ntfy answers on, so notifications continue when you leave home Wi-Fi.
  • Fixes: dashboards and webhook retries work on servers whose jq is the older 1.7 that Debian 13 ships. Discourse is held back from new installs until a maintained image exists.

0.10.17#

Connect is finished for servers you host yourself, and your server now cleans up after itself every day.

  • LibrePortal Connect, finished: a new server joins with one pasted code. The Connect page shows whether the link is up, which Connect server it uses, the delay and when it last answered. Devices at home can go straight to the server instead of through the relay, and the relay's owner can see its status, list and cancel unused codes, and pause or resume a server. See LibrePortal Connect.
  • Daily clean-up and server security updates: once a day LibrePortal removes old app images, build cache, stopped leftovers, oversized logs and downloaded packages, and installs security fixes for the server's own software. Every part has a switch on Admin → System, and a preview shows what would happen first. It never restarts anything. See Daily clean-up and updates.
  • Hosted Connect is built but switched off: the paid, hosted version of Connect (anonymous account numbers, time bought, Bitcoin payments through BTCPay) is in the code and stays off until the owner opens it. Nothing on your server changes.
  • A friendly name for your server: Admin → General has a Display name (for example "Digital Angels") that people see in the phone app, dashboards, alerts and emails. The plain lowercase name is now called the Server ID and keeps its job inside LibrePortal. An existing server starts with no display name and keeps showing its Server ID until you choose one. The installer and setup wizard ask for it too. See Phone app.
  • Smaller fixes: the tab labels on app pages always read correctly, and Connect's relay app tells LibrePortal which versions it works with again.

0.10.16#

Apps get names of their own, lists are sorted A to Z, and the Dashboard is easier to rearrange.

  • A name of your own for every app: each app, and each extra copy of an app, has a Name on its Config tab. It shows on the Dashboard, the App Center, people and sign-in lists, task titles and emails. Leave it empty for the usual name. A new copy asks for a name as you install it, and a Dashy dashboard nobody named is called after who it is for, such as "Family dashboard".
  • A to Z everywhere: every list of apps is sorted by name, and the App Center has a sort menu (name, recently installed, category).
  • Rearrange the Dashboard by holding a tile: press and hold a tile, then drop it in the highlighted slot. There is no edit mode to switch on; the pencil button still opens the order editor.
  • A tidier install Confirm step: even spacing and ? help badges instead of "i". Redlib's web address is private by default.
  • Smaller fixes: the gap between the App Center's sticky bars no longer shows on some phones, the app tab dropdown always shows the right name and icon, and a few settings now save through the same safe path as the rest.

0.10.15#

A calmer control panel, a redesigned System check and setup wizard, readable emails and tasks, and ways for other services to work with your server.

  • A calmer, more consistent control panel: one spacing standard everywhere, a softer red, brighter text, icons beside choices and rows, compact rows in long lists, and boxes with a copy button for things you need to paste.
  • A redesigned System check and setup wizard: the System check reads at a glance, and every step of the first-run wizard uses the same cards, spacing and Back/Next row.
  • Emails that look like LibrePortal: notification emails are branded and name the task in plain words, such as "Updating Nextcloud", instead of the command behind it. See Notifications.
  • Steadier tasks: a task can no longer wait on a task it started itself, a stuck task is flagged, each running task shows what it is doing right now, the task log opens inline under its task, and an empty queue file can no longer stop the control panel loading.
  • --json for other tools: app list, people list, people group list and people access status can print JSON with stable field names.
  • Choose where each app signs in: turn the Authelia gate off for one app, or let Forgejo and Gitea use an outside OpenID Connect provider beside Authelia. The choice survives updates. See Sign-in source.
  • Group access to apps: give a whole group access to an app instead of person by person.
  • Events and webhooks: a log of what LibrePortal did, and signed webhooks that tell another service the moment it happens. See Events and webhooks.
  • Access keys: let another service on your server read your apps, or change one app's sign-in, with a key that can only do what you allow. See Access keys.

0.10.14#

Sign in once, family phones on the VPN open their dashboards, and devices that always belong to someone.

  • Sign in once: when the control panel sits behind Authelia, opening it signs you straight in. If you would rather choose, the sign-in page also has a Sign in with Authelia button.
  • Family phones can open their dashboards: a person on the VPN can load the dashboards they are allowed to open in the phone app. Everything else on the control panel's address stays as locked as before. An install that uses a WebUI hostname picks this up when the WebUI is next applied.
  • One password when you link a person to Authelia: when you say a LibrePortal account and an Authelia person are the same human, their LibrePortal password becomes the Authelia one, so they sign in at the gate with the password they already know.
  • Devices on the People page: a person's page has a Devices card with Add a device, and adding a person can end with an optional first device.
  • Devices always belong to someone: on the VPN page, Belongs to starts as whoever is adding the device, Whose is this? lets you give an owner to devices that have none, and Nobody (full access) is for Owners only. Removing or disabling a person first moves or removes their devices, so none is left behind.
  • Login details are easier to scan: a person, mail and key icon replace the USER and PASS labels, so a long label no longer squeezes the value.
  • Installing Authelia no longer hangs when the WebUI hostname is already on: the step that puts the hostname behind the sign-in now waits until the install has finished.

0.10.13#

A reworked VPN page, one Save on People, Access in cards, and Authelia that uses your own people.

  • Authelia uses your LibrePortal people: when you install Authelia you can choose Use my LibrePortal people, so it starts with the people you already have on the People list and there is no separate admin login to remember. Single sign-on for your apps is on, and Only their own apps (each person opens just the apps you give them) is on by default. A spare Authelia login left over from an older install can be removed. An existing install keeps its admin and its per-person access setting exactly as it was. See Sign-in explained.
  • VPN page: each device is a row with a status dot on its icon; open it to see its apps and details. The Status card is now a set of simple tiles, and the fallback address is tucked away until you want it.
  • Commands you can copy: every command the WebUI shows sits in its own box with a copy button.
  • People page, one Save: name, username, email, apps, groups and mailbox are saved from one button in the bottom bar, with Discard all beside it. Turning on per-person access is one tap, the password card is tidier, and empty states read more kindly.
  • Access page cards: Only my devices, SSH, New apps start at, Locked out and Trusted places each sit in their own card, and options that need extra settings keep them inside the card. The lock-out help is short and links to the recovery guide.
  • Easier to read: secondary text across the WebUI is brighter, so grey labels no longer look switched off.
  • Vaultwarden: it can sit behind the Authelia gate while the Bitwarden apps keep working, and it offers Sign in with Authelia. An existing Vaultwarden stays as it is until you switch it.
  • WriteFreely is back in the App Center, on our own published image.
  • Safer images: LibreMoney 2.2.1, LibrePortal Connect 0.1.1 and Soundcloak r1 are rebuilt without the fixable high-severity vulnerabilities.
  • Backups wait for the database: a backup right after an app starts waits up to 30 seconds for its database instead of failing.

0.10.12#

Two jobs at once, a name for your server, and your Authelia people arrive on their own.

  • Two tasks at a time: installs, backups and updates can run side by side. LibrePortal runs two at once when the machine has enough free memory and one at a time when it does not, so a small server behaves as before. Menus no longer lock while something runs: only the buttons that really conflict are greyed out, and each says why. The task panel shows what is running, what is waiting and what it is waiting for, and lets you cancel. Starting the same job twice is refused. You can change it with the Jobs at once setting.
  • Name your server: the installer asks for a Server Name, shown in Admin, General and used as the default branding. An existing install is named from its domain. Backups are still found if you rename the server.
  • Authelia people come across by themselves: the update puts everyone already in Authelia on the People list, with nothing to run by hand. Renaming a person now renames their Authelia sign-in too. A matching username on its own no longer sends a password to Authelia until the Owner confirms it is the same person. Demoting an Admin takes them out of Authelia's admins group, and promoting one puts them in.
  • Monitor my apps: one button on Admin, Notifications sets up Uptime Kuma and ntfy alerts for everything you run.
  • Services panel on every app tab, and the phone apps have their own Phone apps tab.
  • Dashboard and phone polish: an arrange mode with drag to reorder and Reset order; app pages fit foldable-sized screens; Tools is one list; the task pill sits inside the bottom action bar; the VPN Add device dialog reads properly on a phone and links to the step-by-step guide for your system.
  • Security fixes: phone push stays on this server's own ntfy, and three web packages are updated, one unused one removed.
  • WriteFreely stays hidden until its image is published again.

0.10.11#

One list of people, and a calmer Dashboard.

  • One People list: Admin → Users is now People. Add someone once and they get one username and password for your apps (an Authelia sign-in) and, if you want, a place in the control panel. The new rank None — apps only is the default for people who only use apps. See Accounts and people and Sign-in explained.
  • People Authelia already has: if Authelia knew someone before, they appear on the list on their own. When a control-panel account and an Authelia person may be the same human, you are asked "Is … also …?" and nothing is joined until you say yes.
  • Per-person apps and groups: a person's page shows which apps and dashboards they may open and their VPN devices, and Remove also removes their Authelia sign-in.
  • Dashboard: the Dashboard has List, Grid and Large views like the Apps page, the stats sit in one card where each opens its page, and everything lines up with the top bar at every width.
  • Calmer look: icons follow the theme's text colour with the accent for the active item, cards share one surface darkness, and the VPN and Add device pages are tidied.

0.10.10#

LibreLedger is now LibreMoney, and the phone app gets its dashboards.

  • LibreLedger is now LibreMoney: the same encrypted money ledger under a plainer name. Existing installs are carried across when they update: your ledger files are not touched, the address and port stay the same and your passphrase still works. The old address and Download link keep working. See the LibreMoney page for the new Upgrade encryption option.
  • Dashboards in the phone app: the LibrePortal phone app lists the dashboards each person is allowed to open. The certificate fingerprint for the phone app is shown under Admin, System.
  • Backup Server status: the Backup Server card shows when it last collected your backups, and raises a notification if it has not for 36 hours.

0.10.9#

The LibrePortal phone app can now get alerts from your server.

  • Alerts on your phone: the LibrePortal phone app receives your server's alerts, so you hear about problems without opening anything. See the phone app guide.
  • Get the phone apps: the sign-in page on a phone or tablet shows a card that takes you to the apps.
  • LibreLedger app: the LibreLedger Android app is now in Get the apps, downloaded straight from libreportal.org.
  • Sign-in tidy: "Hosted with LibrePortal" now sits at the bottom of the sign-in page.

0.10.8#

Connect your installs to a Backup Server, and a round of tidy-ups across the WebUI.

  • Backup Server connect and restore: an install can now be connected to your Backup Server with a one-time code, and restores bring back real copies of your databases. See the Backup Server guide.
  • Editable usernames: change a person's username in Admin → Users. The person page now has one Save bar at the bottom.
  • Config tab: every option has an icon, rows fit on one line, tablets show tiles side by side, and password fields have a copy button.
  • Shared folders: a "Where they're kept" choice for where each folder lives, and a way to remove a leftover copy.
  • Welcome button: it now always shows the welcome again.
  • Phone apps: download them straight from LibrePortal, and the login page has a "Get the phone apps" link.
  • Dashboard on tablets: the system card has a roomier layout.
  • Safer sign-in: automatic sign-in through the gateway is refused for any app that is not kept on its own private network.

0.10.6#

  • Instant sync: LibreSync phones sync within seconds when a shared folder changes, through an encrypted push.
  • Backups with a Backup Server: shared folder backups and restores work on a paired server.
  • Clearer updates: an update that stops says why, and retries short network blips.

0.10.5#

  • VPN per person: with per-person access on, each person's VPN devices reach only their own apps. Admins keep full access, with an emergency off switch.
  • Downloads only through Gluetun: a new network choice that keeps an app's address and sign-in.
  • Hand-edit safety: LibrePortal asks before rebuilding an app whose settings were changed by hand.
  • Dashboard links: add links to any web page next to your apps.
  • Fixes: email alerts through your own mail server, and no more red status dot for Traefik.

0.10.4#

Your own account from the first screen, back up the whole server in one go, and more ways to chat.

  • Your own account at setup: your name, username and password from the start, used everywhere, plus your household with invite links.
  • Edit people: change a person's email or name, or link a mailbox from your own mail server, in Admin → Users.
  • Back up everything: one button for settings, apps and shared folders, and rebuild a new server from it. Shared folders have backups of their own, with a monthly test restore.
  • Chat: Matrix with one sign-in, notifications without Google and calls (guide); Zulip added; Rocket.Chat sign-in fixed.
  • Mail: apps can send their email through your own mail server.

0.10.3#

  • Faster tasks: queued jobs start straight away instead of waiting behind routine checks, and a watchdog restarts the task runner if it stalls.
  • Phones connect in seconds: adding a phone to the shared folders has its own fast lane.

0.10.2#

Talk notifications without Google, phone apps on dashboards, and Nextcloud sign-in fixed.

  • Talk on your phone: a "Phone notifications (ntfy)" switch under Talk sends messages and calls to Android through ntfy on your own server. See Phone notifications for Nextcloud Talk.
  • Phone apps on dashboards: each app can show its phone app beside it, and you can add your own links.
  • Nextcloud sign-in fixed: "Sign in with LibrePortal" reaches Authelia again.

0.10.1#

A quick fix release.

  • App instances kept across updates: extra copies of an app (such as a second Dashy dashboard) no longer disappear from LibrePortal after an update. Servers already affected are repaired.
  • Gluetun routing works for every app that offers it, including forwarded ports, and switching back releases them.

0.10.0#

Shared folders belong to LibrePortal, phones reach them with LibreSync, and Family and Admin dashboards work.

  • Shared folders: Music, Photos and Video now live in LibrePortal itself, so uninstalling ownCloud or Nextcloud never touches them. Updating moves existing folders across by itself, and nothing is deleted.
  • Admin → Shared folders: turn folders on or off, choose who sees and who can change each one, and see which apps use them.
  • Phones and computers: add a phone with a QR code or short code, see every connected phone, and remove any of them.
  • LibreSync: our own Android app puts your shared folders on your phone so every app can see them. Get it from the LibreSync releases (preview).
  • Get the apps: each app's page lists the open-source phone and desktop apps that work with it, F-Droid first.
  • Dashboards: Dashy builds on Debian 13 again, and a Family dashboard only shows links meant for people.
  • Syncthing is in the App Center, for computers.

0.9.21#

The ownCloud apps sign in with Authelia, the Dashboard is yours to arrange, and a round of tidying.

  • ownCloud apps: the ownCloud Android, iPhone and desktop apps can sign in through Authelia, and only the people allowed into ownCloud can use them.
  • Arrange your Dashboard: hold an app to move it up or down or hide it. Admin → Dashboard shows, hides and orders every app, and new installs ask whether an app should show.
  • Info cards: tapping any ⓘ or ? opens a small card with the explanation.
  • Tidier pages: main buttons in the phone bottom bar, compact tool cards, simpler backup locations, and several fixes (repeated task messages, stuck taskbar chips, see-through menus).

0.9.20#

ownCloud 11, random admin usernames, and a round of design polish.

  • ownCloud 11: new installs use ownCloud 11, and every ownCloud add-on works on it. Servers on 10 can move up with the Upgrade button (backup first, undone automatically if it goes wrong).
  • Random admin usernames: 27 apps now let you choose Random or Custom for the admin username, like the password.
  • Design: Updates, Backups and the Overview use calm cards with icons; every top bar matches; app tabs are reordered with an Instances tab; main buttons sit in the bottom bar on phones; tick boxes match your theme.
  • Fixes: the Tasks button from Admin works again, and app versions are re-checked after every update.

0.9.19#

A calm Updates tab, big updates that look after themselves, notifications by email and ntfy, and per-person access to your apps.

Who can open what#

  • Choose who can open each app, each dashboard and LibrePortal itself: Only me, These people (or groups like Family), or Everyone signed in. Everyone else is stopped at the sign-in gate, and apps that sign in with Authelia refuse them too.
  • Think of it as house keys: people start with no rooms, and you hand out keys. Adding a person asks what they can open straight away.
  • On a server that already has people, nothing changes until you press Turn on per-person access on Admin → Single sign-on, which first shows what each person keeps and loses.
  • LibrePortal's direct address stays your back door from home or your VPN, so you can never lock yourself out.

Updates#

  • Each app's Updates tab opens with one plain status (Up to date, Update ready, Needs you, Security fix waiting), with the short details below and security and history a tap away.
  • Big updates (new major versions) install by themselves: a checked backup first, one step at a time, a health check afterwards, and an automatic undo if it goes wrong. Each app can be set to Automatic, Ask me first or Off.

Notifications#

  • New Admin → Notifications page: ntfy and email (each with Send test), a simple table of what to hear about, and which apps can notify you. Each app also has its own Notifications tab.
  • Email can go through Stalwart on your server with one choice, or any other mail server. Authelia uses the same route, so its Reset password link only shows when email works.

Everywhere#

  • Each app tab's main button sits in the bottom bar on phones, the theme picker is one list of presets, and the LibrePortal logo takes the theme's colour.

0.9.18#

Shared folders when you install ownCloud or Nextcloud, a running taskbar, and a round of phone polish.

Shared folders#

  • Installing ownCloud or Nextcloud has a Shared folders step: Shared Music (on by default), Shared Video and Shared Photos. Pick them and they're ready to upload into as soon as the install finishes, even before a music, video or photo app is installed. The same switches are under Tools later; turning one off takes it out of the app and keeps the files.
  • Seen by is Just me, Everyone, or Choose people: a list of your sign-in (Authelia) people and the app's own accounts. Someone who hasn't signed in yet gets the folder the next time it's applied after their first sign-in.
  • ownCloud's single sign-on now creates the account the first time someone signs in, named after their sign-in username, the same as Nextcloud.

Running taskbar#

  • A slim bar at the bottom of every page shows what's installing, backing up or running. Tap a task to go to it.

Getting around#

  • The Apps tab takes you back to the app you were on; tap it again for the full list. Admin and Tasks have a search.

On your phone#

  • Services are laid out like task cards, app logos sit on a light tile, cards on custom themes match the page, and popups are solid.

0.9.17#

The fast path now heals itself on every Traefik start.

  • About one Traefik start in five, the fast path's listener could quietly miss a port. LibrePortal now notices within a second of Traefik starting and restarts it straight away, so every start ends with every port answering. If it still can't get a healthy start after several tries, it goes back to Docker's own ports by itself and tells you.
  • A server that already had the fast path on gets the start guard through the update without a Traefik restart, so there's no blip and no "fast path recovered" notice afterwards.

0.9.16#

Installing or removing an app no longer restarts the web proxy, plus a big round of phone polish.

Installs without a blip#

  • Traefik listens on a pool of spare HTTPS ports, so a new app takes a free one and an uninstall gives it back. Your other sites no longer drop while you add or remove something. If the pool fills up, the More HTTPS ports card offers to enlarge it. See Installing apps without a restart.
  • Changing the names Traefik answers to is done on the running Traefik instead of recreating it.

Fast downloads stay safe#

  • A guard checks every Traefik start on the fast path. If a port is lost, Traefik is restarted with a fresh listener, and if that doesn't hold it returns to Docker's own ports by itself. fastpath status now checks each port end to end. A server already on the fast path may see one extra Traefik restart and a "fast path recovered" notice about five minutes after updating.

On your phone#

  • Tidier Admin pages (no repeated heading, flat view pickers, a fixed Reset and Save bar), a compact System page, and the Tasks view picker first.
  • The app page's action bar has its colours back, and Install works on phones with no More menu.
  • Friendly empty states with an icon, a short line and an action. Help text lives in the ? tip and stays on screen.
  • Every task has a plain-English name.

Everyday improvements#

  • Admin, System is redesigned.
  • Generated usernames and keys can be Random or Custom.
  • App lists refresh by themselves after an install or uninstall, and tapping the current top-bar tab again refreshes it.
  • The App Center searches by app name only, so results are less noisy.

0.9.15#

Much faster downloads through the server, on by default.

  • Rootless Docker's port forwarding held one download near 25 MB/s. Traefik's web ports (80 and 443, so every app) now bypass it: roughly 180 to 450 MB/s per download on a busy test machine. See Fast downloads.
  • New installs get it once Traefik is up. Existing installs get it from an update that tests it first; a server that can't do it is left exactly as it was, with the reason under Admin → Config → Network.
  • It watches itself and falls back to Docker's own ports, telling you, if it can't be kept working. libreportal fastpath off does the same on demand.
  • IPv6 visitors can now reach ports 80 and 443 too, under the same rules. Web requests made from the server itself to 127.0.0.1 are no longer treated as trusted.
  • This release also needs a system component update; the one-click WebUI update applies it as usual.

0.9.14#

A much nicer phone experience.

On your phone#

  • The top bars stay put. The page itself no longer scrolls under them; only the content does.
  • App pages get a slim pinned bar showing the app's services and status, and a bottom action bar with Back, Update configuration and a More menu. See On a phone.
  • Tasks has a Views dropdown. The menu is slimmed down to account, theme, support and sign out.
  • Pages run edge to edge, nested panels are flattened for more room, and loading shows tidy placeholder bars instead of a boxed spinner.
  • Every backup card has the same layout, and Refresh sits under the sub-tab bar.

Welcome popup#

  • It shows the real Traefik username and password, every link has a copyable address, and sections have more room.

0.9.13#

Backups#

  • Backups work again on servers whose backups folder was moved (for example to /data). They used to stop with "its database could not be dumped". The update repairs servers that were already affected.
  • A backup now checks it can write its working folder first, and says so plainly if it can't.

Shared folders#

  • The shared media folders are now called SharedMusic, SharedVideo and SharedPhotos, and ownCloud can own them too, not just Nextcloud. See Shared libraries.

Updates#

  • An automatic update that stopped before changing anything (for example because the safety backup failed) is retried the next day, instead of showing "failed" for ever.
  • The phone Updates page is redesigned, with a one-line status, a segmented filter and tidier app cards.

On your phone#

  • The page dropdown stays pinned under the top bar, Backups and Migrate tabs are labelled dropdowns, and Backups is in the Admin page picker.
  • Apps Overview is one tap away, and the Backup Server card on Backups is branded.

0.9.11#

A tidy-up and tightening release: the admin pages feel better on phones, long jobs show you what they are doing, and the way a Backup Server connects to your install is much more locked down.

Tasks and progress#

  • Every tool, backup and export runs as a normal task. Quick ones run in the background, long ones open the Tasks tab and stream their log, and tools that only read something show the answer in a window.
  • You stay on the page you were on. A message in the corner says what's happening, with a View task link, and "Saved" only appears once the task has really finished.
  • Backups, restores, peer pulls, app updates and hotfixes are followed to their log from any page. None of them starts silently.
  • When a task fails, the message now says why. One finished task no longer unlocks a page another task is still using.
  • See Tools and add-ons.

On your phone and desktop#

  • Each top-bar icon has a short label under it on phones, the task page fits more on a small screen, and the loading and sign-in screens stay centred.
  • Click the logo for a This server card with the server's name, version, update status and health. See A tour of the WebUI.

Backups#

  • Connect to a Backup Server with a one-time code, from Admin → Backups → Locations. See Backups.
  • Notify on successful backups, off by default. See Notifications.
  • A paired install can pull only the apps its owner allowed (libreportal peer allow, disallow, allowed). Installs that already pull keep working.

Security#

  • The account a Backup Server uses to read your backups is locked down to that one job, each key is tied to the address it connects from, and the WebUI's login secrets and logs are kept out of what it pulls. See what a Backup Server can reach.
  • Apps behind the Authelia sign-in gate no longer also answer on their direct ip:port address.
  • These changes reach existing installs through the one-click update.

Fix#

  • The WebUI hostname now survives updates. Rebuilding the WebUI used to wipe it, and any other setting you'd changed in the WebUI's own config.

Next steps