algoliasearch-client-kotlin icon indicating copy to clipboard operation
algoliasearch-client-kotlin copied to clipboard

chore(deps): update all dependencies

Open renovate[bot] opened this issue 2 years ago • 1 comments

Mend Renovate

This PR contains the following updates:

Package Type Update Change Age Adoption Passing Confidence
actions/checkout action major v3 -> v4 age adoption passing confidence
actions/setup-java action major v3 -> v4 age adoption passing confidence
gradle (source) minor 8.7 -> 8.9 age adoption passing confidence
java major 11.0.22+7 -> 21.0.4+7.0.LTS age adoption passing confidence
com.diffplug.gradle.spotless plugin minor 6.14.0 -> 6.25.0 age adoption passing confidence
com.vanniktech.maven.publish plugin minor 0.24.0 -> 0.29.0 age adoption passing confidence
org.jetbrains.kotlinx.binary-compatibility-validator plugin minor 0.12.1 -> 0.16.2 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-coroutines-test dependencies minor 1.6.4 -> 1.8.1 age adoption passing confidence
org.jetbrains.kotlinx:kotlinx-serialization-json dependencies minor 1.5.1 -> 1.7.1 age adoption passing confidence
io.ktor:ktor-client-okhttp dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-mock dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-jetty dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-java dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-cio dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-apache dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-android dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-serialization-kotlinx-json dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-content-negotiation dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-logging dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
io.ktor:ktor-client-core dependencies minor 2.2.3 -> 2.3.12 age adoption passing confidence
org.jetbrains.kotlin.plugin.serialization (source) plugin major 1.8.10 -> 2.0.0 age adoption passing confidence
org.jetbrains.kotlin.multiplatform (source) plugin major 1.8.10 -> 2.0.0 age adoption passing confidence

Release Notes

actions/checkout (actions/checkout)

v4

Compare Source

actions/setup-java (actions/setup-java)

v4

Compare Source

gradle/gradle (gradle)

v8.9

Compare Source

v8.8: 8.8

Compare Source

The Gradle team is excited to announce Gradle 8.8.

Read the Release Notes

We would like to thank the following community members for their contributions to this release of Gradle: Björn Kautler, Denes Daniel, Fabian Windheuser, Hélio Fernandes Sebastião, Jay Wei, jhrom, jwp345, Jörgen Andersson, Kirill Gavrilov, MajesticMagikarpKing, Maksim Lazeba, Philip Wedemann, Robert Elliot, Róbert Papp, Stefan M., Tibor Vyletel, Tony Robalik, Valentin Kulesh, Yanming Zhou, 김용후

Upgrade instructions

Switch your build to use Gradle 8.8 by updating your wrapper:

./gradlew wrapper --gradle-version=8.8

See the Gradle 8.x upgrade guide to learn about deprecations, breaking changes and other considerations when upgrading.

For Java, Groovy, Kotlin and Android compatibility, see the full compatibility notes.

Reporting problems

If you find a problem with this release, please file a bug on GitHub Issues adhering to our issue guidelines. If you're not sure you're encountering a bug, please use the forum.

We hope you will build happiness with Gradle, and we look forward to your feedback via Twitter or on GitHub.

vanniktech/gradle-maven-publish-plugin (com.vanniktech.maven.publish)

v0.29.0

Compare Source

  • Added configureBasedOnAppliedPlugins(sourcesJar: Boolean, javadocJar: Boolean) overload that allows disabling sources and javadoc jars without having to use the more granular Platform APIs.
  • For Java library and Kotlin/JVM projects the Gradle module metadata now properly includes the sources jar.
  • When running on Gradle 8.8 or newer the pom configuration is not applied in afterEvaluate anymore, making manual overrides easier.
  • Fix potential issue with the javadoc jar tasks that can cause Gradle to disable optimizations.
  • When staging profiles can't be loaded the status code of the response is added to the error message.
Minimum supported versions
  • JDK 11
  • Gradle 8.1
  • Android Gradle Plugin 8.0.0
  • Kotlin Gradle Plugin 1.9.20
Compatibility tested up to
  • JDK 21
  • Gradle 8.8
  • Android Gradle Plugin 8.5.0
  • Android Gradle Plugin 8.6.0-alpha06
  • Kotlin Gradle Plugin 2.0.0
  • Kotlin Gradle Plugin 2.0.20-Beta1
Configuration cache status

Configuration cache is generally supported, except for:

  • Publishing releases to Maven Central (snapshots are fine), blocked by Gradle issue #​22779.
  • Dokka does not support configuration cache

v0.28.0

Compare Source

  • Added support for publishing through the new Central Portal. To use this use the CENTRAL_PORTAL option when specifying the Sonatype host.
  • For Kotlin Multiplatform the main plugin will now automatically publish the release variant if the project has an Android target and no variant was explicitly specified through the Kotlin Gradle DSL.
  • Support specifying the Android variants to publish in KotlinMultiplatform(...).
  • Updated minimum supported Gradle, Android Gradle Plugin and Kotlin versions.
  • Removed support for the deprecated Kotlin/JS plugin.
  • Removed the deprecated closeAndReleaseRepository task. Use releaseRepository, which is functionally equivalent, instead.
Minimum supported versions
  • JDK 11
  • Gradle 8.1
  • Android Gradle Plugin 8.0.0
  • Kotlin Gradle Plugin 1.9.20
Compatibility tested up to
  • JDK 21
  • Gradle 8.6
  • Gradle 8.7-rc-3
  • Android Gradle Plugin 8.3.0
  • Android Gradle Plugin 8.4.0-alpha13
  • Kotlin Gradle Plugin 1.9.23
  • Kotlin Gradle Plugin 2.0.0-Beta4
Configuration cache status

Configuration cache is generally supported, except for:

  • Publishing releases to Maven Central (snapshots are fine), blocked by Gradle issue #​22779.
  • Dokka does not support configuration cache

v0.27.0

Compare Source

  • Added new publishing related tasks
    • releaseRepository releases a staging repository at the end of the build and can be executed in the same build as the publishing task. This allows having automatic releases without permanently enabling them.
    • publishToMavenCentral as alias for running publishAllPublicationsToMavenCentralRepository.
    • publishAndReleaseToMavenCentral as alias for running both of the above.
    • For more information checkout the docs.
  • It is now possible to only pass a subset of the parameters to coordinates(...) and leave the others at their default value. Thanks to @​sschuberth for the contribution.
  • Fixed java-test-fixture projects being broken with Gradle 8.6.
  • Deprecated closeAndReleaseRepository in favor of releaseRepository.
Minimum supported versions
  • JDK 11
  • Gradle 7.6
  • Android Gradle Plugin 7.4.0
  • Kotlin Gradle Plugin 1.8.20
Compatibility tested up to
  • JDK 21
  • Gradle 8.5
  • Gradle 8.6-rc-1
  • Android Gradle Plugin 8.2.1
  • Android Gradle Plugin 8.3.0-beta01
  • Android Gradle Plugin 8.4.0-alpha03
  • Kotlin Gradle Plugin 1.9.22
  • Kotlin Gradle Plugin 2.0.0-Beta2
Configuration cache status

When using Gradle 8.1 or newer configuration cache is generally supported.

Exceptions to that are:

  • Publishing releases to Maven Central (snapshots are fine), blocked by Gradle issue #​22779.
  • Dokka does not support configuration cache

v0.26.0

Compare Source

  • It's now supported to call configure(Platform) from the main plugin to modify what is getting published. Check out the docs for more details
  • The base plugin now has a configureBasedOnAppliedPlugins DSL method to allow applying the default configure logic of the main plugin.
  • Calling configure(Platform) now validates that the required plugins are applied (e.g. Android Gradle Plugin for Android projects).
  • It's now possible to disable source publishing for KMP projects.
  • Fixed an issue which would cause the javadoc jar task to be registered multiple times for Gradle plugin projects with more than one publication. Thanks to @​autonomousapps for the fix.
  • Publishing Kotlin/JS projects has been deprecated and will be removed in the next release, because the Kotlin/JS plugin has been deprecated.
  • The internal task to create a javadoc jar for certain project types has been renamed from simpleJavadocJar to plainJavadocJar. Thanks to @​sschuberth.
