diff --git a/docs/release/dev/sp-commonlib-update.md b/docs/release/dev/sp-commonlib-update.md deleted file mode 100644 index d5b55ba327..0000000000 --- a/docs/release/dev/sp-commonlib-update.md +++ /dev/null @@ -1 +0,0 @@ -CommonlibSSE updated to latest version. diff --git a/docs/release/dev/sp-cpp20-vs2022.md b/docs/release/dev/sp-cpp20-vs2022.md deleted file mode 100644 index d33cd0f5fe..0000000000 --- a/docs/release/dev/sp-cpp20-vs2022.md +++ /dev/null @@ -1 +0,0 @@ -The project now complies with C++20 and compiles with VS 2022 without errors. diff --git a/docs/release/dev/sp-drop-skse.md b/docs/release/dev/sp-drop-skse.md deleted file mode 100644 index 38a464bb24..0000000000 --- a/docs/release/dev/sp-drop-skse.md +++ /dev/null @@ -1 +0,0 @@ -SKSE64 is no longer a build dependency (Still required to run the plugin). diff --git a/docs/release/dev/sp-fileinfo.md b/docs/release/dev/sp-fileinfo.md deleted file mode 100644 index ba75db9c52..0000000000 --- a/docs/release/dev/sp-fileinfo.md +++ /dev/null @@ -1,8 +0,0 @@ -## FileInfo API - -Now you can get info about files directly inside of Skyrim's Data directory. - -```ts -sp.printConsole(JSON.stringify(sp.getFileInfo('Skyrim.esm'))); -// {"filename": "Skyrim.esm", "size": ..., "crc32": ...} -``` diff --git a/docs/release/dev/sp-fix-utf-text.md b/docs/release/dev/sp-fix-utf-text.md deleted file mode 100644 index beb19ff1d7..0000000000 --- a/docs/release/dev/sp-fix-utf-text.md +++ /dev/null @@ -1 +0,0 @@ -Fixed displaying of non-ASCII text: fixed working with UTF-8 (from JS) text and recompiled font to include Cyrillic symbols. In case you wish to update the font to use something else, please see [SP Texts API docs](../skyrim_platform/texts.md#compiling-font). diff --git a/docs/release/dev/sp-http-client-error.md b/docs/release/dev/sp-http-client-error.md deleted file mode 100644 index 1c6d6dc9e9..0000000000 --- a/docs/release/dev/sp-http-client-error.md +++ /dev/null @@ -1,18 +0,0 @@ -## `error` in HTTP client's response - -Added `error` field to `HttpResponse`. This allows checking for more detailed info -why your HTTP request failed. Currently, it can be -[one of these](https://github.com/yhirose/cpp-httplib/blob/b80aa7fee31a8712b1d3cae05c1d9e7f5c436e3d/httplib.h#L771-L785): -* Empty string, if successful -* `Unknown` -* `Connection` -* `BindIPAddress` -* `Read` -* `Write` -* `ExceedRedirectCount` -* `Canceled` -* `SSLConnection` -* `SSLLoadingCerts` -* `SSLServerVerification` -* `UnsupportedMultipartBoundaryChars` -* `Compression` diff --git a/docs/release/dev/sp-logging.md b/docs/release/dev/sp-logging.md deleted file mode 100644 index e9be6ae26f..0000000000 --- a/docs/release/dev/sp-logging.md +++ /dev/null @@ -1 +0,0 @@ -Logging introduced. Platform now uses skse runtime logging capabilities to provide users more feedback about its execution succession. Log file is located at `User\Documents\My Games\Skyrim Special Edition\SKSE.` diff --git a/docs/release/dev/sp-offsets.md b/docs/release/dev/sp-offsets.md deleted file mode 100644 index a11120ec9d..0000000000 --- a/docs/release/dev/sp-offsets.md +++ /dev/null @@ -1 +0,0 @@ -All raw offsets for hooks and game classes were replaced with Address Library IDs to support future game version changes. diff --git a/docs/release/dev/sp-platform-settings.md b/docs/release/dev/sp-platform-settings.md deleted file mode 100644 index 96a25eac2f..0000000000 --- a/docs/release/dev/sp-platform-settings.md +++ /dev/null @@ -1 +0,0 @@ -Skyrim Platform now have settings file located at `Data\SKSE\Plugins\SkyrimPlatform.ini`. diff --git a/docs/release/dev/sp-runtime-sinks.md b/docs/release/dev/sp-runtime-sinks.md deleted file mode 100644 index aa19093907..0000000000 --- a/docs/release/dev/sp-runtime-sinks.md +++ /dev/null @@ -1 +0,0 @@ -Runtime event sink handling introduced. Except for some custom events that fire from within the code, events now will not be processed if there are no plugins that are subscribed to them. In theory this should provide more execution performance since there are less calls that need to be processed. diff --git a/docs/release/dev/sp-security-fixes.md b/docs/release/dev/sp-security-fixes.md deleted file mode 100644 index 25367c4a8b..0000000000 --- a/docs/release/dev/sp-security-fixes.md +++ /dev/null @@ -1 +0,0 @@ -Fixed a few security issues related to local file paths checking. diff --git a/docs/release/sp-2.6.md b/docs/release/sp-2.6.md new file mode 100644 index 0000000000..ddf549f63e --- /dev/null +++ b/docs/release/sp-2.6.md @@ -0,0 +1,88 @@ +# SP 2.6.0 Release Notes + + +This document includes changes made since SP 2.5.0 + +**Hey! This is a very important update that adds AE/1.6 support, improves FPS, and generally fixes lots of crashes and issues. It's quite reasonable to update instead of keep using 2.5 or even older versions.** + +Remember that unfortunately updating SP break save games on *some* modlists. There are still many things to be implemented or fixed. See [issues](https://github.com/skyrim-multiplayer/skymp/issues?q=is%3Aopen+is%3Aissue+label%3Aarea%3Askyrim-platform). + +SP supports both Steam version of Skyrim SE (1.6+) and legacy 1.5.97. + +If you're enjoying Skyrim Platform, please star this repo. It helps ⭐ + +## `error` in HTTP client's response + +Added `error` field to `HttpResponse`. This allows checking for more detailed info +why your HTTP request failed. Currently, it can be +[one of these](https://github.com/yhirose/cpp-httplib/blob/b80aa7fee31a8712b1d3cae05c1d9e7f5c436e3d/httplib.h#L771-L785): +* Empty string, if successful +* `Unknown` +* `Connection` +* `BindIPAddress` +* `Read` +* `Write` +* `ExceedRedirectCount` +* `Canceled` +* `SSLConnection` +* `SSLLoadingCerts` +* `SSLServerVerification` +* `UnsupportedMultipartBoundaryChars` +* `Compression` + +## Add more events + +* `buttonEvent` +* `mouseMove` +* `thumbstickEvent` +* `kinectEvent` +* `deviceConnect` +* `actorKill` +* `criticalHit` +* `disarmedEvent` +* `dragonSoulsGained` +* `itemHarvested` +* `levelIncrease` +* `locationDiscovery` +* `shoutAttack` +* `skillIncrease` +* `soulsTrapped` +* `spellsLearned` + +## FileInfo API + +Now you can get info about files directly inside of Skyrim's Data directory. + +```ts +sp.printConsole(JSON.stringify(sp.getFileInfo('Skyrim.esm'))); +// {"filename": "Skyrim.esm", "size": ..., "crc32": ...} +``` + + +## Other changes + +- Fixed a few security issues related to local file paths checking. + + +- Skyrim Platform now have settings file located at `Data\SKSE\Plugins\SkyrimPlatform.ini`. + + +- Fixed displaying of non-ASCII text: fixed working with UTF-8 (from JS) text and recompiled font to include Cyrillic symbols. In case you wish to update the font to use something else, please see [SP Texts API docs](../skyrim_platform/texts.md#compiling-font). + + +- The project now complies with C++20 and compiles with VS 2022 without errors. + + +- CommonlibSSE updated to latest version. + + +- Runtime event sink handling introduced. Except for some custom events that fire from within the code, events now will not be processed if there are no plugins that are subscribed to them. In theory this should provide more execution performance since there are less calls that need to be processed. + + +- Logging introduced. Platform now uses skse runtime logging capabilities to provide users more feedback about its execution succession. Log file is located at `User\Documents\My Games\Skyrim Special Edition\SKSE.` + + +- All raw offsets for hooks and game classes were replaced with Address Library IDs to support future game version changes. + + +- SKSE64 is no longer a build dependency (Still required to run the plugin). diff --git a/skymp5-client/src/version.ts b/skymp5-client/src/version.ts index 3031f6d152..606d1c146b 100644 --- a/skymp5-client/src/version.ts +++ b/skymp5-client/src/version.ts @@ -1,6 +1,6 @@ import { Utility, Debug, getPlatformVersion, on, Game, Ui } from 'skyrimPlatform'; -const requiredVersion = '2.5.0'; +const requiredVersion = '2.6.0'; const realVersion = typeof getPlatformVersion === 'function' ? getPlatformVersion() : 'unknown'; diff --git a/skyrim-platform/package.json b/skyrim-platform/package.json index b62fbc5624..94e57bfefa 100644 --- a/skyrim-platform/package.json +++ b/skyrim-platform/package.json @@ -1,6 +1,6 @@ { "name": "@skymp/skyrim-platform", - "version": "2.5.0", + "version": "2.6.0", "description": "A modding tool for Skyrim allowing writing scripts with JavaScript/TypeScript", "license": "GPL-3.0" } diff --git a/skyrim-platform/src/platform_se/CMakeLists.txt b/skyrim-platform/src/platform_se/CMakeLists.txt index dffc847902..ec21a76975 100644 --- a/skyrim-platform/src/platform_se/CMakeLists.txt +++ b/skyrim-platform/src/platform_se/CMakeLists.txt @@ -1,4 +1,4 @@ -project(platform_se VERSION 2.5.0 LANGUAGES CXX) +project(platform_se VERSION 2.6.0 LANGUAGES CXX) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Version.h.in ${CMAKE_CURRENT_BINARY_DIR}/include/Version.h @ONLY) configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/version.rc.in ${CMAKE_CURRENT_BINARY_DIR}/version.rc @ONLY) diff --git a/skyrim-platform/src/platform_se/skyrim_platform/DevApi.cpp b/skyrim-platform/src/platform_se/skyrim_platform/DevApi.cpp index 53df6de910..8c2aea2ff9 100644 --- a/skyrim-platform/src/platform_se/skyrim_platform/DevApi.cpp +++ b/skyrim-platform/src/platform_se/skyrim_platform/DevApi.cpp @@ -97,7 +97,7 @@ JsValue DevApi::WritePlugin(const JsFunctionArguments& args) JsValue DevApi::GetPlatformVersion(const JsFunctionArguments& args) { - return "2.5.0"; + return "2.6.0"; } JsValue DevApi::GetJsMemoryUsage(const JsFunctionArguments& args)