Skip to content

Releases: Deli-Collective/Deli

v0.4.2: fix ReflectionTypeLoadException when scanning assemblies

20 Jul 03:24
Compare
Choose a tag to compare

⚠️ LTS Notice ⚠️

No more features will be added to Deli. All future updates will be bugfixes for the current version of Deli. For continued feature updates,
see the evolution of Deli: Stratum.


Changelog

Fixed

  • MonoMod patchers will no longer throw exceptions when BepInEx.MonoModLoader is used
  • A ReflectionTypeLoadException will no longer cause a crash

The asset attached is a copy of the mod uploaded to Thunderstore, in case you are unable to access Thunderstore for whatever reason.

Thunderstore Edition: For Real This Time

28 May 04:30
Compare
Choose a tag to compare

If you are installing manually, you do not want this version. Use 0.3. If you want to use r2modman and Thunderstore, install this via r2modman.


⚠️ LTS Notice ⚠️

No more features will be added to Deli. All future updates will be bugfixes for the current version of Deli. For continued feature updates,
see the evolution of Deli: Stratum.


Changelog

Nothing. I accidentally uploaded the 0.3.2 bleeding edge artifacts to Thunderstore and the GitHub release, instead of the 0.4.0 artifacts 😅.
The artifacts below (and the resulting release on Thunderstore) will be 0.4.1.


The asset attached is a copy of the mod uploaded to Thunderstore, in case you are unable to access Thunderstore for whatever reason.

Thunderstore Edition

28 May 04:09
Compare
Choose a tag to compare

⚠️ LTS Notice ⚠️

No more features will be added to Deli. All future updates will be bugfixes for the current version of Deli. For continued feature updates,
see the evolution of Deli: Stratum.


Changelog

Added

  • LTS notice to README.md
  • Backwards compatibility with mods that require 0.3.x

Changed

  • Paths
    • Configs are now saved to BepInEx/configs/Deli/
    • The cache is now saved to BepInEx/patchers/DeliTeam-Deli/cache/
    • Zip mods are now loaded from BepInEx/plugins/*/**/, e.g. BepInEx/plugins/MyName-MyMod/MyMod.deli
    • Directory mods are now loaded from BepInEx/plugins/*/*/**/, e.g. BepInEx/plugins/MyName-MyMod/DeliMod/manifest.json

Removed

  • Discord invite from README.md

The asset attached is a copy of the mod uploaded to Thunderstore, in case you are unable to access Thunderstore for whatever reason.

v0.3.2

17 Apr 05:25
Compare
Choose a tag to compare

Changelog

