Skip to content

Releases: KinsonDigital/Velaptor

🚀Production Release - v1.0.0.preview-44

09 Feb 23:41
2cccc9d

Choose a tag to compare

Velaptor Preview Release Notes - v1.0.0-preview.44

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

Enhancement

  • #1174 - Improved OpenGL debugging by removing reflection for buffer names and only including debugging with debug builds.
  • #1153 - Revamped and designed the content loading API.

Breaking Changes 🧨

  • #1153 - Introduced the following breaking changes due to content loading API changes:
    • The IAudio interface does not inherit from IDisposable anymore.
    • The Audio.Dispose() method has been removed from the Audio class.
      • This should not have been part of the public API. Unloading audio content is now done using the ContentManager.Unload<T>() method.
    • The ContentLoaderFactory class has been removed.
      • Loading content is now done using the ContentManager class.
    • The Size property setter of the Font class has been removed.
      • Setting the size of a font is no longer done on an already loaded font. This is now done using the following ContentManager methods:
        • To load a font using the default font size of 12, use ContentManager.Load<T>().
        • To load a font with a desired size, use the ContentManager.LoadFont() method.
        • This means if you want to use a font of a different size, instead of changing the size of a single already loaded font, you would load a font object for each size of font you want to use.
    • The Style property setter of the Font class has been removed.
      • Setting the style of a font is no longer done on an already loaded font. This is now done using the following ContentManager methods:
        • To load a font with a particular style, use the ContentManager.LoadFont() method.
    • Renamed the Font.MaxCacheSize class and IFont.MaxCacheSize interface property names to MaxMeasureCacheSize.
    • Renamed the Font.CurrentCacheSize class and IFont.CurrentCacheSize interface property names to CurrentMeasureCacheSize.
    • The ILoader<T> interface has been removed.
      • Content is now loaded using the ContentManager class.
    • Removed the IItemCache<T, T> interface.
    • Removed the following load content extension methods:
      • ILoader<IFont>.Load(string fontName, uint size)
      • ILoader<IAtlasData>.Load(string atlasPathOrName)
      • ILoader<IAudio>.Load(string audioPathOrName, AudioBuffer bufferType)
      • ILoader<ITexture>.Load(string texturePathOrName)
      • ILoader<ITexture>.Unload(ITexture? texture)
      • ILoader<IFont>.Unload(IFont? font)
      • ILoader<IAudio>.Unload(IAudio? audio)
      • ILoader<IAtlasData>.Unload(IAtlasData? atlas)
    • Removed the Width and Height properties from the IAtlasData interface and AtlasData class.
      • These properties did not make sense. To get the width and height of the atlas texture, reference the Texture property of the IAtlasData interface and/or AtlasData class instead.
    • The PathResolverFactory class has been changed from static to non-static.
    • Added a new interface IPathResolverFactory that is used by the PathResolverFactory class.

Dependency Updates 📦

  1. #1173 - Updated actions/cache action to v5.0.0.
  2. #1169 - Updated system.io.abstractions to v22.1.0.
  3. #1168 - Updated actions/checkout action to v6.0.0.
  4. #1167 - Updated avalonia to v11.3.11.
  5. #1162 - Updated microsoft.codeanalysis.netanalyzers to v10.0.0.
  6. #1161 - Updated microsoft.net.test.sdk to v18.0.1.
  7. #1157 - Updated serilog.sinks.console to v6.1.1.
  8. #1156 - Updated benchmarkdotnet to v0.15.8.
  9. #1152 - Updated sixlabors.imagesharp to v3.1.12.

🚀Production Release - v1.0.0-preview.43

25 Oct 08:00
91b9843

Choose a tag to compare

Velaptor Preview Release Notes - v1.0.0-preview.43

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

CICD

  1. #1136 - Updated the twitter environment variables.

Project-Config

  1. #1149 - Set up sprocket scripts to handle development tools.

Dependency Updates 📦

  1. #1147 - Updated dependency kinsondigital/infrastructure action to v16.0.0.
  2. #1144 - Updated dependency microsoft.net.test.sdk to v18.0.0.
  3. #1143 - Updated dependency xunit.runner.visualstudio to v3.1.5.
  4. #1141 - Updated dependency benchmarkdotnet to v0.15.4.
  5. #1139 - Updated dependency newtonsoft.json to v13.0.4.
  6. #1138 - Updated dependency system.io.abstractions to v22.0.16.
  7. #1137 - Updated dependency avalonia monorepo to v11.3.8.

🚀Production Release - v1.0.0-preview.42

21 Sep 21:28
35dc1bc

Choose a tag to compare

Velaptor Preview Release Notes - v1.0.0-preview.42

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

Enhancement

  1. #1112 - Removed the Moq NuGet package from all projects in the solution.

Project Config

  1. #1123 - Updated the kd-admin developer tool to the latest version.

Performance 🏎️

  1. #1116 - Improved the performance of gpu batch data creation.
  2. #1099 - Improved the performance of uploading GPU texture data.

Tech-Debt

  1. #1107 - Converted all Fluent Assertions unit test code to Shouldly.

Dependency Updates 📦

  1. #1133 - Updated the GitHub action actions/setup-java to v5.
  2. #1132 - Updated the GitHub action actions/setup-dotnet to v5.
  3. #1131 - Updated the GitHub action actions/checkout to v5.
  4. #1090 - Updated the GitHub action kinsondigital/infrastructure to v14.3.0.
  5. #1134 - Updated the dependency kinsondigital.casl to v1.0.0-preview.22.
  6. #1129 - Updated the dependency SixLabors.ImageSharp from v3.1.8 to v3.1.11.
  7. #1128 - Updated the dependency freetypesharp to v3.0.1.
  8. #1125 - Updated the dependency benchmarkdotnet to v0.15.2.
  9. #1122 - Updated the dependency microsoft.net.test.sdk to v17.14.1.
  10. #1121 - Updated the dependency communitytoolkit.mvvm to v8.4.0.
  11. #1120 - Updated the dependency serilog to v4.3.0.
  12. #1115 - Updated the dependency serilog.sinks.file to v7.0.0.
  13. #1119 - Updated the dependency xunit.runner.visualstudio to v3.1.4.
  14. #1114 - Updated the dependency sixlabors.imagesharp to v3.1.8.
  15. #1118 - Updated the dependency avalonia to v11.3.5.
  16. #1110 - Updated the dependency avalonia to v11.2.8.
  17. #1093 - Updated the dependency avalonia to v11.2.7.
  18. #1109 - Updated the dependency system.io.abstractions to v22.0.15.
  19. #1095 - Updated the dependency system.io.abstractions to v22.
  20. #1094 - Updated the dependency fluentassertions to v7.2.0.

🚀Preview Release - v1.0.0-preview.41

07 Feb 17:47
de16132

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.41

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

Bug Fixes 🐛

  1. #1081 - Fixed an issue with out the application directory path was being resolved.
  2. #1084 - Fixed a bug with self-contained and single-file builds not working due to an issue that was discovered in the CASL library.

Dependency Updates 📦

  1. #1086 - Updated dependency xunit.runner.visualstudio to v3.0.2.
  2. #1084 - Updated dependency kinsondigital.casl to v1.0.0-preview.21.
  3. #1083 - Updated dependency system.io.abstractions to v21.3.1.
  4. #1080 - Updated dependency coverlet.msbuild to v6.0.4.
  5. #1079 - Updated dependency coverlet.collector to v6.0.4.
  6. #1075 - Updated dependency fluentassertions to v7.1.0.
  7. #1073 - Updated dependency xunit to v2.9.3.
  8. #1073 - Updated dependency xunit.runner.visualstudio to v3.0.1.

Performance 🏎️

  1. #1077 - Increased the performance of how the FPS (frames per second) is calculated by over 93%.

Tech Debt 💳

  1. #1072 - Simple texture loader improvement.

CICD ⚙️

  1. #1087 - Updated all reusable workflow versions to the latest version.

🚀Preview Release - v1.0.0-preview.40

07 Jan 16:55
a6f29b7

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.40

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

New Features ✨

  1. #1067 - Added the ability to provide your own IContentPathResolver when creating content loaders using the ContentLoaderFactory.

