Skip to content
dream-ini

dream-iniChangelog

Changelog

Every release of dream-ini, newest first. A release marked unreleased is declared in mod.toml and published when its tag is pushed.

Development build

rebuilt from the default branch

  1. 1.0.2-dev.0development2026-09-30

    Whatever is on the default branch right now. It may be ahead of the last release, and it may be broken.

    dream-ini-Windows-X64.zip 3.58 MB · Windows
    Verify · sha256 4d9f3e087ac7…e3a1a71f
    Release
    1.0.2-dev.0 (development)
    Size
    3750183 bytes
    SHA-256
    4d9f3e087ac7a002f39f8418f66c264936f9094543631a677032b151e3a1a71f
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.77 MB · macOS, Apple silicon
    Verify · sha256 5a36925b0245…5c96aa2a
    Release
    1.0.2-dev.0 (development)
    Size
    3952742 bytes
    SHA-256
    5a36925b024575291d50b3f733c28d1ad5a2d3a784cce37e19dcd3935c96aa2a
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.94 MB · macOS, Intel
    Verify · sha256 43e4ee9086fb…ca10e083
    Release
    1.0.2-dev.0 (development)
    Size
    4135749 bytes
    SHA-256
    43e4ee9086fb8bf839c23bffefa6d64298d2c580faee802f0cdfb4d0ca10e083
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.15 MB · Linux
    Verify · sha256 ba165f795572…02f45a74
    Release
    1.0.2-dev.0 (development)
    Size
    5401754 bytes
    SHA-256
    ba165f79557214f22d5b9deb4a7b035462f339b22406f7c3212a376802f45a74
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 813.03 kB · Android
    Verify · sha256 5d1614e20f45…88b17ebb
    Release
    1.0.2-dev.0 (development)
    Size
    832545 bytes
    SHA-256
    5d1614e20f4553545c6503f445dccbc763b5facae2a5c1bdc602c94988b17ebb
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 3.07 MB · PortMaster
    Verify · sha256 8e7b764ab547…c0766b5a
    Release
    1.0.2-dev.0 (development)
    Size
    3221597 bytes
    SHA-256
    8e7b764ab547a21111598a48c72eeabd67a7e8b991afb471a1bf7daec0766b5a
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.14 MB · muOS
    Verify · sha256 c3dd5069cf95…fdab9102
    Release
    1.0.2-dev.0 (development)
    Size
    3296847 bytes
    SHA-256
    c3dd5069cf95d7213720f56397789a42e1bbdd106fa915ecb9efc2fffdab9102
    Commit
    81dd9deba14d
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.

Releases

