From 7691a3888d44202e7704351c236053750d612813 Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 08:53:41 +0400 Subject: [PATCH 1/8] Update README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 8ecd15a..fc3dda0 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ # kolbasa -Kolbasa is a small, efficient and capable Kotlin library to add PostgreSQL-based queues to your project. +**kolbasa** — a reliable message & job queue for Java & Kotlin, built on PostgreSQL. Use the database you already have — no Kafka, no RabbitMQ. Supports transactional sends, deduplication, delays, retries, dead-letter & archive queues, and batching. ## Features * PostgreSQL as a persistent storage @@ -35,14 +35,14 @@ version 10 and above. ## How to add Kolbasa into your project ### Gradle ```groovy -implementation "io.github.vgv:kolbasa:0.184.0" +implementation "io.github.vgv:kolbasa:0.198.0" ``` ### Maven ```xml io.github.vgv kolbasa - 0.184.0 + 0.198.0 ``` From 235a0542573218e625aa306badc67fa4d35cbf71 Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 08:56:29 +0400 Subject: [PATCH 2/8] change frequency, don't need to monitor deps every week --- .github/dependabot.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/dependabot.yml b/.github/dependabot.yml index b6e65ec..a1b05ff 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -8,9 +8,9 @@ updates: - package-ecosystem: "gradle" # See documentation for possible values directory: "/" # Location of package manifests schedule: - interval: "weekly" + interval: "monthly" - package-ecosystem: "github-actions" directory: "/" schedule: - interval: "weekly" + interval: "monthly" rebase-strategy: "disabled" From d62cc4cbd3d033aa72d6e9bb56cc9ea2632004cc Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 08:59:10 +0400 Subject: [PATCH 3/8] Update libs --- gradle/libs.versions.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ce11cd7..dbcdb30 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -12,15 +12,15 @@ nexus = "2.0.0" prometheus = "1.6.1" opentelemetry = "1.62.0" -opentelemetry-instrumentation = "2.27.0" -opentelemetry-instrumentation-incubator = "2.27.0-alpha" +opentelemetry-instrumentation = "2.28.1" +opentelemetry-instrumentation-incubator = "2.28.1-alpha" opentelemetry-semconv = "1.41.1" hikaricp = "7.0.2" postgresql = "42.7.11" logback = "1.5.32" testcontainers = "2.0.5" -junit = "6.0.3" +junit = "6.1.0" mockk = "1.14.9" [libraries] From 47dbe19ebfeddce2761bf24cc5ea78e0b4324376 Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 09:11:48 +0400 Subject: [PATCH 4/8] tune .editorconfig --- .editorconfig | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/.editorconfig b/.editorconfig index 36672a8..092451e 100644 --- a/.editorconfig +++ b/.editorconfig @@ -2,9 +2,15 @@ root = true [*] charset = utf-8 +end_of_line = lf insert_final_newline = true trim_trailing_whitespace = true -end_of_line = lf indent_style = space indent_size = 4 -max_line_length = 130 \ No newline at end of file +max_line_length = 130 + +[*.{yml,yaml,toml,json}] +indent_size = 2 + +[*.md] +trim_trailing_whitespace = false From 56e68c2cca976f26df4720e8ec1accc7acc2de84 Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 09:14:43 +0400 Subject: [PATCH 5/8] mistype --- settings.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 42d062e..3dc3e28 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -5,5 +5,4 @@ pluginManagement { gradlePluginPortal() mavenCentral() } - } From be3413f49243dc5489706e2117dd0d3b2fa902fb Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 09:33:36 +0400 Subject: [PATCH 6/8] Small fixes --- build.gradle.kts | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 54c9c7c..d8aabe7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -32,7 +32,6 @@ dependencies { compileOnly(libs.opentelemetry.semconv) compileOnly(libs.opentelemetry.instrumentation.api) compileOnly(libs.opentelemetry.instrumentation.api.incubator) - // --------------------------------------------------------------------------------- // Test testImplementation(libs.junit.jupiter) @@ -54,6 +53,7 @@ dependencies { kotlin { jvmToolchain(17) compilerOptions { + // Pin to 1.9 so the published bytecode stays consumable by projects on older Kotlin compilers. apiVersion = KotlinVersion.KOTLIN_1_9 languageVersion = KotlinVersion.KOTLIN_1_9 // We need JVM default methods for interfaces, but don't need the compatibility bridges @@ -185,8 +185,8 @@ tasks.withType { tasks.register("printFinalReleaseNote") { doLast { printFinalReleaseNote( - groupId = "io.github.vgv", - artifactId = "kolbasa", + groupId = SettingsProvider.ARTIFACT_GROUP_ID, + artifactId = SettingsProvider.ARTIFACT_NAME, sanitizedVersion = project.sanitizeVersion() ) } @@ -196,8 +196,8 @@ tasks.register("printFinalReleaseNote") { tasks.register("printDevSnapshotReleaseNote") { doLast { printDevSnapshotReleaseNote( - groupId = "io.github.vgv", - artifactId = "kolbasa", + groupId = SettingsProvider.ARTIFACT_GROUP_ID, + artifactId = SettingsProvider.ARTIFACT_NAME, sanitizedVersion = project.sanitizeVersion() ) } @@ -208,8 +208,8 @@ publishing { publications { create("mavenJava") { from(components["java"]) - groupId = "io.github.vgv" - artifactId = "kolbasa" + groupId = SettingsProvider.ARTIFACT_GROUP_ID + artifactId = SettingsProvider.ARTIFACT_NAME version = project.sanitizeVersion() versionMapping { usage("java-api") { @@ -221,7 +221,7 @@ publishing { } pom { name.set("Kolbasa") - description.set("Kotlin library for PostgreSQL queues") + description.set("A reliable message & job queue for Java & Kotlin, built on PostgreSQL.") url.set("https://github.com/vgv/kolbasa") licenses { license { @@ -255,7 +255,7 @@ nexusPublishing { repositories { sonatype { useStaging.set(!project.isSnapshotVersion()) - packageGroup.set("io.github.vgv") + packageGroup.set(SettingsProvider.ARTIFACT_GROUP_ID) username = settingsProvider.sonatypeUsername password = settingsProvider.sonatypePassword nexusUrl.set(uri("https://ossrh-staging-api.central.sonatype.com/service/local/")) @@ -358,7 +358,10 @@ class SettingsProvider { lazyMessage = { "Both $SONATYPE_USERNAME_PROPERTY and $SONATYPE_PASSWORD_PROPERTY environment variables must not be empty" } ) - private companion object { + companion object { + const val ARTIFACT_GROUP_ID = "io.github.vgv" + const val ARTIFACT_NAME = "kolbasa" + // it should be a so-called "ascii-armored in-memory PGP secret key" private const val GPG_SIGNING_KEY_PROPERTY = "GPG_SIGNING_KEY" private const val GPG_SIGNING_PASSWORD_PROPERTY = "GPG_SIGNING_PASSWORD" From 3fa0dd7cdbfaa6fcb16ebfc17d4e923241748a2c Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 09:35:37 +0400 Subject: [PATCH 7/8] Small fixes --- build.gradle.kts | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d8aabe7..d59a58f 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,6 @@ import org.jetbrains.kotlin.gradle.dsl.JvmDefaultMode import org.jetbrains.kotlin.gradle.dsl.KotlinVersion plugins { - java alias(libs.plugins.kotlin.jvm) signing `maven-publish` @@ -305,11 +304,8 @@ fun printFinalReleaseNote(groupId: String, artifactId: String, sanitizedVersion: println("Discover on Maven Central:") println(" https://repo1.maven.org/maven2/${groupId.replace('.', '/')}/$artifactId/") println() - println("Edit or delete artifacts on OSS Nexus Repository Manager:") - println(" https://oss.sonatype.org/#nexus-search;gav~$groupId~~~~") - println() - println("Control staging repositories on OSS Nexus Repository Manager:") - println(" https://oss.sonatype.org/#stagingRepositories") + println("View on Central Portal:") + println(" https://central.sonatype.com/artifact/$groupId/$artifactId/$sanitizedVersion") println() println("========================================================") println() From 647e3c57ca4622b67550f8f6ca0bb6192f8e74c0 Mon Sep 17 00:00:00 2001 From: Vasily Vasilkov Date: Sat, 30 May 2026 15:51:28 +0400 Subject: [PATCH 8/8] Fix text task --- build.gradle.kts | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index d59a58f..a43b0bc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -83,18 +83,18 @@ tasks.register("example") { // Unit tests settings tasks.withType { + enableAssertions = true + // enable parallel tests execution systemProperties["junit.jupiter.execution.parallel.enabled"] = true systemProperties["junit.jupiter.execution.parallel.mode.default"] = "concurrent" - // JUnit settings - useJUnitPlatform { - enableAssertions = true - testLogging { - exceptionFormat = TestExceptionFormat.FULL - events = setOf(TestLogEvent.FAILED, TestLogEvent.SKIPPED) - showStandardStreams = false - } + useJUnitPlatform() + + testLogging { + exceptionFormat = TestExceptionFormat.FULL + events = setOf(TestLogEvent.FAILED, TestLogEvent.SKIPPED) + showStandardStreams = false } }