Dependency Updates 📦

  1. #1065 - Updated dependency coverlet.msbuild to v6.0.3.
  2. #1064 - Updated dependency coverlet.collector to v6.0.3.
  3. #1063 - Updated dependency system.io.abstractions to v21.2.1.

Other 🪧

  1. #1073 - Removed an unused workflow used to prepare for releases.

🚀Preview Release - v1.0.0-preview.39

23 Dec 20:49
f3ae818

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.39

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

Dependency Updates 📦

  1. #1059 - Updated dotnet to dotnet v9.0.0.
  2. #1058 - Updated dependency xunit.runner.visualstudio to v3.0.0.
  3. #1057 - Updated dependency fluentassertions to v7.0.0.
  4. #1056 - Updated kinsondigital/infrastructure action to v14.1.0.
  5. #1055 - Updated dependency microsoft.net.test.sdk to v17.12.0.
  6. #1053 - Updated dependency sixlabors.imagesharp to v3.1.6.
  7. #1052 - Updated dependency microsoft.codeanalysis.netanalyzers to v9.0.0.
  8. #1049 - Updated dependency system.io.abstractions to v21.1.7.
  9. #1048 - Updated dependency silk.net.opengl.extensions.imgui to v2.22.0.
  10. #1047 - Updated dependency silk.net to v2.22.0.
  11. #1045 - Updated dependency nsubstitute to v5.3.0.
  12. #1040 - Updated avalonia monorepo to v11.2.3.
  13. #1038 - Updated dependency serilog to v4.2.0.
  14. #1037 - Updated dependency xunit to v2.9.2.

Other 🪧

  1. #1046 - Fixed failing tests on MacOS.
  2. #1042 - Removed deno scripts and configuration.
  3. #1007, #1006 - Refactored moq code to nsubstitute.

🚀Preview Release - v1.0.0-preview.38

01 Oct 17:43
8208500

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.38

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

New Features ✨

  1. #957 - Added the new overloads below to the texture renderer interface ITextureRenderer.
    • void Render(ITexture texture, int x, int y, float angle, float size, int layer = 0);
    • void Render(ITexture texture, Vector2 pos, float angle, float size, int layer = 0);
    • void Render(ITexture texture, int x, int y, float angle, float size, Color color, int layer = 0);
    • void Render(ITexture texture, Vector2 pos, float angle, float size, Color color, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, Color color, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, float angle, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, float angle, float size, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, float angle, Color color, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, float angle, float size, Color color, int frameNumber, int layer = 0);
    • void Render(IAtlasData atlas, string subTextureName, Vector2 pos, float angle, float size, Color color, RenderEffects effects, int frameNumber = 0, int layer = 0);
  2. #969 - Added the ability to know if a circle shape contains a vector by adding a method named Contains(Vector2) to the CircleShape struct.
  3. #955 - Added the ability to control how scenes wrap to first or last scene. Added the following:
    • Added the property CurrentSceneIndex to the ISceneManager interface
    • Added the property UsesNavigationWrapping to the ISceneManager interface

Enhancements 💎

  1. #965 - Improved the RectShape default behavior to avoid confusion.

Bug Fixes 🐛

  1. #1019 - Fixed an issue where textures were not being unloaded from the content cache.
  2. #1009 - Fixed an issue where certain window sizes were preventing any rendering.

Breaking Changes 🧨

  1. #967 - Moved the SceneAlreadyExistsException from the Velaptor.Exceptions namespace to the Velaptor.Scene.Exceptions namespace
  2. #966 - Changed the order of the constructor parameters of the CornerRadius struct from CornerRadius(float topLeft, float bottomLeft, float bottomRight, float topRight) to CornerRadius(float topLeft, float topRight, float bottomRight, float bottomLeft). This is a change from counterclockwise order to clockwise order.
  3. #965 - Changed default value of the RectShape.CornerRadius property to have a value of 0 for all corners.

