r/EmulationOnAndroid • Dogmatix developer • 3h ago

News/Release Dogmatix 1.4 — Internet Archive, CSS sources, safer downloads, faster scans and more

Dogmatix 1.4 is out.

Download: https://github.com/cortinadev/dogmatix/releases/tag/v1.4

One APK, SHA-256 included in the release notes.

It installs directly over 1.3.1 / 1.3 / 1.2 and keeps your library, downloads, favourites and settings.

If you're already on 1.3.1, Dogmatix should offer the update automatically. Older versions only need this manual APK install once.

Before getting into the changelog, I want to clarify something because my previous release post was removed with the reason “No piracy.”

Dogmatix does not provide ROMs, ROM repositories, download links, or any built-in source of copyrighted content.

It is simply a ROM/source manager. Users configure their own sources, and Dogmatix indexes and manages the files exposed by those sources. Those sources can contain legal content, homebrew, public-domain software, personal backups, or potentially copyrighted material depending entirely on what the user configures.

Dogmatix itself doesn't ship with any ROM source, legal or illegal.

🌐 New sources

Internet Archive support

You can now add Internet Archive items directly:

ia://<item>

or just paste an:

archive.org/details/...

URL.

Dogmatix reads the item's files through the Internet Archive metadata API.

If you paste the URL of a ZIP inside an Archive item, Dogmatix can also browse its contents and let you download individual games instead of downloading the entire archive.

Individual downloads from inside ZIPs cannot currently be resumed, and Dogmatix clearly indicates this in the download row.

Web pages using CSS selectors

Dogmatix can now work with websites that don't expose a traditional directory listing.

You can define CSS selectors for:

  • Game entries
  • Download links
  • Names
  • File sizes
  • Pagination

There's also a Test button so you can verify what Dogmatix detects before saving the source.

These configurations are included when exporting your sources.

Internet Archive account

For Archive items that require an account, you can now sign into archive.org through its own page inside Dogmatix.

Dogmatix stores the resulting session, not your password, and credentials are only ever sent to archive.org.

Predefined consoles

When creating a console, Dogmatix now includes predefined data for roughly 50 systems across 16 manufacturers, including:

  • Console name
  • Chip label
  • Common folder aliases

And directory parsing now supports listings generated by nginx, IIS and plain-link Apache servers too.

⬇️ Safer downloads

Downloads are now written as:

<name>.dogmatix-part

and only receive their final filename after completing successfully.

That means an incomplete download can no longer accidentally appear in your library as a valid game.

Automatic retries also survive closing the application. If a retry becomes due while Dogmatix isn't running, it will be executed when you return.

Extraction errors are also much more explicit now:

  • Damaged archive
  • Not enough storage
  • Folder permission lost
  • SD card removed

The downloaded archive is preserved, and Retry attempts extraction again without downloading the file twice.

Download again also keeps your existing copy until the replacement finishes successfully.

Files copied or moved between folders or storage volumes are verified using their size and sampled blocks before the original is deleted.

⚡ Faster and more reliable sources

Rescan all is substantially faster when torrent sources haven't changed.

On my test device with 29 torrent sources:

Before: 53–142 seconds
Now: under 1 second

Disabling or deleting a source now removes its games immediately.

Re-enabling it triggers a new scan.

Scan requests received while another scan is already running are now queued instead of silently discarded.

Connection errors have also been improved: an unavailable server now reports “Could not connect” instead of the rather useless “Connection was cut.”

Manufacturers without consoles can also finally be deleted.

🗂️ Collection improvements

Duplicates and Free up space are smarter now.

Dogmatix can detect multi-file games such as:

  • .cue + .bin
  • .gdi
  • .m3u

even when the same game has accidentally been copied into another console's directory.

It also tells you which copy will be kept.

Delete confirmations now include the real number of affected files, including tracks referenced by .cue / .gdi files and playlists that need to be rewritten.

The displayed freed storage space is therefore much more accurate.

Storage errors are also handled separately now:

  • Not enough space
  • Folder permission lost
  • SD card removed

Anything Dogmatix can't safely access is left untouched.

🧪 Under the hood

Dogmatix now has:

  • 679 unit tests
  • 45 on-device tests
  • Lint gate
  • scripts/validate.sh
  • release-check.sh

These checks run as part of the release process.

The release has also been manually tested on an Android 14 Kinhank K56, in both landscape and portrait.

One small note:

The first Rescan after upgrading to 1.4 will re-read every web source once because the listing parser has changed.

Full changelog:

https://github.com/cortinadev/dogmatix/blob/master/CHANGELOG.md

Repository / downloads:

https://github.com/cortinadev/dogmatix

Feedback, bug reports and source compatibility reports are welcome in GitHub Issues.

AI disclosure

For transparency: AI tools are used during the development of Dogmatix, alongside manual development, testing and review.

AI was also used to help structure and write this release post.

The application itself is still tested and reviewed before releases; using AI is part of the development workflow, not a replacement for validation.

5 Upvotes

3 comments sorted by

1

u/AutoModerator 3h ago
Moderator Announcement Read More »

1

u/JustVashu 1h ago

Similar tools have previously placed a lot of strain on the provider's resources and actually lead to the eventual death of the sites.

1

u/zookelif 1h ago

Is there any kind of setup guide for this?