Fixed

  • Globs no longer match handles with names that contain, but do not match, the glob [#28]
  • deli:monomod.hookgen no longer throws exceptions when non-Deli MonoMod patches are present [#27]

v0.3.1

22 Mar 14:49
f36fb13
Compare
Choose a tag to compare

Changelog

  • Fixed builtin loaders: monomod and monomod.hookgen
  • Fixed plugins being destroyed on scene change
  • Improved source_url regex pattern (stricter)

v0.3.0

04 Mar 02:52
Compare
Choose a tag to compare

⚠️ This is a breaking update. If you are not a developer, please wait to update so that developers have enough time to update their mods. ⚠️


When upgrading from v0.2, please fully remove the BepInEx/plugins/Deli and BepInEx/patchers/Deli directories before copying Deli into your game folder.

Changelog

This is the abridged version because the project has been rewritten from scratch.

Also, we have a developer website now! This should (hopefully) help more than the previous wiki pages, and is more organized.

Features:

  • [#15] Virtual file system (VFS)
  • Individual stage types (used to be static classes and members)
  • [#14] Included JSON library (Deli.Newtonsoft.Json)
  • New stage: runtime (the old "runtime" is now setup)
  • More globs
    • [abc]
    • [!abc]
    • [a-z]
    • [!a-z]

Fixes

  • A manifest.json in root will now be ignored, and a warning will be logged
  • [#17] Zip directories without trailing slashes are now supported (backslash are still not)
  • Globstar (**) now works on directories only (like it is supposed to)

v0.2.5

05 Dec 03:29
Compare
Choose a tag to compare

This release addresses the issues found in the previous 0.2.x releases, making it the first usable one.
For a list of changes since v0.1, refer to this release here: https://github.com/Deli-Counter/Deli/releases/tag/v0.2.0

IMPORTANT:

  • Deli v0.2 changes some things and makes mods built against v0.1 incompatible. See the release linked above the those changes.
  • When upgrading to Deli v0.2.5 from v0.1 please fully remove the BepInEx/plugins/Deli/ directory before copying Deli into your game folder.

Join us on Discord for discussions, updates and support: https://discord.gg/g8xeFyt42j

v0.2.4

03 Dec 04:12
Compare
Choose a tag to compare
v0.2.4 Pre-release
Pre-release

Changelog:

  • Fixed fatal runtime exception in debug Unity builds

v0.2.0

02 Dec 05:28
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

⚠️ This is a breaking update. If you are not a developer, please wait to update so that developers have enough time to update their mods. ⚠️

Consider joining our Discord server, The Deli Counter, for update news and support.

Changelog

Feature summary (not all-encompassing):

  • Globbing
  • Version checking
  • Patching
  • Minor QoL changes

Breaking Changes

Manifest

  • assets has been split into the optional dictionaries patcher and runtime.
  • Mods with 0 total assets (patcher + runtime) will now fail to load.
    • Old manifests will give this error

Framework

  • Deli is now 2 libraries
    • Deli performs bootstrapping and patching
    • Deli.Runtime handles DeliBehaviours (formerly DeliMods)
  • Mod
    • Now a class
    • Log property is now Logger
  • DeliMod is now DeliBehaviour
    • "Deli mods" are the archives files Deli loads
    • DeliMod was too similar to "Deli mod"
  • DeliBehaviour.BaseMod is now DeliBehaviour.Source
  • Several interface implementations have been marked as internal. It is unlikely you were using these.

Features

Manifest

  • Path globbing
    • ?: match any character
    • *: match any amount of characters
  • Optional sourceUrl manifest property
    • URL to your mod's webpage
    • Examples: GitHub/GitLab repository, BoneTome/NexusMods mod page
  • dependencies is now optional

Filesystem

  • Deli will now load .deli files on top of the current .zip files. Please rename your archives to .deli, users keep extracting zip files.

Framework

  • Deli (static class)
    • Centralized static API for the Deli framework
    • Replacement for and is safer than most non-generic kernel calls
  • DeliRuntime (static class)
    • Centralized static API for runtime code
  • DeliConstants (static class)
    • Previously internal, now public class
    • Has lots of information, including version, used Deli
  • DeliBehaviour now has convienience properties
    • They fulfill BepInEx's BaseUnityPlugin API, but this may change.
    • Allows for easy BepInEx plugin porting
  • IPatcher
    • BepInEx-like patcher interface
    • Allows for patchers through Deli
    • Add your own by calling Deli.AddPatcher
  • IVersionCheckable
    • Provides version checking for a domain
    • Uses sourceUrl to generate an IVersionChecker
      • Performs an async version fetch
    • Requires no dependencies; checking is done where possible.
    • GitHub URLs are implemented via Deli.Core.
  • RegEx mod asset search
    • See IFindableIO, implemented by IResourceIO for RegEx support

Deli.Core

  • Native (DllImport) assembly asset loader
    • Name: assembly.native
    • Path: a native assembly
  • GitHub version checkable
    • Domain: github.com

Deli.MonoMod

  • Newly created
  • MonoMod patch asset loader

Fixes

  • Symbolically linked mods no longer cause exceptions
  • Fields and properties in DeliBehaviour are no longer null in the constructor.

Deli first release

19 Nov 23:57
Compare
Choose a tag to compare

Since this is the first public release of Deli, there is no content that currently supports it. This pre-release is meant to give content developers the chance to add support so when Deli officially releases there will be content to use it with.

Installation guide here