diff --git a/CHANGELOG b/CHANGELOG index 9bfdbe484..1536d4e4c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -17,10 +17,767 @@ KEY CHANGES: - New File System API - New Text Management API - New tool: [rexm] raylib examples manager + - New examples: +50 new examples and format unification Detailed changes: -TODO... +[rcore] ADDED: Logging and file-system functionality from `utils` (#4551) by @raysan5 -WARNING- +[rcore] ADDED: Flags set/clear macros: FLAG_SET, FLAG_CLEAR, FLAG_IS_SET (#5169) by @raysan5 +[rcore] ADDED: Warnings in case of no platform backend defined by @raysan5 +[rcore] ADDED: `ComputeSHA256()` (#5264) by @iamahuman1395 +[rcore] ADDED: `GetKeyName()` (#4544) by @lecongsebastien +[rcore] REMOVED: GIF recording option, added example by @raysan5 -WARNING- +[rcore] REMOVED: `CORE.Window.fullscreen` variable, using available flag instead by @raysan5 +[rcore] REMOVED: `SetupFramebuffer()`, most platforms do not need it any more by @raysan5 +[rcore] REMOVED: `TRACELOGD()` macro, hardly ever used by @raysan5 +[rcore] RENAMED: Shader location SHADER_LOC_VERTEX_INSTANCETRANSFORMS (#5592) by @CrackedPixel +[rcore] REVIEWED: Gamepads database on latest `SDL2 2.32.8` and `SDL3 3.3.6` #5403 by @raysan5 +[rcore] REVIEWED: Alt-Tab not working in borderless fullscreen (#3865, #4655) by @veins1 +[rcore] REVIEWED: Automation system, saving to memory buffer and binary file (#5476) by @belan2470 +[rcore] REVIEWED: Check if `shader.locs` is not NULL before try to access (#5622) by @maiconpintoabreu +[rcore] REVIEWED: Content scaling on macOS (#5186) by @mchcopl +[rcore] REVIEWED: `GetRandomValue()`, fix modulo bias (#5392) by @Marcos-D +[rcore] REVIEWED: Controller not available after window init (#5358) by @sergii +[rcore] REVIEWED: Cursor lock/unlock inconsistent behaviour (#5323) by @tacf +[rcore] REVIEWED: Description of `RestoreWindow()` by @johnnymarler +[rcore] REVIEWED: Touch position register on automation event handling (#5470) by @belan2470 +[rcore] REVIEWED: FLAG_IS_SET to check if all bits in the flag are set in the value (#5441) by @vushu +[rcore] REVIEWED: Fix for BI_ALPHABITFIELDS for clipbaord image narrow support (#5586) by @crisserpl2 +[rcore] REVIEWED: Flags checks, fixes #5597 by @raysan5 +[rcore] REVIEWED: Fullscreen request #5601 by @raysan5 +[rcore] REVIEWED: HighDPI content scaling on changing monitors with different DPI #5335 #5356 by @raysan5 +[rcore] REVIEWED: HighDPI content scaling on macOS by @raysan5 +[rcore] REVIEWED: Implement `FLAG_WINDOW_ALWAYS_RUN` on Android (#5414) by @caszuu +[rcore] REVIEWED: Init main framebuffer using render size (should be same as currentFbo) by @raysan5 +[rcore] REVIEWED: Platform code formatting and organization by @raysan5 +[rcore] REVIEWED: Replace #pragma message with TRACELOG inside the clipboard image function (#5596) by @maiconpintoabreu +[rcore] REVIEWED: Requested window flags application after window initialization by @raysan5 +[rcore] REVIEWED: Setting some flags disabled fullscreen (#4618, 4619) by @veins1 +[rcore] REVIEWED: Some flags for window/context creation attributes by @raysan5 +[rcore] REVIEWED: Support window flags with initialization issues (#4837) by @Andersama +[rcore] REVIEWED: Swap `TraceLog()` to `TRACELOG` macro (#5226) by @iamahuman1395 +[rcore] REVIEWED: Swap local variable `isCursorHidden` to use new method `IsCursorHidden()` by @maiconpintoabreu +[rcore] REVIEWED: Touch `pointCount` reduction (#4661) by @maiconpintoabreu +[rcore] REVIEWED: Unscale the window size on resize if we are doing automatic HighDPI scaling by @Jeffm2501 +[rcore] REVIEWED: Use `FLAG_*` macros where possible (#5169) by @iamahuman1395 +[rcore] REVIEWED: Wayland checks, using compilation flags when possible #5564 by @raysan5 +[rcore] REVIEWED: `InitWindow()`, issues due to unchecked result of `InitPlatform()` (#4803) by @sleeptightAnsiC +[rcore] REVIEWED: `InitWindow()`, fixed issue when using an empty window title (#5526) by @CrackedPixel +[rcore] REVIEWED: `GetRenderWidth()`, and `GetRenderHeight()`, return the FBO size if one is active by @Jeffm2501 +[rcore] REVIEWED: `GetWindowPosition()`, return internal value by @raysan5 +[rcore] REVIEWED: `ToggleBorderlessFullscreen()`, not hiding taskbar (#5383) by @xenomustache +[rcore] REVIEWED: `IsMouseButton*()`, random key codes return unexpected results (#5516) by @jasoncnm +[rcore] REVIEWED: `IsGamepadButton*()`, for consistency with key and mouse equivalents by @raysan5 +[rcore] REVIEWED: `SetGamepadVibration()`, TRACELOG message (#4615) by @Asdqwe +[rcore] REVIEWED: `MAX_GAMEPAD_AXES` for consistency #4960 by @raysan5 +[rcore] REVIEWED: `MAX_GAMEPAD_NAME_LENGTH` #4695 by @raysan5 +[rcore] REVIEWED: `LoadRandomSequence()`, using `GetRandomValue()` #5393 by @raysan5 +[rcore] REVIEWED: `LoadShaderFromMemory()`, use default locations for default shader #4641 by @raysan5 +[rcore] REVIEWED: `ComputeSHA1()`, computation on messages longer than 31 bytes (#5397) by @me +[rcore] REVIEWED: `ComputeSHA256()` by @raysan5 +[rcore] REVIEWED: `DecodeDataBase64()`, decoding error when input string is invalid (#5170) by @zet23t +[rcore] REVIEWED: `DecodeDataBase64()`, follow convention: by @raysan5 +[rcore] REVIEWED: `DecompressData()`, fixed buffer copying by @raysan5 +[rcore] REVIEWED: `GetClipboardImage()`, make symbol available on all platforms by @raysan5 +[rcore] REVIEWED: `GetRandomValue()`, explained the new approach to get more uniform random values range by @raysan5 +[rcore] REVIEWED: `FileExists()`, using macro by @raysan5 +[rcore] REVIEWED: `IsFileExtension()`, to avoid other modules dependency #5071 by @raysan5 +[rcore] REVIEWED: `LoadDirectoryFilesEx()`, count files if not recursive (#5496) by @katanya04 +[rcore] REVIEWED: `LoadDirectoryFilesEx()`, minor tweak #5569 by @raysan5 +[rcore] REVIEWED: `UnloadDirectoryFiles`, added NULL check by @Bigfoot71 +[rcore] REVIEWED: `ScanDirectoryFiles*()`, #4833 by @raysan5 +[rcore] REVIEWED: `ScanDirectoryFilesRecursively()`, fix issues by @mlorenc +[rcore] REVIEWED: `ScanDirectoryFilesRecursively()`, makes `path` static by @Bigfoot71 +[rcore] REVIEWED: `SaveFileText()`, const input text by @raysan5 +[rcore] REVIEWED: `TakeScreenshot()`, avoid path filtering by @raysan5 +[rcore] REVIEWED: `TakeScreenshot()`, only scale the screenshot by the DPI scale if required by @Jeffm2501 +[rcore] REDESIGNED: Fullscreen modes, use current display resolution by @raysan5 -WARNING- +[rcore] REDESIGNED: `EncodeDataBase64()`/`DecodeDataBase64()`, use NULL terminated strings by @raysan5 -WARNING- +[rcore][GLFW] ADDED: Clipboard image support for linux (#5603) by @maiconpintoabreu +[rcore][GLFW] REVIEWED: Fix `IsWindowFocused()` inverted logic (#5333) by @iamahuman1395 +[rcore][GLFW] REVIEWED: Fullscreen modes on Linux (X11 over XWayland) by @raysan5 +[rcore][GLFW] REVIEWED: Make sure that GLFW uses RL_*ALLOC macros (#4777) by @sleeptightAnsiC +[rcore][GLFW] REVIEWED: Set correct default axes for gamepads that are not connected (#5444) by @LeapersEdge +[rcore][GLFW] REVIEWED: Window initialization on HighDPI monitor (Windows) #5549 by @raysan5 +[rcore][GLFW] REVIEWED: Window scaling on Wayland with GLFW 3.4+ (#5564) by @0xPD33 +[rcore][GLFW] REVIEWED: Window scaling with HighDPI on macOS #5059 by @raysan5 +[rcore][GLFW] REVIEWED: `InitPlatform()`, crash caused by `glfwCreateWindow()` (#4804) by @sleeptightAnsiC +[rcore][GLFW] REVIEWED: `InitPlatform()`, code simplification by @raysan5 +[rcore][GLFW] REVIEWED: `GetWindowHandle()`, return correct handle under Linux X11 by @Didas72 +[rcore][GLFW] REVIEWED: `WindowSizeCallback()` by @raysan5 +[rcore][GLFW] REVIEWED: `CORE.Window.eventWaiting` and `FLAG_WINDOW_ALWAYS_RUN` handling (#4642) by @Asdqwe +[rcore][GLFW] REVIEWED: `GetGamepadButtonPressed()`, return GAMEPAD_BUTTON_*_TRIGGER_2 if pressed (#4742) by @whaleymar +[rcore][GLFW] REVIEWED: Update `mappings.h` using `GenerateMappings.cmake` by @sleeptightAnsiC +[rcore][RGFW] ADDED: New backend option: `PLATFORM_WEB_RGFW` and update RGFW (#4480) by @colleagueRiley +[rcore][RGFW] REVIEWED: Added missing Right Control key by @M374LX +[rcore][RGFW] REVIEWED: Changed `RGFW_window_eventWait` timeout to -1 by @doggymangc +[rcore][RGFW] REVIEWED: Duplicate entries reemoved from `keyMappingRGFW` (#5242) by @iamahuman1395 +[rcore][RGFW] REVIEWED: Fix Escape always closing the window by @M374LX +[rcore][RGFW] REVIEWED: Forward declare the windows stuff, prevents failures in GCC (#5269) by @Jeffm2501 +[rcore][RGFW] REVIEWED: Requires RGBA8 images as window icons (#5431) by @crisserpl2 +[rcore][RGFW] REVIEWED: Window width calculation by adding wOffset (#5457) by @qubitxr +[rcore][RGFW] REVIEWED: `SetGamepadVibration()` implementation (#4612) by @JupiterRider +[rcore][SDL] REVIEWED: `FLAG_WINDOW_ALWAYS_RUN` implementation (#4598) by @Asdqwe +[rcore][SDL] REVIEWED: First touch position is overwritten with mouse position by @zet23t +[rcore][SDL] REVIEWED: Avoid `rtext` module dependency #4959 by @raysan5 +[rcore][SDL] REVIEWED: Fix crash when `strncpy()` tries to copy using NULL pointer (#5359) by @MikiZX1 +[rcore][SDL] REVIEWED: Fix gamepad detection (#5176) by @brccabral +[rcore][SDL] REVIEWED: Fix maximizing, minimizing and restoring windows for SDL2 (#4607) by @Asdqwe +[rcore][SDL] REVIEWED: Fix show, hide, focus and unfocus window/flags states for SDL2 (#4610) by @Asdqwe +[rcore][SDL] REVIEWED: Fix text input (characters) (#5574) by @TheKodeToad +[rcore][SDL] REVIEWED: Gamepad event handling by adding joystick instance id tracking (#4724) by @Asdqwe +[rcore][SDL] REVIEWED: RGB order on SDL3 #3568 by @raysan5 +[rcore][SDL] REVIEWED: `SetGamepadMappings()` (#5548) by @arleyuti +[rcore][SDL] REVIEWED: Handle monitor ID correctly on SDL3 (#5290) by @sleeptightAnsiC +[rcore][Web] ADDED: Clipboard image implementation for web (#5614) by @maiconpintoabreu +[rcore][Web] ADDED: `GetWindowScaleDPI()`, implementation for PLATFORM_WEB (#4526) by @Asdqwe +[rcore][Web] ADDED: `IsWindowHidden()` (#4789) by @marionauta +[rcore][Web] REVIEWED: Fix reversed window blur/focus logic for web (#5590) by @aceiii +[rcore][Web] REVIEWED: Fix undeclared canvas variable error (#5507) by @vdemcak +[rcore][Web] REVIEWED: Replaced hardcoded canvas id references with module variable (#4735) by @zet23t +[rcore][Web] REVIEWED: Store canvas name id at platform initialization by @raysan5 +[rcore][Web] REVIEWED: Support software renderer on Web, blitting framebuffer data directly to a 2d canvas by @raysan5 +[rcore][Web] REVIEWED: Using `Module` provided canvas id for event binding (#4690) by @zet23t +[rcore][Web] REVIEWED: Using `EmscriptenKeyboardCallback()` to consume key events by @moros1138 +[rcore][Web] REVIEWED: `IsWindowFocused()` (#4640) by @marionauta +[rcore][Web] REVIEWED: `GetApplicationDirectory()` for Wasm, returning root VFS (#5495) by @git +[rcore][Win32] ADDED: `rcore_desktop_win32`, new native Win32 platform backend (#4869) by @johnnymarler +[rcore][Win32] REDESIGNED: New native Win32 platform backend, simplification and formating by @raysan5 +[rcore][Win32] REVIEWED: New Win32 platform backend to accomodate `rlsw` Software Renderer by @raysan5 +[rcore][Win32] REVIEWED: Fix window width calculation by adding wOffset (#5480) by @crisserpl2 +[rcore][Win32] REVIEWED: Implemented `SetWindowMaxSize()`, `SetWindowMinSize()` and `SetWindowSize()` (#5536) by @mikeemm +[rcore][Win32] REVIEWED: Remove `-fno-stack-protector` and add `requestFullscreen` on exported methods by @emilhakimov415 +[rcore][Win32] REVIEWED: VSync flag not being applied (#5521) by @mikeemm +[rcore][Win32] REVIEWED: Window minimizing/maximizing functionality (#5524) by @mikeemm +[rcore][Android] REVIEWED: Content scaling functionality for HighDPI (#4769) by @Bigfoot71 +[rcore][Android] REVIEWED: `SetWindowState()` (#5424) by @caszuu +[rcore][Android] REVIEWED: `GetCurrentMonitor()` implementation (#5204) by @guntzjonas +[rcore][Android] REVIEWED: `android_fopen()` mechanims, after removing `utils` module dependency by @raysan5 +[rcore][Android] REVIEWED: `fopen()` wrapping mechanism, to use --wrap=fopen on build systems (#5624) by @ghera +[rcore][Android] REVIEWED: `LoadMusicStream()` due to missing fopen redirect (#5589) by @ghera +[rcore][Android] REVIEWED: Fallback on dirent filename when all route fails (#5484) by @lucas150670 +[rcore][Android] REVIEWED: Gesture system not reporting GESTURE_NONE (#5452) by @padmadevd +[rcore][Android] REVIEWED: Keyboard input detected as gamepad on some devices (#5439) by @decruz +[rcore][Android] REVIEWED: Replaced `android_fopen()` with linker `--wrap=fopen` (#5605) by @ghera +[rcore][DRM] ADDED: Support asynchronous page-flipping and framebuffer caching by @rob-bits -WARNING- +[rcore][DRM] REVIEWED: Compiler flag SUPPORT_DRM_CACHE, to enable triple buffered DRM caching by @rob-bits +[rcore][DRM] REVIEWED: Backspace key in RPI SSH keyboard by @matthijs +[rcore][DRM] REVIEWED: Check if video mode is valid and rename to match with other methods (#5235) by @maiconpintoabreu +[rcore][DRM] REVIEWED: Disable touch position simulation from mouse movement for touchscreen devices (#5279) by @MULTidll +[rcore][DRM] REVIEWED: Fix resources memory leak (#5494) by @matthewkennedy +[rcore][DRM] REVIEWED: Platform initialization messages by @raysan5 +[rcore][DRM] REVIEWED: Use `eglGetPlatformDisplayEXT()` for Mali compatibility (#5446) by @decruz +[rcore][DRM] REVIEWED: `FindNearestConnectorMode()`, prefer mode with smallest number of unused pixels (#5158) by @maiphi +[rcore][DRM] REVIEWED: `eglGetPlatformDisplay()` usage by @raysan5 +[rcore][DRM] REVIEWED: Improved touch input handling and multitouch support (#5447) by @MULTidll +[rcore][DRM] REVIEWED: DRM cache buffers support #4988 by @raysan5 +[rlgl] ADDED: Software Rendering Support (#4832) by @Bigfoot71 +[rlgl] ADDED: `rlGetProcAddress()` (#5062) by @danilwhale +[rlgl] ADDED: `rlUnloadShader()` (#5631) by @raysan5 +[rlgl] REMOVED: `RLGL_RENDER_TEXTURES_HINT`, enabled by default and no complaints of anyone having issues #5479 by @raysan5 +[rlgl] REVIEWED: Allow tint colors in GL_LINE (wires) and GL_POINT (points) draw modes on OpenGL 1.1 clean (#5207) by @lanur622 +[rlgl] REVIEWED: Attribute name and location, for consistency by @raysan5 +[rlgl] REVIEWED: Behavior for texture in OpenGL 1.1 draw states (#5328) by @lanur622 +[rlgl] REVIEWED: Better default values for normals and tangents (VBOs) (#4763) by @Bigfoot71 +[rlgl] REVIEWED: Clean up Matrix handling and rl* functions to follow convention (#5505) by @nathanmburg +[rlgl] REVIEWED: Delete shader object in case compilation fails by @raysan5 +[rlgl] REVIEWED: Fixed shader tangents to be vec4 by @Sir-Irk +[rlgl] REVIEWED: Increased depth size and clip distances to avoid z-fighting issues by @raysan5 +[rlgl] REVIEWED: Issues compiling for OpenGL 1.1 #5088 by @raysan5 +[rlgl] REVIEWED: Make sure ShaderUniformDataType matches rlShaderUniformDataType (#4577) by @RicoP +[rlgl] REVIEWED: Potential issue with animated normals on OpenGL 1.1 by @raysan5 +[rlgl] REVIEWED: Using define for buffers size by @raysan5 +[rlgl] REVIEWED: Warning log macro (#5043) by @vinnyhorgan +[rlgl] REVIEWED: Preserve texture on mode switching (#4364) by @Destructor17 +[rlgl] REVIEWED: Proposed fix for default near/far clipping range (#4906) by @Bigfoot71 +[rlgl] REVIEWED: `rlLoadTexture()`, max mipmap levels to use #5400 by @raysan5 +[rlgl] REVIEWED: `rlLoadTexture()`, uncomplete texture do to issue on mipmap loading #5416 by @raysan5 +[rlgl] REVIEWED: `rlLoadTextureDepth()`, address inconsistencies with WebGL 2.0 for sized depth formats #5500 by @raysan5 +[rlgl] REVIEWED: `rlReadScreenPixels()`, optimizations (#4667) by @pope +[rlgl] REVIEWED: `rlSetTexture()` not overriding default mode (#5200) by @maiconpintoabreu +[rlgl] REVIEWED: `rlActiveDrawBuffers`, fix for OpenGL ES 3.0 (#4605) by @Bigfoot71 +[rlgl] REVIEWED: `rlGetPixelDataSize()`, correct compressed data size calculation per blocks #5416 by @raysan5 +[rlgl] REVIEWED: `instranceTransform` shader location index #4538 (#4579) by @meadiode +[rlgl] REVIEWED: `SetShaderValueTexture()`, updatee comments (#4703) by @pejorativefox +[rlgl] REDESIGNED: Avoid program crash if GPU data is tried to be loaded before `InitWindow()` #4751 by @raysan5 -WARNING- +[rlgl] REDESIGNED: Shader loading API function names for more consistency #5631 by @raysan5 -WARNING- +[rlsw] ADDED: `swGetColorBuffer()` for convenience by @raysan5 +[rlsw] REVIEWED: Completeness of `glDraw*()` functions (#5304) by @Bigfoot71 +[rlsw] REVIEWED: Fix axis aligned quad detection (#5314) by @Bigfoot71 +[rlsw] REVIEWED: Fix clipping issue on software render (#5342) by @Bigfoot71 +[rlsw] REVIEWED: Make sure SSE is being used when compiling with MSVC by @raysan5 +[rlsw] REVIEWED: SIMD instrinsics must be explicitly enabled by developer, only SSE supported at the moment #5316 by @raysan5 +[rlsw] REVIEWED: Segmentation fault when trying to render a model (#5622) by @maiconpintoabreu +[rlsw] REVIEWED: Simplify framebuffer logic and add blit/copy fast path (#5312) by @Bigfoot71 +[rlsw] REVIEWED: Review depth formats and fix depth writing (#5317) by @Bigfoot71 +[rlsw] REVIEWED: Smarter texture management (#5296) by @Bigfoot71 +[rlsw] REVIEWED: Subpixel correction (#5300) by @Bigfoot71 +[rlsw] REVIEWED: C++ support (#5291) by @alexgb0 +[rshapes] ADDED: `DrawLineDashed()` (#5222) by @luis605 +[rshapes] ADDED: `DrawEllipseV()` and `DrawEllipseLinesV()` (#4963) by @meowstr +[rshapes] REVIEWED: `DrawLine()`, fix pixel offset issue on drawing (#4666) by @Bigfoot71 +[rshapes] REVIEWED: `DrawRectangleGradientEx()`, incorrect parameter names (#4980) by @vincent +[rshapes] REVIEWED: `DrawRectangleLines`, fix pixel offset issue (#4669) by @Bigfoot71 +[rshapes] REVIEWED: `DrawRectangleRounded()`, allow to draw rectangles with a size < 1 (#4683) by @tea +[rshapes] REVIEWED: `CheckCollisionLines()`, formating and follow raylib conventions by @raysan5 +[rshapes] REVIEWED: `DrawCircleSector*()`, optimization to prevent division by zero (#4843) by @theundergroundsorcerer +[rshapes] REVIEWED: `CheckCollisionLines()`, properly detect collision if one line is almost vertical (#5510, #5531) by @bielern +[rtextures] REVIEWED: Cubemap mipmap loading improvements (#4721) by @Not-Nik +[rtextures] REVIEWED: Setting mipmaps MAX_LEVEL based on actual mipcount input (#4622) by @JettMonstersGoBoom +[rtextures] REVIEWED: TCC compilation due to `emmintrin.h` not found (#4707) by @sleeptightAnsiC +[rtextures] REVIEWED: `Image`, initialization align to avoid issues with some platforms (#5214) by @psxdev +[rtextures] REVIEWED: `LoadImageDataNormalized()`, missing increments of k (#4745) by @henrikglass +[rtextures] REVIEWED: `LoadImageFromScreen()`, use the render size instead of screen size (#5192) by @JeffM2501 +[rtextures] REVIEWED: `GenImageFontAtlas()`, fix memory corruption in reallocation (#5602) by @creeperblin +[rtextures] REVIEWED: `GenImageFontAtlas()`, no need for the conservative approach flag by @raysan5 +[rtextures] REVIEWED: `GenImageFontAtlas()`, scale image to fit all characters, in case it fails size estimation #5542 by @raysan5 +[rtextures] REVIEWED: `GetImageColor()` (#5560) by @raysan5 +[rtextures] REVIEWED: `ExportImage()` by @raysan5 +[rtextures] REVIEWED: `HalfToFloat()` and `FloatToHalf()` dereferencing issues with an union (#4729) by @Asdqwe +[rtextures] REVIEWED: `ImageClearBackground()` and `ImageDrawRectangleRec()` optimizations (#5363) by @ChocolateChipKookie +[rtextures] REVIEWED: `ImageColorReplace()`, alpha issue replacement (#5047) by @RomainPlmg +[rtextures] REVIEWED: `ImageDrawLineEx(), to be able to draw even numbered thicknesses (#5042) by @Sir-Irk +[rtextures] REVIEWED: `ImageBlurGaussian()`, fix integer overflow in cast (#5037) by @garrisonhh +[rtext] ADDED: `LoadTextLines()`/`UnloadTextLines()` by @raysan5 +[rtext] ADDED: `MeasureTextCodepoints()` for direct measurement of codepoints (#5623) by @creeperblin +[rtext] RENAMED: Variable names for consistency, `textLength` (length in bytes) vs `textSize` (measure in pixels) by @raysan5 +[rtext] REVIEWED: Support default font loading with no GPU enabled, to be used with Image API +[rtext] REVIEWED: Default font alpha on Big Endian systems (#4624) by @Fancy2209 +[rtext] REVIEWED: Font atlas image generation, added some comments #5141 by @raysan5 +[rtext] REVIEWED: Multiply security checks to avoid crashes on wrongly provided string data (#4751) by @raysan5 +[rtext] REVIEWED: Potential security concerns while copying unbounded text data between strings by @raysan5 +[rtext] REVIEWED: Properly clean up the default font on unload, it may be reused if the window is created again by @Jeffm2501 +[rtext] REVIEWED: Remove some `const` from text buffer return values by @raysan5 +[rtext] REVIEWED: Some security vulnerabilities in font loading (#5433, #5434, #5436, #5450) by @oneafter +[rtext] REVIEWED: Use `const` for codepoints arrays passed to function #5159 by @raysan5 +[rtext] REVIEWED: Use `strstr()` instead of `TextFindIndex()` (#4764) by @brabissimoooooo +[rtext] REVIEWED: `LoadFont()`, improve load message (#5050) by @katanya04 +[rtext] REVIEWED: `LoadFont*()`, provide more detailed info on glyphs failing to pack (#5141) by @raysan5 +[rtext] REVIEWED: `LoadCodepoints()`, local variable shadowing `codepoints` (#5430) by @KiviTK +[rtext] REVIEWED: `LoadCodepoints()`, comment explaining functionality (#4787) by @loftafi +[rtext] REVIEWED: `LoadFontFromImage()`, limit pixel scanning to image dimensions (#5626) by @joe +[rtext] REVIEWED: `LoadFontDataBDF()` #5346 by @raysan5 +[rtext] REVIEWED: `LoadTextLines()` by @raysan5 +[rtext] REVIEWED: `ExportFontAsCode()` #5497 by @raysan5 +[rtext] REVIEWED: `ExportFontAsCode()` not checking `isGpuReady` #4894 by @raysan5 +[rtext] REVIEWED: `GetCodepointCount()`, misuse of cast (#4741) by @sleeptightAnsiC +[rtext] REVIEWED: `GenImageFontAtlas()`, memory corruption and invalid size calculation (#5602) by @konakona418 +[rtext] REVIEWED: `TextInsert()`, fix bug on insertion (#5644) by @CrackedPixel +[rtext] REVIEWED: `TextJoin()`, convert `const char **` to `char**` by @raysan5 +[rtext] REVIEWED: `TextReplace()` and `TextLength()`, avoid using `strcpy()` by @raysan5 +[rtext] REVIEWED: `TextReplace()` by @raysan5 +[rtext] REVIEWED: `TextReplace()`, improvements (#5511) by @belan2470 +[rtext] REVIEWED: `TextReplaceBetween()` by @raysan5 +[rtext] REVIEWED: `TextSubtext(), fixes (#4759) by @veins1 +[rtext] REVIEWED: `TextToPascal()`, fix issue by @raysan5 +[rtext] REVIEWED: `TextToFloat()`, remove removed inaccurate comment (#4596) by @hexmaster111 +[rtext] REDESIGNED: `LoadFontData()`, added input parameter by @raysan5 -WARNING- +[rmodels] ADDED: Support CPU animation in OpenGL 1.1 (#4925) by @JeffM2501 +[rmodels] RENAMED: Skinning shader variables (new default naming) by @raysan5 +[rmodels] REVIEWED: glTF animation framerate calculation (#4472, #5445) by @TheLazyIndianTechie +[rmodels] REVIEWED: Assign meshes without bone weights to the bone they are attached to so they animate by @Jeffm2501 +[rmodels] REVIEWED: Out of bound memory read in `Material.maps` (#5534) by @Sumethh +[rmodels] REVIEWED: Segfaults with animation system (#4635) by @JettMonstersGoBoom +[rmodels] REVIEWED: Transform the vertex normals by the animated matrix (#4646) by @Jeffm2501 +[rmodels] REVIEWED: Use the animated verts and normals in OpenGL 1.1 if they exist by @Jeffm2501 +[rmodels] REVIEWED: GLTF bone weight assignments for meshes parented to armature (#4923) by @JeffM2501 +[rmodels] REVIEWED: `LoadOBJ()`, avoid fatal errors on OBJ model loading by @raysan5 +[rmodels] REVIEWED: `LoadOBJ()`, don't upload meshes, `LoadModel()` will upload them (#5083) by @JeffM2501 +[rmodels] REVIEWED: `LoadOBJ()`, loading crash when there are no normals present (#5079) by @zet23t +[rmodels] REVIEWED: `LoadGLFT()`, avoid loading attributes already loaded (#4996) by @raysan5 +[rmodels] REVIEWED: `LoadGLTF()`, anim correctly inherits world transform (#5206) by @ArmanOmmid +[rmodels] REVIEWED: `LoadGLTF()`, fix memory leak when model has no bones (#5629) by @vberdugo +[rmodels] REVIEWED: `LoadGLTF()`, fixing offset for processing tangents (#5015) by @Sir-Irk +[rmodels] REVIEWED: `LoadGLTF()`, log warning about draco compression not supported #5567 by @raysan5 +[rmodels] REVIEWED: `LoadGLTF()`, separate roughness and metallic channels on load (#4739) by @Not-Nik +[rmodels] REVIEWED: `LoadGLTF()`, support 16 bit vec3 values (#5388) by @Jeffm2501 +[rmodels] REVIEWED: `LoadGLTF()`, fixed NULL pointer dereference (#4564) by @CalebHeydon +[rmodels] REVIEWED: `LoadIQM()` and `LoadModelAnimationsIQM()`, fix memory leaks (#4649) by @peter15914 +[rmodels] REVIEWED: `LoadM3D()`, don't require a M3d animation only file to have a mesh (#5475) by @Jeffm2501 +[rmodels] REVIEWED: `LoadImageFromCgltfImage()`, fix crash when NULL is passed (#4563) by @CalebHeydon +[rmodels] REVIEWED: `LoadImageFromCgltfImage()`, fix NULL pointer dereference (#4557) by @CalebHeydon +[rmodels] REVIEWED: `LoadModelAnimationsGLTF()`, properly load 1 frame animations (#5561) by @arlez80 +[rmodels] REVIEWED: `LoadModelAnimationsGLTF()`, anim correctly inherits world transform (#5206) by @ArmanOmmid +[rmodels] REVIEWED: `UploadMesh()`, improve default normal and tangent values (#4763) by @Bigfoot71 +[rmodels] REVIEWED: `GenMeshTangents()`, improvements (#4937) by @Bigfoot71 +[rmodels] REVIEWED: `UpdateModelAnimation()` optimization (#5244) by @Arrangemonk +[rmodels] REVIEWED: `UpdateModelAnimationBones()`, break on first mesh found and formating by @raysan5 +[rmodels] REVIEWED: `UpdateModelAnimationBones()`, fix normal transform (#4634) by @Bigfoot71 +[rmodels] REVIEWED: `UpdateModelAnimationBones()`, optimizations (#4602) by @Kirandeep-Singh-Khehra +[rmodels] REVIEWED: `UpdateModelAnimationBones()`, bones animation scale (#4896) by @mUnicorn +[rmodels] REVIEWED: `DrawBillboardPro()`, flipped texture source rectangle draw correctly (#5276) by @aixiansheng +[rmodels] REVIEWED: `DrawMesh()`, OpenGL11 fixes added texture consistency check (#5328) by @meisei4 +[rmodels] REVIEWED: `DrawMeshInstanced()`, breaking if instanceTransform was unused (#5469) by @al13n321 +[rmodels] REVIEWED: `DrawSphereEx()`, normals support (#4926) by @karl-zylinski +[rmodels] REVIEWED: `ExportMesh()`, improve OBJ vertex data precision and lower memory usage (#4496) by @mikeemm +[raudio] REVIEWED: Fix a glitch at the end of a sound (#5578) by @mackron +[raudio] REVIEWED: Improvements to device configuration (#5577) by @mackron +[raudio] REVIEWED: Initialize sound alias properties as if it was a new sound (#5123) by @JeffM2501 +[raudio] REVIEWED: Music stopping some frames too early by @veins1 +[raudio] REVIEWED: Remove usage of `ma_data_converter_get_required_input_frame_count()` (#5568) by @mackron +[raudio] REVIEWED: Better computation of the default audio stream buffer size (#4898) by @JeffM2501 +[raudio] REVIEWED: Documentation for audio stream processor, number of channels (#4753) by @goto40 +[raudio] REVIEWED: `LoadWAV()`, fixed buffer overflow when loading WAV files (#4539) by @CalebHeydon +[raudio] REVIEWED: `LoadMusicStream()`, issues in Android due to missing fopen redirect (#5589) by @ghera +[raudio] REVIEWED: `LoadMusicStreamFromMemory()` for QOA, reduced the number of allocs and memcpy (#5108) by @lassade +[raudio] REVIEWED: `UnloadMusicStream()`, properly close FLAC (#5133) by @rossberg +[raudio] REVIEWED: `UpdateMusicStream()`, prevent to run without music playing (#5046) by @maiconpintoabreu +[raudio] REVIEWED: `WaveFormat()`, fixed memory leak on early-return (#4779) by @deckarep +[raudio] REVIEWED: `WaveFormat()`, freeing memory issue (#5481) by @MarcosTypeAP +[raudio] REVIEWED: `GetMusicTimePlayed()`, fix music shorter than buffer size (#5048) by @veins1 +[raudio] REVIEWED: `GetMusicTimePlayed()`, returns incorrect time after restart (#4914) by @Servall4 +[raudio] REDESIGNED: `SetSoundPan()` and `SetMusicPan()` ranges from [-1.0..1.0] (#5350) by @raysan5 -WARNING- +[raymath] ADDED: `MatrixUnit()` and `MatrixMultiplyValue()` (#5613) by @lamweilun +[raymath] ADDED: `MatrixCompose()` (#5324) by @EDBCREPO +[raymath] ADDED: `Vector2CrossProduct()` (#4520) by @uwiwiow +[raymath] REVIEWED: Fix C++ operator overloads (#4535) by @ListeriaM +[raymath] REVIEWED: Vector2Angle(), detailed documentation (#4556) by @mrjonjonjon +[raymath] REVIEWED: Wrap float3 and float16 for consistency with other types (#5540) by @n-s-kiselev +[raymath] REVIEWED: `HalfToFloat()`, fix mantissa hex value by @backspaceoverload +[raymath] REVIEWED: `MatrixCompose()` by @raysan5 +[raymath] REVIEWED: `MatrixDeterminant()` #4780 by @raysan5 +[raymath] REVIEWED: `MatrixDecompose()` removes shear (#5201) by @ArmanOmmid +[raymath] REVIEWED: `MatrixMultiply()` intrinsics support: SSE (#5427) by @mcdubhghlas +[raymath] REVIEWED: `QuaternionFromVector3ToVector3()` (#5508) by @The4codeblocks +[rcamera] REVIEWED: `Camera3D.fovy` description (#5164) by @0stamina +[rcamera] REVIEWED: Camera move up and right work with Z up cameras (#5458) by @Jeffm2501 +[rcamera] REVIEWED: Camera pan speed (#5554) by @CrackedPixel +[rcamera] REVIEWED: Fix camera initial position (#4657) by @Asdqwe +[rcamera] REVIEWED: Clamp camera pitch (#5137) by @feive7 + +[build][CI] ADDED: ARM64 with Visual Studio (#4781) by @Peter0x44 +[build][CI] ADDED: `update_examples.yml` by @raysan5 +[build][CI] RENAMED: GitHub Actions files, clearer naming by @raysan5 +[build][CI] REVIEWED: Linux workflow to run on `ubuntu-latest` by @raysan5 +[build][CI] REVIEWED: Remove double zip and misleading zip type (#5512) by @maiconpintoabreu +[build][CI] REVIEWED: `update_examples.yml` workflow (#5130) by @iamahuman1395 +[build][Script] REVIEWED: `build_example_web.bat` by @raysan5 +[build][Make] ADDED: ARM64 support to Linux builds by @quaylynrimer11 +[build][Make] REVIEWED: Use `libraylib.web.a` naming on PLATFORM_WEB by @raysan5 -WARNING- +[build][Make] REVIEWED: Only include rglfw.c for glfw platform by @johnnymarler +[build][Make] REVIEWED: Fix template to support `libraylib.web.a` (#5620) by @skazu0611 +[build][Make] REVIEWED: Avoid using != assignment (#5464) by @sleeptightAnsiC +[build][Make] REVIEWED: Improve support for `PLATFORM_DESKTOP_WIN32` (#5311) by @GithubPrankster +[build][Make] REVIEWED: Latest NDK version compiling errors on Android (#5389) by @Sethbones +[build][Make] REVIEWED: Makefile to support software renderer by @raysan5 +[build][Make] REVIEWED: Properly detect if ABI is Android by @lumenkeyes +[build][Make] REVIEWED: Remove path override/change for linux (#5641) by @CrackedPixel +[build][Make] REVIEWED: Renamed `PLATFORM_DESKTOP_SDL3` to `USING_VERSION_SDL3` #5175 by @raysan5 +[build][Make] REVIEWED: Tag to locate examples list: `#EXAMPLES_LIST_*` by @raysan5 +[build][Make] REVIEWED: Undefine _GNU_SOURCE for rglfw building (#4732) by @Peter0x44 +[build][Make] REVIEWED: `-sASSERTIONS` usage by linker #4717 by @raysan5 +[build][Make] REVIEWED: `Makefile.Web` per-example target generation including used resources by @raysan5 +[build][Make] REVIEWED: android-libc.txt generation by @lumenkeyes +[build][Make] REVIEWED: examples Makefile PLATFORM define (#4582) by @Asdqwe +[build][VS2022] ADDED: Filters and platform files in MSVC for ease of editing (#4644) by @Jeffm2501 +[build][VS2022] REVIEWED: Default raylib resource file .rc for projects by @raysan5 +[build][VS2022] REVIEWED: Fix MSVC warnings (#5619) by @Jeffm2501 +[build][VS2022] REVIEWED: MSVC warnings (#5595) by @Jeffm2501 +[build][VS2022] REVIEWED: Fixed VS2022 broken build by @alexander_nichols +[build][VSCode] REVIEWED: Makefile for `PLATFORM_WEB` (#5620) by @takenoko-pm +[build][CMake] ADDED: Support for SDL3, reviewed SDL2 package cheking by @kariem2k +[build][CMake] ADDED: emscripten build options (#5180) by @brccabral +[build][CMake] ADDED: QNX EGL 2.0 library configuration (#5499) by @jscaffidi +[build][CMake] REVIEWED: Android configuration issues (#4671) by @Bigfoot71 +[build][CMake] REVIEWED: Definition to use SDL3 (#5175) by @brccabral +[build][CMake] REVIEWED: X11 libraries as glfw make private (#5625) by @maiconpintoabreu +[build][CMake] REVIEWED: Don't build examples using audio if audio is disabled (#4652) by @Peter0x44 +[build][CMake] REVIEWED: Export automatically raylib definitions and compile/link options (#5179) by @brccabral +[build][CMake] REVIEWED: Expose RGFW platform backend (#5386) by @Sethbones +[build][CMake] REVIEWED: Set PLATFORM to Web by default when configuring web builds with emcmake (#4748) by @gilzoide +[build][CMake] REVIEWED: Set correct description for verbose option by @brccabral +[build][CMake] REVIEWED: Set version to 3.12 (#4547) by @zyperpl +[build][CMake] REVIEWED: Update `LibraryConfigurations.cmake (#5617) by @m0391n +[build][CMake] REVIEWED: Use STATIC lib ON by default (#4799) by @brccabral +[build][CMake] REVIEWED: Using addCMacro instead of defineCMacro (#4620) by @Joonsey +[build][CMake] REVIEWED: Web compilation system (#5181) by @brccabral +[build][CMake] REVIEWED: Set `libm` as public so it can be linked by consumer (#5193) by @brccabral +[build][Cmake] REVIEWED: Expose PLATFORM_WEB_RGFW (#5579) by @crisserpl2 +[build][Zig] ADDED: Android target to build by @lumenkeyes +[build][Zig] REVIEWED: Link EGL for Android by @lumenkeyes +[build][Zig] REVIEWED: Approach to build for web with zig-build (#5157) by @haxsam +[build][Zig] REVIEWED: Fix build accessing env vars (#5490) by @iisakki +[build][Zig] REVIEWED: Fix emscripten building by @johnnymarler +[build][Zig] REVIWED: Move examples/build.zig into main build.zig by @johnnymarler +[build][Zig] REVIEWED: Fix raygui inclusion in windows crosscompilation (#4489) by @kimierik +[build][Zig] REVIEWED: Issue on emscripten run if the user has not installed emsdk by @emilhakimov415 +[build][Zig] REVIEWED: Make X11 the default display backend instead of choosing at runtime (#5168) by @Not-Nik +[build][Zig] REVIEWED: Using `addLibrary()` and set root modules manually by @myQwil +[build][Zig] REVIEWED: `build.zig.zon`, use the new zig v0.14 version (#4819) by @zewenn +[build][Zig] REVIEWED: `build.zig.zon`, update hashes (#4826) by @david +[build][Zig] REVIEWED: Improve build system (#4531) by @haxsam +[build][Zig] REVIEWED: Properly generate Android triple by @lumenkeyes +[build][Zig] REVIEWED: XCode-frameworks dependency for latest zig (#4675) by @mobiuscog + +[examples] ADDED: Missing examples VS2022 projects by @raysan5 +[examples] ADDED: Missing glsl120 shaders by @raysan5 +[examples] ADDED: Missing resources on some examples by @raysan5 +[examples] ADDED: `core_3d_fps_controller` by @agnis16 +[examples] ADDED: `core_clipboard_text` (#5231) by @robinsaviary +[examples] ADDED: `core_delta_time` (#5216) by @robinsaviary +[examples] ADDED: `core_directory_files` (#5230) by @hugo +[examples] ADDED: `core_highdpi_testbed` by @raysan5 +[examples] ADDED: `core_highdpi_demo` example by @johnnymarler +[examples] ADDED: `core_input_actions` (#5211) by @JettMonstersGoBoom +[examples] ADDED: `core_keyboard_testbed` by @raysan5 +[examples] ADDED: `core_monitor_change` (#5215) by @maiconpintoabreu +[examples] ADDED: `core_render_texture` by @raysan5 +[examples] ADDED: `core_text_file_loading` (#5278) by @NimComPoo-04 +[examples] ADDED: `core_undo_redo` by @raysan5 +[examples] ADDED: `core_viewport_scaling` (#5313) by @agnis16 +[examples] ADDED: `core_compute_hash` by @raysan5 +[examples] ADDED: `shapes_ball_physics` (#5372) by @davidbuzatto +[examples] ADDED: `shapes_bullet_hell` (#5218) by @zerohorsepower +[examples] ADDED: `shapes_clock_of_clocks` (#5263) by @themushroompirates +[examples] ADDED: `shapes_clock_of_clocks` by @hmz-rhl +[examples] ADDED: `shapes_dashed_line` (#5222) by @luis605 +[examples] ADDED: `shapes_double_pendulum` by @joecheong2006 +[examples] ADDED: `shapes_hilbert_curve` (#5454) by @hmz-rhl +[examples] ADDED: `shapes_kaleidoscope` (#5233) by @hugo +[examples] ADDED: `shapes_lines_drawing` (#5283) by @robinsaviary +[examples] ADDED: `shapes_math_angle_rotation` (#5236) by @krispysnacc +[examples] ADDED: `shapes_math_sine_cosine` (#5257) by @Jopestpe +[examples] ADDED: `shapes_mouse_trail` (#5246) by @balamurugan +[examples] ADDED: `shapes_particles` (#5260) by @JordSant +[examples] ADDED: `shapes_penrose_tile` (#5376) by @davidbuzatto +[examples] ADDED: `shapes_pie_chart` (#5227) by @GideonSerf +[examples] ADDED: `shapes_recursive_tree` (#5229) by @Jopestpe +[examples] ADDED: `shapes_rlgl_color_wheel` example (#5355) by @robinsaviary +[examples] ADDED: `shapes_rlgl_triangle` example (#5353) by @robinsaviary +[examples] ADDED: `shapes_starfield` (#5255) by @themushroompirates +[examples] ADDED: `shapes_triangle_strip` (#5240) by @Jopestpe +[examples] ADDED: `text_inline_styling` by @raysan5 +[examples] ADDED: `text_strings_management` (#5379) by @davidbuzatto +[examples] ADDED: `text_words_alignment` (#5254) by @themushroompirates +[examples] ADDED: `textured_clipboard_image` (#5604) by @maiconpintoabreu +[examples] ADDED: `textures_cellular_automata` (#5395) by @JordSant +[examples] ADDED: `textures_frame_buffer_rendering` (#5468) by @jackboakes +[examples] ADDED: `textures_magnifying_glass` (#5587) by @dgamebillda +[examples] ADDED: `textures_screen_buffer` (#5357) by @agnis16 +[examples] ADDED: `textures_sprite_stacking` example (#5345) by @robinsaviary +[examples] ADDED: `models_animation_timing` by @raysan5 +[examples] ADDED: `models_directional_billboard` (#5351) by @robinsaviary +[examples] ADDED: `models_animation_bone_blending` (#5543) by @dmitrii-brand +[examples] ADDED: `models_basic_voxel` (#5212) by @timlittle88 +[examples] ADDED: `models_decals` (#5298) by @themushroompirates +[examples] ADDED: `models_geometry_textures_cube` (#5221) by @Jopestpe +[examples] ADDED: `models_tesseract` by @raysan5 +[examples] ADDED: `shaders_render_depth_texture` by @luis605 +[examples] ADDED: `shaders_ascii_rendering` (#5213) by @maiconpintoabreu +[examples] ADDED: `shaders_color_correction` (#5307) by @JordSant +[examples] ADDED: `shaders_game_of_life` (#5394) by @JordSant +[examples] ADDED: `shaders_mandelbrot_set` (#5282) by @JordSant +[examples] ADDED: `shaders_normalmap` by @Sir-Irk +[examples] ADDED: `shaders_rounded_rectangle` (#4719) by @anstropleuton +[examples] ADDED: `shaders_view_depth` (luis605) +[examples] ADDED: `audio_sound_positionning` by @Bigfoot71 +[examples] REMOVED: `core_gamepad_info` by @raysan5 +[examples] REMOVED: `core_loading_thread` by @raysan5 +[examples] RENAMED: Sprite fonts resource directory by @raysan5 +[examples] RENAMED: `core_3d_fps_controller` to `core_3d_camera_fps` by @raysan5 +[examples] RENAMED: `core_high_dpi` to `core_highdpi_demo` by @raysan5 +[examples] RENAMED: `core_input_gestures_web` to `core_input_gestures_testbed` by @raysan5 +[examples] RENAMED: `shapes_draw_circle_sector` to `shapes_circle_sector_drawing` by @raysan5 +[examples] RENAMED: `shapes_draw_rectangle_rounded` to `shapes_rounded_rectangle_drawing` by @raysan5 +[examples] RENAMED: `shapes_draw_ring` to `shapes_ring_drawing` by @raysan5 +[examples] RENAMED: `shapes_easings_ball_anim` to `shapes_easings_ball` by @raysan5 +[examples] RENAMED: `shapes_easings_box_anim` to `shapes_easings_box` by @raysan5 +[examples] RENAMED: `shapes_easings_rectangle_array` to `shapes_easings_rectangles` by @raysan5 +[examples] RENAMED: `text_draw_3d` to `text_3d_drawing` by @raysan5 +[examples] RENAMED: `text_raylib_fonts` -> `text_sprite_fonts` by @raysan5 +[examples] RENAMED: `text_unicode` to `text_unicode_emojis` by @raysan5 +[examples] RENAMED: `textures_draw_tiled` to `textures_tiled_drawing` by @raysan5 +[examples] RENAMED: `textures_polygon` to `textures_polygon_drawing` by @raysan5 +[examples] RENAMED: `textures_sprite_anim` to `textures_sprite_animation` by @raysan5 +[examples] RENAMED: `models_animation` to `models_animation_playing` by @raysan5 +[examples] RENAMED: `models_billboard` to `models_billboard_rendering` by @raysan5 +[examples] RENAMED: `models_cubicmap` to `models_cubicmap_rendering` by @raysan5 +[examples] RENAMED: `models_draw_cube_texture` to `models_textured_cube` by @raysan5 +[examples] RENAMED: `models_geometry_textures_cube` to `models_rotating_cube` by @raysan5 +[examples] RENAMED: `models_gpu_skinning` to `models_animation_gpu_skinning` by @raysan5 +[examples] RENAMED: `models_heightmap` to `models_heightmap_rendering` by @raysan5 +[examples] RENAMED: `models_skybox` to `models_skybox_rendering` by @raysan5 +[examples] RENAMED: `shaders_deferred_render` to `shaders_deferred_rendering` by @raysan5 +[examples] RENAMED: `shaders_eratosthenes` to `shaders_eratosthenes_sieve` by @raysan5 +[examples] RENAMED: `shaders_fog` to `shaders_fog_rendering` by @raysan5 +[examples] RENAMED: `shaders_hybrid_render` to `shaders_hybrid_rendering` by @raysan5 +[examples] RENAMED: `shaders_lightmap` to `shaders_lightmap_rendering` by @raysan5 +[examples] RENAMED: `shaders_normal_map` to `shaders_normalmap_rendering` by @raysan5 +[examples] RENAMED: `shaders_raymarching` to `shaders_raymarching_rendering` by @raysan5 +[examples] RENAMED: `shaders_shadowmap` to `shaders_shadowmap_rendering` by @raysan5 +[examples] RENAMED: `shaders_spotlight` to `shaders_spotlight_rendering` by @raysan5 +[examples] RENAMED: `shaders_texture_drawing` to `shaders_texture_rendering` by @raysan5 +[examples] RENAMED: `shaders_view_depth` to `shaders_depth_rendering` by @raysan5 +[examples] RENAMED: `shaders_write_depth` to `shaders_depth_writing` by @raysan5 +[examples] RENAMED: `shaders_normalmap` to `shaders_normal_map` by @raysan5 +[examples] RENAMED: `audio_fft_spectrum_visualizer` to `audio_spectrum_visualizer` by @raysan5 +[examples] REVIEWED: All examples header section comments, for better organization and consistency by @raysan5 +[examples] REVIEWED: All examples MSVC warnings and non-working examples by @Jeffm2501 +[examples] REVIEWED: Moved some examples out of `others` category, removing category by @raysan5 +[examples] REVIEWED: Shaders formating to follow raylib code conventions by @raysan5 +[examples] REVIEWED: `examples_template`, adding info about new rexm tool by @raysan5 +[examples] REVIEWED: `core_2d_camera_mouse_zoom` by @raysan5 +[examples] REVIEWED: `core_3d_camera_fps` by @raysan5 +[examples] REVIEWED: `core_3d_fps_controller` by @agnis16 +[examples] REVIEWED: `core_3d_fps_controller` by @raysan5 +[examples] REVIEWED: `core_clipboard_text` by @raysan5 +[examples] REVIEWED: `core_custom_frame_control`, to work properly on web by @PanicTitan +[examples] REVIEWED: `core_custom_frame_control`, avoid divide by 0 by @johnnymarler +[examples] REVIEWED: `core_delta_time` by @raysan5 +[examples] REVIEWED: `core_directory_files` by @raysan5 +[examples] REVIEWED: `core_highdpi_testbed` by @raysan5 +[examples] REVIEWED: `core_input_actions` by @raysan5 +[examples] REVIEWED: `core_input_gamepad, fix hardcoded gamepad 0 by @lepasona +[examples] REVIEWED: `core_input_gamepad` by @raysan5 +[examples] REVIEWED: `core_input_gestures_testbed` by @raysan5 +[examples] REVIEWED: `core_monitor_detector` by @raysan5 +[examples] REVIEWED: `core_random_sequence` by @raysan5 +[examples] REVIEWED: `core_render_texture` by @raysan5 +[examples] REVIEWED: `core_text_file_loading` (#5339) by @cs24b016 +[examples] REVIEWED: `core_undo_redo` by @raysan5 +[examples] REVIEWED: `core_viewport_scaling` by @raysan5 +[examples] REVIEWED: `core_window_flags` by @raysan5 +[examples] REVIEWED: `core_window_flags`, add borderless windowed toggle by @johnnymarler +[examples] REVIEWED: `core_window_flags`, prevent immediate window restore from minimize by @johnnymarler +[examples] REVIEWED: `core_window_letterbox` by @raysan5 +[examples] REVIEWED: `core_input_gamepad`, vibration test button (#5362) by @sergii +[examples] REVIEWED: `core_directory_files` (#5343) by @hugo +[examples] REVIEWED: `core_input_virtual_controls` (#4584) by @danilwhale +[examples] REVIEWED: `shapes_bouncing_ball`, added gravity (#5217) by @Jopestpe +[examples] REVIEWED: `shapes_kaleidoscope` rewind, forward and reset buttons (#5369) by @hugo +[examples] REVIEWED: `shapes_digital_clock` by @raysan5 +[examples] REVIEWED: `shapes_bullet_hell` by @raysan5 +[examples] REVIEWED: `shapes_double_pendulum` by @raysan5 +[examples] REVIEWED: `shapes_easings_testbed` by @raysan5 +[examples] REVIEWED: `shapes_hilbert_curve` #5454 by @raysan5 +[examples] REVIEWED: `shapes_hilbert_curve` by @raysan5 +[examples] REVIEWED: `shapes_lines_drawing` by @raysan5 +[examples] REVIEWED: `shapes_penrose_tile` by @raysan5 +[examples] REVIEWED: `shapes_penrose_tile` formating by @raysan5 +[examples] REVIEWED: `shapes_pie_chart` by @raysan5 +[examples] REVIEWED: `shapes_rlgl_triangle` by @raysan5 +[examples] REVIEWED: `shapes_triangle_strip`, fix array size and simplify loop (#5280) by @Jopestpe +[examples] REVIEWED: `text_draw_3d` by @zeankey +[examples] REVIEWED: `text_font_sdf` by @raysan5 +[examples] REVIEWED: `text_inline_styling` by @raysan5 +[examples] REVIEWED: `text_raylib_fonts` by @raysan5 +[examples] REVIEWED: `text_unicode_ranges` by @raysan5 +[examples] REVIEWED: `text_words_alignment` (#5411) by @lucarandrianirina2507 +[examples] REVIEWED: `text_draw_3d`, fix text size by @zeankey +[examples] REVIEWED: `textures_bunnymark`, replaced bunny image #5344 by @raysan5 +[examples] REVIEWED: `textures_clipboard_image` by @raysan5 +[examples] REVIEWED: `textures_framebuffer_rendering` by @raysan5 +[examples] REVIEWED: `textures_image_kernel` by @raysan5 +[examples] REVIEWED: `textures_screen_buffer` by @raysan5 +[examples] REVIEWED: `textures_sprite_stacking` by @raysan5 +[examples] REVIEWED: `textures_textured_curve` (#5463) by @Jeffm2501 +[examples] REVIEWED: `textures_bunnymark` by @raysan5 +[examples] REVIEWED: `models_first_person_maze` (#5478) by @pauldahacker +[examples] REVIEWED: `models_decals`, fixed unload crash, added buttons (#5306) by @themushroompirates +[examples] REVIEWED: `models_animation_bone_blending` by @raysan5 +[examples] REVIEWED: `models_basic_voxel` by @raysan5 +[examples] REVIEWED: `models_basic_voxel`, fix raycasting logic (#5643) by @SardineMilk +[examples] REVIEWED: `models_basic_voxel`, replaced `GetRenderWidth()` by `GetScreenWidth()` (#5635) by @SardineMilk +[examples] REVIEWED: `models_decals` by @raysan5 +[examples] REVIEWED: `models_first_person_maze` by @raysan5 +[examples] REVIEWED: `models_loading_vox` by @raysan5 +[examples] REVIEWED: `models_mesh_picking` by @raysan5 +[examples] REVIEWED: `models_point_rendering` by @raysan5 +[examples] REVIEWED: `models_rlgl_solar_system` by @raysan5 +[examples] REVIEWED: `models_skybox_rendering` by @raysan5 +[examples] REVIEWED: `models_textures_tiling` shaders by @raysan5 +[examples] REVIEWED: `models_animation_blending` by @raysan5 +[examples] REVIEWED: `shaders_ascii_rendering` (#5219) by @maiconpintoabreu +[examples] REVIEWED: `shaders_ascii_rendering` by @raysan5 +[examples] REVIEWED: `shaders_basic_pbr`, to work on web (#4516) by @afanolovcic +[examples] REVIEWED: `shaders_color_correction` by @raysan5 +[examples] REVIEWED: `shaders_defered_render` for OpenGL ES 3.0 (#4617) by @Bigfoot71 +[examples] REVIEWED: `shaders_deferred_render` (#4676) by @veins1 +[examples] REVIEWED: `shaders_deferred_render` by @raysan5 +[examples] REVIEWED: `shaders_deferred_rendering` by @raysan5 +[examples] REVIEWED: `shaders_game_of_life` by @raysan5 +[examples] REVIEWED: `shaders_game_of_life` for web (#5399) by @JordSant +[examples] REVIEWED: `shaders_hybrid_rendering`, shaders issues by @raysan5 +[examples] REVIEWED: `shaders_julia_set` by @raysan5 +[examples] REVIEWED: `shaders_mandelbrot_set` (#5310) by @JordSant +[examples] REVIEWED: `shaders_mandelbrot_set` for WebGL (#5286) by @JordSant +[examples] REVIEWED: `shaders_mesh_instancing` by @raysan5 +[examples] REVIEWED: `shaders_multi_sample2d` by @raysan5 +[examples] REVIEWED: `shaders_normal_map` by @raysan5 +[examples] REVIEWED: `shaders_normalmap_rendering` by @raysan5 +[examples] REVIEWED: `shaders_normalmap` #5032 by @raysan5 +[examples] REVIEWED: `shaders_normalmap` by @raysan5 +[examples] REVIEWED: `shaders_rounded_rectangle` by @raysan5 +[examples] REVIEWED: `shaders_shadowmap_rendering` by @raysan5 +[examples] REVIEWED: `shaders_shadowmap_rendering` example by @raysan5 +[examples] REVIEWED: `shaders_spotlight` by @raysan5 +[examples] REVIEWED: `shaders_texture_drawing` by @raysan5 +[examples] REVIEWED: `shaders_cel_shading` by @raysan5 +[examples] REVIEWED: `shaders_cel_shading`, cel-shading and outline using inverted hull (#5615) by @galexeev +[examples] REVIEWED: `audio_fft_spectrum_visualizer`, not working on web by @raysan5 +[examples] REVIEWED: `audio_music_stream` by @raysan5 +[examples] REVIEWED: `audio_sound_multi` by @raysan5 +[examples] REVIEWED: `audio_sound_positioning` by @dabbott +[examples] REVIEWED: `rlgl_compute_shader` by @raysan5 +[examples] REVIEWED: `raylib_opengl_interop`, remove unnecessary defines (#5618) by @m0391n +[examples] REVIEWED: `raylib_opengl_interop` single header library not having it's implementation loaded (#5498) by @jscaffidi +[examples] REVIEWED: Example shader `depth_render.fs` by @raysan5 +[examples] REVIEWED: Example shader `depth_write.fs` by @raysan5 +[examples] REVIEWED: Example shader `normalmap.fs` by @raysan5 +[examples] REVIEWED: Example shader `palette_switch.fs` (#5205) by @benjaminsmallarz +[examples] REVIEWED: Example shader `write_depth.fs` for glsl120 by @maiconpintoabreu +[examples] REDESIGNED: `core_clipboard_text`, based on #5248 by @raysan5 +[examples] REDESIGNED: `shapes_digital_clock` by @raysan5 +[examples] REDESIGNED: `shapes_kaleidoscope`, store lines #5361 by @raysan5 +[examples] REDESIGNED: `text_unicode_ranges` by @raysan5 +[examples] REDESIGNED: `models_animation_blending` by @raysan5 +[examples] REDESIGNED: `audio_raw_stream`, remove callback usage (#5637) by @dan-hoang + +[bindings] ADDED: Common Lisp binding by @colin +[bindings] ADDED: D Object Oriented wrapper (#4550) by @RealDoigt +[bindings] ADDED: Dart binding (#5585) by @FinnDemonCat +[bindings] ADDED: Deno binding for 5.5 (#5462) by @JJLDonley +[bindings] ADDED: Jai binding (#4565) by @ahmedqarmout2 +[bindings] ADDED: Raylib-cs.BleedingEdge (#4999) by @danilwhale +[bindings] ADDED: SwiftForth language binding (#5319) by @dave +[bindings] ADDED: Wave language (#5539) by @youngjae681 +[bindings] ADDED: c3-lang for raylib 5.5 (#4555) by @afanolovcic +[bindings] ADDED: chicken scheme (#5449) by @meowstr +[bindings] ADDED: elle bindings (#5370) by @acquitefx +[bindings] ADDED: raylib-ada (#5150) by @artem.v.ageev +[bindings] ADDED: uiua bindings (#4993) by @marcosgrzesiak +[bindings] ADDED: Ring language (#5421) by @SabeDoesThings +[bindings] ADDED: ReiLua, Lua binding (#4589) by @legendaryredfox +[bindings] ADDED: Matte bindings (#4586) by @legendaryredfox +[bindings] UPDATED: Nim wrapper version (#4638) by @planetis-m +[bindings] UPDATED: Raylib.nelua version (#4698) by @AuzFox +[bindings] UPDATED: Fennel binding (#4585) by @0riginaln0 +[bindings] UPDATED: Jaylib to 5.5 (#4546) by @glowiak +[bindings] UPDATED: Ruby binding (#4639) by @BotRandomness +[bindings] UPDATED: V language binding (#4691) by @mobiuscog +[bindings] UPDATED: `racket-raylib` version by @eutro +[bindings] UPDATED: fortran-raylib to 5.5 (#4518) by @interkosmos +[bindings] UPDATED: raylib-beef (#4514) by @Jannis.v.hagen +[bindings] UPDATED: raylib-cpp to 5.5 (#4511) by @RobLoach +[bindings] UPDATED: raylib-cs binding link (#4746) by @Rgebee +[bindings] UPDATED: raylib-d to 5.5 (#4506) by @schveiguy +[bindings] UPDATED: raylib-lua (#4567) by @legendaryredfox +[bindings] UPDATED: raylib-py to 5.5 (#4519) by @jorgegomes83 +[bindings] UPDATED: raylib-python-cffi to 5.0 (#4512) by @villares +[bindings] UPDATED: raylib-python-cffi to 5.5 (#4517) by @villares +[bindings] UPDATED: raylib-zig by @Not-Nik +[bindings] UPDATED: Multiple bindings (#4504, #4559, #4633, #4920, #5538, #5546) +[bindings] REMOVED: Broken repo links from bindings (#4572) by @legendaryredfox +[bindings] UPDATED: Factor bindings to 5.5 (#5648) by @ArnautDaniel +[bindings] UPDATED: Raylib-cs to 5.5 (#4628) by @JupiterRider +[bindings] UPDATED: raylib-go to 5.5 (#4566) by @JupiterRider +[bindings] UPDATED: racket-raylib (#4884) by @eutro +[bindings] UPDATED: raylib-odin binding license (#5647) by @jtorrestx +[bindings] UPDATED: raylib-zig (#5103) by @Not-Nik +[bindings] UPDATED: keybindings versions (#4570) by @legendaryredfox +[bindings] UPDATED: Common Lisp binding (#5014) by @fosskers +[bindings] REMOVED: raylib-v7 binding (#5090) by @Auios + +[rlparser] RENAMED: `raylib_parser` to `rlparser` by @raysan5 +[rlparser] REVIEWED: Command-line info by @raysan5 +[rexm] ADDED: Automated-testing system by @raysan5 +[rexm] ADDED: Build check warnings logs by @raysan5 +[rexm] ADDED: Command `update` to validate and update required files by @raysan5 +[rexm] ADDED: Example automated-testing by @raysan5 +[rexm] ADDED: Examples validation by @raysan5 +[rexm] ADDED: Implemented examples commands for automatic testing by @raysan5 +[rexm] ADDED: Implemented file rename requirements by @raysan5 +[rexm] ADDED: More detailed log info by @raysan5 +[rexm] ADDED: Read examples years created/reviewed info by @raysan5 +[rexm] ADDED: Resources scanning from examples for automated copying by @raysan5 +[rexm] ADDED: Security checks to verify examples categories provided by @raysan5 +[rexm] ADDED: Support example removal by @raysan5 +[rexm] ADDED: TestLog option for logs processing (without rebuilding) by @raysan5 +[rexm] ADDED: Web metadata validation and update by @raysan5 +[rexm] ADDED: Web platform logs automated reports by @raysan5 +[rexm] ADDED: `LoadExamplesData()` to support filtering and sorting by @raysan5 +[rexm] ADDED: `RemoveVSProjectFromSolution()` by @raysan5 +[rexm] ADDED: `AddVSProjectToSolution()` by @raysan5 +[rexm] ADDED: Examples buildind command by @raysan5 +[rexm] ADDED: Legend info on report generation by @raysan5 +[rexm] ADDED: `UpdateSourceMetadata()` by @raysan5 +[rexm] ADDED: Allow building web examples locally on Windows platform by @raysan5 +[rexm] ADDED: Generate second report with examples with issues by @raysan5 +[rexm] ADDED: Automatic validation and update of examples by @raysan5 +[rexm] ADDED: Automatically fix not found VS2022 project / solution by @raysan5 +[rexm] ADDED: Check example exists (compilation worked) before trying to run it by @raysan5 +[rexm] ADDED: Copy examples web-build files to `raylib.com` by @raysan5 +[rexm] ADDED: Remove duplicate entries on examples list on `update` process by @raysan5 +[rexm] ADDED: Automatic validation and update by @raysan5 +[rexm] ADDED: Example building, using default examples `Makefile`/`Makefile.Web` by @raysan5 +[rexm] ADDED: Rebuild to support full categories by @raysan5 +[rexm] ADDED: Support building full example collection and categories by @raysan5 +[rexm] ADDED: Support examples data `validation` and **report generation** by @raysan5 +[rexm] ADDED: Support paths customization with environment variables by @raysan5 +[rexm] ADDED: Support testing running on `PLATFORM_DRM` by @raysan5 +[rexm] REVIEWED: Fixed some issues, improved `make` call defining base path by @raysan5 +[rexm] REVIEWED: Avoid external tool for UUIDv4 generation, implement custom function by @raysan5 +[rexm] REVIEWED: Avoid updating metadata from `others` examples by @raysan5 +[rexm] REVIEWED: Allow external path definition for VS solution file by @raysan5 +[rexm] REVIEWED: Reports moved to reports directory by @raysan5 +[rexm] REVIEWED: Automated testing for Web by @raysan5 +[rexm] REVIEWED: Examples header info inconsistencies by @raysan5 +[rexm] REVIEWED: Get example info from example header when added, to be added to collection by @raysan5 +[rexm] REVIEWED: Makefile and default paths (#5224) by @Teeto44 +[rexm] REVIEWED: Testing report generation by @raysan5 +[rexm] REVIEWED: Update `nextCatIndex` (#5616) by @CrackedPixel +[rexm] REVIEWED: Added variable assignment to rename option (#5077) by @lpow100 +[rexm] REVIEWED: Ran examples testing for macos (#5366) by @MaeBrooks +[remx] REVIEWED: Add check for category on new name (#5093) by @maiconpintoabreu +[remx] REVIEWED: Add warning for missing new name (#5092) by @maiconpintoabreu +[rexm] REVIEWED: Add compiled rexm to gitignore (#5086) by @maiconpintoabreu +[rexm] REVIEWED: Update examples status report when examples Updated by @raysan5 +[rexm] REVIEWED: `ScanExampleResources()` avoid resources to be saved by the program by @raysan5 +[rexm] REVIEWED: `UpdateSourceMetadata()` and `TextReplaceBetween()` by @raysan5 +[rexm] REVIEWED: `examples.js` example addition working by @raysan5 +[rexm] REVIEWED: `add` command logic for existing examplee addition by @raysan5 +[rexm] REVIEWED: Replace example name on project file by @raysan5 +[rexm] REVIEWED: Report issues if logs can not be loaded by @raysan5 +[rexm] REVIEWED: VS project adding to solution by @raysan5 +[rexm] REVIEWED: `UpdateSourceMetadata()` by @raysan5 +[rexm] REVIEWED: Example renaming on `examples.js` by @raysan5 +[rexm] REVIEWED: Examples source code headers metadata by @raysan5 +[rexm] REVIEWED: `README.md` generation improvements by @raysan5 +[rexm] REVIEWED: Store example resource paths by @raysan5 +[rexm] REVIEWED: `Makefile.Web` before trying to rebuild new example for web by @raysan5 +[rexm] REVIEWED: Using `Makefile.Web` for specific web versions generation by @raysan5 + +[external] REVIEWED: `jar_mod.h`, buffer overflow on memcpy by @LoneAuios +[external] REVIEWED: `sdefl` and `sinfl` issues (#5367) by @raysan5 +[external] REVIEWED: `sinfl_bsr()`, improvements by @RicoP +[external] REVIEWED: `rl_gputex.h`, make it usable standalone by @raysan5 +[external] REVIEWED: `rl_gputex.h,, fix the swizzling in `rl_load_dds_from_memory()` (#5422) by @msmith-codes +[external]`REVIEWED: `rl_gputex.h,, decouple logging and memory allocation from raylib by @sleeptightAnsiC +[external] REVIEWED: `stb_truetype`, fix composite glyph scaling logic (#4811) by @ashishbhattarai +[external] UPDATED: dr_libs (#5020) by @Emil2010 +[external] UPDATED: miniaudio to v0.11.22 (#4983) by @M374LX +[external] UPDATED: miniaudio to v0.11.23 (#5234) by @pyrokn8 +[external] UPDATED: miniaudio to v0.11.24 (#5506) by @vdemcak +[external] UPDATED: raygui to 5.0-dev for examples by @raysan5 +[external] UPDATED: RGFW to 1.5 (#4688) by @ColleagueRiley +[external] UPDATED: RGFW to 1.6 (#4795) by @colleagueRiley +[external] UPDATED: RGFW to 1.7 (#4965) by @M374LX +[external] UPDATED: RGFW to 1.7.5-dev (#4976) by @M374LX +[external] UPDATED: RGFW to 2.0.0 (#5582) by @CrackedPixel + +[misc] ADDED: SECURITY.md for security reporting policies by @raysan5 +[misc] ADDED: `examples/examples_list`, to be used by `rexm` or other tools by @raysan5 +[misc] ADDED: `fix_win32_compatibility.h`, utility header to avoid `windows.h` inclusion conflicts by @Jeffm2501 +[misc] RENAMED: Move and rename `raylib_parser` to `tools/rlparser` by @raysan5 -WARNING- +[misc] REVIEWED: Avoid `realloc()` usage, security improvement by @raysan5 +[misc] REVIEWED: Prioritize `calloc()` calls than `malloc()` on some cases by @raysan5 +[misc] REVIEWED: Code comments using imperative format by @raysan5 +[misc] REVIEWED: Webpage reference comments start with `REF:`, more consistent with `TODO:` and `NOTE:` comments by @raysan5 +[misc] REVIEWED: CONVENTIONS.md, added additional conventions by @raysan5 +[misc] REVIEWED: ROADMAP.md with potential future improvements by @raysan5 +[misc] REVIEWED: Comments formating, using imperative mode by @raysan5 +[misc] REVIEWED: Multiple examples inconsistencies on heeaders and overall structure to follow template by @raysan5 +[misc] REVIEWED: Code gardening: cleaning, reviewed comments, warnings, variables names... by @raysan5, @JeffM2501, @maiconpintoabreu, @CrackedPixel ------------------------------------------------------------------------- Release: raylib 5.5 (18 November 2024) @@ -458,7 +1215,7 @@ Detailed changes: [bindings] UPDATED: Python raylib-py v5.0.0beta1 (#3557) by @jorgegomes83 [bindings] UPDATED: raylib-d binding (#3561) by @schveiguy [bindings] UPDATED: Janet (#3553) by @Dmitry Matveyev -[bindings] UPDATED: Raylib.nelua (#3552) by @guy.smith764 +[bindings] UPDATED: Raylib.nelua (#3552) by @AuzFox [bindings] UPDATED: raylib-cpp to 5.0 (#3551) by @RobLoach [bindings] UPDATED: Pascal binding (#3548) by @Gunko Vadim [external] UPDATED: stb_truetype.h to latest version by @raysan5