Skip to content

Releases: Exiled-Team/EXILED

9.0.0-beta.6

07 Oct 17:24
Compare
Choose a tag to compare
9.0.0-beta.6 Pre-release
Pre-release

Changelog

Additions

  • [Exiled.Example] Added more custom modules examples. #2783

Fixes

  • [Exiled.CustomModules] Minor fixes to existing module commands. #2783
  • [Exiled.CustomModules] Fixed RespawnManager not behaving as expected, such as not respawning any teams.
  • [Exiled.CustomModules] Fixed InventoryManager being always null or not set on roles.
  • [Exiled.CustomModules] Fixed CustomTeam spawn command not being able to retrieve registered teams.
  • [Exiled.CustomModules] Fixed CustomEscape module not being properly de/serialized.
  • [Exiled.CustomModules] Fixed World module not implementing the GameState component.

Changes:

  • [Exiled.CustomModules] Increased DISPATCH_OPERATION_DELAY value from 0.5f to 2.5f.

Full Changelog: 9.0.0-beta.5...9.0.0-beta.6

9.0.0-beta.5

23 Sep 08:50
Compare
Choose a tag to compare
9.0.0-beta.5 Pre-release
Pre-release

Changelog

Additions

[Exiled::Events] OnShot event now supports shooting into the sky. #2781

Full Changelog: 9.0.0-beta.4...9.0.0-beta.5

9.0.0-beta.4

15 Sep 17:00
Compare
Choose a tag to compare
9.0.0-beta.4 Pre-release
Pre-release

Changelog

Fixes

  • Fixed a TypeLoadException that occurred when loading plugins subscribing to the ChangedRole event.
  • Fixed an issue where Player::ChangeAppearance did not function correctly when applied to a ZombieRole.

9.0.0-beta.3

15 Sep 13:42
8e59c29
Compare
Choose a tag to compare
9.0.0-beta.3 Pre-release
Pre-release

Changelog

Breaking Changes

  • Renamed EConfig to ConfigSubsystem. The EnableAll and DisableAll methods in CustomModules and derivatives now require an assembly as input and return the number of instances of modules generated, activated, and registered per assembly.
  • Custom items' settings now utilize SettingsBase. User-defined custom item types must be based on SettingsBase.
  • Module activation is delayed by 0.5 seconds to allow for the proper loading of dependencies and plugins.
  • Renamed Spawned event to ChangedRole event by @Monald.
  • Removed previous settings for custom items, including ItemSettings and PickupSettings.
  • Removed generic trackers, which were unnecessary and caused memory issues. A single tracker is now sufficient.

Fixes

  • Deserialization Issues: Resolved problems with deserializing CustomItems. CustomItems now uses SettingsBase for proper serialization and deserialization with a custom deserializer.
  • Custom Role Spawning: Fixed logical issues with custom role spawning via static methods.
  • ModulePointer ID Conflicts: ModulePointer now avoids ID conflicts by using ModuleTypeIndicator to differentiate modules.
  • Automatic Module Loading: Modules not configured for loading are no longer loaded automatically, but only if explicitly enabled.
  • RoleAssigner Fixes: Corrected RoleAssigner and its related events to properly assign roles based on probabilities.
  • Config Initialization: Fixed issues with configs being null or not initialized inside behaviors.
  • Hash Code Issues: Fixed EObject::GetHashCode conflicts by relying on InstanceID, which increments for each existing EObject.
  • Duplicate Component Addition: Added checks to prevent components from being added twice to the same entity, avoiding issues from duplicated instances.
  • DynamicEventDispatcher Initialization: Ensured all DynamicEventDispatcher objects are initialized to avoid null reference exceptions during object instantiation.
  • Command Instance Lookup: Fixed issues with CustomItem and CustomRole commands not finding the module instance by Id or Name.

Additions

  • Dynamic Type Converter: Introduced DynamicTypeConverter<T> for resolving types during YamlDotNet (de)serialization.
  • Enhanced Log Information: Improved detail in Log::GetContextInfo().
  • Serialization for ModulePointer: Added serialization support for ModulePointer, now handling any data type.
  • Custom Serialization Logic: Added CustomModule::DeserializeModule_Implementation and CustomModule::SerializeModule_Implementation methods to support custom serialization and deserialization.
  • Module State Events: Implemented events to monitor the state of modules.
  • TrackablesGC: Added a garbage collector specifically for trackables.
  • ConfigSubsystem Enhancements: Improved handling and interaction with configs and sub-configs with new methods: Read<T>(string), ReadDataObject<T>(string), ReadDataObjectValue<TSource, TValue>(string), Write<T>(string, object), and WriteDataObjectValue<TSource, TValue>(string, object).
  • Config Loading on Server Start: Implemented ConfigSubsystem::LoadAll to load all plugins at server start.
  • Standalone Configs: Added ConfigSubsystem::IsStandAlone to define stand-alone configs that do not rely on parent or child configs. The path is user-defined (default is .config/EXILED/Configs/FolderName/FileName.yml).
  • DynamicTypeGenerator: Introduced DynamicTypeGenerator for runtime type creation, including methods for creating types and more.
  • EActor Events: Added EActor::OnAdded and EActor::OnRemoved events for when components are added or removed from entities.
  • Default Implementation Methods: Added static ModuleBehaviour<>::ImplementConfigs_DefaultImplementation() and static ModuleBehaviour<>::ApplyConfig_DefaultImplementation() for default instance method implementations.
  • Custom Module Serialization: Implemented CustomModule::DeserializeModule_Implementation and CustomModule::SerializeModule_Implementation methods for user-defined module (de)serialization logic.
  • PlayingAudioLog Event: Added PlayingAudioLog event by @NotZer0Two.
  • MoveNetworkIdentityObject API: Added MoveNetworkIdentityObject API by @notzerotwo_.

