Skip to content

chore(deps): update dependency opentk to v4#10

Open
renovate[bot] wants to merge 1 commit intomainfrom
renovate/opentk-4.x
Open

chore(deps): update dependency opentk to v4#10
renovate[bot] wants to merge 1 commit intomainfrom
renovate/opentk-4.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jun 8, 2025

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
OpenTK 3.1.04.9.4 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

opentk/opentk (OpenTK)

v4.9.4

Compare Source

  • BREAKING: Made Matrix3/4.CreateFromQuaternion and Matrix3x4/4x3.CreateFromQuaternion produce idential results for non-normalized quaternions. (@​NogginBops)

  • API: Add explicit casts to and from System.Numerics types. (@​DamienIsPoggers, @​NogginBops)

  • API: Added VectorN.Round/Ceiling/Floor/Truncate element-wise functions. (@​NogginBops)

  • API: Add ShaderStorageBufferBinding, ShaderStorageBufferStart, and ShaderStorageBufferSize to GetIndexedPName. (@​NogginBops)

  • API: Add MathHelper.RadToDeg(d) and MathHelper.DegToRad(d) constants for conversion between radians and degrees. (@​DamienIsPoggers)

  • API: Add support for the ALC_SOFT_loopback OpenAL extension through OpenTK.Audio.OpenAL.ALC.Loopback. (@​NogginBops)

  • FIX: Update OpenTK.redist.glfw to GLFW 3.4 so that the GLFW 3.4 apis work properly. (@​NogginBops)

  • FIX: Optimized VectorN.this[int i] and MatrixN.this[int row, int col] indexers. (@​NogginBops)

  • FIX: Made Color4.FromHsv and Color4.FromHsl work correctly when hue is 1. (@​NogginBops)

  • FIX: Updated OpenAL DllNotFoundException exception message to mention having to install OpenAL. (@​NogginBops)

  • FIX: The documentation for NativeWindowSettings.RenderFrequency now correctly refers to UpdateFrequency instead of UpdateFrame. (@​NogginBops)

v4.9.3

Compare Source

  • Fix issue where the OpenTK.Mathematics nuget package referenced System.Runtime.CompilerServices.Unsafe version 5.0.0 but the compiled OpenTK.Mathematics.dll assembly referenced version 6.0.0. Causing runtime crashes in some circumstances. The OpenTK.Mathematics nuget package now correctly requires version 6.0.0. (@​NogginBops)

v4.9.2

Compare Source

