Releases: korlibs/korge
v4.0.2
🔥 New feature! 🔥 🧯🚒
Added TypedResourcesGenerator to generate a typed tree of your src/commonMain/resources including images, sounds and atlases + GameWindow.alwaysOnTop
https://www.youtube.com/watch?v=yV7CilouqNc
What's Changed
- Documents the BigInt class by @soywiz in #1629
- Document some more kbignum classes and extensions by @soywiz in #1631
- Added TypedResourcesGenerator to generate a typed tree of your src/commonMain/resources including images, sounds and atlases + GameWindow.alwaysOnTop by @soywiz in #1634
- WIP Feature/metal backend next iteration by @ygdrasil-io in #1517
Full Changelog: v4.0.1...v4.0.2
v4.0.1
🆕 New WASM target 🎊:
- WASM. Only available on:
kds
,kmem
,klock
,krypto
,klogger
,kbignum
. The rest of the libraries will be available oncekotlinx.coroutines
is published to central. There are some known bugs; follow the status here: #1628
Version Bumps:
Fixes:
- Fixes localTimezoneOffsetMinutes in apple platforms & adds DateTime.cfAbsoluteTime & DateTime.Companion.fromCFAbsoluteTime by @soywiz in #1592
- Fixes new esbuild version on windows by @soywiz in #1611
- Fixes and tests NativeStorage by @soywiz in #1613
Additions
Improvements
- Check browserReleaseEsbuild on all platforms by @soywiz in #1612
- Configure tests in detail in the korge gradle plugin by @soywiz in #1608
What's Changed
- Adds wasm target to Krypto by @soywiz in #1607
- Adds wasm target to klock by @soywiz in #1615
- Enables wasm filtering in CI workflows by @soywiz in #1621
- Adds wasm target to klogger by @soywiz in #1619
- Adds wasm target to kbignum by @soywiz in #1617
- Adds wasm target to ktruth by @soywiz in #1620
- Enables wasm target in kmem by @soywiz in #1623
- Add wasm target to KDS by @soywiz in #1616
- Enable wasm in KorMA by @soywiz in #1624
- Prepare to update to Kotlin 1.9.0-Beta (not updated just yet but make required changes) by @soywiz in #1614
- Initial WASM compiling on all libraries but korgw and korge by @soywiz in #1625
- WASM Browser support for all the libraries including korgw and korge (DISABLED) by @soywiz in #1626
Full Changelog: v4.0.0...v4.0.1
v4.0.0
https://www.eventbrite.com/e/korge-40-live-release-snacks-networking-tickets-626052298277
Changelog will be updated with highlights after the release event.
Video:
https://www.youtube.com/watch?v=avKhNcVJB5I
Slides (with some updates):
- KorGE 4.0: https://docs.google.com/presentation/d/1BT2XxkSZKk8pMOWOUItWWcLPdHTHi3DUeJLkIr73Bd0/edit?usp=sharing
- KProject: https://docs.google.com/presentation/d/1LCd31z9Ke2_gqtba504R2bnjuGX52OlQwBX58Fg3Mho/edit?usp=sharing
What's Changed
- Make Animator to start automatically by default, without waiting for the next frame, and allowing to configure that behaviour in root and children nodes by @soywiz in #1100
- Support View.renderToBitmap to render the background color too by @soywiz in #1102
- Added CachedContainer functionality + improve _stage lookup by propagating it by @soywiz in #1101
- Fixes ISO8601 parsing with offsets by @soywiz in #1104
- Allow using a pre-allocated array for QOI encoding to avoid allocating a new array for every call. by @Kietyo in #1098
- UI Rework, new TextBlock and rich text support, justify, word wrapping and ellipsis, fixes bounds with filters, add fast material-like circle+rounded rect with shadow rendering based on SDF [Part 1] by @soywiz in #1105
- Supports
korge { androidMsaa = 4 }
to configure antialiased multisampled rendering on Android by @soywiz in #1103 - Initial prebaked MSDF font support + support rendering rich and plain text direclty in RenderContext2D by @soywiz in #1109
- Supports bidirectional Bitmap <-> UIImage conversion by @soywiz in #1108
- Lazy dynamic BitmapFont from VectorFont by @soywiz in #1113
- Start work removing KorUI by starting dropping the KorgeDebugNode interface and moving KorUI to the JVM only KorGE target by @soywiz in #1114
- Support rendering only a specific text range by @soywiz in #1118
- Support native image encoding on native image formats by @soywiz in #1120
- Tests HEIC loading in apple platforms by @soywiz in #917
- Bumps kover agent version to 1.0.688 by @soywiz in #1124
- Try to make KotlinNativeCrossTest abstract to make it compatible with Kotlin 1.8.0-Beta by @soywiz in #1125
- Increase kbignum coverage by @soywiz in #1126
- Add NBuffer to replace MemBuffer, DataBuffer, FBuffer and others now that DataView in JS is fast on all the browsers by @soywiz in #1134
- Major kmem update: unify all Buffers :
FBuffer
,MemBuffer
,DataBuffer
,Fast32Array
... into a new justBuffer
by @soywiz in #1135 - Optimize AG State to be allocation-free & immutable by using inline classes & tightly packed integers, equality comparison, serialization & hashCodes are now trivial by @soywiz in #1137
- Move AG enums and structures outside AG class and add the AG prefix + convert enum class to inline class to get faster performance by @soywiz in #1138
- Change how AGUniformValues work (backported from PR) by @soywiz in #1142
- Remove e2e sample by @soywiz in #1143
- Backported offscreen rendering functionality (create KmlGlContext without a window) by @soywiz in #1144
- Cleanup: Automatically handle some AG objects, and doing preparation work for simplifying AG based on NAG experiments by @soywiz in #1145
- Simplify AG [Part 1] by @soywiz in #1149
- Modify KorgeAndroidView.kt by @MYKIM95 in #1148
- Remove old MicroDynamic, DynamicJvm, DynamicNode, ObjectMapper, Struct, ClassFactory etc. and replace old code by @soywiz in #1150
- Fixes wrong wskey=null in RawSocketWebSocketClient + add test verifying wrong length for wskey by @soywiz in #1152
- Support text input in Linux K/N by @soywiz-otg in #1161
- Add isActive check to animator by @BioRyajenka in #1158
- Cleanup & fix: Removes premultiplied complexity in shaders by @soywiz in #1162
- Call gl.beforeDoRender in AGOpengl by @BioRyajenka in #1163
- Ensure RenderContext.doRender & AGOpengl is calling ag.beforeDoRender by @soywiz in #1165
- Prepare StrReader to be extensible and support streams by @soywiz in #1169
- Support multiple programs/uniforms in BatchBuilder2D by @soywiz in #1151
- Tests and fixes Animator.looped with block nodes by @soywiz in #1173
- Add UniformBlockData & UniformBlockBuffer by @soywiz in #1174
- Adds CharReader & CharReaderFromSyncStream & allows Charset.decode to support streams by @soywiz in #1177
- Add extra Deque variants by @soywiz in #1178
- Support creating SyncStream from a sequence of ByteArray by @soywiz in #1179
- Supports XML streaming by @soywiz in #1180
- Update to Kotlin 1.8.0 by @soywiz in #1123
- Fixes & tests scene transitions parameters by @soywiz in #1184
- Go back to Kotlin 1.7.21 by @soywiz in #1182
- DirectGL on Win32. Hugely reduces OpenGL overhead on windows JVM: Use JNA 5.13 Library.OPTION_SYMBOL_PROVIDER to implement fast direct OpenGL mapping on Windows by @soywiz in #1195
- Fixes DirectGL on win32 and enable it, since it was not enabled by @soywiz in #1198
- Update kotlinx.serialiation and atomicfu versions by @soywiz in #1199
- Update coverage agent to 1.0.692 by @soywiz in #1201
- Move build.gradle*.kts code into buildSrc by @soywiz in #1202
- Do not use kotlin-dsl to not propagate it to the korge gradle plugin by @soywiz in #1203
- Update to Kotlin 1.8 & version substitution by @soywiz in #1204
- Partially fixes GPU rendering by @soywiz in #1205
- Fixes control, alt, shift not working on K/N win32 by @soywiz in #1206
- Fixes YAML special double colon case by @soywiz in #1222
- Fixes characters from being slightly displaced and spaces showing a dot in a LazyBitmapFont by @soywiz in #1223
- Implement array element swapping & rotation by @soywiz in #1227
- Optimized ImageOrientation and make it more useful by @soywiz in #1228
- Support slicing Rectangle by @soywiz in #1229
- Improved RectangleInt and make Bitmap.locking using it by @soywiz in #1230
- Add Bitmap.oriented to transform a bitmap based on an ImageOrientation by @soywiz in #1231
- Simplify how bitmap slices work by @soywiz in #1224
- Moved korim-jpeg to a separate repo using kproject by @soywiz in #1242
- Move LuaK to kproject: https://github.com/korlibs/korge-luak by @soywiz in #1251
- Update with the ability to disable ligatures for TtfFont. by @Kietyo in #1233
- Converted korvi to kproject: https://github.com/korlibs/korge-video by @soywiz in #1254
- Move lipsyncing to kproject: https://github.com/korlibs/korge-lipsync by @soywiz in #1258
- Bump Kotlin to 1.8.10 & serialization to 1.5.0-RC by @soywiz in #1260
- Moved MOD, S3M and XM to korge-audio-formats repo: https://github.com/korlibs/korge-audio-formats by @soywiz in #1261
- Support slight differences between platforms when comparing goldens by @soywiz in #1263
- Bump to Kotlin 1.8.10, unify K/N configuration and disable custom freeCompilerArgs by @soywiz in #1266
- Unify both settings.gradle & buildSrc/build.gradle with repositories defined in gradle/repositories.settings.gradle by @soywiz in #1267
- Do not include BuildVersions in commits by generating them in buildSrc/build.gradle instead in groovy by @soywiz in #1270
- Updating deprecated text to link to other function by @FSaurenbach ...
v4.0.0-rc6
What's Changed
- Added TileMap.overdrawTiles to be used with LDtk by @soywiz in #1579
- Use an older android build gradle plugin to avoid issues with older IntelliJ versions by @soywiz in #1581
- Add admob kproject link by @soywiz in #1582
- Small fix by @soywiz in #1583
- Fixes remaining resource combination issues for Android and iOS by @soywiz in #1584
Full Changelog: v4.0.0-rc5...v4.0.0-rc6
v4.0.0-rc5
What's Changed
- runJs: correct MIME type for JavaScript modules by @smaugfm in #1567
- Fixes mipmaps where TEXTURE_BASE/MAX_LEVEL are supported by @soywiz in #1568
- Make Maximize button on macOS cocoa to go fullscreen by @soywiz in #1569
- Fixes empty lines in yaml maps by @soywiz in #1570
- Fixes and tests onStageResized / onEvent(ViewsResizedEvent) by @soywiz in #1571
- Remove old korge gradle plugin code by @soywiz in #1572
- Include resources from dependant projects recursively: fixes kproject dependencies with bundled resources by @soywiz in #1574
- Bump kotlinx.coroutines to 1.7.0 by @soywiz in #1576
- Add starter kits & mascot links by @soywiz in #1573
- fix Starter kits link error for readme by @vlfx in #1578
New Contributors
Full Changelog: v4.0.0-rc4...v4.0.0-rc5
v4.0.0-rc4
What's Changed
- runJs: correct MIME type for wasm files by @smaugfm in #1562
- Try to fix not using sourceMaps on JS to avoid huge performance bottleneck when running JS by @soywiz in #1563
- Fixes packageJsClosureCompiler task, report errors & apply_input_source_maps by @soywiz in #1564
- Atlas texture generation for *.atlas folder/files, fixes catalog generation and resource processing on all the targets & adds mechanism to add a custom resource processors in the build.gradle by @soywiz in #1565
New Contributors
Full Changelog: v4.0.0-rc2...v4.0.0-rc4
v4.0.0-rc2
What's Changed
- Optimize View.localMatrix in K/N by @soywiz in #1537
- Fixes Vector2/Point.isCollinear for fully horizontal points and repeated points by @soywiz in #1539
- Supports android display cutout by @soywiz in #1540
- Moved collisions API to kproject by @soywiz in #1542
- Do not require Korge().start {}. Also keep compatibility with the old parameters windowWidth, bgcolor etc. for now. by @soywiz in #1543
- Align extensions for Float too by @soywiz in #1545
- EmptyShape2d -> EmptyShape2D by @soywiz in #1544
- Update README.md by @soywiz in #1546
- Bump kotlinx-coroutines to 1.7.0-RC by @soywiz in #1547
- Update README.md by @soywiz in #1549
- Update Kotlin to 1.8.21 by @soywiz in #1551
- Support specifying a base offset for the buffer in AGVertexData by @soywiz in #1550
- Reduce the number of texture units to 8 for iOS by @soywiz in #1552
- Support getting AGIndexType.bytesSize and getting it from shader's VarKind by @soywiz in #1553
- Update README.md by @soywiz in #1555
- Fixes Android library release builds being empty by @soywiz in #1556
- Checks latest KorGE version automatically by @soywiz in #1558
- Since bundles are deprecated in favour of kproject, let's remove bundle code from the plugin by @soywiz in #1557
- Fixes AudioDataStream to be able to seek and to restart by @soywiz in #1560
- Fixes android Sound, since the deque writer/reader were in different threads and the datastructure was not thread-safe by @soywiz in #1561
Full Changelog: v4.0.0-rc...v4.0.0-rc2
v4.0.0-rc
What's Changed
- Fixes OpenGL contextLost on all targets & checks on the JVM by @soywiz in #1520
- Add runJvm by @soywiz in #1521
- Support VAO on OpenGL MacOS by @soywiz in #1522
- Supports sound pausing/resuming on Android when the apps goes to the background / foreground by @soywiz in #1523
- Fixes back button pressing on Android by @soywiz in #1524
- Implement some DialogInteface methods in iOS by @soywiz in #1525
- Fixes iOS rendering issue by @soywiz in #1527
- Some MPoint -> Point, Double -> Float by @soywiz in #1528
- Huge arrayequal optimization + reduce checkings when uploading buffers to AGBuffer by @soywiz in #1529
- Remove experimental wrapped klock variants by @soywiz in #1508
- Remove old versions for a couple of projects by @soywiz in #1531
- Move korlibs.math.math package to just korlibs.math by @soywiz in #1530
- Move view align methods to korlibs.korge.view.align by @soywiz in #1532
- JVM Views extension mechanism + moved particles to kproject by @soywiz in #1533
- Caches the PGP signatory decoding, that was performed for each artifact, by @soywiz in #1534
- Cleanup MRectangle and MBoundsBuilder by @soywiz in #1535
Full Changelog: v4.0.0-beta3...v4.0.0-rc
v4.0.0-beta3
What's Changed
- Fix hotreloading by @soywiz in #1509
- Use Float & Size in Views by @soywiz in #1511
- Update atomicfu by @soywiz in #1513
- Further Double -> Float and x, y to Point by @soywiz in #1515
- Make Bezier immutable and remove IBezier interface by @soywiz in #1516
Full Changelog: v4.0.0-beta2...v4.0.0-beta3
v4.0.0-beta2
What's Changed
- Remove MCircle & MRay as they were already immutable by @soywiz in #1488
- Cache View local bounds by @BioRyajenka in #1487
- Remove related code to the old memory manager by @soywiz in #1489
- Remove MEulerRotation & MQuaternion and use immutable variants in remaining places by @soywiz in #1490
- Make registerStageComponent faster by @BioRyajenka in #1486
- Some Shape2D improvements by @soywiz in #1494
- Remove Modules and simplify KorgeConfig by @soywiz in #1497
- Add Turkish language to Klock Locales by @tekinalper in #1501
- Fixes and refactor android by @soywiz in #1499
- Bump to Kotlin 1.8.20 by @soywiz in #1504
- Support for VAO and UBO when available by @soywiz in #1503
- Fixes CachedContainer & UIScrolalble & Adds FixedSizeCachedContainer clip & builder by @soywiz in #1507
New Contributors
- @tekinalper made their first contribution in #1501
Full Changelog: v4.0.0-beta...v4.0.0-beta2