Skip to content

Releases: Project-Colony/Eidos

v1.3.0

Choose a tag to compare

@github-actions github-actions released this 04 Aug 15:22
819e419

1.3.0 (2026-08-04)

Features

  • gui: MO2 parity for conflicts, dragging, and a Colony-shaped Settings (#8) (9aad5f7)

Performance

  • core: index the overwrite, taking directory ops out of resolution (#13) (8ce6821)

Internals

  • cli: one module per subcommand (#10) (1a65d2f)
  • fuse: split the daemon into modules by role (#9) (484b894)
  • install: make install.rs a directory module (#11) (808f36e)
  • instance: make profile.rs a directory module, split by method (#12) (730311d)

v1.2.0

Choose a tag to compare

@github-actions github-actions released this 03 Aug 16:50
93f70ae

1.2.0 (2026-08-03)

Features

  • support non-Bethesda games, starting with Stellar Blade (#5) (4e50858)

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 01 Aug 09:20
7c167f7

1.1.0 (2026-08-01)

Features

  • gui: let the game's own content be ordered like any other row (9f35576)

Fixes

  • ci: let the release job start the build it asks for (604a0cd)
  • gui: separators could not be reordered at all (0a4ff4b)

v1.0.2

Choose a tag to compare

@github-actions github-actions released this 31 Jul 12:24
d1e0de0

1.0.2 (2026-07-31)

Fixes

  • ci: attach artifacts to a release that already exists (9caf1f1)
  • ci: stop naming a component this repo does not have (12ea5a2)

v1.0.1

Choose a tag to compare

@github-actions github-actions released this 31 Jul 12:02

1.0.1 (2026-07-31)

Fixes

  • ci: release-please cannot read a version the crates inherit (bc28968)
  • ci: stop assuming a Cargo package lives at the workspace root (18a3acb)
  • ci: sync Cargo.lock on a condition that actually holds (b94cd90)
  • ci: tag the version line so release-please can find it (a4531f1)
  • ci: use the command that actually rewrites Cargo.lock (86705be)

Eidos 1.0.0

Choose a tag to compare

@github-actions github-actions released this 31 Jul 11:38

Skyrim SE has been played through Eidos daily for weeks - SKSE, script-extender
preloaders, Creation Club, LOOT-sorted load orders, per-profile saves, tools
generating LOD and bodies into the Overwrite. Nothing in the design is
provisional any more, so the version stops pretending it is.

Correctness

Every one of these failed silently. That is what made them worth the release.

  • A mod spelling one directory two ways lost everything under the second.
    ext4 keeps meshes/ and Meshes/ apart; the merged view must not, and real
    mods ship both. The resolver committed to the exact-case match for a component
    and abandoned the whole layer when the rest of the path was not underneath it.
    On a real 50-layer instance that hid 74 files of one mod, with no error
    anywhere ([#e606a65]).
  • The game path in the Wine prefix stopped being re-registered once anything
    else overwrote it. The game's own 32-bit launcher rewrites that key through
    whatever drive letter Wine offers, and Steam then moves the letter - leaving a
    value that was correct when written and resolved to nothing afterwards. Tools
    died citing a directory that does not exist and naming neither Eidos nor the
    cause.
  • xEdit's QuickAutoClean ran without the compatibility mode the rest of the
    family gets. It is the executable users actually run, since cleaning the
    official masters is a prerequisite of DynDOLOD and most load-order guides.
  • Clearing the Overwrite or turning it into a mod took no instance lock, so
    it could run against an instance another process was using.

DynDOLOD, end to end

DynDOLOD's LOD generator is routed to Wine's Mono, whose System.Uri initialiser
calls a method Mono does not implement: it dies before its first line of work and
leaves a log holding a version banner and nothing else. Installing .NET Framework
does not help, because Proton replaces the loader that would find it on every
prefix update.

Eidos now provisions the modern .NET runtime that build needs, as a third tier of
prerequisite - fetched once, checksum-verified against a value compiled into the
binary, and shared by every instance.

Nexus

  • OAuth: the client authenticates with an access token wherever it accepted an
    API key, choosing between them from what is stored and renewing a stale
    session. Signing in still waits on a client_id from Nexus; everything under
    it is here and tested.
  • The account tier is always spelled out. "(Premium)" or nothing made a free
    account indistinguishable from one whose tier had not been checked - and the
    difference decides whether a download link can be fetched at all.

Speed

A save that took twenty seconds to load takes six to seven, and cell changes are
immediate.

before now
directory reads in one session 5,608,084 464,564
opendir 516,301 1
readdir 799 ms 105 ms

Measured on a real instance played normally. index_health, index_agrees and
listing_cost reproduce every figure on your own setup, and index_agrees is
what caught the case-folding bug above.

Interface

  • The LOOT report no longer closes when you click it, and copies whole to the
    clipboard - it is a worklist you read off while xEdit runs on another screen.
  • Each tool prerequisite shows its real state, and the missing ones are buttons.
  • The window has a desktop identity, so it has an icon in your taskbar.
  • Eidos has a mark: a fragmented E resolving into a lozenge - the layers becoming
    one view, and eidos, the Form.

Documentation

Reorganised by who is reading: guide/ to use it, internals/ to read the code,
project/ for why it exists. The README is a front page again.


Install

tar xzf eidos-1.0.0-x86_64-linux.tar.gz
cd eidos-1.0.0-x86_64-linux
./install.sh

The installer copies eidos and eidos-gui into ~/.local/bin
(override with PREFIX=) and runs one privileged command:

sudo setcap cap_sys_admin+ep ~/.local/bin/eidos

That capability is what lets Eidos enable FUSE kernel passthrough.
Without it Eidos still runs, but script-extender plugin DLLs (SKSE and
friends) may fail to load. It lives on the file, so it is wiped by any
reinstall or rebuild - getcap $(command -v eidos) is the check, and
the GUI's Diagnostics tab flags it.

There is no Flatpak or AppImage build, and there cannot be one: a
sandboxed or FUSE-mounted binary cannot carry a file capability. See the
comment in .github/workflows/release.yml for the mechanism.

Requirements

  • x86_64 Linux, glibc 2.39 or newer (built on Ubuntu 24.04)
  • A kernel with FUSE, and fusermount3 available

Verify

sha256sum -c eidos-1.0.0-x86_64-linux.tar.gz.sha256

Eidos 0.5.1

Choose a tag to compare

@github-actions github-actions released this 29 Jul 12:56

Install

tar xzf eidos-0.5.1-x86_64-linux.tar.gz
cd eidos-0.5.1-x86_64-linux
./install.sh

The installer copies eidos and eidos-gui into ~/.local/bin
(override with PREFIX=) and runs one privileged command:

sudo setcap cap_sys_admin+ep ~/.local/bin/eidos

That capability is what lets Eidos enable FUSE kernel passthrough.
Without it Eidos still runs, but script-extender plugin DLLs (SKSE and
friends) may fail to load. It lives on the file, so it is wiped by any
reinstall or rebuild - getcap $(command -v eidos) is the check, and
the GUI's Diagnostics tab flags it.

There is no Flatpak or AppImage build, and there cannot be one: a
sandboxed or FUSE-mounted binary cannot carry a file capability. See the
comment in .github/workflows/release.yml for the mechanism.

Requirements

  • x86_64 Linux, glibc 2.39 or newer (built on Ubuntu 24.04)
  • A kernel with FUSE, and fusermount3 available

Verify

sha256sum -c eidos-0.5.1-x86_64-linux.tar.gz.sha256

Eidos 0.5.0

Choose a tag to compare

@github-actions github-actions released this 29 Jul 08:49

Install

tar xzf eidos-0.5.0-x86_64-linux.tar.gz
cd eidos-0.5.0-x86_64-linux
./install.sh

The installer copies eidos and eidos-gui into ~/.local/bin
(override with PREFIX=) and runs one privileged command:

sudo setcap cap_sys_admin+ep ~/.local/bin/eidos

That capability is what lets Eidos enable FUSE kernel passthrough.
Without it Eidos still runs, but script-extender plugin DLLs (SKSE and
friends) may fail to load. It lives on the file, so it is wiped by any
reinstall or rebuild - getcap $(command -v eidos) is the check, and
the GUI's Diagnostics tab flags it.

There is no Flatpak or AppImage build, and there cannot be one: a
sandboxed or FUSE-mounted binary cannot carry a file capability. See the
comment in .github/workflows/release.yml for the mechanism.

Requirements

  • x86_64 Linux, glibc 2.39 or newer (built on Ubuntu 24.04)
  • A kernel with FUSE, and fusermount3 available

Verify

sha256sum -c eidos-0.5.0-x86_64-linux.tar.gz.sha256