Skip to content

Releases: JetBrains/skiko

Version 0.7.85.4

15 Nov 20:04
Compare
Choose a tag to compare
Fix problem with conversion of Kotlin String to C char * (#827)

(cherry picked from commit ec8405918378213a0e64cc0b3605ac3329fb903b)

Version 0.7.88

10 Nov 19:35
ec84059
Compare
Choose a tag to compare
v0.7.88

Fix problem with conversion of Kotlin String to C char * (#827)

Version 0.7.87

08 Nov 17:55
5825d5c
Compare
Choose a tag to compare
don't crash an app if we got empty run during text shaping (#821)

* don't crash an app if we got empty run during text shaping

* on windows and linux it may produce some glyph

Version 0.7.86

07 Nov 13:27
4217f64
Compare
Choose a tag to compare
Pavel.sergeev/set skia m116 (#808)

* update bindings according to skia-m116

* we don't have `ubuntu` suffix in skia artifacts anymore

* fix compilation on windows

* ignore the test because it was failing before

* fix windows compilation

* avgCharWidth is 0f on windows

Version 0.7.85

20 Oct 11:36
1cbde7b
Compare
Choose a tag to compare
Make dispatcherToBlockOn dispatcher based on daemon threads. (#814)

After https://github.com/JetBrains/skiko/pull/798, we changed Dispatcher.IO to custom dispatcher.

Dispatcher.IO is based on daemon threads (thread that receives InterruptException on application exit).

Our new dispatcher isn't. The proof:
```
import java.util.concurrent.Executors
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.asCoroutineDispatcher
import kotlinx.coroutines.runBlocking

fun main() {
    runBlocking(Dispatchers.IO) {
        println(Thread.currentThread().isDaemon) // prints true
    }
    runBlocking(Executors.newCachedThreadPool().asCoroutineDispatcher()) {
        println(Thread.currentThread().isDaemon) // prints false
    }
    val defaultFactory = Executors.defaultThreadFactory()
    runBlocking(Executors.newCachedThreadPool {
        defaultFactory.newThread(it).apply {
            isDaemon = true
        }
    }.asCoroutineDispatcher()) {
        println(Thread.currentThread().isDaemon) // prints true
    }
}
```

This PR makes threads daemon.

Reported in [Kotlin Slack](https://kotlinlang.slack.com/archives/C01D6HTPATV/p1697400320739369) - applications exits too long.

Version 0.7.84

12 Oct 08:26
64385d4
Compare
Choose a tag to compare
Fix segfault of color space gradient makers upon pos=null (#774)

Passing null into the "positions" parameter of a gradient shader factory
that accepts a custom ColorSpace caused a segfault prior to this fix.

Version 0.7.81

18 Sep 11:21
ea06741
Compare
Choose a tag to compare
v0.7.81

Set kotlinx.coroutines to 1.7.3; Use limited parallelism instead of `…

Version 0.7.80

12 Sep 17:46
d2a2eab
Compare
Choose a tag to compare
v0.7.80

Change ordering of colors from RGBA to BGRA on DirectX offscreen rend…

Version 0.7.79

05 Sep 12:51
485fde3
Compare
Choose a tag to compare
Accessibility focus on wrong component fix (#793)

* Introduce a way to initialize CAccessible for Accessible to build proper context -> accessible mapping

* Add test for getCAccessible call

Version 0.7.77

15 Aug 13:37
7555565
Compare
Choose a tag to compare
Restrict redrawing when the application is background. (#790)

* Pause metal redrawer when app is background.

* Add comment

* Add logic for synchronous scheduling

* Add logic for synchronous scheduling

* Add correct initial state