Changes:

  • Log Readability: Improved readability for logs related to info, warnings, errors, and module state changes.
  • Unified Settings Structures: Item and Pickup now share the same settings structures.
  • Tracker Fixes: Fixed trackers for items and pickups.
  • Example Project Regeneration: Regenerated the Exiled.Example project with updated custom item and role examples.
  • Optimized Attachments Generation: Improved performance of attachments generation at server start.
  • Deep Copy Support: Enhanced ReflectionExtensions::CopyProperties to support deep copying for nested and complex types.
  • StaticActor Performance: Optimized StaticActor and StaticActor<T> for faster instance retrieval.
  • Virtual Type Casting: Made TypeCastObject<T>::Cast methods virtual.
  • GlobalPatchProcessor Logs: Improved readability and logging for GlobalPatchProcessor.
  • Bug Report Fixes: Fixed issues reported in bug report n.396 by @notzerotwo_.

Exiled 9.0.0-beta.2

17 Aug 23:13
5498b5d
Compare
Choose a tag to compare
Exiled 9.0.0-beta.2 Pre-release
Pre-release

What's Changed

Full Changelog: 9.0.0-beta.1...9.0.0-beta.2

Exiled 9.0.0-beta.1

14 Aug 20:16
4bd815d
Compare
Choose a tag to compare
Exiled 9.0.0-beta.1 Pre-release
Pre-release

What's Changed

Full Changelog: 9.0.0-alpha.19...9.0.0-beta.1

9.0.0-alpha.19

22 Jul 05:52
Compare
Choose a tag to compare
9.0.0-alpha.19 Pre-release
Pre-release

Additions

  • [Exiled.API] Introduced new logging methods: Log::DebugWithContext, Log::InfoWithContext, Log::WarnWithContext, Log::ErrorWithContext, and Log::AssertWithContext. These methods now include Class::Method::Line when no context is provided or append [SPECIFIED_CONTEXT] when context is specified. New constants for context are also available.
  • Added CustomModule::TryRegister(Assembly, [CanBeNull] ModuleIdentifierAttribute) and CustomModule::TryUnregister methods.
  • [Exiled.API] Added support for YAML serialization of types with private or non-public default constructors.
  • [Exiled.API] Added support for enum class types serialization.

Fixes

  • [Exiled.API] Resolved serialization issues with enum class types, ensuring that only the name is serialized and not the numeric value.
  • [Exiled.API] Fixed recursive call issues in UniqueUnmanagedEnumClass and UnmanagedEnumClass.
  • [Exiled.CustomModules] Corrected the instantiation of null dynamic events. These are now instantiated correctly using DynamicEventManager::CreateInstanceFromType, addressing previous exceptions during module enabling.
  • [Exiled.CustomModules] Added YamlIgnore attribute to the CustomRole::Owners property.
  • [Exiled.CustomModules] Fixed issues with modules not loading due to missing paths for newly created configuration files, including module instances, behaviors and their relative ModulePointer.

Changes

  • [Exiled.CustomModules] Made ns:CustomItems::Settings class non-abstract.

Full Changelog: 9.0.0-alpha.18...9.0.0-alpha.19

9.0.0-alpha.18

21 Jul 20:25
c4e6422
Compare
Choose a tag to compare
9.0.0-alpha.18 Pre-release
Pre-release

Additions

  • [Exiled::Events] Added New AttackingEventArgs for SCP-096, SCP-173 & SCP-0492. #2739
  • [Exiled::API] Add new overload in Server::Shutdown(bool, bool). #2744

Fixes

  • [Exiled::API] Fixed item pickup time. #2745
  • [Exiled::API] Fixed ParentCheckpointDoor internal set. #2745
  • [Exiled::API] Fixed AntiSCP207 Item Creation. #2745
  • [Exiled::API] Fixed Player::UseItem() not calling the basegame event. #2745
  • [Exiled::Events] Fixed SpawningRagdollEventArgs::IsAllowed false not working as intended. #2747
  • [Exiled::Events] Fixed NullReferenceException in HealingEventArgs #2747
  • [Exiled::Events] Fixed NullReferenceException when setting ChangingItemEventArgs::Item to null #2747
  • [Exiled::Events] Fixed crash when using Strangling as SCP-3114 #2747

Changes (Non-Breaking)

  • [Exiled::API] AdminToy::Position now sets the AdminToyBase::NetworkPosition aswell. #2746
  • [Exiled::API] AdminToy::Rotation now sets the AdminToyBase::NetworkRotation aswell. #2746
  • [Exiled::API] AdminToy::Scale now sets the AdminToyBase::NetworkScale aswell. #2746
  • [Exiled::API] AdminToy::IsStatic now sets the AdminToyBase::NetworkIsStatic instead of AdminToyBase.IsStatic. #2746

Changes (Breaking)

  • [Exiled::API] Light::Create now use Quaternion for rotation instead of Vector3. #2746
  • [Exiled::API] Light::Create moved Color parameter before the spawn one. #2746
  • [Exiled::API] ShootingTargetToy::Create now use Quaternion for rotation instead of Vector3. #2746

Full Changelog: 9.0.0-alpha.17...9.0.0-alpha.18

8.9.11

21 Jul 21:53
06d144e
Compare
Choose a tag to compare

Fixes

  • [Exiled::Events] Fixed SpawningRagdollEventArgs::IsAllowed not working as intended. #2748
  • [Exiled::Events] Fixed NullReferenceException when setting ChangingItemEventArgs::Item to null. #2748

Full Changelog: 8.9.10...8.9.11

9.0.0-alpha.17

20 Jul 20:11
Compare
Choose a tag to compare
9.0.0-alpha.17 Pre-release
Pre-release
bump game version