339 lines
12 KiB
Markdown
339 lines
12 KiB
Markdown
# Changelog
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [3.3.0] - 2024-02-28
|
|
|
|
### Added
|
|
- Embedded Linux support
|
|
- Apple tvOS support
|
|
- Android x86 and x86_64 support
|
|
- Runtime tests that load KTX 2.0 files
|
|
|
|
### Changed
|
|
- Moved Editor scripts into namespace `KtxUnity.Editor`
|
|
- Updated binaries to version 1.2.1.
|
|
|
|
### Fixed
|
|
- Code format in markdown files
|
|
- Apple iOS device and simulator SDK binaries are properly included/excluded, depending on target SDK.
|
|
- Compilation succeeds on non-supported platforms
|
|
- `System.EntryPointNotFoundException` for symbols `ktx_get_image_offset` and `ktx_get_image_size` on Windows.
|
|
- Using GraphicsFormatUsage (instead of the obsolete FormatUsage) in 2023.2 or newer.
|
|
- Crashes and undefined behavior caused by incorrect marshaling when using the IL2CPP scripting.
|
|
|
|
## [3.2.2] - 2023-11-14
|
|
|
|
### Fixed
|
|
- Fixed CI failing on isolation tests because of the WebGL sub-package import. Now imports the package synchronously in batch mode.
|
|
|
|
## [3.2.1] - 2023-11-06
|
|
|
|
### Changed
|
|
- Applied consistent code formatting.
|
|
- Updated to WebGL sub-packages from 1.0.0 to 1.0.1.
|
|
|
|
## [3.2.0] - 2023-09-14
|
|
|
|
### Changed
|
|
- Updated binaries to version 1.1.1.
|
|
- Updated WebGL sub-packages to version 1.0.0.
|
|
|
|
## [3.1.0] - 2023-08-25
|
|
|
|
### Added
|
|
- WebGL native libraries are now installed via sub-packages
|
|
- Full Apache 2.0 license text
|
|
|
|
### Changed
|
|
- Extended support back to Unity 2020.3 LTS
|
|
- Unexposed `KtxUnity.Tests.PlaceholderEditorTests`
|
|
|
|
### Removed
|
|
- WebGL native libraries
|
|
- Obsolete console error about downgrading package for certain Unity versions
|
|
- Native binaries don't contain etcdec anymore
|
|
|
|
## [3.0.0] - 2023-03-29
|
|
|
|
### Added
|
|
- `TextureBase.Load...` overloads that accepts an explicit transcode target texture format
|
|
|
|
### Changed
|
|
- [Breaking] Reduced public API to minimum requirement.
|
|
- Added missing XML documentation for remaining public API.
|
|
- Updated KTX-Software-Unity to [1.1.0](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v1.1.0)
|
|
|
|
### Removed
|
|
- Utility classes `TextureLoaderBase`, `TextureFileLoader` and `TextureUrlLoader` were moved to KtxUnityDemo project
|
|
- `TextureBase.LoadBytesRoutine` (was replaced by `LoadFromBytes` previously)
|
|
|
|
## [2.2.3] - 2022-11-18
|
|
|
|
### Fixed
|
|
- WebGL build errors (unresolved symbols during linking) due to outdated native library
|
|
|
|
## [2.2.2] - 2022-09-29
|
|
|
|
### Changed
|
|
- Marked `TextureBase.LoadBytesRoutine` obsolete in favor of `TextureBase.LoadFromBytes`
|
|
|
|
### Fixed
|
|
- Made `TextureBase.LoadBytesRoutine` public again to preserve API compatibility
|
|
|
|
## [2.2.1] - 2022-09-28
|
|
|
|
### Added
|
|
- Low-level API that gives finer control over the loading process (alternative to `TextureBase.LoadBytesRoutine`)
|
|
- `ManagedNativeArray` wrapper for efficient access of managed `byte[]` from C# Jobs
|
|
- Basis Universal texture (.basis) Editor import
|
|
- Support for loading any single image/layer/mipmap level of textures of any type (arrays, cubemaps, volumes)
|
|
- Support for discarding mipmap level chain (and import just one mipmap level)
|
|
- Support for importing Basis Universal texture types 2darray, 3d, video, cubemap (single images only at the moment)
|
|
- Many property getters on `KtxTexture` (e.g. `needsTranscoding`,`hasAlpha`,`isCubemap`)
|
|
- Experimental support for importing uncompressed KTX 2.0 textures (limited set of formats for now; #47)
|
|
|
|
### Changed
|
|
- De-prioritized texture formats `RGBA4444` and `BGR565` to avoid incorrect channel usage or low quality. Transcoding to `RGBA32` instead.
|
|
- Bumped minimum required Unity version to 2019.4 LTS
|
|
|
|
### Fixed
|
|
- Textures with alpha channel are shown blended (with checkerboard background) in the inspector now (`alphaIsTransparency` is enabled; #64)
|
|
- Avoid extra memcopy of input data by using `ManagedNativeArray` in `LoadFromStreamingAssets` and `LoadFromUrl`
|
|
- Improved texture format usage detection (linear vs. sRGB sampling)
|
|
- Loading of native library on Linux (thanks [@Blackclaws][Blackclaws] for #60)
|
|
|
|
## [2.1.2] - 2022-04-14
|
|
|
|
### Fixed
|
|
- Fix undefined variable error when building project
|
|
- Compiler error due to C# 7.3 incompatible code
|
|
|
|
## [2.1.1] - 2022-04-14
|
|
Ported changes from 1.2.0
|
|
|
|
### Added
|
|
- Editor Import via `ScriptableImporter` (thanks @hybridherbst][hybridherbst] for #45)
|
|
- Error Codes (in `TextureResult.errorCode`)
|
|
|
|
### Changed
|
|
- In release builds there's no console logging anymore (use the `errorCode` instead). In Debug builds and the Editor you still get detailed error messages.
|
|
|
|
### Fixed
|
|
- Will not transcode textures with sizes that are not a multiple of four to incompatible DXT5 or BC7 formats anymore
|
|
- Re-compiled macOS native library in release mode (`MinSizeRel`; was `Debug`). Expect improved performance.
|
|
|
|
## [2.0.1] - 2021-11-23
|
|
|
|
### Fixed
|
|
- Apple Silicon Unity Editor decoding
|
|
|
|
## [2.0.0] - 2021-10-28
|
|
|
|
### Changed
|
|
- WebGL library is built with Emscripten 2.0.19 now
|
|
- Minimum required version is Unity 2021.2
|
|
|
|
## [1.3.2] - 2023-04-11
|
|
|
|
### Fixed
|
|
- Apple Silicon Unity Editor decoding
|
|
|
|
## [1.3.1] - 2022-11-29
|
|
|
|
### Changed
|
|
- Marked `TextureBase.LoadBytesRoutine` obsolete in favor of `TextureBase.LoadFromBytes`
|
|
|
|
### Fixed
|
|
- Made `TextureBase.LoadBytesRoutine` public again to preserve API compatibility
|
|
|
|
## [1.3.0] - 2022-11-28
|
|
|
|
### Added
|
|
- Low-level API that gives finer control over the loading process (alternative to `TextureBase.LoadBytesRoutine`)
|
|
- `ManagedNativeArray` wrapper for efficient access of managed `byte[]` from C# Jobs
|
|
- Basis Universal texture (.basis) Editor import
|
|
- Support for loading any single image/layer/mipmap level of textures of any type (arrays, cubemaps, volumes)
|
|
- Support for discarding mipmap level chain (and import just one mipmap level)
|
|
- Support for importing Basis Universal texture types 2darray, 3d, video, cubemap (single images only at the moment)
|
|
- Many property getters on `KtxTexture` (e.g. `needsTranscoding`,`hasAlpha`,`isCubemap`)
|
|
- Experimental support for importing uncompressed KTX 2.0 textures (limited set of formats for now; #47)
|
|
|
|
### Changed
|
|
- De-prioritized texture formats `RGBA4444` and `BGR565` to avoid incorrect channel usage or low quality. Transcoding to `RGBA32` instead.
|
|
- Bumped minimum required Unity version to 2019.4 LTS
|
|
|
|
### Fixed
|
|
- Textures with alpha channel are shown blended (with checkerboard background) in the inspector now (`alphaIsTransparency` is enabled; #64)
|
|
- Avoid extra memcopy of input data by using `ManagedNativeArray` in `LoadFromStreamingAssets` and `LoadFromUrl`
|
|
- Improved texture format usage detection (linear vs. sRGB sampling)
|
|
|
|
## [1.2.3] - 2022-04-14
|
|
|
|
### Fixed
|
|
- Fix undefined variable error when building project
|
|
|
|
## [1.2.2] - 2022-04-14
|
|
|
|
### Fixed
|
|
- Compiler error due to C# 7.3 incompatible code
|
|
|
|
## [1.2.1] - 2022-04-14
|
|
|
|
### Added
|
|
- Editor Import via `ScriptableImporter` (thanks @hybridherbst][hybridherbst] for #45)
|
|
- Error Codes (in `TextureResult.errorCode`)
|
|
|
|
### Changed
|
|
- In release builds there's no console logging anymore (use the `errorCode` instead). In Debug builds and the Editor you still get detailed error messages.
|
|
|
|
### Fixed
|
|
- Will not transcode textures with sizes that are not a multiple of four to incompatible DXT5 or BC7 formats anymore
|
|
- Re-compiled macOS native library in release mode (`MinSizeRel`; was `Debug`). Expect improved performance.
|
|
|
|
## [1.1.2] - 2021-10-27
|
|
|
|
### Added
|
|
- Error message when users try to run KtxUnity 1.x Unity >=2021.2 combination targeting WebGL
|
|
|
|
## [1.1.1] - 2021-07-16
|
|
|
|
### Changed
|
|
- Updated KTX-Software-Unity to [0.4.2](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.4.2) (only the relevant iOS binaries)
|
|
|
|
### Fixed
|
|
- Bitcode is now embed in all iOS binaries (fixes #37)
|
|
|
|
## [1.1.0] - 2021-07-02
|
|
|
|
### Added
|
|
- Support for Lumin / Magic Leap
|
|
- Support for Apple Silicon on macOS via a universal library
|
|
|
|
### Changed
|
|
- Updated KTX-Software-Unity to [0.4.1](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.4.1)
|
|
|
|
### Fixed
|
|
- Prevent crash during mipmap reverting on recent llvm/emscripten versions
|
|
- Not transcoding to ETC1/ETC2/BC1 if resolution is not a multiple of four
|
|
- Switched to data-model-independent types in C binding to avoid crashes on certain platforms
|
|
|
|
## [1.0.0] - 2021-02-03
|
|
|
|
### Added
|
|
- Support for Universal Windows Platform (x64,x86,ARM,ARM64)
|
|
|
|
### Changed
|
|
- Switched API to `async` calls that return a `TextureResult` directly (instead of onTextureLoaded event)
|
|
- Doesn't require a MonoBehaviour for running coroutines anymore
|
|
- Raised minimum required version to 2019.2 (the version that switched to scripting runtime version .NET 4.6)
|
|
- Updated KTX-Software-Unity native libs to [0.3.0](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.3.0)
|
|
|
|
## [0.9.1] - 2020-11-12
|
|
|
|
### Changed
|
|
- Updated KTX-Software-Unity native libs to [0.2.4](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.2.4)
|
|
|
|
### Fixed
|
|
- Added missing native functions (on Linux)
|
|
|
|
## [0.9.0] - 2020-11-04
|
|
|
|
### Added
|
|
- Support for Universal Windows Platform (x64)
|
|
- Expressive error messages when loading unsupported KTX 1.0 or non-supercompressed KTX 2.0 file
|
|
|
|
### Changed
|
|
- Updated KTX-Software-Unity native libs to [0.2.2](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.2.2)
|
|
|
|
### Fixed
|
|
- Added missing basis transcoding functions on Windows (fixes #21)
|
|
- UASTC mode with alpha channel
|
|
|
|
## [0.8.2] - 2020-10-23
|
|
- No changes. Bump release to trick OpenUPM to create package for 0.8.1
|
|
|
|
## [0.8.1] - 2020-10-23
|
|
|
|
### Fixed
|
|
- Removed annoying warning about `UnityPackage.meta` file
|
|
|
|
## [0.8.0] - 2020-10-23
|
|
|
|
### Added
|
|
- Texture orientation is now exposed. This allows users to correct (=flip) them (fixes #18)
|
|
- Support for KTX specification 2.0 pr-draft2 (fixes #16)
|
|
- Support for Basis Universal UASTC supercompression mode (higher quality)
|
|
|
|
### Changed
|
|
- Native binary libs are now provided by [KTX-Software-Unity 0.1.0](https://github.com/atteneder/KTX-Software-Unity/releases/tag/v0.1.0)
|
|
- The KTX specification changed (from ~draft20 to pr-draft2), thus older KTX files cannot be loaded anymore.
|
|
- Unsupported basis file texture types (non 2D Images) raise a proper error now
|
|
- Removed support for 32-bit Desktop platforms (Windows, Linux)
|
|
|
|
## [0.7.0] - 2020-04-26
|
|
|
|
### Added
|
|
- Support for linear sampling
|
|
- Support for `ETC1_RGB` with sRGB sampling via `RGB_ETC2_SRGB`
|
|
- Support for `ETC2_EAC_R11` and `ETC2_EAC_RG11` (there's no interface yet to explicitly choose one- or two-channel textures)
|
|
|
|
## [0.6.0] - 2020-03-01
|
|
|
|
### Added
|
|
- Support for mip-map levels
|
|
|
|
### Changed
|
|
- Updated KTX library (now at KTX 2.0 specification draft 18)
|
|
|
|
## [0.5.0] - 2020-02-22
|
|
|
|
### Added
|
|
- Support for Universal Windows Platform (not verified/tested myself)
|
|
|
|
### Changed
|
|
- `TextureBase.LoadBytesRoutine` is public now to allow deeper integration
|
|
|
|
### Fixed
|
|
- Ensured backwards compatibility with Unity 2018.2
|
|
|
|
## [0.4.0] - 2019-11-10
|
|
|
|
### Changed
|
|
- Renamed project to KtxUnity
|
|
- Using less memory by freeing up texture after GPU upload
|
|
|
|
### Added
|
|
- Support for loading KTX 2.0 files with Basis Universal super-compression
|
|
|
|
## [0.3.0] - 2019-06-30
|
|
|
|
### Added
|
|
- Thread support via Unity Job system
|
|
- Support for Android armeabi-v7a and x86
|
|
|
|
## [0.2.0] - 2019-06-25
|
|
|
|
### Added
|
|
- Support for Linux 32/64 bit
|
|
|
|
## [0.1.0] - 2019-06-23
|
|
|
|
### Added
|
|
- Added support for Windows 32/64 bit
|
|
- Docs on how to use it
|
|
|
|
|
|
### Changed
|
|
- Restructured project to be a valid Unity package
|
|
|
|
## [0.0.1] - 2019-06-21
|
|
|
|
### Added
|
|
- Changelog. All previous work was not versioned.
|
|
|
|
[Blackclaws]: https://github.com/Blackclaws
|
|
[hybridherbst]: https://github.com/hybridherbst
|