5 declared

  1. 1.0.1 stable 2026-09-30

    Built on l3i 1.1.0.

    Changed

    • l3i 1.1.0 comes from crates.io; the @dream/ini module is unchanged.
    dream-ini-Windows-X64.zip 3.58 MB · Windows
    Verify · sha256 eac21a9b069a…ad8ee63e
    Release
    1.0.1 (stable)
    Size
    3750033 bytes
    SHA-256
    eac21a9b069a611f23ed010983e6212409812fbf33b4e8f06856a095ad8ee63e
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.77 MB · macOS, Apple silicon
    Verify · sha256 b1fe72936bc9…e3fd3ce8
    Release
    1.0.1 (stable)
    Size
    3952600 bytes
    SHA-256
    b1fe72936bc92f3eebd404cca8ba493486b3ad1c7517cd6d6a301293e3fd3ce8
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.94 MB · macOS, Intel
    Verify · sha256 8209df5bc1ae…988a80a1
    Release
    1.0.1 (stable)
    Size
    4135566 bytes
    SHA-256
    8209df5bc1aef8ce074574ff322efe39e8e1e9068091b2e834637b6d988a80a1
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.15 MB · Linux
    Verify · sha256 e9bc6c0d59b3…35a69c3d
    Release
    1.0.1 (stable)
    Size
    5401529 bytes
    SHA-256
    e9bc6c0d59b395982d9fb24cab22d4f6ca1292333b3f38c27c3ff04635a69c3d
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 812.99 kB · Android
    Verify · sha256 7e9e69c3ec96…6d5c9025
    Release
    1.0.1 (stable)
    Size
    832499 bytes
    SHA-256
    7e9e69c3ec96d02282204339e9c248cc3944b2068825684ac916a1f86d5c9025
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 3.07 MB · PortMaster
    Verify · sha256 face7fc6e24c…8e7fc14e
    Release
    1.0.1 (stable)
    Size
    3221615 bytes
    SHA-256
    face7fc6e24c80fdaae9a2c447c92e574618a36f59325cc1696888c08e7fc14e
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.14 MB · muOS
    Verify · sha256 94dca5abe1b1…8a1d35e0
    Release
    1.0.1 (stable)
    Size
    3296875 bytes
    SHA-256
    94dca5abe1b1e0f50fd12c25197e74fbc79569211d0babe62d9804818a1d35e0
    Commit
    df119713d8e9
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.

  2. 1.0.0 stable 2026-09-29

    First stable release: the Luau API is an l3i extension providing @dream/ini, a large import takes milliseconds instead of a fifth of a second, and the Rust and Luau APIs are under semver.

    Breaking changes

    • The luau feature (lua still works) makes the crate an l3i extension, luau::IniExtension, providing the module @dream/ini. lua::create_module and lua::register are gone with mlua.
    • Multimap values from Luau must be strings; numbers are no longer converted.
    • Building with the luau feature needs l3i’s toolchain: clang, lld and cross-language thin LTO.
    • Rust 1.92.

    Added

    • parseIni accepts a Luau buffer, and an unknown option’s error names the function and lists the known keys.
    • Every @dream/ini function has a Luau type, part of the plan’s generated definitions; the definitions check and the strict script build behind the test-only luau-analysis feature.

    Changed

    • Only search paths that are directories are probed, and the cfg’s data= directories are resolved once per import: the benchmark install imports in 4.9 ms instead of 206 ms.
    • dataDirs and every multimap argument are walked in place through l3i’s table option reader and array visitor, one element on the stack at a time and nothing pinned, and the game and encoding options are inspected without a copy. A dataDirs element that is not a string is reported as ini.importMaps.dataDirs[2]: expected a string, got number, and a dataDirs that is not a table as ini.importMaps.dataDirs: expected an array of strings, got string.
    • The PortMaster GUI renders through dream-soft-render without shape anti-aliasing, and skips drawing frames that did not change.
    • Release builds use thin LTO on every platform.
    • l3i 1.0.0 comes from crates.io.

    Fixed

    • An update of a cfg that sets resources= no longer adds a data= line for resources/vfs, one more on every import.
    • Each INI line loses exactly one trailing carriage return, as in the C++ importer.
    • importMaps, and import_maps in Rust, write encoding= as a path import does, so the Luau encoding option is no longer ignored.

    Migration

    Compose dream_ini::luau::IniExtension into the host’s l3i RuntimePlan. A host that still wants the dreamIni global adds RuntimePolicy::compat_global("@dream/ini", "dreamIni"). Scripts that pass numbers in multimaps must pass strings. Embedding Luau has the setup.

    dream-ini-Windows-X64.zip 3.58 MB · Windows
    Verify · sha256 fb775320d3bd…25e19773
    Release
    1.0.0 (stable)
    Size
    3750216 bytes
    SHA-256
    fb775320d3bd2d3fda03de26e0fb655d7ae2fc78468f849697f24e0325e19773
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.77 MB · macOS, Apple silicon
    Verify · sha256 d980b53c483a…60454496
    Release
    1.0.0 (stable)
    Size
    3953081 bytes
    SHA-256
    d980b53c483a68aa7f37407c6beb20c829b15f1de0b4051ca32cfee260454496
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.94 MB · macOS, Intel
    Verify · sha256 5956f9317356…819c53ec
    Release
    1.0.0 (stable)
    Size
    4135847 bytes
    SHA-256
    5956f93173561fc112fe52139160a584f77f3c4b83f8dd9017a531c1819c53ec
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.16 MB · Linux
    Verify · sha256 a4ac97ee62ea…f29c40f7
    Release
    1.0.0 (stable)
    Size
    5406331 bytes
    SHA-256
    a4ac97ee62eaeed2a3f0181d03aa8b2dae139837b78befd53398eceef29c40f7
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 812.75 kB · Android
    Verify · sha256 a9682f2779e2…d193740a
    Release
    1.0.0 (stable)
    Size
    832255 bytes
    SHA-256
    a9682f2779e2dc78beb445325629a3d4c43f728f0a26e051de46877ed193740a
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 3.07 MB · PortMaster
    Verify · sha256 072eb3199478…79d8e7e5
    Release
    1.0.0 (stable)
    Size
    3222341 bytes
    SHA-256
    072eb3199478a44a062790bfc49f98105e231785b021c2974fde7de979d8e7e5
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.14 MB · muOS
    Verify · sha256 b4c1566b519d…bc759fbb
    Release
    1.0.0 (stable)
    Size
    3296919 bytes
    SHA-256
    b4c1566b519d12c45b8b85895c60e781a00366b6b174e675025c6bc1bc759fbb
    Commit
    cd24b42bfe87
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.

  3. 0.3.1 stable 2026-09-27

    The Lua API runs on Luau with camelCase names, and dream-ini is MIT OR Apache-2.0.

    Breaking changes

    • The Lua API targets Luau through mlua 0.12, with standalone-lua building a vendored Luau, and every Lua name is camelCase: importPaths, gameFiles, dataDirs. Unknown options are errors.

    Changed

    • dream-ini is licensed MIT OR Apache-2.0, at your option, instead of GPL-3.0-only.

    Fixed

    • Updating a cfg keeps its existing settings when openmw-config records the file’s path in another spelling, as on Windows.
    • Dependencies updated past the crossbeam-epoch, quick-xml and webbrowser security advisories.
    dream-ini-Windows-X64.zip 3.68 MB · Windows
    Verify · sha256 8d59d3a21b0d…69525cfd
    Release
    0.3.1 (stable)
    Size
    3862436 bytes
    SHA-256
    8d59d3a21b0daa2ac7f0cddea2c8a1523d073046daa3ace70c84bddf69525cfd
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.61 MB · macOS, Apple silicon
    Verify · sha256 2a926c34fff6…bf1fd988
    Release
    0.3.1 (stable)
    Size
    3790205 bytes
    SHA-256
    2a926c34fff6233b9192742067180bf4d64dfa9352e86df2a6e4da2cbf1fd988
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.77 MB · macOS, Intel
    Verify · sha256 1aa68cc03f10…112d09b1
    Release
    0.3.1 (stable)
    Size
    3948600 bytes
    SHA-256
    1aa68cc03f103cb16bd6b87f067b2a6378fae869e7884cc4f5473f8c112d09b1
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.10 MB · Linux
    Verify · sha256 d07a09238fa3…f20ee328
    Release
    0.3.1 (stable)
    Size
    5349341 bytes
    SHA-256
    d07a09238fa3c74d301150e5baa6c0b580565ce4195a536f8135d68df20ee328
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 810.79 kB · Android
    Verify · sha256 01136d67e017…b5a6efda
    Release
    0.3.1 (stable)
    Size
    830254 bytes
    SHA-256
    01136d67e0178927c42957eb729c4bce40d900de567651f74f5fc3f0b5a6efda
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 2.98 MB · PortMaster
    Verify · sha256 2b8c9f795b40…162e7955
    Release
    0.3.1 (stable)
    Size
    3120055 bytes
    SHA-256
    2b8c9f795b40517618a7475fb8742609340dac8ea9067c9bee291fc1162e7955
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.05 MB · muOS
    Verify · sha256 54b96d85a32c…7466c6e4
    Release
    0.3.1 (stable)
    Size
    3198280 bytes
    SHA-256
    54b96d85a32c13dc9fb9061f11208a42734c18e0c5110d9f5c1c781c7466c6e4
    Commit
    390483d142c5
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.

  4. 0.2.0 stable 2026-05-29

    Content files load in the order Morrowind.exe gives them.

    Changed

    • Master files come first, then plugins, each group oldest first by modification time, as in Morrowind.exe. Plugin headers are no longer read to sort by dependency.
    • The GameFile list ends at the first missing number, and GameFile and Archive keys match whatever their case.
    • A GameFile that is not found stops the list with a warning, as Morrowind.exe does, instead of failing the import.
    dream-ini-Windows-X64.zip 3.69 MB · Windows
    Verify · sha256 f580cf3e6687…e0a0a4cc
    Release
    0.2.0 (stable)
    Size
    3865335 bytes
    SHA-256
    f580cf3e66873f10b4290bd55cd06158aa32144ed74c65afd738d574e0a0a4cc
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.68 MB · macOS, Apple silicon
    Verify · sha256 852072c5eae5…c4e16772
    Release
    0.2.0 (stable)
    Size
    3860193 bytes
    SHA-256
    852072c5eae577ccc70c0973cf87fdd5ccfea3f1a894d737069e2d61c4e16772
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.84 MB · macOS, Intel
    Verify · sha256 e76061b1ef3e…e0232f7c
    Release
    0.2.0 (stable)
    Size
    4028606 bytes
    SHA-256
    e76061b1ef3e53aed5237a52801f6bb23bed9837df1ea4064430d9c6e0232f7c
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.13 MB · Linux
    Verify · sha256 be1b5a11bb5c…9d00393f
    Release
    0.2.0 (stable)
    Size
    5377537 bytes
    SHA-256
    be1b5a11bb5ca6b585c947718b38d914176ddb20e79ddc5b3bfbfee29d00393f
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 817.67 kB · Android
    Verify · sha256 0123e4d26152…656fce24
    Release
    0.2.0 (stable)
    Size
    837289 bytes
    SHA-256
    0123e4d26152e52728aa64d751b4d9bb337f763ae8f81691deafdc9e656fce24
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 2.99 MB · PortMaster
    Verify · sha256 7f0f1615f2c8…0305d640
    Release
    0.2.0 (stable)
    Size
    3133387 bytes
    SHA-256
    7f0f1615f2c8692192fc913f7e73a6558fd99ef954c7b576135242650305d640
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.07 MB · muOS
    Verify · sha256 fe983aa089aa…9e7f120f
    Release
    0.2.0 (stable)
    Size
    3216714 bytes
    SHA-256
    fe983aa089aad0d634e91bf203da479972d507b09bada0ce55d769079e7f120f
    Commit
    83c20b6bfc72
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.

  5. 0.1.0 stable 2026-05-28

    First release: import Morrowind.ini into openmw.cfg from the command line, a desktop GUI or a handheld.

    Added

    • The importer: fallback settings, no-sound, archives and, with --game-files, content files, from --ini into a new cfg, a copy of --cfg, or --cfg updated in place.
    • A desktop GUI with controller navigation, opened by running dream-ini with no arguments.
    • A framebuffer GUI for PortMaster handhelds, a muOS app, and a command-line build for Android.
    • install-launcher, shell completions and a manual page.
    • The importer as a Rust library, and Lua bindings through mlua and LuaJIT behind the lua feature.
    dream-ini-Windows-X64.zip 3.70 MB · Windows
    Verify · sha256 11bb22262593…50d3ea62
    Release
    0.1.0 (stable)
    Size
    3874490 bytes
    SHA-256
    11bb22262593b51f647c7fa0a508f744dbe1bc7f26f2a050ad60f2f150d3ea62
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-Windows-X64.zip must print the digest above.

    dream-ini-macOS-ARM64.zip 3.69 MB · macOS, Apple silicon
    Verify · sha256 9cfe3c06fd55…8a393e86
    Release
    0.1.0 (stable)
    Size
    3867424 bytes
    SHA-256
    9cfe3c06fd55679d3de84ad064a8482092044b049530a75e6e2e9bf08a393e86
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-ARM64.zip must print the digest above.

    dream-ini-macOS-X64.zip 3.85 MB · macOS, Intel
    Verify · sha256 39a56af1fc98…f8de6258
    Release
    0.1.0 (stable)
    Size
    4036259 bytes
    SHA-256
    39a56af1fc98d2758b0ee9d911f2cc74742ca144700943e97e29a97ef8de6258
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-macOS-X64.zip must print the digest above.

    dream-ini-Linux-X64.zip 5.13 MB · Linux
    Verify · sha256 ca31c619c107…c703deb2
    Release
    0.1.0 (stable)
    Size
    5383669 bytes
    SHA-256
    ca31c619c10797383d5b57661e6bbf50fd3c6f9c6e18b6032392069fc703deb2
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-Linux-X64.zip must print the digest above.

    dream-ini-Android-ARM64.zip 824.36 kB · Android
    Verify · sha256 f35c4d8c90ba…a222c32e
    Release
    0.1.0 (stable)
    Size
    844146 bytes
    SHA-256
    f35c4d8c90bab7124eef9d1f15b6685fb359c3cae953073468766153a222c32e
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-Android-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.zip 2.99 MB · PortMaster
    Verify · sha256 c23028bc7339…69323251
    Release
    0.1.0 (stable)
    Size
    3137143 bytes
    SHA-256
    c23028bc7339900e056f2558c3528ea7f63f0ffa949bae813ec453db69323251
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.zip must print the digest above.

    dream-ini-Portmaster-ARM64.muxapp 3.07 MB · muOS
    Verify · sha256 2ea1044e7672…47b9a0d4
    Release
    0.1.0 (stable)
    Size
    3221312 bytes
    SHA-256
    2ea1044e76723550f5c469268149587d4ee0ae6e0b2220e28acc41df47b9a0d4
    Commit
    18d8261b4c00
    Sources
    1

    Check it yourself: sha256sum dream-ini-Portmaster-ARM64.muxapp must print the digest above.