{"id":14768,"date":"2022-08-02T10:41:21","date_gmt":"2022-08-02T08:41:21","guid":{"rendered":"https:\/\/touk.pl\/blog\/?p=14768"},"modified":"2023-03-15T12:03:14","modified_gmt":"2023-03-15T11:03:14","slug":"announcing-krush-1-0","status":"publish","type":"post","link":"https:\/\/touk.pl\/blog\/2022\/08\/02\/announcing-krush-1-0\/","title":{"rendered":"Announcing Krush 1.0"},"content":{"rendered":"<p>You may know <a href=\"https:\/\/nussknacker.io\">Nussknacker<\/a>, which is our open-source tool for scenario authoring, but we have a bunch of other projects we want to share with the community. One of these is <a href=\"https:\/\/github.com\/TouK\/krush\">Krush<\/a>, which is our attempt to solve data access in Kotlin using the <a href=\"https:\/\/github.com\/JetBrains\/Exposed\">Exposed<\/a> framework underneath. It is now 3 years in development and is mostly feature-complete, so we decided that this could be a good time to release the 1.0 version. \ud83c\udf89\ud83c\udf89\ud83c\udf89<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/touk.pl\/blog\/wp-content\/uploads\/2022\/08\/6oliu9.jpg\" alt=\"yeah, nussknacker is cool, but have you heard of krush?\" \/><\/p>\n<p>This release is mostly infrastructure-centric, we introduced support for Kotlin 1.7 and switched our build scripts to Kotlin Gradle. You can read more details in the <a href=\"https:\/\/github.com\/TouK\/krush\/blob\/master\/CHANGELOG.md#100\">Changelog<\/a>.<\/p>\n<p>In case you want to give it a try, a good resource could be project\u2019s <a href=\"https:\/\/github.com\/TouK\/krush\/blob\/master\/README.md\">README<\/a>, <a href=\"https:\/\/touk.pl\/blog\/2019\/12\/30\/announcing-krush%e2%80%8a-%e2%80%8aidiomatic-persistence-layer-for-kotlin-based-on-exposed\/\">an introductory post from our blog<\/a> and <a href=\"https:\/\/github.com\/TouK\/kotlin-exposed-realworld\">some<\/a> <a href=\"https:\/\/github.com\/TouK\/krush-example\">example<\/a><br \/>\nrepositories if you\u2019d prefer to just dig into code.<\/p>\n<p>Let us know about your thoughts on <a href=\"https:\/\/github.com\/TouK\/krush\">GitHub<\/a> or ping us on <a href=\"https:\/\/twitter.com\/TouK_pl\">Twitter<\/a>!<\/p>\n","protected":false},"excerpt":{"rendered":"You may know Nussknacker, which is our open-source tool for scenario authoring, but we have a bunch of&hellip;\n","protected":false},"author":5,"featured_media":15250,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"_links":{"self":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/14768"}],"collection":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/comments?post=14768"}],"version-history":[{"count":10,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/14768\/revisions"}],"predecessor-version":[{"id":15153,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/posts\/14768\/revisions\/15153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/media\/15250"}],"wp:attachment":[{"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/media?parent=14768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/categories?post=14768"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/touk.pl\/blog\/wp-json\/wp\/v2\/tags?post=14768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}