Releases: Deli-Collective/Deli
v0.4.2: fix ReflectionTypeLoadException when scanning assemblies
⚠️ 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
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
⚠️ 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
- Configs are now saved to
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
v0.3.1
v0.3.0
⚠️ 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
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
v0.2.0
⚠️ 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 dictionariespatcher
andruntime
.- 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 patchingDeli.Runtime
handlesDeliBehaviour
s (formerlyDeliMod
s)
Mod
- Now a class
Log
property is nowLogger
DeliMod
is nowDeliBehaviour
- "Deli mods" are the archives files Deli loads
DeliMod
was too similar to "Deli mod"
DeliBehaviour.BaseMod
is nowDeliBehaviour.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
- They fulfill BepInEx's
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 anIVersionChecker
- 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 byIResourceIO
for RegEx support
- See
Deli.Core
- Native (
DllImport
) assembly asset loader- Name:
assembly.native
- Path: a native assembly
- Name:
- GitHub version checkable
- Domain:
github.com
- Domain:
Deli.MonoMod
- Newly created
- MonoMod patch asset loader
- Name:
monomod
- Path: a MonoMod patch named as
[Assembly].mm.dll
- Name:
Fixes
- Symbolically linked mods no longer cause exceptions
- Fields and properties in
DeliBehaviour
are no longer null in the constructor.
Deli first release
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.