Dependency Updates 📦

  1. #1032 - Updated dependency communitytoolkit.mvvm to v8.3.1.
  2. #1031 - Updated dependency fluentassertions to v6.12.1.
  3. #1030 - Updated dependency kinsondigital.kdgui to v1.0.0-preview.4.
  4. #1022 - Updated dependency kinsondigital.casl to v1.0.0-preview.20.
  5. #1015 - Updated dependency microsoft.net.test.sdk to v17.11.1.
  6. #1004 - Updated dependency simpleinjector to v5.5.0.
  7. #1002 - Updated dependency Avalonia to v11.1.3.
  8. #1002 - Updated dependency Avalonia.Desktop to v11.1.3.
  9. #1002 - Updated dependency Avalonia.Diagnostics to v11.1.3.
  10. #1002 - Updated dependency Avalonia.Fonts.Inter to v11.1.3.
  11. #1002 - Updated dependency Avalonia.Themes.Fluent to v11.1.3.

Other 🪧

  1. #1026 - Updated the kdadmin tool.
  2. #1008 - Replaced the testing app UI with kdgui.
  3. #1005 - Refactored moq code to nsubstitute code.
  4. #950 - Improved the VelaptorTesting app.

🚀Preview Release - v1.0.0-preview.37

11 Aug 13:39
a507a97

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.37

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, so your input is greatly appreciated. 🙏🏼

New Features ✨

  1. #954 - Added the ability to detect size changes with the game window. This makes it much easier to update your game objects that are based on the window size. Added the following methods to various types.

    Thank you @AndreBonda!!

    • ISceneManager.Resize(SizeU)
    • SceneBase.Resize(SizeU size)
    • IScene.Resize(SizeU size)

Bug Fixes 🐛

  1. #985 - Fixed a bug where relative content paths were not working.
  2. #985 - Fixed a bug where text measurement caching was not working when using the Font.Measure() method.

Breaking Changes 🧨

  1. #985 - Changed the name of the IContentPathResolver.ResolveFilePath() method parameter named contentName to contentPathOrName.

Dependency Updates 📦

  1. #989 - Updated dependency benchmarkdotnet to v0.14.0
  2. #988 - Updated dependency system.io.abstractions to v21.0.29
  3. #984 - Updated dependency sixlabors.imagesharp to v3.1.5
  4. #996 - Updated dependency avalonia.themes.fluent to v11.1.2
  5. #995 - Updated dependency avalonia.fonts.inter to v11.1.2
  6. #994 - Updated dependency avalonia.diagnostics to v11.1.2
  7. #993 - Updated dependency avalonia.desktop to v11.1.2
  8. #992 - Updated dependency avalonia to v11.1.2
  9. #974 - Updated dependency serilog.sinks.console to v6
  10. #973 - Updated dependency serilog to v4
  11. #972 - Updated dependency xunit to v2.9.0
  12. #972 - Updated dependency xunit.runner.visualstudio to v2.8.2
  13. #971 - Updated dependency simpleinjector to v5.4.6

Other 🪧

  1. #980 - Set up KD-Admin tool for development purposes.

🚀Preview Release - v1.0.0-preview.36

05 May 09:10
5900566

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.36

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, which is why your input is greatly appreciated. 🙏🏼

Bug Fixes 🐛

  1. #959 - Fixed an issue where unloading content would be invoked more than once.

Dependency Updates 📦

  1. #958 - Updated dependency xunit to v2.8.0
  2. #958 - Updated dependency xunit.runner.visualstudio to v2.8.0
  3. #956 - Updated dependency simpleinjector to v5.4.5
  4. #953 - Updated dependency silk.net.opengl.extensions.imgui to v2.21.0
  5. #952 - Updated dependency silk.net to v2.21.0
  6. #951 - Updated actions/checkout action to v4.1.4

Other 🪧

  1. #872 - Refactored moq code to nsubstitute.
  2. #103 - Moved OpenGL error callback code.

    Thank you @AndreBonda!!

🚀Preview Release - v1.0.0-preview.35

20 Apr 06:23
1fbc94f

Choose a tag to compare

Pre-release

Velaptor Preview Release Notes - v1.0.0-preview.35

Quick Reminder

As with all software, there is always a chance for issues and bugs, especially for preview releases, which is why your input is greatly appreciated. 🙏🏼

New Features ✨

  1. #934 - Added a new enum named AudioBuffer for choosing audio buffer types.
  2. #934 - Added a new property with the name BufferType to the IAudio interface and Audio class.
    • This is used to know what type of buffering is being used for the audio. This is a new feature that comes from CASL v1.0.0-preview.18.
  3. #934 - Added a new Load(string atlasPathOrName) method to the ILoader<IAtlasDta> interface for loading texture atlas data.
  4. #934 - Added a new Load(string audioPathOrName, AudioBuffer bufferType) method to the ILoader<IAudio> interface for loading audio.
  5. #934 - Added a new Load(string texturePathOrName) method to the ILoader<ITexture> interface for loading textures.

Bug Fixes 🐛

  1. #882 - Fixed the following bugs:
    • Fixed a bug where invoking the ImageData.FlipHorizontally() method would throw a null reference exception when an instance of ImageData struct was created via a default constructor or the default keyword.
    • Fixed a bug where invoking the ImageData.FlipVertically() method would throw a null reference exception when an instance of ImageData struct was created via a default constructor or the default keyword.

Breaking Changes 🧨

  1. #947 - 1. Removed the following constructors from the Texture class:

    • Removed constructor with the signature Texture(string name, ImageData imageData).
    • Removed constructor with the signature Texture(string name, string filePath).
  2. #933 - Removed the deprecated controls UI API.

  3. #882 - Removed the width and height ctor params from the ImageData struct.

    • The dimensions are now internally pulled from the pixels parameter.
  4. #938 - Removed the following constructors in the content API.

    • Removed the AtlasLoader class from public to internal.
    • Removed the TextureLoader class from public to internal.
    • Removed the AudioLoader class from public to internal.
    • Removed the FontLoader class from public to internal.
    • Removed the AtlasData class constructor from public to internal.
  5. #934 - Introduced the following breaking changes related to CASL audio API updates.

    • Renamed the ISound interface to IAudio.
    • Renamed the Sound class to Audio.
    • Changed the data type of the Position and Length properties to TimeSpan.
    • Replaced the State property from the ISound interface and Sound class with the following bool properties to represent the state of the audio.
      • IsPlaying
      • IsPaused
      • IsStopped
      • The State property was removed due to the unintentional exposure of the CASL API.
    • Removed the Reset() method from the ISound interface and Sound class. This method was performing the same operation as the Stop() method.
    • Removed the public constructor from the Sound class.
      • This was done to force users to use the content loader system.
    • Refactored the name of the LoadSoundException to LoadAudioException.
    • Refactored the name of the SoundLoader class to AudioLoader.
    • Refactored the name of the PathResolverFactory.CreateSoundPathResolver() method to PathResolverFactory.CreateAudioPathResolver().
    • Refactored the name of the ContentLoaderFactory.CreateSoundLoader() method to ContentLoaderFactory.CreateAudioLoader().
    • The default name of the content folder Sound which is where audio content is located has been changed to Audio.
    • Refactored the ILoader<IAudio>.Unload() method parameter named sound to audio.

Dependency Updates 📦

  1. #946 - Updated dependency freetypesharp to v3.0.0
  2. #942 - Updated dependency xunit to v2.7.1
  3. #942 - Updated dependency xunit.runner.visualstudio to v2.5.8
  4. #940 - Updated dependency sixlabors.imagesharp to v3.1.4
  5. #936 - Updated dependency CASL to v1.0.0-preview.19
  6. #932 - Updated dependency KinsonDigital.Carbonate to v1.0.0-preview.18
  7. #929 - Updated dependency system.io.abstractions to v21.0.0
  8. #928 - Updated dependency freetypesharp to v2.0.0
  9. #927 - Updated dependency coverlet.msbuild to v6.0.2
  10. #926 - Updated dependency coverlet.collector to v6.0.2

Other 🪧

  1. #924 - Removed reporator badge.
  2. #909 - Updated demo video link.
  3. #897 - Updated animation scene.
  4. #881,#868 - Refactored moq code to nsubstitute.

    Thank you @AndreBonda!!

  5. #783 - Replaced custom guards.

    Thank you @thestbar!!