Skip to content
dream-path

dream-pathChangelog

Changelog

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

Releases

7 declared

  1. 1.1.0 stable 2026-09-30

    Relicensed as MIT OR Apache-2.0 and built on l3i 1.1.0.

    Changed

    • Relicensed from GPL-3.0 to MIT OR Apache-2.0: this is the first release under the new terms, and releases up to and including 1.0.0 stay GPL.
    • l3i 1.1.0 comes from crates.io; the @dream/path module is unchanged.
    dream-path 1.1.0 22.73 kB · crates.io
    View on crates.io
    Verify · sha256 b254e95d7f08…aa730ecb
    File
    dream-path-1.1.0.crate
    Size
    23274 bytes
    SHA-256
    b254e95d7f08989cb61e67c804a461ceb37e8411db5e6443159dfecdaa730ecb

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  2. 1.0.0 stable 2026-09-29

    First stable release: the Luau API is an l3i extension providing @dream/path, normalization is faster, and the Rust and Luau APIs are under semver.

    Breaking changes

    • The lua feature binds the crate as an l3i extension, lua::PathExtension, providing the module @dream/path. create_module, register_module, register_module_as and the standalone-lua feature are gone with mlua.
    • Building with the lua feature needs l3i’s toolchain: clang, lld and cross-language thin LTO.
    • Rust 1.92.

    Changed

    • An already-normalized path is copied as one block, and the rest folded without branches: a normalized 56-byte key costs 36 ns instead of 91 ns.
    • A Luau call reads its path as a borrowed view and normalizes into a per-thread buffer, allocating nothing after warm-up; calls take about half as long as with mlua.
    • The definitions check and the strict-script test build behind the luau-analysis feature (cargo test --features luau-analysis); cargo test --features lua does not build Luau’s analysis frontend.
    • l3i 1.0.0 comes from crates.io.

    Migration

    Compose dream_path::lua::PathExtension into the host’s RuntimePlan. A host that still wants the dreamPath global adds RuntimePolicy::compat_global("@dream/path", "dreamPath"). The functions and their results are unchanged.

    dream-path 1.0.0 30.27 kB · crates.io
    View on crates.io
    Verify · sha256 141f666f9371…683010de
    File
    dream-path-1.0.0.crate
    Size
    30995 bytes
    SHA-256
    141f666f9371f98d5e88a37bc388413a5acc77fae4f82d8d114e0297683010de

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  3. 0.2.0 stable 2026-09-26

    The Lua API runs on Luau, with camelCase names.

    Breaking changes

    • The Lua bindings build against mlua 0.12 and Luau. standalone-lua now selects Luau.
    • Lua functions are camelCase (fileName, isUtf8), and the module’s name is dreamPath.

    Added

    • isNormalized in Lua.
    dream-path 0.2.0 26.28 kB · crates.io
    View on crates.io
    Verify · sha256 e583db715c69…a18cac31
    File
    dream-path-0.2.0.crate
    Size
    26913 bytes
    SHA-256
    e583db715c69f57e21a9a6583a5eef99b707582dff189842a3cd595fa18cac31

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  4. 0.1.3 stable 2026-04-27

    Breaking changes

    • The ByteSlice re-export is gone; use dream_path::bstr::ByteSlice.

    Added

    • bstr is re-exported as dream_path::bstr, so dependents can name its types without depending on it.
    dream-path 0.1.3 26.29 kB · crates.io
    View on crates.io
    Verify · sha256 a19898f64cdf…53f5c877
    File
    dream-path-0.1.3.crate
    Size
    26916 bytes
    SHA-256
    a19898f64cdf9fab61a1fa0f839b1ce360bc6a858db67717ff57b3e653f5c877

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  5. 0.1.2 stable 2026-04-27

    Changed

    • Rust 1.87, and newer bstr and mlua.

    Fixed

    • The crate documentation no longer links the Lua API when the lua feature is off.
    dream-path 0.1.2 26.20 kB · crates.io
    View on crates.io
    Verify · sha256 049f18a7dce5…c04059f4
    File
    dream-path-0.1.2.crate
    Size
    26833 bytes
    SHA-256
    049f18a7dce57415b003762676b86f1ac8bf074e134556823d828dcbc04059f4

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  6. 0.1.1 stable 2026-04-27

    Added

    • bstr::ByteSlice is re-exported.

    Changed

    • The lua feature no longer picks a Lua runtime: the host chooses one through its own mlua. standalone-lua selects vendored LuaJIT.
    dream-path 0.1.1 26.48 kB · crates.io
    View on crates.io
    Verify · sha256 301b5c1b23ec…1798cb60
    File
    dream-path-0.1.1.crate
    Size
    27115 bytes
    SHA-256
    301b5c1b23ec83d960055ac31804d1c3944fdf1b21a08b53f0a0d1bb1798cb60

    The same digest as the crates.io index's checksum, which Cargo checks on every download.

  7. 0.1.0 stable 2026-04-26

    First release: one normalization for virtual resource paths, and NormalizedPath to store it.

    Added

    • normalize_path, normalize_path_owned, normalize_path_in_place and normalize_path_into.
    • NormalizedPath, an owned key that normalizes on construction and looks up by borrowed bytes.
    • is_normalized_path, and parent, file_name and extension over normalized bytes.
    • Lua bindings through mlua and LuaJIT, behind the lua feature.
    dream-path 0.1.0 25.99 kB · crates.io
    View on crates.io
    Verify · sha256 77da8fbd8127…8665ebf3
    File
    dream-path-0.1.0.crate
    Size
    26618 bytes
    SHA-256
    77da8fbd812784ce99f7b3f700189f06055ac6e1a9671fcf2cc15e348665ebf3

    The same digest as the crates.io index's checksum, which Cargo checks on every download.