### Modern UI 3.8.0.1
#### Forge Extension 1.18.2-40.1.73
* Add tooltips for some options
* Add in-game option for background opacity
* Use bootstrap.properties instead of bootstrap file
* Add dynamic tooltip border colors and presets
* Block NUL char for input method
* Fix crash on dedicated server
* Fix possible startup crash
* Add ContainerDrawHelper
* Add config to use vanilla font for convenience
* Remove tooltip fade-in animation
* Add slider control for preferences
* Fix UI screenshot not un-premultiplied
* Don't allow soft launching due to OpenGL 3.3 support
* Fix GUI scale pinned after game restart
* Add CenterFragment2
* Remove noise from gaussian blur shader
* Remove deprecated configs
* Adjust GUI scale algorithm
* Adjust tooltip border width
* Support capability for fragments and screens
* Fix incorrect color blending for tooltip
* Fix GUI scale is always auto after restart
* Fix black screen with blur effect
* Add glow wave effect
* Change the background blur from 4-pass box blur to 2-pass gaussian blur with lod and noise
* Improve config reloading and action center UI
* Fix crash on dedicated server (though you shouldn't install on server)
* Add config to disable slider GUI scale
* Update GUI scale algorithm
* Add I18n compat characters
* Add new API and remove server dependency
* Change registration and network to internal
#### Modern Text Engine 1.18.2
* Add config to control component cache
* Add default font behavior to control whether to use default font
* Add SpaceFont for compatibility
* Add position alignment for direct mask drawing
* Add StandardFontSet for better mod compatibility
* Make color emoji work in font itemization rather than brute force
* Enhance and optimize text layout engine
* Only compute the required information
* Make text layout asynchronous
* Mix layout processor into LayoutCore to increase cache hit
* Adjust paragraph layout lifespan
* Reduce performance and memory impact
* Remove fast digit replacement
* Make obfuscated style work with bitmap fonts
* Adjust EditBox highlight color
* Fix EditBox selection highlight
* Fix per-glyph rendering for compatibility
* Fix obfuscated text crash in world using SDF
* Make SDF work as long as in 3D or non-translation matrix
* Make SDF work with 32pt font size at least
* Remove alignPixels due to font hinting
* Replace 8x outline with SDF stroke
* Fix compatibility for Create display board
* Change Twemoji 14 to Google Noto Color Emoji 15
* Fix text rendered as emoji without VS-16 (0xFE0F)
* Combine IamCal (Slack) shortcodes with JoyPixels (Discord) and Google
* Add distance field text to 3D world
* Fix total advance of layout is never pixel-aligned
* Fix TTF loading in vanilla resource packs
* Adjust texture sharpening factor
* Fix line breaking for obfuscated chars
* Remove enchantment font hack
* Support vanilla bitmap font in replacement run
* Support vanilla bitmap font as font family
* Support vanilla font declaration
* Adjust text decoration thickness
* Reduce unnecessary native memory usage in vanilla
* Make font resource reloading work async
* Optimize ChatFormatting.getByCode to O(1)
* Optimize layout caching strategy
* Add font set to layout key
* Add sharpen font atlases
* Change blend mode for glowing text
* Add new glowing text effect
* Add deferred rendering to improve performance
#### Core Framework 3.8.0
* Update font itemization for color emoji
* Fit sub-windows in main window
* Add ColorEmoji support for font itemization
* Optimize GPU glyph memory usage
* Block NUL and DEL character from input
* Add EmojiFont features
* Replace Matrix4 with Matrix for View
* Add TooltipPopup support for View
* Add Font interface for layout engine, move old Font usage to StandardFont
* Add text pre-computation
* Replace all ascents with negative values
* Fix TextLine context range
* Add offset parameters to GlyphsConsumer
* Add TextShaper.shapeText for multi-styled text
* Fix Canvas.drawText(ShapedText) method
* Update TextShaper and Canvas methods
* Add TrailingMarginSpan, add LineBackgroundSpan, add TypefaceSpan
* Enhance rich text spans, add AlignmentSpan, BulletSpan, LeadingMarginSpan, QuoteSpan
* Optimize MeasuredText
* Supports text layout with optional per-glyph advances and pixel bounds
* Separate Arc Paint, Graphics Paint, TextPaint and FontPaint
* Enhance temp TextBuffer recycling
* Fix fast path for BoringLayout.draw()
* Remove Canvas.drawText(CharSequence)
* Replace old LayoutPiece usage with ShapedText.doLayout
* Optimize text rendering
* Fix FontFamily is not thread safe
* Add Matrix for 2D transform (xyw), Matrix3 for 3D transform (xyz)
* Migrate graphics package to Arc 3D
* Add explicit camera distance
* Add context range to LayoutCache
* Add draw ShapedText, add register method to FontFamily
* Add ShapedText and TextShaper for drawing text, make drawText deprecated
* Rework LayoutPiece, optimize cluster work, now it won't do texture work
* Add FontFamily aliases
* Moving low-level text layout to graphics.text package
* Fix MessageQueue parkNanos time unit
* Don't use perspective if View has no 3D transform
* Add WindowGroup for toasts and popups
* Add context to Toast
* Add MpmcArrayQueue
* Optimize view matrix composition
* Rework threading system
* Add ProgressBar and SeekBar
* Add Locale alias for FontFamily
* Add ScaleDrawable
* Change ScrollView default scrollbar
* Fix bitmap getPixelARGB on BIG ENDIAN machine
* Rework ShapeDrawable, remove old Shape classes
* Set long press timeout to 1000ms by default
* Add LinkMovementMethod
* Update BinaryIO
* Update ListView
* Update Pool and Pools
* Update Paint methods
* Add ViewPager module
* Rework drawLine method with SDF
* Add drawPie drawMesh canvas method
* Add GIF image decoder
* Add more Bitmap formats and image decode methods
* Merge Arc 3D graphics engine
* Add framework Nullable/NonNull annotations
* Allow Bitmap's pixels to be shared
* Add ColorSpace implementation
* Update Matrix and MathUtil
* Optimize for styled text, make text style serializable
* Add complex value and display metrics
* Add linked structure and custom data class for DataSet
* Add property name for Property
* Fix distance-to-edge anti-aliasing is gamma correct
* Adjust analytic anti-aliasing to screen-space
* Improve font collection itemization
* Update shaders to a modern version
* Use indexed rendering for glyph meshes
* Add sharpen textures for all shaders
* Always use premultiplied alpha for builtin renderer
* Compact font atlas generation
* Other small updates...
#### Arc 3D Graphics Engine 3.8.0
* Add experimental instanced rendering
* Optimize text rendering
* Always use buffer orphaning for OpenGL
* Add backend render target wrapping
* Add submit method for BufferPool
* Add IndexMeshPool
* Move some context states out of GLCommandBuffer
* Add RingBuffer
* Add some Vulkan backend classes
* Fix BufferAllocPool
* Fix OpsRenderPass buffer pointers
* Update VaryingHandler and UniformHandler layout qualifier
* Add compatibility for base instance support
* Add GLUniformBuffer and buffer upload
* Add FilterMode, MipmapMode and AnisotropicFiltering for Paint
* Add async pipeline state cache (thread safe)
* Add separate objects from graphics package
* Add CustomDrawable for handling unmanaged draw
* Fix Buffer unlock method
* Fix BufferAlloc pointers
* Add RoundRectGeoProc
* Add Buffer creation method to Engine
* Add DrawOp and MeshDrawOp
* Add OpListTask
* Replace GLPipeline with separate GLProgram and GLVertexArray
* Add GLOpsRenderPass
* Add GLUniformDataManager
* Support base offset for GLVertexArray in OpenGL 3.3
* Fix Surface hierarchy
* Use MSAA resolve instead of MS texture sampler
* Add compatibility methods for creating render target objects
* Add close() for LazyCallback proxies
* Add GL_RG for GrayAlpha surface usage
* Add OpenGL 3.3 compatible shaders
* Add mutable texture allocation methods
* Add swizzle on texture binding
* Use separate min/mag filter for SamplerState
* Optimize surface canvas methods
* Optimize font atlas generation
* Change default font atlas size to 4 chunks (1024x1024)
* Change number of font atlases from multiple to single
* Add efficient rectangle packing algorithms
#### Markdown 3.8.0
* Add Code and CodeBlock
* Initial basic Markdown support
#### View Pager 3.8.0
* Add linear pager indicator
* Initial update
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }