diff --git a/docs/api/engine/framework/canaryengineclient.md b/docs/api/engine/framework/canaryengineclient.md index 38ad40a2..fb8cb2d2 100644 --- a/docs/api/engine/framework/canaryengineclient.md +++ b/docs/api/engine/framework/canaryengineclient.md @@ -49,4 +49,4 @@ Gets the players current character model; if it doesn't exist the thread will yi **Returns** -* **[Future](https://util.redblox.dev/future.html#methods)<[Character](/api/engine/types#character)>** \ No newline at end of file +* **[Character](/api/engine/types#character)** \ No newline at end of file diff --git a/docs/changelog.md b/docs/changelog.md index bbcbc6f4..13450824 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -8,13 +8,37 @@ keywords: [roblox, game, framework, changelog, updates] This is the changelog which is changed every update, and we follow semver. To see what we're working on, head to our [Trello](https://trello.com/b/fTJOmMua/canaryengine) board. +## 4.0.0 + +(Includes rc1-2) + +--- + +### Added + +* Rewrote plugin features +* Add package manager to plugin +* Add ability to add custom packages to manager +* Add `Snacky` to Canary Suite + +### Improvements + +* Improves internal API, should be significantly faster +* Improves networking / signal APIs, tuples are now allowed +* Improves default structure, changed names of all folders to fit developers' needs +* Improve UIShelf, adds text icons + improved menus + +### Removed + +* Deprecated functions + ## 4.0.0-rc2 ### Added * Adds `Red`, revamped the networking system once again and for the last time * Adds `NetworkController:FireFilter` -* Adds `CanaryEngine.ImportPackagesInOrder` +* Adds `CanaryEngine.ImportPackagesInOrder`2 * Finish API documentation ### Improvements @@ -43,7 +67,6 @@ This is the changelog which is changed every update, and we follow semver. To se * Improves EasyProfile ([#3](https://github.com/canary-development/CanaryEngine/pull/3), [koxx12](https://github.com/koxx12-dev)) * Renames `CanaryEngineFramework` instance to `Framework` * Renames `CanaryEngine` module to `Init` -* Fixed TS support, back on roblox-ts! * Small bug fixes * QOL fixes * Most yielding functions now make usage of Futures diff --git a/plugin/src/json/structure.json b/plugin/src/json/structure.json index e46d33a8..8d875f1c 100644 --- a/plugin/src/json/structure.json +++ b/plugin/src/json/structure.json @@ -1,5 +1,5 @@ { - "EngineClient": { + "Client": { "Packages": {}, "Assets": { "Models": {}, @@ -10,7 +10,7 @@ }, "Scripts": {} }, - "EngineReplicated": { + "Replicated": { "Packages": {}, "Assets": { "Sounds": {}, @@ -19,21 +19,19 @@ "Effects": {} } }, - "EngineReplicatedFirst": { - "Framework": { - "EngineLoader": { - "Init": { - "$className": "ModuleScript", - "$properties": { - "Source": "https://raw.githubusercontent.com/canary-development/CanaryEngine/main/src/lua/framework/Vendor/Libraries/EngineLoader/init.luau" - } - }, - "Vendor": "EngineLoaderAssets" - } + "PriorityLoad": { + "FrameworkLoader": { + "Init": { + "$className": "ModuleScript", + "$properties": { + "Source": "https://raw.githubusercontent.com/canary-development/CanaryEngine/main/src/lua/framework/Vendor/Libraries/EngineLoader/init.luau" + } + }, + "Vendor": "EngineLoaderAssets" }, "Scripts": {} }, - "EngineServer": { + "Server": { "Packages": {}, "Assets": { "Models": {}, diff --git a/src/lua/framework/init.luau b/src/lua/framework/init.luau index f84147b7..9c1c32d5 100644 --- a/src/lua/framework/init.luau +++ b/src/lua/framework/init.luau @@ -128,10 +128,9 @@ end -- Context Specific Functions -function CanaryEngineClient.GetPlayerCharacter(): Future.Future - return Future.new(function(player) - return player.Character or player.CharacterAdded:Wait() - end, PlayerService.LocalPlayer) +function CanaryEngineClient.GetPlayerCharacter(): Types.Character + local Player = PlayerService.LocalPlayer + return Player.Character or Player.CharacterAdded:Wait() end CanaryEngineClient.CreateNetworkController = CreateNetworkController :: (controllerName: string) -> (Network.Client<...any>)