Skip to content

Releases: a1ex4/ownfoil

2.3.0

14 Mar 07:47
13da9c3

Choose a tag to compare

Clients support

This release adds Ownfoil compatibility with all homebrew apps that support remote backup installation, and are actively supported and maintained. Up to now Ownfoil has always been Tinfoil centric as it is the client that supports most features and implements the best security, but now multi-client support has been added and it will easier to add specific client features in the future (like backuping saves, dumps...).

Each client has specific settings and can be enabled / disabled, and the Setup page in the UI will now display instructions on how to configure the enabled clients, as well as the features supported.

Warning

If you host a public shop with Tinfoil's encryption enabled, and you do not want people to be able do download your entire shop outside of a Switch device, you should disable all other clients. Enabling an other client will render the encryption feature useless, as they do not support encryption themselves.

Path based filtering

For clients that supports it, you can now add /base, /update, /dlc, /multi to the URL to filter what content is served by the shop.

What's Changed

New Features

  • Add support for clients other than Tinfoil by @a1ex4 in #290
  • Add Sphaira support by @a1ex4 in #291
  • Add Setup page with homebrew setup instructions by @a1ex4 in #292
  • Add CyberFoil support by @a1ex4 in #304
  • feat: keep track of download count by @a1ex4 in #305

Fixes and Improvements

  • improv(clients): support dynamic hauth per host by @a1ex4 in #293

Dependencies

  • build(deps): bump werkzeug from 3.1.5 to 3.1.6 by @dependabot[bot] in #294
  • build(deps): bump flask from 3.1.2 to 3.1.3 by @dependabot[bot] in #295
  • build(deps): bump unzip-http from 0.6 to 0.7 by @dependabot[bot] in #296
  • build(deps): bump actions/upload-artifact from 6 to 7 by @dependabot[bot] in #298
  • build(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #299
  • build(deps): bump docker/login-action from 3 to 4 by @dependabot[bot] in #300
  • build(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #301
  • build(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #302

Issues fixed

  • Reset hauth when domain is changed #204

Full Changelog: 2.2.1...2.3.0

2.2.1

12 Feb 12:16

Choose a tag to compare

This version is a bug fix release, that also improves the Organizer for people accessing their library with Windows.

What's Changed

Fixes and Improvements

  • improv(organizer): add option to enforce Windows filename sanitizing by @a1ex4 in #285
  • fix(organizer): Fix organizer not working in scheduled jobs by @a1ex4 in #286
  • fix(library): title with no owned app not deleted if files are removed when app is not running by @a1ex4 in #287

Dependencies

  • ci(docker): cache python environment in docker build by @a1ex4 in #288

Issues fixed

  • Forbidden characters with organizer. #251
  • Organizer: add option to force Windows compatible filenames #284

Full Changelog: 2.2.0...2.2.1

2.2.0

05 Feb 15:56
bf12df4

Choose a tag to compare

This release continues to focus on library management improvements and features, robustifying the backend code and making needed changes for future implementations. There are also bug fixes in the UI, library management code and in Tinfoil displaying the titles incorrectly.

Library Organizer

You can now configure Ownfoil to automatically organize your library: all identified files will be renamed and organized according to the settings. The templates can be configured from the Settings page in the Web UI:
image

Some additional features of the organizer to tidy up your library:

  • automatically delete older updates
  • delete empty folders after library organization

Console keys management

As requested by users, the console keys revisions are now individually verified by Ownfoil and available to review in the Settings page. You can now see if you are missing newer revisions, or if one key happens to be invalid:
image

When the specific key required to open a file is missing, Ownfoil now tracks the key in the file's identification status.

Scheduler improvements

The scheduler has been improved to allow the configuration of periodic jobs in the UI, as well as enabling/disabling them:
image

This now makes it very easy to add periodic tasks in the backend, configure them using the UI.

Performance improvements

By only opening the sections containing metadatas, the file identification is now 2x to 10x times faster.
In this release the docker image has been updated to use Python 3.14, which greatly improves the speed of execution of Ownfoil.

What's Changed

New Features

  • Add automated library management by @a1ex4 in #229
  • Console keys management: add invalid/missing revisions in UI by @a1ex4 in #280
  • Improve scheduler to support configurable period and enabling/disabling jobs from settings by @a1ex4 in #281
  • Add Ownfoil logo by @a1ex4 in #283

Fixes and Improvements

  • Speed up file identification by only reading metadata sections by @a1ex4 in #232
  • fix: special characters in password validation by @Kratemis in #236
  • Fix filter and searching by @Sab44 in #241
  • Fix tinfoil games by @a1ex4 in #247
  • Organizer: Prevent forbidden characters in filenames by @garlik82 in #256
  • Fix: Add "owned" flag to DLCs and fix false-positive "Up to date" pills by @HarleyBartles in #254
  • Fix encoding when reading TitleDB files by @a1ex4 in #282

Dependencies

  • build(deps): bump actions/setup-python from 5 to 6 by @dependabot[bot] in #227
  • build(deps): bump actions/stale from 9 to 10 by @dependabot[bot] in #228
  • Migrate from NSTools to nsz by @a1ex4 in #231
  • build(deps): bump zstandard from 0.24.0 to 0.25.0 by @dependabot[bot] in #238
  • build(deps): bump python from 3.11-alpine to 3.13-alpine by @dependabot[bot] in #130
  • build(deps): bump pyyaml from 6.0.2 to 6.0.3 by @dependabot[bot] in #245
  • build(deps): bump actions/checkout from 5 to 6 by @dependabot[bot] in #267
  • build(deps): bump actions/upload-artifact from 4 to 6 by @dependabot[bot] in #269
  • build(deps): bump werkzeug from 3.1.3 to 3.1.5 by @dependabot[bot] in #273
  • build(deps): bump python from 3.13-alpine to 3.14-alpine by @dependabot[bot] in #249

Issues fixed:

  • Special Characters in Password - Auth Failure #105
  • Display the console keys revision in the UI and detect when new revision is needed for file indentification #205
  • In tinfoil no game title is present #239
  • Error preventing the rest of the folder scanning #246
  • Forbidden characters with organizer. #251
  • Feature suggestion: Add option to set interval/disablement for automatic library scan #270
  • Error when launching - UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 58879 #277

New Contributors

Full Changelog: 2.1.3...2.2.0

2.1.3

01 Sep 22:13
fc63b62

Choose a tag to compare

What's Changed

This releases fixes the only remaining issue from the v2.1 changes on Web library view caching. It prevents the cached library file from being corrupted, with atomic and thread safe write of the json file. Library disappearing from the Web UI should no longer happen.
The loading of TitlesDB into memory has also been optimized.

Fixes and Improvements

  • fix(library): fix library not showing in the UI if cached file is corrupted by @a1ex4 in #224

Dependencies

Fixed issues

  • ownfoil latest ver. crashes on unraid #210

Full Changelog: 2.1.2...2.1.3

2.1.2

19 Aug 18:32
d184acd

Choose a tag to compare

What's Changed

This release fixes several issues with library scans, database migration and file content identification. It should be much more reliable and robust when multiple files are added rapidly in your libraries.

Fixes and Improvements

  • Fix library scan concurrency between scheduler and manually scanning from the UI by @a1ex4 in #217
  • Fix TitleDB was not loaded if multiple identification tasks are called within 30s by @a1ex4 in #218
  • improv(ui): allow upload of new keys file in the UI even if console keys are valid (#205) by @a1ex4 in #219
  • fix(db): fix database migration from previous schema missing the Files table (#209) by @a1ex4 in #220

Dependencies

  • build(deps): bump actions/checkout from 4 to 5 by @dependabot[bot] in #213
  • build(deps): bump requests from 2.32.4 to 2.32.5 by @dependabot[bot] in #214
  • build(deps): bump zstandard from 0.23.0 to 0.24.0 by @dependabot[bot] in #215

Issues fixed

  • Unloads TitleDB before update #206
  • Error in database hash computation #207
  • Migration failure (drop table files). #209
  • Unable to complete scan of games directory #221

Full Changelog: 2.1.1...2.1.2

2.1.1

03 Aug 22:50

Choose a tag to compare

What's Changed

Fix Tinfoil access not working with latest release 2.1.0 (#202).

  • fix(shop): working access from Tinfoil (#202)
  • ci(docker): tag latest image only on git tag
  • doc: add available platforms to README

Full Changelog: 2.1.0...2.1.1

2.1.0

31 Jul 22:55
7c446ea

Choose a tag to compare

What's Changed

New Features

  • feat: Major database schema refactor (#195)
    • Migrated from single table to normalized database schema with Libraries, Files, Apps, and Titles tables
    • support database migration system with automatic backups
    • Better separation of file management and title identification
    • File identification status, errors, number of attempts and last attempt date now tracked (to support #158 and #168)
    • Multi-content file support (#19, #121, #153)
    • Improved ownership tracking with separate Apps table for missing/owned status (to support #22, #178)
    • Show missing BASE / DLC in the UI with a yellow badge
  • #109 - Persist library view settings using local storage by @HarleyBartles in #192
  • feat: add Scheduler to execute periodic tasks in the background by @a1ex4 in #196

Fixes and Improvements

Other Changes

  • ci: improve development and release workflow to support semantic versioning by @a1ex4 in #197
  • refactor: change cache dir from /config to /data by @a1ex4 in #199

Dependencies

  • build(deps): bump flask from 3.1.0 to 3.1.1 by @dependabot[bot] in #187
  • build(deps): bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #188
  • build: update NSTools to version 1.2.3 by @a1ex4 in #200

Issues fixed

  • split nsp files #19
  • Persist library view settings #109
  • Support multi content XCI file #121
  • Hangs at Updating titledb... #185
  • Can you add release numbers? #189
  • Library disappears #190

New Contributors

Full Changelog: 2.0.0...2.1.0

2.0.0

30 Jul 15:40
628ae62

Choose a tag to compare

First formal release from the v2 version. This will now be used as a base to track new features and improvements in the future releases.

1.2.3: saves manager fixes

14 Oct 19:25
50b485d

Choose a tag to compare

Fix to Saves manager when files need to be retrieved from subfolder, see PR #42

Thanks @CortezSMz for the fix!

What's Changed

  • build(deps): bump actions/checkout from 3 to 4 by @dependabot in #34
  • build(deps): bump docker/build-push-action from 4 to 5 by @dependabot in #37
  • build(deps): bump docker/setup-qemu-action from 2 to 3 by @dependabot in #38
  • build(deps): bump docker/login-action from 2 to 3 by @dependabot in #39
  • build(deps): bump docker/setup-buildx-action from 2 to 3 by @dependabot in #40
  • build(deps): bump docker/metadata-action from 4 to 5 by @dependabot in #45
  • fix(save_manager): traverse remote folders with recursion by @CortezSMz in #42

New Contributors

Full Changelog: 1.2.2...1.2.3

Release 1.2.2: permission fix

23 Feb 21:42

Choose a tag to compare

Quick release to fix permission problems with user already existing in the base docker image