This repository has been archived by the owner on Jul 8, 2022. It is now read-only.
Releases: soywiz-archive/korge-next
Releases · soywiz-archive/korge-next
v3.0.0-Beta5
What's Changed
- Fix View.removeFromParent not affecting the rendering and causing spurious rendering bugs + optimize and better encapsulate Container + ViewContainerCollection by @soywiz-invideo in #747
- Some Container cleanups + Fix Text.setFormat by @soywiz-invideo in #748
- Force GC and send pause, resume, stop and destroy events to the game by @soywiz-invideo in #745
- fix NPE in PolygonShape.set when no Vec2ArrayPool is given by @jbellis in #724
- Atlas with rotated textures by @Stechmuck in #642
- Add many ThreadLocal by @soywiz-invideo in #749
- Fix Shader.appending for vertex shader not working by @soywiz in #750
- Fixes UIVerticalList bounds when window has been resized by @soywiz in #751
- Fixes SHA512 having a wrong chunkSize/blockSize by @soywiz in #752
- Fixes GpuShapeView with masks/filters, etc. by @soywiz in #753
- Fix particle emitter sample by @soywiz in #755
- Do not wrap texture coordinates by default, as it produces artifacts in some cases by @soywiz in #756
- Fixes a spurious bug with rendering + fixes & hugely optimizes tilemap when rendering lots of tiles + allow to get stats from tilemap rendering by @soywiz in #757
- Fixes IV with invalid length. Fixes #699 by @soywiz in #758
New Contributors
Full Changelog: v3.0.0-Beta4...v3.0.0-Beta5
v3.0.0-Beta4
Updated: There is a pretty annoying bug related to views not getting updated, so not rcommended to use this release
What's Changed
- Fix filters recreating programs every time a Filter instance is created + do not recreate AG.AGProgram for different Program instances with the same shaders by @soywiz-invideo in #707
- Fixes GpuShapeView not using renderColorMul by @soywiz in #708
- Fixes Android and iOS system font resolving, and fixes some design issues related to AndroidContext not being propagated with SystemFont and some work simplifying standard filesystems by @soywiz-invideo in #706
- More versatile function to create rectangle from 2 points. by @Kietyo in #700
- Bump to Kotlin 1.7.0-RC2 by @soywiz-invideo in #624
- Closes VectorPath to have a single implementation by @soywiz-invideo in #720
- Uses new memory model by default by @soywiz in #723
- Fixes ShapeView not drawing strokes by @soywiz in #722
- Improve Vector rendering [Part 1] by @soywiz-invideo in #716
- Small fix by @soywiz-invideo in #725
- Pixels per inch by @soywiz-invideo in #729
- Bump Kotlin to 1.7.0 by @soywiz-invideo in #730
- Improve vector rendering and BezierCurve [Part 2] by @soywiz-invideo in #732
- Improve vector rendering [Part 3] by @soywiz-invideo in #735
- Improve DSL marking to not be able to access views from buildVectorPath { } and derivates by @soywiz in #737
- Added View.zIndex by @soywiz in #739
- Improve Vector Rendering [Part 4] by @soywiz-invideo in #742
- Improve Vector Rendering [Part 5] by @soywiz-invideo in #743
- Double.niceStr() + Improve Angle.toString() + Scene improvements (added size concept) + improve korge-sandbox by @soywiz-invideo in #744
Full Changelog: v3.0.0-Beta3...v3.0.0-Beta4
v3.0.0-Beta3
What's Changed
- Add ByteArray2, CharArray2, BooleanArray2, LongArray2, make AStar implementation to use BooleanArray2, split in files, remove redundant
: Unit
return type and optimize imports to reduce compile times by @Kietyo in #645 - Optimize imports for some modules by @Kietyo in #646
- optimize imports: korte, korvi, krypto by @Kietyo in #648
- optimize imports korma common by @Kietyo in #651
- optimize imports korgw common by @Kietyo in #652
- optimize imports korge common by @Kietyo in #649
- optimize imports korim common by @Kietyo in #650
- optimize imports korio common by @Kietyo in #653
- Update .editorconfig by @soywiz-invideo in #655
- Move :korge-gradle-plugin outside !disabledExtraKorgeLibs by @soywiz-invideo in #656
- Some KorGW/KorGE Android views/surfaces updates by @soywiz-invideo in #659
- Proper handle contextLost to recreate textures + test by @soywiz-invideo in #660
- Fix TouchEvent coordinates propagated to Views by @soywiz-invideo in #658
- Feature/update.ios.target by @soywiz-invideo in #657
- Fix problem with tiles near viewport edge sometimes not being drawn w… by @americanjeff in #639
- Feature/improve.tilemap by @soywiz in #662
- Do not make Container a Collection, but use a property. This should avoid confusions with for example View/Container.filter = Filter() that is not related to filtering a collection by @soywiz in #663
- Fixes xcun xcodebuild showsdks being always executed by @soywiz-invideo in #664
- Support currentThreadId on external threads and workers on Kotlin/Native by @soywiz-invideo in #665
- Simplify and improve consistency with Android and iOS targets + handle key, gamepad events + fix threading issues on Android + fix Android restarting on orientation change + fix iOS orientation change + fix GpuShapeView on android + unify buildSrc with korge-gradle-plugin + support running iOS targets on korge-sandbox and samples directly in korge-next by @soywiz-invideo in #661
- Improve README including the new runIos* command by @soywiz-invideo in #667
- Fixes GpuShapeView not being clipped properly by @soywiz-invideo in #668
- Add support for SVG CSS animations and some SVG fixes and improvements by @soywiz in #670
- GpuShapeView with applyScissor to false should disable previous scissoring by @soywiz-invideo in #671
- Support reading only some pixels of a view by @soywiz-invideo in #673
- Fixes ThreadLocal issue when using View.filterScale in a different thread by @soywiz-invideo in #672
- Update some reference tests by @soywiz-invideo in #674
- Some fixes by @soywiz-invideo in #675
- Fix some texture issues by @soywiz-invideo in #677
- Fix external textures by @soywiz-invideo in #678
- Fixes texture binding for external textures & provides a base bitmap for ForcedTexId by @soywiz-invideo in #679
- Fixes FixedSizeContainer clipping bounds by @soywiz-invideo in #680
- Fixes toStringDecimal zero stripping by @soywiz-invideo in #681
- Some bounds fixes by @soywiz-invideo in #682
- Fix bezier cubic and quadratic bounds by @soywiz in #683
- Easing function improvements by @soywiz in #684
- Fix easing tests giving different results on JVM and JS by -0 normalization by @soywiz-invideo in #685
- Run JVM, JS and Android tests separately and concurrently by @soywiz-invideo in #686
- Add some more container methods by @soywiz-invideo in #687
- Enable publishKorgePluginMarkerMavenPublicationToMavenLocal when publishing to central. by @soywiz-invideo in #688
- Fixes and improvements by @soywiz-invideo in #690
- Supports AES without padding by @soywiz in #691
- Support explicit central deployment by @soywiz in #696
- Feature/improve.curves by @soywiz in #693
New Contributors
- @americanjeff made their first contribution in #639
Full Changelog: v3.0.0-Beta...v3.0.0-Beta3
v3.0.0-Beta
Major changes
- Added
GpuShapeView
, a new view to render antialiased vector graphics on the GPU!ShapeView
and derivates likeCircle
,RoundRect
now useGpuShapeView
internally. Since now it is substantially faster and do not require intermediate bitmaps, now it is possible to animate vectors in a more reasonably way. - New internal mechanism
AGList
andAGQueueProcessor
to do fine-grained rendering. First step for a multithreaded renderer, and to support in the futuremetal
,vulkan
,webgpu
etc. - New extensible render phases mechanism for Views.
- Implemented antialiased masking at the View level with
View.mask
- Implemented backdrop filters with
View.backdropFilter
(applying a filter to the content below the view and use the view as mask). Useful for example to blur or apply filters to the backround. - Changed the internals so
Stage
doesn't have transformations (always the identity matrix), and now mouse coordinates usesStage
as reference instead of the window - Adds support for haptic feedback on macos and iOS
- Implemented
SHA512
hashing, addedCTR
as symmetric encrypton mode, and improved the API for symmetric encryption - MP3 decoding now uses minimp3 again, so it has less failures
- Now it is possible to tween positions around a path with:
tween(view::pos[buildVector { circle(0, 0, 100) }])
- Lots of more stuff... (check What's changed for details)
Improvements from contributors. Thanks! ❤️
- Fix loading frame cells in Aseprite files by @jobe-m in #536
- Update Fleks ECS by @jobe-m in #537
- Have Container implement MutableCollection by @Kietyo in #592
- Add getProp and getPropOrNull methods for BaseView by @Kietyo in #594
- remove println("Ahhhhhh") by @SchneckeddeF in #597
- Klock datetime parser: accept 1-9 digits for millis by @ArtRoman in #609
- Utils for distributing views evenly across vertically/horizontally. by @Kietyo in #615
- Have *Array2 classes implement an interface [Includes small breaking change] by @Kietyo in #616
- Implement closeable mouse events & closeable draggable. by @Kietyo in #625
- the mapping for cyan and magenta was missing by @bognari in #618
What's Changed
- Fix/external.sampler by @soywiz-invideo in #542
- Avoid samplerExternalOES issue in android by @soywiz-invideo in #543
- Update missing reference tests by @soywiz-invideo in #544
- Fix some context2d issues by @soywiz-invideo in #545
- Proper gpu-vector fill rendering by @soywiz-invideo in #547
- Move GpuShapeView to korge by @soywiz in #548
- Initial support for strokes in GpuShapeView by @soywiz in #549
- Implement GPU Vector Sweep Gradient shader by @soywiz in #550
- Adds GpuShapeView reference test by @soywiz in #551
- Fixes gpu shape bounds by @soywiz-invideo in #553
- Implement gpu shape clipping by @soywiz-invideo in #554
- Fix shape building by @soywiz-invideo in #555
- Optimize BitmapFiller & CycleMethod by @soywiz-invideo in #556
- Fix fract for negative numbers by @soywiz-invideo in #557
- Antialiased GPU rendering by @soywiz-invideo in #561
- Kotlin 1.6.20 by @soywiz in #562
- Fix reading JPEG files with extra APP1 sections not being Exif by @soywiz-invideo in #564
- Tries to compile and locally publish iOS artifacts by @soywiz-invideo in #565
- Ensure using Java8 when publishing mobile artifacts locally by @soywiz-invideo in #567
- Bump kotlinx.coroutines to 1.6.1 by @soywiz in #568
- Unify generic texture generation and do not expose KmlGl by @soywiz in #569
- Adds HttpBodyContent, HttpBodyContentFormUrlEncoded & HttpBodyContentMultiPartFormData and improves HttpClient to support this by @soywiz in #570
- Fix stroke issues in GpuShapeView (angle !in 0.degrees..90.degrees, rectangle closed problem and line width not being correct), also adds support for toggling antialiasing by @soywiz-invideo in #574
- Fix some GpuShapeView issues by @soywiz-invideo in #575
- Support toggling msaa on win32 via gameWindow.quality property by @soywiz in #577
- Adds GpuShapeView.updateShape by @soywiz-invideo in #579
- Enable download https test by @soywiz in #581
- Proper implementation of CatalogVfs by @soywiz in #582
- Some clipping and filter issues by @soywiz-invideo in #585
- [KorMA] Line and Circle projectedPoint and some shape improvements by @soywiz-invideo in #587
- Github Actions Cache by @soywiz in #583
- Use version catalog + build.gradle.kts -> build.gradle to improve performance by @soywiz in #590
- Split GameWindow in DialogInterface & some Vfs.exec fixes by @soywiz in #539
- Moved AGOpenglFactory to korag.gl and DynamicLibrary to .kmem.dyn and moved to common by @soywiz in #595
- Support haptic feedback by @soywiz-invideo in #598
- Some fixes by @soywiz-invideo in #600
- Adds ThreadLocal to hapticFeedback and vibration Views extensions by @soywiz-invideo in #599
- Added closestMultipleOf + Double variants by @soywiz-invideo in #601
- Fix Android vibration by only requiring the android context by @soywiz-invideo in #602
- Optimize VfsFile.readCubeMap by @soywiz-invideo in #603
- Makes Matrix.Transform set proper values for other kind of rotations outside 0º..90º range by @soywiz-invideo in #605
- Optimize KmlGl.get* to avoid extra buffer allocations by @soywiz-invideo in #607
- iOS seems to require power of two textures for the render target, and we need it to be at least 64-pixels wide/long by @soywiz-invideo in #606
- Fixes framebuffer with stencil attached when reusing the framebuffer by @soywiz in #608
- Some GL testing fixes by @soywiz-invideo in #610
- Move FrameBuffer processing to AGQueueProcessor by @soywiz-invideo in #611
- Fix and improve GL testing by @soywiz-invideo in #612
- Krypto: Use SecRandomCopyBytes instead of /dev/urandom on apple platforms by @soywiz-invideo in #621
- Feature/improve.UUID.implementation by @soywiz-invideo in #623
- Huge AG improvements & optimize GpuShapeView to use AGList by @soywiz-invideo in #613
- Implement SHA512 by @soywiz in #627
- Feature/support.extensible.cipher.modes by @soywiz in #628
- Reduce the scope of MiniMp3, to not expose constants outside by @soywiz-invideo in #631
- New extensible render phases for views: extract View.filter and add View.mask & some improvements by @soywiz-invideo in #632
- Feature/backdrop filter by @soywiz-invideo in #635
- Fix refreshing UIImage coords when required by @soywiz-invideo in #637
- Fixes GIF decoding, background and frame duration by @soywiz in #640
- Small improvement & test by @soywiz in #641
- Make Stage to have the identity Matrix as transform always independently to retina or window scaling by @soywiz-invideo in #638
- JS was failing because FBuffer.mem was not multiple of 8. Adjust calls to make it multiple of 8 by @soywiz-invideo in #643
New Contributors
Full Changelog: v2.7.0...v3.0.0-Beta
v2.7.0
What's Changed
- Fix wrong task by @soywiz-invideo in #491
- Added UntransformedSizeBmpCoordsWithInstance by @soywiz-invideo in #492
- KDynamic and Dynamic2 was being autocompleted as they were exposing methods in a public object by @soywiz-invideo in #494
- Do not include extra samples if DISABLED_EXTRA_KORGE_LIBS is enabled by @soywiz-invideo in #496
- Adds com.soywiz.korio.test.assertEqualsJvmFileReference by @soywiz-invideo in #495
- Allow Image to support custom shaders, support custom functions in shaders & added stexture2D function to the default shader repeat wrapping by default by @soywiz-invideo in #493
- Add linux based android SDK locations to gradle by @jobe-m in #497
- Fix RGBA.withR/G/B/A clamping by @soywiz in #499
- Add MutableMargin and convert Margin into an interface, MarginInt and MutableMarginInt by @soywiz in #500
- Add support for FOR constant loops with (if break) in shaders, adds Unop Operand by @soywiz in #501
- Adds UISlider component by @soywiz in #502
- Support blending modes in lineBatcher & use BlendMode.INVERT in debug annotations by @soywiz in #503
- Fixes BatchBuilder2D._PROGRAMS thread local issue + fix order of PRE_ADD/POST_ADD programs by @soywiz in #504
- Faster BlurFilter + filter optimizations, fixes and improvements by @soywiz in #505
- Initial experimental SSL/TLS support on darwin: macos & ios by @soywiz in #506
- Linux SSL sockets using OpenSSL dynamically by @soywiz in #508
- Allows to seed extra random bytes by @soywiz in #509
- Delete samples/box2dv2 directory by @SchneckeddeF in #507
- Proper --add-opens on runJvm by @soywiz in #515
- Execute BaseAwtGameWindow.DialogInterface methods with EventQueue.invokeLater by @soywiz in #513
- Fix jvmTest with newer versions of jvm by calling useJUnit + add jvmTestFix by @soywiz in #510
- Try to fix linux libraries not found on /lib /usr/lib + now ncurses or tinfo are not needed & openal & glut do not require dev versions, only runtime ones by @soywiz in #519
- Use filter border in View bounds + BlurFilter improvements by @soywiz in #520
- Some darwin SSL stability fixes by @soywiz in #526
- jvmTest on e2e-test on mac seems to be flaky due to timeout, by @soywiz in #527
- Optimize displaylink on Macos Native by @soywiz in #530
- Use esbuild instead of webpack when running samples by @soywiz in #528
- Initial GPU vector rendering as a sample by @soywiz in #524
- Fixes a crash on K/N linuxX64 (reproduced on 1.6.10 and 1.6.20-RC2), by @soywiz in #531
- Fix SSL sockets hanging in linux JVM by @soywiz in #532
- Fixes falsely reporting an issue with glGenVertexArrays by @soywiz in #533
- Make SortedMap implement Map interface. Not changing the name yet. by @soywiz in #534
- [KorIM] Added QOI Image Format by @soywiz in #535
New Contributors
- @SchneckeddeF made their first contribution in #507
Full Changelog: v2.6.3...v2.7.0
v2.6.3
Major addition
- Integrate Fleks ECS into korge + example by @jobe-m & @Quillraven in #472 + https://github.com/Quillraven/Fleks
What's Changed
- Added publishMobileRepo task by @soywiz-invideo in #463
- Added missing publishIosX64PublicationToMavenRepository to publishMobileRepo by @soywiz-invideo in #464
- Fixed macos packing by @soywiz in #468
- Be nicer to kotlin linters in iOS generated bootstrap by @soywiz-invideo in #469
- Partial support for gradle cache configuration on the korge plugin by @soywiz-invideo in #470
- Add missing task for publishMobileLocal & publishMobileRepo for korge-gradle-plugin by @soywiz-invideo in #471
- Make tests headless by default by @soywiz-invideo in #474
- Ignore hprof files by @soywiz-invideo in #475
- Fixes alpha not being cleared on AG.clear() on macOS (black shadow issue) by @soywiz-invideo in #477
- Adds View.filterScale by @soywiz-invideo in #476
- Bump and unify gradle versions by @soywiz in #480
- HttpPortable optimizations, improvements and refactors by @soywiz in #479
- Disable additive tinting by default by @soywiz-invideo in #473
- Adds runBlockingNoJs to gameWindow and stage by @soywiz-invideo in #481
- Do not sleep on runBlockingNoJs if not required by @soywiz in #482
- Enable trilinear filtering when smoothing with mipmaps by default by @soywiz in #484
- Add some explicit types by @soywiz in #483
- View extension method for scaling view by maintaining aspecg ratio. by @Kietyo in #448
- [Klock] Fixes am/pm on languages other than english by @soywiz in #485
- improve debugger by @bognari in #442
- Fix double dispatch issue by @soywiz-invideo in #487
- Implement playing image animation only once by @jobe-m in #488
- Fixes some CancellationException paths not being handled & fixes server socket accept hang & unifies android and jvm AsyncSocket implementations by @soywiz-invideo in #489
Full Changelog: v2.6.2...v2.6.3
v2.6.2
What's Changed
- KorgeMultithreadedTest doesn't work without coroutines -mt by @soywiz in #454
- Change master -> main branch in github/worflows by @soywiz in #455
- Support compiling linux on windows by @soywiz in #456
- Do not print stacktrace on _launch and _async by default by @soywiz in #457
- Add new constructors for createHttpClient/Server/Endpoint with a block by @soywiz in #458
- Make AsyncServer.listen more resilient by using a supervisorScope to prevent cancellation propagation by @soywiz in #459
- Propagate socket address + add errorHandler to HttpServer by @soywiz in #460
- Restore ImageInfo.orientation ThreadLocal that was removed by mistake by @soywiz-invideo in #462
Full Changelog: v2.6.1...v2.6.2
v2.6.1
- Fixes reading Spine 3.8 JSON: https://github.com/korlibs/korge/issues/425
- Fix BitmapCoords after rotation & transformation
- Fix missing ThreadLocal in ImageInfo.orientation to support korge in a separate non-main thread
- Bump kotlinx.coroutines and kotlinx.serialization versions
Full Changelog: v2.6.0...v2.6.1
v2.6.0
What's Changed
- Bump to Kotlin 1.6.10 again
- Add material colors to Korge. by @Kietyo in #447
- Allow removing
android.enableJetifier=true
by @soywiz-invideo in #451 - Simplify project structure so any source set has only one parent by @soywiz-invideo in #452
- Check if View is a Circle when Shape is null by @jobhh in #450
- Support ImageInfo.orientation, support EXIF reading ImageInfo, support reading EXIF from JPEG, PNG and HEIC/AVIF
- MAJOR gradle project structure changes to not require cinterop commonization for now. Simplify project structure so any source set has only one parent
- Try not to use androidx.appcompat either
- Gradle: Reduce the number of warnings when building
- Proper gradient transformations on Core Graphics
- Fixes vector rendering with transformations on Android
- Added Bitmap.resizedUpTo
- Circumvent issues with cuplicate $catalog
New Contributors
Full Changelog: v2.5.3...v2.6.0
v2.5.3
What's Changed
- Prepare for soywiz-archive/korim#69 by @soywiz-invideo in #445
- fix gradle deprecation warnings by @bognari in #441
- Add ThreadLocal to Bitmap.transformMat
- Fix e2e tests on macos by being less strict since renderer there is a software one producing slightly different results on some filters like the blur one
- Fixes spurious bug rendering composed filters super small in some cases, specially in retina displays
- Some fixes in Views and Korge constructor
- Proper propagate ImageDecodingProps on readBitmap variants
- Use kCGColorSpaceSRGB on Core Graphics renderer
- Make View.renderToBitmap more resilient
- Deprecate Bitmap.transformMat and remove u_TexTransformMatN uniform and matrix multiplication in fragment shaders. Remove unused texTransformMat. Move Bitmap.transformMat to Korvi instead
- Add sample of using Korvi with KorGE benefiting from frame coordinates for transforms
- Adds a way to chain filter addition to views
- Try not to fail if LD included directory doesn't exist Relates to korlibs/korge#424
- Fixes BMP 32-bit decoding, and BMP with extra header size Fixes soywiz-archive/korim#71
- Fixes TGA decoding
- Try to fix Apple Core Graphics native image decoding
- Unifies macos and ios/watchos/tvos image loading implementation using CG (Core Graphics), and supports rescaling while loading
- Implements Android decodeHeaderInternal and decodeInternal with rescaling while loading support
- Supports creating an ImageInfo from a lambda block
- Adds NativeImageFormatProvider.decodeHeader to not require fully decoding the image to get information
- Change how ImageDecodingProps works to make it compatible with both Android and iOS native thumbnailed decoding
- Make readBitmap to propagate ImageDecodingProps correctly
- Native support for resizing images while decoding Prepare for soywiz-archive/korim#69 (#445)
New Contributors
Full Changelog: v2.5.2...v2.5.3