Minimum supported versions
  • JDK 11
  • Gradle 7.6
  • Android Gradle Plugin 7.4.0
  • Kotlin Gradle Plugin 1.8.20
Compatibility tested up to
  • JDK 21
  • Gradle 8.5
  • Android Gradle Plugin 8.2.0
  • Android Gradle Plugin 8.3.0-alpha17
  • Kotlin Gradle Plugin 1.9.21
  • Kotlin Gradle Plugin 2.0.0-Beta1
Configuration cache status

When using Gradle 8.1 or newer configuration cache is generally supported.

Exceptions to that are:

  • Publishing releases to Maven Central (snapshots are fine), blocked by Gradle issue #​22779.
  • Dokka does not support configuration cache

v0.25.3

Compare Source

  • Gradle 8.2: Fix error for projects that use the java-test-fixtures plugin.
  • Fix issue for Kotlin Multiplatform projects when running tests and having signing enabled.

v0.25.2

Compare Source

  • Fix javadoc jar being empty when using dokka.

v0.25.1

Compare Source

  • Fix snapshot publishing being broken.

v0.25.0

Compare Source

  • The createStagingRepository task now uses the worker API which allows the project to built in parallel to the creation of the staging repository.
  • Fix incompatibility with Kotlin 1.8.20-Beta for Kotlin/JS projects. The Kotlin/JS plugin is now taking care of creating the sources jar on its own. Because of this the base plugin won't allow disabling sources jar creation for Kotlin/JS projects anymore starting with 1.8.20. The KotlinJs constructor with a sourcesJar parameter has been deprecated.
  • Fix incompatibility with Gradle 8.1 for java-test-fixtures projects
  • Fix incompatibility with com.gradle.plugin-publish 1.0.0 and 1.1.0
  • New minimum supported versions:
    • Gradle 7.4
    • Android Gradle Plugin 7.3.0
    • Kotlin Gradle Plugin 1.7.0
    • com.gradle.plugin-publish 1.0.0
  • Note: Starting with Kotlin 1.8.20-Beta the common sources jar for multiplatform projects will only contain the sources of the common source set instead of containing the sources from all source sets.
Configuration cache status

Configuration cache is supported starting with Gradle 7.6+ except for:

  • Builds with enabled signing, will be resolved in Gradle 8.1.
  • Publishing releases to Maven Central (snapshots are fine), blocked by Gradle issue #​22779.
  • Kotlin Multiplatform projects, blocked by KT-49933.
Kotlin/binary-compatibility-validator (org.jetbrains.kotlinx.binary-compatibility-validator)

v0.16.0

Compare Source

What changed:
  • Updated Kotlin Metadata JVM library to the latest version (now it's kotlin-metadata-jvm:2.0.0) #​255
  • Various improvements in KLib ABI dumping API #​253, #​254

v0.15.1

Compare Source

What changed:
  • Fixed a regression introduced in 0.15.0 affecting how enum entries from classes with non-public companions are dumped (#​250)

v0.15.0

Compare Source

This release finalizes what was added in the series of beta releases and adds Kotlin libraries (KLib) dumping and validation support. See project's README for details on how to enable it for your project.

The release contains some breaking changes that were made to align and fix BCV behavior across all supported configurations:

If any of these changes affect your projects, please check the migration guide for details on what needs to be done to update BCV to 0.15.0: 0.15.0 Migration Guide.

What changed:
From 0.15.0-Beta.3
  • Non-public markers are now correctly handled when applied to const vals (#​90, #​245)
  • Fixed KLib dump and validation behavior for empty projects (#​246, #​247); now apiDump will emit an empty file and apiCheck will successfully consume it
From 0.14.0 (brief overview of Beta.1 .. Beta.3 changes)

I want to give a shout-out to everyone involved! Special thanks to @​benedekh, @​adam-enko, @​JakeWharton, @​rickclephas, @​lukellmann, @​illarionov, @​sandwwraith, @​martinbonnin, @​ilya-g and @​shanshin for their feedback and contributions.

v0.14.0

Compare Source

The release contains changes potentially affecting dump's content (#​144, #​162, #​161, #​175).

What changed:
  • $EntriesMappings classes backing Kotlin's 1.9 Enum.entries are now filtered out (#​144)
  • Companion class' annotation are now propagated to the corresponding Companion field (#​162)
  • Interface's class-level annotations are now propagated to the corresponding DefaultImpls class (#​161)
  • An option to setup a custom dump output directory (other that the default api/) is added (#​170)
  • Packages annotated in Java package-info classes could be now filtered from the dump by adding these annotations to nonPublicMarkers (#​175)
  • Fixed ignoredClasses behavior to avoid exclusion of classes whose name is a prefix of some ignoredClasses values (#​136)
  • Gradle is updated to 8.5, build scripts and configs are refactored (#​134, #​167), strict API mode is enabled (#​168)
  • ASM is updated to 8.6 to support classifies targeting Java versions (#​173)
  • Tests were cleaned up to avoid hardcoded dump root paths (#​154)
  • Badges in the README file were updated (#​159)

Thanks to @​qwwdfsad, @​bryanlogan, @​aSemy, @​xtrm-en and @​Goooler for contributions!

v0.13.2

Compare Source

  • kotlinx-metadata is updated to 0.6.2 with the support of LV 2.0

v0.13.1

Compare Source

v0.13.0

Compare Source

  • Kotlin is updated to 1.8.10
  • kotlinx-metadata is updated to 0.6.0
Kotlin/kotlinx.coroutines (org.jetbrains.kotlinx:kotlinx-coroutines-test)

v1.8.1

Compare Source

  • Remove the @ExperimentalTime annotation from usages of TimeSource (#​4046). Thanks, @​hfhbd!
  • Introduce a workaround for an Android bug that caused an occasional NullPointerException when setting the StateFlow value on old Android devices (#​3820).
  • No longer use kotlin.random.Random as part of Dispatchers.Default and Dispatchers.IO initialization (#​4051).
  • Flow.timeout throws the exception with which the channel was closed (#​4071).
  • Small tweaks and documentation fixes.
Changelog relative to version 1.8.1-Beta
  • Flow.timeout throws the exception with which the channel was closed (#​4071).
  • Small documentation fixes.

v1.8.0

Compare Source

  • Implement the library for the Web Assembly (Wasm) for JavaScript (#​3713). Thanks @​igoriakovlev!
  • Major Kotlin version update: was 1.8.20, became 1.9.21.
  • On Android, ensure that Dispatchers.Main != Dispatchers.Main.immediate (#​3545, #​3963).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • kotlinx-coroutines-debug is published with the correct Java 9 module info (#​3944).
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • kotlinx-coroutines-test: set the default timeout of runTest to 60 seconds, added the ability to configure it on the JVM with the kotlinx.coroutines.test.default_timeout=10s (#​3800).
  • kotlinx-coroutines-test: fixed a bug that could lead to not all uncaught exceptions being reported after some tests failed (#​3800).
  • delay(Duration) rounds nanoseconds up to whole milliseconds and not down (#​3920). Thanks @​kevincianfarini!
  • Dispatchers.Default and the default thread for background work are guaranteed to use the same context classloader as the object containing it them (#​3832).
  • It is guaranteed that by the time SharedFlow.collect suspends for the first time, it's registered as a subscriber for that SharedFlow (#​3885). Before, it was also true, but not documented.
  • Atomicfu version is updated to 0.23.1, and Kotlin/Native atomic transformations are enabled, reducing the footprint of coroutine-heavy code (#​3954).
  • Added a workaround for miscompilation of withLock on JS (#​3881). Thanks @​CLOVIS-AI!
  • Small tweaks and documentation fixes.
Changelog relative to version 1.8.0-RC2
  • kotlinx-coroutines-debug no longer requires manually setting DebugProbes.enableCoroutineCreationStackTraces to false, it's the default (#​3783).
  • Fixed a bug that caused Flow operators that limit cancel the upstream flow to forget that they were already finished if there is another such operator upstream (#​4035, #​4038)
  • Small documentation fixes.

v1.7.3

Compare Source

  • Disabled the publication of the multiplatform library metadata for the old (1.6 and earlier) KMP Gradle plugin (#​3809).
  • Fixed a bug introduced in 1.7.2 that disabled the coroutine debugger in IDEA (#​3822).

v1.7.2

Compare Source

Bug fixes and improvements
  • Coroutines debugger no longer keeps track of coroutines with empty coroutine context (#​3782).
  • CopyableThreadContextElement now properly copies an element when crossing the coroutine boundary in flowOn (#​3787). Thanks @​wanyingd1996!
  • Coroutine timeouts no longer prevent K/N newSingleThreadContext from closing (#​3768).
  • A non-linearizability in Mutex during tryLock/unlock sequence with owners is fixed (#​3745).
  • Atomicfu version is updated to 0.21.0.

v1.7.1

Compare Source

Bug fixes and improvements
  • Special characters in coroutine names in JSON dumps are supported (#​3747)
  • The binary compatibility of the experimental overload of runTest is restored (#​3673)
  • Channels that don't use onUndeliveredElement now allocate less memory (#​3646)

v1.7.0

Compare Source

Core API significant improvements
  • New Channel implementation with significant performance improvements across the API (#​3621).
  • New select operator implementation: faster, more lightweight, and more robust (#​3020).
  • Mutex and Semaphore now share the same underlying data structure (#​3020).
  • Dispatchers.IO is added to K/N (#​3205)
    • newFixedThreadPool and Dispatchers.Default implementations on K/N were wholly rewritten to support graceful growth under load (#​3595).
  • kotlinx-coroutines-test rework:
    • Add the timeout parameter to runTest for the whole-test timeout, 10 seconds by default (#​3270). This replaces the configuration of quiescence timeouts, which is now deprecated (#​3603).
    • The withTimeout exception messages indicate if the timeout used the virtual time (#​3588).
    • TestCoroutineScheduler, runTest, and TestScope API are promoted to stable (#​3622).
    • runTest now also fails if there were uncaught exceptions in coroutines not inherited from the test coroutine (#​1205).
Breaking changes
  • Old K/N memory model is no longer supported (#​3375).
  • New generic upper bounds were added to reactive integration API where the language since 1.8.0 dictates (#​3393).
  • kotlinx-coroutines-core and kotlinx-coroutines-jdk8 artifacts were merged into a single artifact (#​3268).
  • Artificial stackframes in stacktrace recovery no longer contain the \b symbol and are now navigable in IDE and supplied with proper documentation (#​2291).
  • CoroutineContext.isActive returns true for contexts without any job in them (#​3300).
Bug fixes and improvements
  • Kotlin version is updated to 1.8.20
  • Atomicfu version is updated to 0.20.2.
  • JavaFx version is updated to 17.0.2 in kotlinx-coroutines-javafx (#​3671)..
  • JPMS is supported (#​2237). Thanks @​lion7!
  • BroadcastChannel and all the corresponding API are deprecated (#​2680).
  • Added all supported K/N targets (#​3601, #​812, #​855).
  • K/N Dispatchers.Default is backed by the number of threads equal to the number of available cores (#​3366).
  • Fixed an issue where some coroutines' internal exceptions were not properly serializable (#​3328).
  • Introduced Job.parent API (#​3201).
  • Fixed a bug when TestScheduler leaked cancelled jobs (#​3398).
  • TestScope.timeSource now provides comparable time marks (#​3617). Thanks @​hfhbd!
  • Fixed an issue when cancelled withTimeout handles were preserved in JS runtime (#​3440).
  • Ensure awaitFrame only awaits a single frame when used from the main looper (#​3432). Thanks @​pablobaxter!
  • Obsolete Class-Path attribute was removed from kotlinx-coroutines-debug.jar manifest (#​3361).
  • Fixed a bug when updateThreadContext operated on the parent context (#​3411).
  • Added new Flow.filterIsInstance extension (#​3240).
  • Dispatchers.Default thread name prefixes are now configurable with system property (#​3231).
  • Added Flow.timeout operator as @FlowPreview (#​2624). Thanks @​pablobaxter!
  • Improved the performance of the future builder in case of exceptions (#​3475). Thanks @​He-Pin!
  • Mono.awaitSingleOrNull now waits for the onComplete signal (#​3487).
  • Channel.isClosedForSend and Channel.isClosedForReceive are promoted from experimental to delicate (#​3448).
  • Fixed a data race in native EventLoop (#​3547).
  • Dispatchers.IO.limitedParallelism(valueLargerThanIOSize) no longer creates an additional wrapper (#​3442). Thanks @​dovchinnikov!
  • Various @FlowPreview and @ExperimentalCoroutinesApi are promoted to experimental and stable respectively (#​3542, #​3097, #​3548).
  • Performance improvements in Dispatchers.Default and Dispatchers.IO (#​3416, #​3418).
  • Fixed a bug when internal suspendCancellableCoroutineReusable might have hanged (#​3613).
  • Introduced internal API to process events in the current system dispatcher (#​3439).
  • Global CoroutineExceptionHandler is no longer invoked in case of unprocessed future failure (#​3452).
  • Performance improvements and reduced thread-local pressure for the withContext operator (#​3592).
  • Improved performance of DebugProbes (#​3527).
  • Fixed a bug when the coroutine debugger might have detected the state of a coroutine incorrectly (#​3193).
  • CoroutineDispatcher.asExecutor() runs tasks without dispatching if the dispatcher is unconfined (#​3683). Thanks @​odedniv!
  • SharedFlow.toMutableList and SharedFlow.toSet lints are introduced (#​3706).
  • Channel.invokeOnClose is promoted to stable API (#​3358).
  • Improved lock contention in Dispatchers.Default and Dispatchers.IO during the startup phase (#​3652).
  • Fixed a bug that led to threads oversubscription in Dispatchers.Default (#​3642).
  • Fixed a bug that allowed limitedParallelism to perform dispatches even after the underlying dispatcher was closed (#​3672).
  • Fixed a bug that prevented stacktrace recovery when the exception's constructor from cause was selected (#​3714).
  • Improved sanitizing of stracktrace-recovered traces (#​3714).
  • Introduced an internal flag to disable uncaught exceptions reporting in tests as a temporary migration mechanism (#​3736).
  • Various documentation improvements and fixes.

Changelog for previous versions may be found in CHANGES_UP_TO_1.7.md

Kotlin/kotlinx.serialization (org.jetbrains.kotlinx:kotlinx-serialization-json)

v1.7.1

==================

This is a bugfix release that aims to fix missing kotlinx-serialization-hocon artifact. It also contains experimental integration with kotlinx-io library. Kotlin 2.0.0 is used by default.

Fixed HOCON publication

Sadly, 1.7.0 release was published incomplete: kotlinx-serialization-hocon artifact is missing from 1.7.0 and 1.7.0-RC releases. This release fixes this problem and now kotlinx-serialization-hocon is available again with 1.7.1 version. No other changes were made to this artifact. Related ticket: #​2717.


Configuration

📅 Schedule: Branch creation - "before 3am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • [ ] If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

renovate[bot] avatar Mar 01 '23 02:03 renovate[bot]

This would be very nice to merge and to release a new 2.1.* version. The ktor-* artifacts of version 2.2.3 are hurt with high-priority CVEs, see https://github.com/algolia/algoliasearch-client-kotlin/issues/412.

dmitry-weirdo avatar Dec 08 '23 17:12 dmitry-weirdo