Releases: korlibs/korge
v4.0.5a
What's Changed
Full Changelog: v4.0.5...z4.0.5a-only-gradle-plugin-4.0.5
v4.0.4-dev-1.9.20-2914
All korlibs compiled for the WASM target: including klock, kds, kmem, kbignum, korma, korim, korte, korim, korau, korgw and finally korge!
WASM experiment using:
- kotlin = "1.9.20-dev-2914"
- kotlinx-atomicfu = "0.20.2-wasm0"
- kotlinx-coroutines = "1.7.0-RC-wasm0"
- kotlinx-serialization = "1.5.1-wasm0"
Requires:
pluginManagement {
repositories {
mavenLocal(); mavenCentral(); google(); gradlePluginPortal()
maven { url = uri("https://maven.pkg.jetbrains.space/kotlin/p/kotlin/dev") }
maven { url = uri("https://maven.pkg.jetbrains.space/kotlin/p/wasm/experimental") }
}
}
in settings.gradle.kts
hello-world example using this:
you can try the sandbox yourself with multiples samples with:
git clone git@github.com:korlibs/korge.git
cd korge
git checkout feature/final.retake.wasm
# or if branch doesn't exist by then: git checkout 4244a6a55e803ead89816bc982c3e271d65cf62e
./gradlew runWasm
Relevant PR: #1677
v4.0.4
v4.0.3
What's Changed
- Adds an annotation pointing to the right path for every typed resource, so the intellij plugin can do stuff with that by @soywiz in #1635
- Completes kbignum documentation + adds a BigInt.toBigInteger in the JVM/Android targets by @soywiz in #1636
- Make suspendTest actually return an expect/actual type, so it can also work on wasm by @soywiz in #1637
- Some SVG fixes by @soywiz in #1639
- Klock: Fixes Z parsing and adds DateTime.parseLocal as a shortcut for parse(str).local by @soywiz in #1640
Full Changelog: v4.0.2...v4.0.3
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