v4.9.1

  • BREAKING: Made NativeWindow able to run on Wayland (when running on Wayland NativeWindow will default to Wayland, use OPENTK_4_USE_WAYLAND=0 or set the X11 glfw hint to use X11/Xwayland). (@​NogginBops)

  • BREAKING: Change type of NativeWindow.CurrentMonitor property from MonitorHandle to MonitorInfo. (@​NogginBops)

  • BREAKING: Changed EGL bindings to DllImport libEGL instead of libEGL.dll (shouldn't be breaking in most cases). (@​NogginBops)

  • BREAKING: Removed leftover module references to libGLESv2.dll (and opengl32.dll and GLESv1_CM) in OpenTK.Graphics.dll which was causing build errors in net8.0-macos projects. (these references are never used by OpenTK so they shoudn't be there, this might break something in very specific circumstances)(@​NogginBops)

  • BREAKING: MathHelper.Lerp no longer clamps t to [0, 1] range. (@​NogginBops)

  • API: Upgrade to GLFW 3.4. (@​NogginBops)

  • API: Updated OpenGL bindings to contain the latest definitions without breaking 4.8.2 compatibility (this includes OpenGLES 3.1 and 3.2). (@​NogginBops)

  • API: Add NativeWindow.MakeFullscreen method to more seamlessly transition a window to fullscreen. (@​NogginBops)

  • API: Deprecate Matrix4(d).ExtractProjection. (@​NogginBops)

  • API: Added Matrix4(d).ExtractPerspectiveOffCenter/ExtractPerspectiveFieldOfView to extract projection matrix parameters from perspective projections. (@​NogginBops)

  • API: Added Matrix4(d).ExtractOrthographicOffCenter/ExtractOrthographic to extract projection matrix parameters from orthographic projections. (@​NogginBops)

  • API: Add matrix swizzle functions Matrix2/3/4(d).Swizzle/Swizzled/CreateSwizzle. (@​NogginBops)

  • API: Added MouseCursor.PointingHand/ResizeEW/ResizeNS/ResizeNWSE/ResizeNESW/ResizeAll/NotAllowed standard mouse cursors. (@​NogginBops)

  • API: Added VectorN.Slerp (spherical interpolation) and VectorN.Elerp (exponential interpolation) functions. (@​NogginBops)

  • API: Added NativeWindow.AlwaysOnTop property to set if a window should always be visible. (@​NogginBops)

  • API: Added NativeWindow.MousePassthrough property to set if the window should be transparent to mouse interactions. (@​NogginBops)

  • API: Added CusorState.Confined to be able to confine the mouse cursor to the window content area. (@​NogginBops)

  • API: Implemented Matrix3(d).Column1/2/3, Matrix4x3(d).Column1/2/3 and ``Matrix3x4(d).Column1/2/3/4` property setters. (@​NogginBops)

  • API: Make NativeWindow throw explicit InvalidOperationException or OutOfMemoryException if glfwCreateWindow fails. (@​NogginBops)

  • API: Added a few missing constants to the EGL bindings. (@​NogginBops)

  • API: Deprecate NativeWindow.CurrentMonitor property setter. (@​NogginBops)

  • API: Implemented Matrix2/3/4(d).Transposed/Inverted for matrix types that where missing them. (@​NogginBops)

  • API: Deprecate Matrix4d.Scale/RotateX/RotateY/RotateZ/Rotate/Frustum/Perspectiveuse the Create* functions instead. (@​NogginBops)

  • API: Deprecate EffectSlotInteger.AuxiliarySendAuto in favor of EffectSlotBoolean.AuxiliarySendAuto. (@​NogginBops)

  • FIX: Fix wglDXCloseDeviceNV argument name, from dxDevice to hDecvice. (@​NogginBops)

  • FIX: All assemblies are now signed. (@​RFBomb, @​NogginBops)

  • FIX: Fixed nuget package metadata. (@​NogginBops)

  • FIX: OpenTK.Graphics now contains proper debug info, the code is still generated but might improve debug experience. (@​NogginBops)

  • FIX: Fix issue where NativeWindowSettings.StartVisible=false with NativeWindowSettings.StartFocused=true would create a visible window. (@​NogginBops)

  • FIX: Updated links in README to link to the website tutorial. (@​NogginBops)

  • FIX: Added basic README to nuget packages. (@​NogginBops)

  • FIX: Fix GLFW calling convention when on 32-bit windows, this was causing a StackOverflowException. (@​NogginBops)

  • FIX: Improved a bunch of OpenAL documentation. (@​NogginBops)

v4.9.0

  • This version had broken nuget packages, see 4.9.1 instead.

v4.8.2

Compare Source

  • FIX: Fixed issue where setting NativeWindow.WindowState = WindowState.Normal while fullscreen would not exit fullscreen. (@​Th3Dilli)

  • API: Added NativeWindow.FramebufferSize, NativeWindow.OnFramebufferResize, and NativeWindow.FramebufferResize to be able to properly get the framebuffer size of the window (useful on macos where framebuffer size is not equal to client size). (@​NogginBops)

  • API: Added GameWindowSettings.Win32SuspendTimerOnDrag propery that allows the internal timer to be suspended while the window is moved or resized. Without this dragging the window will cause an abnormally large time delta since the last frame. (@​MV10)

  • API: Made NativeWindowSettings.Size obsolete in favour of NativeWindowSettings.ClientSize (NativeWindowSettings.Size has always set the client size of the window, this namechange just makes this clear). (@​MV10)

  • API: Added ability to override OpenAL and OpenCL native library search path by setting OpenALLibraryNameContainer.OverridePath or OpenCLLibraryNameContainer.OverridePath. (@​NogginBops)

  • API: Added NativeWindowSettings.AutoIconify and NativeWindow.AutoIconify property to control if the window gets minimized if it loses focus while fullscreen. (@​MV10)

  • API: Added missing enums to GetPName. (@​BoyBaykiller)

  • FIX: Fixed an issue where creating a NativeWindow on wayland would freeze in the constructor. (@​Th3Dilli)

  • BREAKING: Re-implemented Box2/3.Inflate to work like System.Drawing.Rectangle.Inflate. The old behaviour can be found using Box2/3.Extend, as the previous obsoletion message stated. (@​MV10, @​NogginBops)

  • Add example of how to implement IBindingsContext in the documentation comments on IBindingsContext. (@​utkumaden)

  • Internal changes to make the build system simpler and easier to modify. (@​NogginBops)

  • Internal changes from Math to MathF where appropriate. (@​MV10)

v4.8.1

Compare Source

  • API: Added NativeWindow.HasTransparentFramebuffer to be able to check if a transparent framebuffer was created successfully. (@​NogginBops)

  • API: Added missing enum entries in OpenCL.ContextProperties. (@​NogginBops)

  • FIX: NativeWindowSettings.StartVisible = false has been fixed and should now work as expected. (@​NogginBops)

  • FIX: Fixed issue where JoystickState.GetAxis returned buttons instead of axes. (@​NogginBops)

  • FIX: Fixed issue where self-contained dotnet publish would break due to duplicate libglfw.so files. (@​Th3Dilli)

  • FIX: Setting NativeWindow.WindowState will now be reflected in OnResize event caused by it. (@​NogginBops)

  • FIX: GameWindow.UpdateTime is now correctly updated, fixing an issue that first appeared in 4.7.1. (@​NogginBops)

  • FIX: Fixed typo in deprecation message for GameWindow.RenderFrequency. (@​postmeback)

v4.8.0

Compare Source

  • BREAKING: Renamed the OpenTK.OpenAL assembly to OpenTK.Audio.OpenAL to match the namespace. (@​NogginBops)

  • BREAKING: Make OpenAL extensions nested classes of AL and ALC instead of being namespaces to more closely match the OpenGL bindings. (@​NogginBops)

  • BREAKING: Removed AL.BindBufferToSource, AL.GetSourceState, AL.GetSourceType, and ALC.GetAvailableSamples that doesn't exist in the OpenAL API (use AL.Get* and ALC.Get* instead). (@​Khhs167, @​NogginBops)

  • BREAKING: NativeWindow.Location, NativeWindow.Size, and NativeWindow.Bounds now correctly refer to the external size and location of the window. (@​NogginBops)

  • BREAKING: Removed a few functions marked [Obsolete] since at least 4.7.2 but some even older. (@​NogginBops)

  • BREAKING: Removed OpenTK.Core.Utils.Swap<T>, use MathHelper.Swap<T> instead. (@​NogginBops)

  • API: Rename Box.Inflate to Box.Extend, and mark Box.Inflate as obsolete so we can change the behavior of Box.Inflate in future versions. (@​NogginBops)

  • API: Added GameWindow.TimeSinceLastUpdate() and GameWindow.ResetTimeSinceLastUpdate() which are useful when dealing with the modal move/resize loop on windows. (@​NogginBops)

  • API: Added NativeWindow.RawMouseInput and NativeWindow.SupportsRawMouseInput for activating raw mouse input. (@​NogginBops)

  • API: Added opt-in preliminary GLFW Wayland support through the environment variable OPENTK_4_USE_WAYLAND (it's broken when used with GameWindow or NativeWindow in this version). (@​NogginBops)

  • API: Updated the GameWindow run loop to be much more accurate. Exposed GameWindow.ExpectedSchedulerPeriod to tell OpenTK how accurate Thread.Sleep can be expected to be (this defaults to good defaults for Windows, Linux, and macos). (@​NogginBops)

  • FIX: Cleaned up some internal OpenGL definitions (doesn't change any bindings). (@​BoyBayKiller)

  • API: Expose MouseCursor.StandardShape as public. (@​NogginBops)

  • API: Add VectorNi.EuclideanLengthSquared. (@​NogginBops)

  • FIX: Added helpful exception message to NativeWindow when running with trimmed assemblies with a workaround for the issue. (@​NogginBops)

  • FIX: Fixed an issue where starting NativeWindow as a fullscreen window and then going to a normal window would throw an exception. (@​NogginBops)

v4.7.7

Compare Source

  • FIX: ToString() on all math types no longer throw NullReferenceException. (@​NogginBops)

v4.7.6

Compare Source

This version is broken, use 4.7.7 instead.

  • BREAKING: Changed the default value of NativeWindowSettings.Flags from ContextFlags.Default to ContextFlags.ForwardCompatible for better out of the box macos support. (@​NogginBops)

  • API: Added NativeWindowSettings.TransparentFramebuffer and NativeWindowSettings.VSync. (@​NogginBops)

  • API: Component-wise Lerp methods for float and double vector types. (@​g7ChoGXh)

  • API: Implemented IFormattable for most OpenTK.Mathematics types. (@​g7ChoGXh)

  • API: Add bindings for EXT_fragment_shading_rate. (@​BoyBaykiller)

  • API: Added casts from Vector2i and Vector2 to System.Drawing.Point/System.Drawing.Size and System.Drawing.PointF/System.Drawing.SizeF respectively. (@​NogginBops)

  • API: Added missing entries in SizedInternalFormat. (@​BoyBaykiller)

  • API: BinaryFormat now contains the ShaderBinaryFormatSpirV enum value. (@​NogginBops)

  • FIX: Many fixes related to NativeWindow.WindowState. Most notably, going from fullscreen to maximized and back works correctly. (@​NogginBops)

  • FIX: MonitorInfo.WorkArea now gives the correct values. (@​utkumaden)

  • FIX: Spelling and formatting corrections in documentation. (@​sg-wizard-maker)

  • FIX: Math types now change their formatting when CurrentCulture is changed. (@​g7ChoGXh)

  • FIX: Matrix4x3/Matrix4x3d now print their final row. (@​NogginBops)

  • FIX: On Windows, setting GameWindowSettings.UpdateFrequency and GameWindowSettings.RenderFrequency should be more accurate. For details see documentation for GameWindow.Run(). (@​NogginBops)

  • The OpenTK solution should now build directly in Visual Studio with no need to run build.cmd any more. (@​NogginBops)

v4.7.5

Compare Source

  • BREAKING: Removed the ALTest class from the OpenAL namespace. This was an internal test class that was accidentally included in the package. (@​NogginBops)

  • API: Deprecated Box.Contains function in favor of Box.ContainsInclusive and Box.ContainsExclusive to explicitly state if the box boundary should be considered contained. (@​NogginBops, @​Oribow)

  • API: Exposed EGL bindings to match the WGL bindings. (@​NogginBops)

  • API: Box2, Box2d, Box2i, Box3, Box3d, and Box3i now support XML serialization. (@​NogginBops)

  • API: Added ProgramBinaryLength to the GetProgramParameterName enum. (@​NogginBops)

  • FIX: MathHelper.ClampAngle and MathHelper.ClampRadians now return correct results. (@​FlashX64)

  • FIX: MathHelper.NormalizeRadians now return correct results. (@​FlashX64)

  • FIX: OpenAL now correctly loads on FreeBSD. (@​Partmedia)

  • Clarify in the readme that running on Windows requires "Visual C++ Redistributable 2015" (@​NogginBops)

  • Update to GLFW 3.3.8 (@​NogginBops)

v4.7.4

Compare Source

  • FIX: Updated OpenTK.redist.glfw nuget reference to the latest version (3.3.7.27), the previous 3.3.7.25 had issues on linux.

v4.7.3

Compare Source

  • API: Added overloads for Vector2i, Vector3i, and Vector4i to GL.Uniform and GL.ProgramUniform family of functions. (@​NogginBops)

  • API: Added overloads for non-symmetric matrices to GL.Uniform family of functions to the OpenTK.Graphics.OpenGL4 namespace. (@​NogginBops)

  • API: Added IsButtonPressed and IsButtonReleased to JoystickState, to match KeyboardState and MouseState. (@​g7ChoGXh)

  • API: Added GL_KHR_shader_subgroup to the bindings. (@​BoyBaykiller)

  • FIX: Fixed race condition in RethrowCallbackExceptionsIfNeeded where some uncaught exceptions in callbacks could be lost. (@​NogginBops, @​seanofw)

  • FIX: Fixed issue where NativeWindow.OnClosing and NativeWindow.Closing wheren't called when calling NativeWindow.Close(). (@​NogginBops)

  • FIX: Made CL.EnqueueReadBuffer<T>() use the correct sizeof(T) instead of sizeof(float). This caused issues where the wrong number of bytes where sent, possibly leading to an access violation. (@​NogginBops, @​Ed-Silver)

v4.7.2

Compare Source

  • BREAKING: Fixed issue where the QuaternionD(double, double, double) ctor produced the wrong quaternion. It now produces the same quaternion as Quaterion(float, float, float). (@​NogginBops)

  • BREAKING: Fixed QuaterionD.ToEulerAngles to now produce the correct result. It now matches the result from Quaterion.ToEulerAngles. (@​NogginBops)

  • API: Deprecated NativeWindow.CursorVisible and NativeWindow.CursorGrabbed in favor of a unified NativeWindow.CursorState that disallows invalid combinations. (@​NogginBops)

  • API: Added NativeWindowSettings.SrgbCapable to be able to create a default framebuffer with sRGB capabilities. (@​NogginBops)

  • API: Added glfw native access funtions added in glfw 3.1. (@​NogginBops)

  • API: Added MinimumSize and MaximumSize properties to NativeWindow and NativeWindowSettings. (@​toasty1307)

  • API: Added NativeWindow.ProcessWindowEvents static function for processing events manually. Prefer this function (with NativeWindow.ProcessInputEvents) in a multi-window setup. (@​NogginBops)

  • API: Exposed NativeWindow.ProcessInputEvents() so multi-window setups can update input state of all windows before handling events (using NativeWindow.ProcessWindowEvents). (@​NogginBops)

  • API: Added a proper "main thread" check for glfw. To turn this off, GLFWProvider.CheckForMainThread can be set to false. (@​NogginBops)

  • API: Added all missing enums to SizedInternalFormat. (@​NogginBops)

  • API: Added TextureCubeMapArray to TextureTarget3d. (@​NogginBops)

  • API: Added ParameterBuffer to BufferTarget. (@​NogginBops)

  • API: Added overloads to MultiDrawElementsIndirectCount that takes the proper DrawElementsType enum as an argument. (@​NogginBops)

  • API: Added overloads to VertexAttribIFormat and VertexAttribLFormat that take VertexAttribIntegerType and VertexAttributeDoubleType respectively. (@​BoyBaykiller)

  • API: Added bindings for NV_mesh_shader, NV_shading_rate, NV_primitive_shading_rate, NV_representative_fragment_test and NV_scissor_exclusive extensions. (@​BoyBaykiller)

  • API: Enums should now be documented with their minimum version or extension requirements. These are not guaranteed to be 100% accurate but should mostly correct. (@​NogginBops)

  • API: Added RawMouseMotionAttribute enum, to be able to control raw mouse motion from GLFW.

  • Fix issue where limiting framerate would cause issues with input functions like JoystickState.WasButtonPressed whould have an incorrect value (@​NogginBops).

  • Updated GLFW to 3.3.7. This should fix an issue where UTF-16 code points where sent to OnTextInput causing it to crash. (@​NogginBops, @​g7ChoGXh)

  • If the update loop gets too far behind it no longer tries to make up for lost time. This was typically caused by resizing the window, and or closing the lid of a laptop. (@​daerogami)

  • OpenTK no longer put an upper limit on the System.Runtime.CompilerServices.Unsafe package. (@​NogginBops)

  • Fixed so NativeWindowSettings.DepthBits and NativeWindowSettings.StencilBits actually affect the resulting backbuffer format. (@​NogginBops)

  • Fixed an issue in Box3i.Contains(Vector3i) where one of the comparisons where wrong, causing incorrect results. (@​BlakkM9)

  • Fixed an issue where Vector3i.ComponentMin returned one of the input arguments instead of the proper result. (@​Oribow)

  • Fixed OpenAL Buffer(int, BufferLoopPoint, ReadOnlySpan<int>) overload to no longer crash. (@​NogginBops)

v4.7.1

Compare Source

  • BREAKING: Simplifications to the Monitors api, hopefully it's easier to work with now. Old functions are marked [Obsolete] with directions for equivalent operations with the new API. (@​NogginBops)

  • BREAKING: Changed Span<T> to ReadOnlySpan<T> in OpenAL bindings where appropriate. (@​NogginBops)

  • API: Add more information to MonitorInfo such as human-readable names and supported video modes. (@​NogginBops, @​utkumaden)

  • API: Added component-wise division operators for vector types (@​NogginBops, @​wildniklin)

  • API: Added missing One and Zero static readonly fields to Vector3i (@​NogginBops, @​wildniklin)

  • API: Implemented AL_SOFT_loop_points OpenAL extension. (@​NogginBops)

  • Passing ContextAPI.NoAPI in NativeWindowSettings.ContextAPI will not create an OpenGL context. This allows you to use NativeWindow to create a vulkan context, see #​1334. (@​arakis, @​NogginBops)

  • Added warning to documentation that ClientSize will not be guaranteed to have updated values in the OnMaximized and OnMinimized callbacks. (@​NogginBops, @​wo80)

  • Updated to GLFW 3.3.5. (@​NogginBops)

  • FIX: Fix invalid IL generation for some edge case GL ES functions, AOT compiling OpenTK now works correctly!! (@​NogginBops, thanks @​jkotas for helping me understand the issue)

  • FIX: Fix Box3 documentation referencing 2D concepts. (@​CaiB)

  • FIX: Fixed MathHelper.MapRange so that it no longer always throws division by zero exceptions. (@​jdmisek)

  • FIX: Fixed OnUnload so that it's acutally called in all cases when closing the window. (@​NogginBops, @​adfcf)

  • FIX: Wrap all callbacks in exception handlers that will then rethrow these exceptions at the end of NativeWindow.ProcessEvents() so that exceptions don't unwind into native calls which is a problem on non-windows platforms. (@​NogginBops, @​PJB3005)

  • FIX: Fix NativeWindow.IsExiting and NativeWindow.Exists so that they actually contain correct values. (@​NogginBops)

  • FIX: Fix Box2d.Translate and Box2i.Translate, this fix also fixes setting the Box2d.Center and Box2i.Center properties. (@​NogginBops, @​yts233)

  • FIX: Made JoystickCallback still work when multiple windows are used. (@​TheBlubb14)

  • FIX: The MonitorCallback no longer gets garbage collected and crashes the program when called. (@​NogginBops)

  • Deprecated the Closed event and then OnClosed virtual method, they where never called and now we explicitly say so. (@​NogginBops)

  • Deprecated NativeWindowSettings.IsFullscreen, use NativeWindowSettings.WindowState instead. (@​NogginBops)

  • Deprecated NativeWindowSettings.IsMultiThreaded, Render/Update split isn't a great idea then multithreading and users can easily spin up an "update" thread themselves. (@​NogginBops)

v4.7.0

Compare Source

This released was built using a broken build script.
4.7.1 is released with a fixed build script and the change log for 4.7.1 is identical to this version except the fix to the build script.

v4.6.7

Compare Source

  • FIX: Fixed closing window causing AccessViolations on windows and other crashes on other platforms. (@​NogginBops)

v4.6.6

Compare Source

  • FIX: Fixed arithmetic overflow issue in Box2i.Center and Box3i.Center introduced when making them return correct values.

v4.6.5

Compare Source

  • API: Added settings in NativeWindowSettings for controlling backbuffer parameters such as DepthBits and StencilBits. (@​deccer)

  • API: Added SwapInterval to IGraphicsContext and moved VSync property from GameWindow to NativeWindow to allow for more control over vsync. (@​softwareantics)

  • Updated GLFW to 3.3.4. (@​NogginBops)

  • FIX: Fixed Box2i.Center and Box3i.Center returning wrong values. (@​NogginBops, thanks @​g7ChoGXh for the bug report)

  • FIX: Implemented proper disposing of NativeWindow. (@​NogginBops, thanks @​xiejiang2014 for the bug report)

  • FIX: Fixed calling conventions on glfw callbacks in 32-bit builds. (@​NogginBops)

v4.6.4

Compare Source

  • FIX: Made it so that the singular check in Matrix4.Invert is the same between platforms.
    In particular this fixes an issue where the singular check was too aggressive in the SSE3 path. (@​NogginBops)

  • FIX: Made checking for OpenAL extensions not crash if the extension wasn't present. (@​NogginBops)

  • FIX: Fix to the rewriter to not generate invalid IL on some GLES functions. (@​NogginBops)

  • Updated CONTRIBUTING.md to not contain broken links. (@​asears)

v4.6.3

Compare Source

  • FIX: Fixed an issue where Matrix4.Invert threw an exception if the matrix determinant was negative. (@​NogginBops, thanks for reporting @​ghidosoft)

v4.6.2

Compare Source

  • FIX: The package should now be built corretly and work on .net core 3.1 and up. (@​PJB)

v4.6.1

Compare Source

  • FIX: Made OpenTK.Mathematics work on .net standard 2.1 and .net core 3.1 which broke with 4.6.0. (@​PJB)

v4.6.0

Compare Source

  • API: Added cl_khr_gl_sharing extension for OpenCL which allows OpenCL x OpenGL interop. (@​NepNet)

  • FIX: Removed allocations from Matrix4.Invert and Matrix3.Invert and made them about 90% faster. (@​NogginBops)

v4.5.0

Compare Source

  • API: Introduced GameWindow.UpdateTime to match GameWindow.RenderTime. (@​NogginBops)

  • API: Added GLFW functions for getting platform dependent opengl context pointers. (@​NogginBops)

  • FIX: GameWindow.RenderTime now gets updated correctly. (@​NogginBops)

  • FIX: Actually assign APIVersion property in NativeWindow. (@​BroMandarin)

  • FIX: The MouseWheelEventArgs in OnMouseWheel now correctly returns a delta instead of an accumulated offset. (@​GeorchW)

  • FIX: Some overloads for AL.DeleteSources where calling alDeleteBuffers instead of alDeleteSources. (@​NogginBops)

v4.4.0

Compare Source

  • API: Added properties ButtonCount, AxisCount, and HatCount to JoystickState (@​Ferpsalerp)
  • API: Added a method that centers the NativeWindow in the monitor it currently resides (with optional resize) (@​Timber1900 and @​NogginBops)
4.3.0
4.2.0
  • API: Add WGL Bindings + dx_interop extensions.

  • API: Add Euclidian/Manhattan Distance to Vector2/3/4i (@​NogginBops)

  • API: Add Vector Range Mapping (@​NogginBops)

  • Optimized Quaternion to Matrix3/Matrix4 conversions (~80% faster) (@​NogginBops)

4.1.0
4.0.6
4.0.5
4.0.4
4.0.3
4.0.2
  • Fix for duplicate mouse state updates (Thanks @​HughPH)
4.0.1
  • Internal code improvements & fixes (@​NogginBops)
  • Remove memory allocations from joystick axes every frame (@​K0bin)
  • Remove memory allocations from KeyboardState + MouseState Updates (@​HughPH)
4.0.0

Huge thanks and congratulations to the entire OpenTK Community for getting this release together.

Key changes:

  • Full support for .Net Core 3.1
  • Brand new GLFW-based windowing system
  • Brand new GLFW-based input system
  • Removed all platform-specific backends (and fixed every xplat bug!)
  • Math library performance improvements and fixes
  • All new OpenAL bindings
  • All new OpenCL Bindings
  • Total restructure of all packages into a modular system with a number of packages. The OpenTK package is now a metapackage that will automatically download all of these for you.

OpenTK 4.0.0 is entirely MIT licensed.

Full Log:

  • Input fixes (@​HughPH)
  • Link to the tutorial in the package description.
  • Fix for broken delegates (@​HughPH)
  • Significant rework & improvements to input. (Massive Thanks to @​Phyyl, @​HughPH and @​NogginBops)
  • Fixes to OpenAL Bindings (@​NogginBops)
  • General Math improvements (@​NogginBops)
  • Added OpenCL Bindings (Huge thanks to @​NepNet)
  • Fix opentk.redist.glfw version warnings (@​jvbsl)
  • Add support for window-level multisampling (@​jvbsl)
  • Allow null delegates for GLFW callbacks (@​jvbsl)
  • Add new API to get/set from GLFW window/context attributes (@​jvbsl)
  • Add vulkan surface creation (@​jvbsl)
  • Fix bindings generator for net2.1
  • GLFW Native Access bindings. (@​RedImp1470 @​NogginBops)
  • Fixed normalization in Vector3.Unproject (@​burnss9)
  • General windowing improvements and new Graphics Context API. (@​NogginBops)
  • Use correct function in SetCharModsCallback (@​jvbsl)
  • Return namespaces to the glorious OpenTK (thanks @​glopes)
  • Simplified OpenAL loading + add more extensions (@​NogginBops)
  • Fixed initial focused inconsistency between Windows and Linux(X11) (@​jvbsl)
  • Improved and fixed GLFW binary loading (@​jvbsl)
  • Improved mono compat (@​jvbsl)
  • Fixed GetLibraryName for iOS platform (thanks @​Grizley56)
  • Fixed InputAction for getting Joystick Buttons from GLFW (thanks @​HughPH)
  • Fixes reference conditions
  • Save Size property value to _size field (thanks @​devel0)
  • Update build.fsx.lock (thanks @​CallumDev)
  • Vector3.Unproject returning incorrect result (thanks @​leezer3)
  • Incorrect parameter order in QuaternionD constructor (thanks @​leezer3)
  • Capslock value not exposed (thanks @​KinsonDigital)
  • vector transforms
  • Start of input mode setup for caps lock (thanks @​KinsonDigital)
  • Use in parameters instead of ref (thanks @​cryovat)
  • OpenTK now includes OPENAL! (Biggest thanks to @​NogginBops)
  • Added check for invalid keys in window key callback (Thanks @​Phyyl)
  • Fix rounding errors on tests
  • Add individual project descriptions
  • Add openAL to the build sequence.
  • Added PositiveInfinity and NegativeInfinity to vector structs (Thanks @​arakis)
  • Fixed ClientSize not getting updated in OnResize (Thanks @​Phyyl)
  • Fix automatic bindings initialization for GL2 (Thanks @​Phyyl)
  • Add framework specification to paket files. (Thanks @​frederikja163)
  • Fixed GameWindow update frequency (Thanks @​MerickOWA)
  • Throw an InvalidOperationException if bindings are uninitialized. (Thanks @​PJB)
  • Added Profile Any (Thanks @​arakis)
  • Fix error with GLFW Mouse button mapping (Thanks @​GeorchW)
  • Build System improvements to fully automatic pipeline.
  • Test and fix build system
  • Fix package metadata
  • Change: Make Command a valid modifier on OS-X #​759
  • Splitting Platform/Windows/API.cs into OpenTK.NT #​765
  • Immediately return after restoring resolution #​766
  • Fix OpenTK.Mathematics assembly name #​768
  • [4.0] Implement 'unmanaged' constraint #​771
  • Close display connection for X11 on dispose #​773
  • [4.0] Fix StyleCop analysis not working on Windows #​775
  • Fixed incorrect Quaternion/Vector rotation #​777
  • [4.0] Build Cleanup #​778
  • Fixed type for VertexAttribPointer #​779
  • [4.0] Fix numerous binder errors #​781
  • Fix #USE_SDL2_GAMECONTROLLER code path #​782
  • [4.0] Refactor Generator.Rewrite #​783
  • [4.0] Fix two typos in CONTRIBUTING.md #​785
  • Add common.props for use in all projects #​786
  • [4.0] Auto-update OpenTK.sln (done by VS2017) #​787
  • Add missing build configs (VS2017) #​788
  • Fixed OpenGL 3.2+ Context Creation (Mixed up Profile Mask / Flags) #​790
  • [4.0] Create new .sln file for all new projects #​791
  • [4.0] Fix CI scripts #​792
  • [4.0] Fix general StyleCop errors #​793
  • [4.0] Some more small rewriter changes #​794
  • [4.0] Refactor Generator.Bind#795
  • [4.0] Get CI to succeed #​796
  • Fix: Custom cursors not working under OS-X and dotnet #​797
  • [4.0] Fix stylecop errors in OpenTK.Mathematics.#​798
  • Fix OpenTK.NT compilation errors #​799
  • [4.0] Fix OpenTK.AL compilation errors #​800
  • 4.0 #​802
  • Fix csproj references to target netstandard2.0 instead of net461. #​803
  • Style guide#804
  • [4.0] Integrate OpenTK.OpenAL#805
  • [4.0] refactored .Math stylecop errors #​806
  • Use props/ directory directly #​813
  • Add #​814 to 4.0 #​815
  • Fix document typo #​818
  • Binder Docs + Performance#826
  • [4.0] Embedded license handling for binding generator #​836
  • [4.0] Adding directory safety to the binder. #​837
  • Update README after branch changes #​839
  • [4.0] Add StructLayout to Color4#840
  • [4.0] Change root namespace to OpenTK #​842
  • Fix the aftermath of merging #​842 #​843
  • [4.0] Impliment Vectord * Quaterniond #​844
  • Fix aftermath of #​842 #​846
  • [4.0] Minor edits to README.md #​848
  • [4.0] Update SDL2 version check #​849
  • [4.0] Remove big chunk of unused code from Quaterniond.cs #​852
  • [4.0] Remove GLES 1.0 and 1.1 support #​856
  • [4.0] Add explicit operators for Color4/Vector4 conversions #​858
  • [4.0] Remove unused code #​860
  • [4.0] Begin moving Input to OpenTK.Input#861
  • [4.0] Begin moving Platform to OpenTK.Platform #​862
  • [4.0] Add RootNamespace tags to projects#863
  • OpenGL Reimplementation #​864
  • Input and Windowing via GLFW #​867
  • Bindings generator for modularity and ADL#871
  • Update licensing information #​875
  • Update Discord link. #​876
  • Optimize Vector4/Color4 conversions with Unsafe.As #​877
  • Apply Unsafe.As optimization to all vector types #​878
  • Fix discord invite link #​881
  • Ignoring MouseMoveEx errors and fall back to passed point. #​883
  • Rename license files to avoid confusion. #​885
  • Emergency fix in short license terms #​887
  • [4.0] Adding Lerp function in the math helper #​895
  • System.Math and OpenTK.MathHelper symmetry #​897
  • Shorten float literals to the actual float value #​898
  • Reflect 22/04/2019 development discussion #​902
  • Remove obsolete methods within Vector types. #​906
  • Add vector types with integer components. #​908
  • OpenAL cleanup #​909
  • Organise master #​912
  • Purity annotations for Math types #​915
  • Int vectors in windows #​917
  • Box2i support #​918
  • add Box3 #​919
  • Box2n and Box3n cleanup #​920
  • Add API to let users pick OpenGL version #​921
  • Add Quaternion to Euler angles conversion #​923
  • Fix binder script paths #​924
  • Restore unit tests #​925
  • Box tests #​926
  • GLFW Input. #​928
  • Improve EditorConfig file. [#​929](http

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/opentk-4.x branch from bbd91cf to 2f37aa5 Compare June 8, 2025 22:24
@github-actions
Copy link
Copy Markdown

github-actions bot commented Jun 8, 2025

Test Results

58 tests  ±0   58 ✅ ±0   0s ⏱️ ±0s
 1 suites ±0    0 💤 ±0 
 1 files   ±0    0 ❌ ±0 

Results for commit a3e4407. ± Comparison against base commit 5ec285a.

♻️ This comment has been updated with latest results.

@codecov
Copy link
Copy Markdown

codecov bot commented Jun 8, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 84.22%. Comparing base (54242a9) to head (2f37aa5).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #10   +/-   ##
=======================================
  Coverage   84.22%   84.22%           
=======================================
  Files           8        8           
  Lines         336      336           
  Branches       48       48           
=======================================
  Hits          283      283           
  Misses         43       43           
  Partials       10       10           
Flag Coverage Δ
crypto 84.22% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate bot force-pushed the renovate/opentk-4.x branch from 2f37aa5 to a3e4407 Compare August 10, 2025 15:01
@github-actions
Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
CryptoEngine 87% 77% 159
CryptoEngine 87% 77% 159
Summary 87% (590 / 676) 77% (184 / 240) 318

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants