The REST API backend server for the Jalgaon CoHelp application.

Overview

API Service - Jalgaon CoHelp

The REST API backend server for the Jalgaon CoHelp application.

CI

🛠 Technology / Tools used

  • Kotlin: Programming language for development
  • Ktor: Backend development framework
  • PostgreSQL: For data storage
  • Kodein: Dependency Injection Framework
  • Liquibase: Migrations and DB change version control
  • SQLDelight: Generates typesafe Kotlin APIs from SQL
  • Spotless: Lint checker

📙 Overview of Codebase

It is a multi-module gradle project and includes below modules.

  • core: Core Business Logic
  • port:db Single source of truth (data)
  • api: Exposes public APIs
  • migration: Handles database migrations and control

There's a main application module:

  • application: This is a main module from where application is executed. It includes app configuration, management and Dependency Injection Bindings.

🖥 Development Setup

🗄️ Database Setup

  • Download and install the latest PostgreSQL package as per your system need.
  • After successful installation, create database for this project. For e.g. create a database named jalgaoncohelp_dev.

⚙️ Project Setup

  • You will require latest stable version of JetBrains IntelliJ Idea IDE to build and run the server application. You can install the latest version from here.
  • Import project in IntelliJ IDE.
  • Use existing Gradle wrapper for syncing project.
  • Build 🔨 the project.

✈️ Running the Application

  • Set up environment variables for database credentials as following with valid values as per your setup.
export SECRET_KEY=ANY_RANDOM_SECRET

export DATABASE_NAME=jalgaoncohelp_dev
export DATABASE_HOST=localhost
export DATABASE_PORT=5432
export DATABASE_USER=postgres
export DATABASE_PASSWORD=postgres

export JWT_AUDIENCE=JWT_AUDIENCE
export JWT_ISSUER=JWT_ISSUER
  • Finally, run the Gradle command:
./gradlew :application:run

OR

Use IntelliJ’s run configuration to run the API server application.

  • After that, API server will be live on http://localhost:8080.

🙋‍♂️ Want to Contribute ?

Awesome! If you want to contribute to this project, you're always welcome! See Contributing Guidelines.

💬 Want to discuss?

Have any questions, doubts or want to present your opinions, views? You're always welcome. You can start discussions.

👓 REST API Specification

You can navigate to /http and try API calls in IntelliJ Idea IDE itself after API is running.

License

MIT License

Copyright (c) 2021 Jalgaon CoHelp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Comments
  • [Update]: Bump kotlinx-serialization-json from 1.3.1 to 1.3.2

    [Update]: Bump kotlinx-serialization-json from 1.3.1 to 1.3.2

    Bumps kotlinx-serialization-json from 1.3.1 to 1.3.2.

    Release notes

    Sourced from kotlinx-serialization-json's releases.

    1.3.2

    This release contains several features and bugfixes for core API as well as for HOCON format. It uses Kotlin 1.6.10 by default.

    Serializing objects to HOCON

    It's now possible to encode Kotlin objects to Config values with new Hocon.encodeToConfig function. This feature may help edit existing configs inside Kotlin program or generate new ones.

    Big thanks to Osip Fatkullin for implementing this.

    Polymorphic default serializers

    As of now, polymorphicDefault clause inside SerializersModule { } builder specifies a fallback serializer to be used only during deserialization process. A new function has been introduced to allow setting fallback serializer for serialization: polymorphicDefaultSerializer. This function should ease serializing vast hierarchies of third-party or Java classes.

    Note that there are two new experimental functions, polymorphicDefaultSerializer and polymorphicDefaultDeserializer. To avoid naming confusion, we are going to deprecate polymorphicDefault in favor of polymorphicDefaultDeserializer in the next minor release (1.4.0).

    Credit for the PR goes to our contributor Joseph Burton.

    Other improvements

    Bugfixes

    • Properly handle top-level value classes in encodeToJsonElement (#1777)
    • Fix incorrect handling of object end when JsonTreeReader (JsonElement) is used with decodeToSequence (#1782)
    Changelog

    Sourced from kotlinx-serialization-json's changelog.

    1.3.2 / 2021-12-23

    This release contains several features and bugfixes for core API as well as for HOCON format. It uses Kotlin 1.6.10 by default.

    Serializing objects to HOCON

    It's now possible to encode Kotlin objects to Config values with new Hocon.encodeToConfig function. This feature may help edit existing configs inside Kotlin program or generate new ones.

    Big thanks to Osip Fatkullin for implementing this.

    Polymorphic default serializers

    As of now, polymorphicDefault clause inside SerializersModule { } builder specifies a fallback serializer to be used only during deserialization process. A new function has been introduced to allow setting fallback serializer for serialization: polymorphicDefaultSerializer. This function should ease serializing vast hierarchies of third-party or Java classes.

    Note that there are two new experimental functions, polymorphicDefaultSerializer and polymorphicDefaultDeserializer. To avoid naming confusion, we are going to deprecate polymorphicDefault in favor of polymorphicDefaultDeserializer in the next minor release (1.4.0).

    Credit for the PR goes to our contributor Joseph Burton.

    Other improvements

    Bugfixes

    • Properly handle top-level value classes in encodeToJsonElement (#1777)
    • Fix incorrect handling of object end when JsonTreeReader (JsonElement) is used with decodeToSequence (#1782)
    Commits
    • 15a4dd2 Prepare 1.3.2 release
    • 8c93430 Merge remote-tracking branch 'origin/master' into dev
    • 02fe708 Update to 1.6.10
    • 261490a Hocon encoder implementation (#1740)
    • 77aa167 HOCON: parse strings into integers and booleans if possible (#1795)
    • a33ef02 Properly handle top-level value classes in encodeToJsonElement (#1777)
    • 4c30fcf Fixed a naming bug in Json kdocs (#1794)
    • 1b2344f Fix incorrect handling of object end when JsonTreeReader (JsonElement) is use...
    • 9755adc Reduce core module coverage bound
    • 51ccccf Update Kover to 0.4.2 (#1772)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • [Update]: Bump logback-classic from 1.2.7 to 1.2.10

    [Update]: Bump logback-classic from 1.2.7 to 1.2.10

    Bumps logback-classic from 1.2.7 to 1.2.10.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.10.0

    [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.10.0

    Bumps kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.10.0.

    Release notes

    Sourced from kodein-di-framework-ktor-server-jvm's releases.

    7.10.0

    • Core
      • Kotlin 1.6.10
    • Compose
      • JB Compose 1.0.1-rc2
      • Compose for the Web
    Changelog

    Sourced from kodein-di-framework-ktor-server-jvm's changelog.

    7.10.0 (29-10-2020)

    • COMPOSE
      • JB Compose beta5
      • Enable Web target
    Commits
    • a8cc77d kotlin 1.6.10 + Compose 1.0.1-rc2
    • 596b89a Merge pull request #390 from wiryadev/fix-typo
    • 396236b fix typo in using-environment.adoc
    • 9fcb12d fix typo in tornadofx.adoc
    • cdc06e5 fix typo in README.md
    • 6f12f46 fix typo in platform-and-genericity.adoc
    • cd7075d fix typo in migration-6to7.adoc
    • 27ee4de fix typo in migration-4to5.adoc
    • 07d1380 fix typo in ktor.adoc
    • 6c3a252 fix typo in jar330.adoc
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • [Update]: Bump spotless-plugin-gradle from 5.12.4 to 6.1.2

    [Update]: Bump spotless-plugin-gradle from 5.12.4 to 6.1.2

    Bumps spotless-plugin-gradle from 5.12.4 to 6.1.2.

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 2
  • [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.16.0

    [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.16.0

    Bumps kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.16.0.

    Release notes

    Sourced from kodein-di-framework-ktor-server-jvm's releases.

    7.16.0

    val di = DI {
        bindSet<Configuration> {
            add { provider { FooConfiguration() } }
            bind { singleton { BarConfiguration() } }
        }
    }
    

    7.15.1

    Enable Compose Multiplatform 1.2.0.

    ⚠️ Compose Multiplatform 1.2.0 is not compatible with Kotlin/JS 1.7.20, but you can use it with Kotlin 1.7.10.

    7.15.0-kotlin-1.7.20-RC

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.15.0

    • Kotlin 1.7.20

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.14.0

    • Gradle 7.5
    • Kotlin 1.7.10
    • Enable compatibility with non-hierarchical projects

    7.13.1

    Compose Multiplatform 1.2.0-alpha01-dev745 with Kotlin 1.7 compatibility

    7.13.0

    CORE: - Kotlin 1.7.0 - Deprecation cycle

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We will re-enable it in 7.13.1 as soon as a new version of compiler plugin will be released.

    7.12.0

    • CORE
      DI {
          bindSingleton { new(::PersonService) }
      

    ... (truncated)

    Changelog

    Sourced from kodein-di-framework-ktor-server-jvm's changelog.

    7.11.0 (18-02-2022)

    • CORE
      • Documentation improvements (thanks to the contributors!).
      • Deprecation cycle
    • COMPOSE
      • JB Compose 1.1.0 Alpha5
      • Introduce rememberDI Composable function
      • Fix rememberX functions` behavior
      • Update documentation

    7.10.0 (29-10-2021)

    • COMPOSE
      • JB Compose beta5
      • Enable Web target
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.1

    [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.1

    Bumps kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.1.

    Release notes

    Sourced from kodein-di-framework-ktor-server-jvm's releases.

    7.15.1

    Enable Compose Multiplatform 1.2.0.

    ⚠️ Compose Multiplatform 1.2.0 is not compatible with Kotlin/JS 1.7.20, but you can use it with Kotlin 1.7.10.

    7.15.0-kotlin-1.7.20-RC

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.15.0

    • Kotlin 1.7.20

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.14.0

    • Gradle 7.5
    • Kotlin 1.7.10
    • Enable compatibility with non-hierarchical projects

    7.13.1

    Compose Multiplatform 1.2.0-alpha01-dev745 with Kotlin 1.7 compatibility

    7.13.0

    CORE: - Kotlin 1.7.0 - Deprecation cycle

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We will re-enable it in 7.13.1 as soon as a new version of compiler plugin will be released.

    7.12.0

    • CORE

      DI {
          bindSingleton { new(::PersonService) }
      }
      
      • Delegate binding (#406)
      DI {
          bindSingleton { Cls() }
          delegate<Cls>().to<Cls>()
      }
      
      • Create modules with delegate (#393)

    ... (truncated)

    Changelog

    Sourced from kodein-di-framework-ktor-server-jvm's changelog.

    7.11.0 (18-02-2022)

    • CORE
      • Documentation improvements (thanks to the contributors!).
      • Deprecation cycle
    • COMPOSE
      • JB Compose 1.1.0 Alpha5
      • Introduce rememberDI Composable function
      • Fix rememberX functions` behavior
      • Update documentation

    7.10.0 (29-10-2021)

    • COMPOSE
      • JB Compose beta5
      • Enable Web target
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump logback-classic from 1.2.7 to 1.4.4

    [Update]: Bump logback-classic from 1.2.7 to 1.4.4

    Bumps logback-classic from 1.2.7 to 1.4.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump logback-classic from 1.2.7 to 1.4.3

    [Update]: Bump logback-classic from 1.2.7 to 1.4.3

    Bumps logback-classic from 1.2.7 to 1.4.3.

    Commits
    • 7a7ffa6 prepare release 1.4.3
    • b247624 fix LOGBACK-LOGBACK-1690
    • 6f588fe start work on 1.4.3-SNAPSHOT
    • 2282273 prepare release 1.4.2
    • fc78b86 fix LOGBACK-1689
    • 967d736 logback-access cannot be modularized at this stage
    • 74a44b9 move disabled tests to logback-classic-blackbox
    • c3d75b2 re-enabling temporarily disabled tests by virtue of their move to logback-cla...
    • c336307 started black box testing
    • f22db3f all tests pass with Junit 5, Janino tests were disabled
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.0

    [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.0

    Bumps kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.15.0.

    Release notes

    Sourced from kodein-di-framework-ktor-server-jvm's releases.

    7.15.0

    • Kotlin 1.7.20

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.14.0

    • Gradle 7.5
    • Kotlin 1.7.10
    • Enable compatibility with non-hierarchical projects

    7.13.1

    Compose Multiplatform 1.2.0-alpha01-dev745 with Kotlin 1.7 compatibility

    7.13.0

    CORE: - Kotlin 1.7.0 - Deprecation cycle

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We will re-enable it in 7.13.1 as soon as a new version of compiler plugin will be released.

    7.12.0

    • CORE

      DI {
          bindSingleton { new(::PersonService) }
      }
      
      • Delegate binding (#406)
      DI {
          bindSingleton { Cls() }
          delegate<Cls>().to<Cls>()
      }
      
      • Create modules with delegate (#393)
      val myModule by Module { // implicitly named "myModule"
          bind { singleton { Cls() } }
      }
      
    • KTOR

      • Moved to 2.0: This has no impact for you, all the breaking changes are internals.
    • COMPOSE

    ... (truncated)

    Changelog

    Sourced from kodein-di-framework-ktor-server-jvm's changelog.

    7.11.0 (18-02-2022)

    • CORE
      • Documentation improvements (thanks to the contributors!).
      • Deprecation cycle
    • COMPOSE
      • JB Compose 1.1.0 Alpha5
      • Introduce rememberDI Composable function
      • Fix rememberX functions` behavior
      • Update documentation

    7.10.0 (29-10-2021)

    • COMPOSE
      • JB Compose beta5
      • Enable Web target
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump logback-classic from 1.2.7 to 1.4.1

    [Update]: Bump logback-classic from 1.2.7 to 1.4.1

    Bumps logback-classic from 1.2.7 to 1.4.1.

    Commits
    • a432a55 removed Automatic-Module-Name manifest entry which prevents javadoc deployment
    • ec06e72 prepare release 1.4.1
    • a17f298 added a new tests case, bump to SLF4J 2.0.1, remove property latest.stable.ve...
    • 32a3172 fix LOGBACK-LOGBACK-1670, use Class.getModule to obtain versio info under JMPS
    • 2c53e09 start work on 1.4.1-SNAPSHOT, fix LOGBACK-1675
    • e83403e prepare release 1.4.0
    • e2c0cc6 migrate to Jakarta EE
    • 0088e60 bump version to 1.4.0-SNAPSHOT on master
    • b73153c indentation changes
    • 5175596 bump to SLF4J 2.0.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump logback-classic from 1.2.7 to 1.4.0

    [Update]: Bump logback-classic from 1.2.7 to 1.4.0

    Bumps logback-classic from 1.2.7 to 1.4.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 1
  • [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.17.0

    [Update]: Bump kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.17.0

    Bumps kodein-di-framework-ktor-server-jvm from 7.9.0 to 7.17.0.

    Release notes

    Sourced from kodein-di-framework-ktor-server-jvm's releases.

    7.17.0

    • Kotlin 1.8.0
    • Ktor 2.2.1
    • JS: Since Legacy backend as been deprecated, Kodein will only support IR.

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.17.1 as soon as a new version of compiler plugin will be released.

    7.16.0

    val di = DI {
        bindSet<Configuration> {
            add { provider { FooConfiguration() } }
            bind { singleton { BarConfiguration() } }
        }
    }
    

    7.15.1

    Enable Compose Multiplatform 1.2.0.

    ⚠️ Compose Multiplatform 1.2.0 is not compatible with Kotlin/JS 1.7.20, but you can use it with Kotlin 1.7.10.

    7.15.0-kotlin-1.7.20-RC

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.15.0

    • Kotlin 1.7.20

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We should be able to re-enable it in 7.15.1 as soon as a new version of compiler plugin will be released.

    7.14.0

    • Gradle 7.5
    • Kotlin 1.7.10
    • Enable compatibility with non-hierarchical projects

    7.13.1

    Compose Multiplatform 1.2.0-alpha01-dev745 with Kotlin 1.7 compatibility

    7.13.0

    CORE: - Kotlin 1.7.0 - Deprecation cycle

    ⚠️ Compose capabilities are disable as the compiler plugin has not been released yet. We will re-enable it in 7.13.1 as soon as a new version of compiler plugin will be released.

    ... (truncated)

    Changelog

    Sourced from kodein-di-framework-ktor-server-jvm's changelog.

    7.11.0 (18-02-2022)

    • CORE
      • Documentation improvements (thanks to the contributors!).
      • Deprecation cycle
    • COMPOSE
      • JB Compose 1.1.0 Alpha5
      • Introduce rememberDI Composable function
      • Fix rememberX functions` behavior
      • Update documentation

    7.10.0 (29-10-2021)

    • COMPOSE
      • JB Compose beta5
      • Enable Web target
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Update]: Bump logback-classic from 1.2.7 to 1.4.5

    [Update]: Bump logback-classic from 1.2.7 to 1.4.5

    Bumps logback-classic from 1.2.7 to 1.4.5.

    Commits
    • 34a6efc preparfe release 1.4.5
    • 0d3ac63 fix LOGBACK-1698, [Nested appenders are not allowed] warning using SiftingApp...
    • a64b8d4 make jakarta.servlet-api as both provided and optional
    • 114b3de bump slf4j version
    • 1df6662 fix LOGBACK-1706
    • ea165fb fix LOGBACK-1703
    • 9e07bd0 fix LOGBACK-1703
    • a871e9f minor edits in README.md
    • 7dc0ce5 Merge pull request #605 from Zardoz89/patch-1
    • 7130dfe README.md MUST inform about Java & Jackarta EE support
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Update]: Bump kotlinx-serialization-json from 1.3.1 to 1.4.1

    [Update]: Bump kotlinx-serialization-json from 1.3.1 to 1.4.1

    Bumps kotlinx-serialization-json from 1.3.1 to 1.4.1.

    Release notes

    Sourced from kotlinx-serialization-json's releases.

    1.4.0

    This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below). Kotlin 1.7.10 is used as a default.

    Bugfixes

    • Fixed decoding of huge JSON data for okio streams (#2006)

    1.4.0-RC

    This is a candidate for the next big release with many new exciting features to try. It uses Kotlin 1.7.10 by default.

    Integration with Okio's BufferedSource and BufferedSink

    Okio library by Square is a popular solution for fast and efficient IO operations on JVM, K/N and K/JS. In this version, we have added functions that parse/write JSON directly to Okio's input/output classes, saving you the overhead of copying data to String beforehand. These functions are called Json.decodeFromBufferedSource and Json.encodeToBufferedSink, respectively. There's also decodeBufferedSourceToSequence that behaves similarly to decodeToSequence from Java streams integration, so you can lazily decode multiple objects the same way as before.

    Note that these functions are located in a separate new artifact, so users who don't need them wouldn't find themselves dependent on Okio. To include this artifact in your project, use the same group id org.jetbrains.kotlinx and artifact id kotlinx-serialization-json-okio. To find out more about this integration, check new functions' documentation and corresponding pull requests: #1901 and #1982.

    Inline classes and unsigned numbers do not require experimental annotations anymore

    Inline classes and unsigned number types have been promoted to a Stable feature in Kotlin 1.5, and now we are promoting support for them in kotlinx.serialization to Stable status, too. To be precise, we've removed all @ExperimentalSerializationApi annotations from functions related to inline classes encoding and decoding, namely SerialDescriptor.isInline, Encoder.encodeInline, and some others. We've also updated related documentation article.

    Additionally, all @ExperimentalUnsignedTypes annotations were removed completely, so you can freely use types such as UInt and their respective serializers as a stable feature without opt-in requirement.

    Part of SerializationException's hierarchy is public now

    When kotlinx.serialization 1.0 was released, all subclasses of SerializationException were made internal, since they didn't provide helpful information besides the standard message. Since then, we've received a lot of feature requests with compelling use-cases for exposing some of these internal types to the public. In this release, we are starting to fulfilling these requests by making MissingFieldException public. One can use it in the catch clause to better understand the reasons of failure — for example, to return 400 instead of 500 from an HTTP server — and then use its fields property to communicate the message better. See the details in the corresponding PR.

    In future releases, we'll continue work in this direction, and we aim to provide more useful public exception types & properties. In the meantime, we've revamped KDoc for some methods regarding the exceptions — all of them now properly declare which exception types are allowed to be thrown. For example, KSerializer.deserialize is documented to throw IllegalStateException to indicate problems unrelated to serialization, such as data validation in classes' constructors.

    @​MetaSerializable annotation

    This release introduces a new @MetaSerializable annotation that adds @Serializable behavior to user-defined annotations — i.e., those annotations would also instruct the compiler plugin to generate a serializer for class. In addition, all annotations marked with @MetaSerializable are saved in the generated @SerialDescriptor

    ... (truncated)

    Changelog

    Sourced from kotlinx-serialization-json's changelog.

    1.4.1 / 2022-10-14

    This is patch release contains several bugfixes and improvements. Kotlin 1.7.20 is used by default.

    Improvements

    • Add @​MustBeDocumented to certain annotations (#2059)
    • Deprecate .isNullable in SerialDescriptor builder (#2040)
    • Unsigned primitives and unsigned arrays serializers can be retrieved as built-ins (#1992)
    • Serializers are now cached inside reflective lookup, leading to faster serializer retrieval (#2015)
    • Compiler plugin can create enum serializers using static factories for better speed (#1851) (Kotlin 1.7.20 required)
    • Provide foundation for compiler plugin intrinsics available in Kotlin 1.8.0 (#2031)

    Bugfixes

    • Support polymorphism in Properties format (#2052) (thanks to Rodrigo Vedovato)
    • Added support of UTF-16 surrogate pairs to okio streams (#2033)
    • Fix dependency on core module from HOCON module (#2020) (thanks to Osip Fatkullin)

    1.4.0 / 2022-08-18

    This release contains all features and bugfixes from 1.4.0-RC plus some bugfixes on its own (see below). Kotlin 1.7.10 is used as a default.

    Bugfixes

    • Fixed decoding of huge JSON data for okio streams (#2006)

    1.4.0-RC / 2022-07-20

    This is a candidate for the next big release with many new exciting features to try. It uses Kotlin 1.7.10 by default.

    Integration with Okio's BufferedSource and BufferedSink

    Okio library by Square is a popular solution for fast and efficient IO operations on JVM, K/N and K/JS. In this version, we have added functions that parse/write JSON directly to Okio's input/output classes, saving you the overhead of copying data to String beforehand. These functions are called Json.decodeFromBufferedSource and Json.encodeToBufferedSink, respectively. There's also decodeBufferedSourceToSequence that behaves similarly to decodeToSequence from Java streams integration, so you can lazily decode multiple objects the same way as before.

    Note that these functions are located in a separate new artifact, so users who don't need them wouldn't find themselves dependent on Okio. To include this artifact in your project, use the same group id org.jetbrains.kotlinx and artifact id kotlinx-serialization-json-okio. To find out more about this integration, check new functions' documentation and corresponding pull requests: #1901 and #1982.

    ... (truncated)

    Commits
    • d7e58c2 Prepare 1.4.1 release (#2063)
    • de6864a Merge remote-tracking branch 'origin/master' into dev
    • 0a1b6d8 Fix minor documentation and comment typos (#2061)
    • 0f35682 Fix incorrect behavior while deserializing maps to sealed classes (#2052)
    • dc9983a Update test assertions to use IntelliJ "Click to see difference" format (#2062)
    • cb6bcbb Add @​MustBeDocumented to certain annotations
    • 182c53e Add documentation on using typealias for means of global configuration
    • 98529cd Remove kotlin.Experimental from opt-ins as it would be removed in 1.8.20
    • 687d917 Updated builtin-classes.md to mention Duration
    • e311eb8 Added support for the unsigned primitives and arrays as built-in
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Update]: Bump HikariCP from 5.0.0 to 5.0.1

    [Update]: Bump HikariCP from 5.0.0 to 5.0.1

    Bumps HikariCP from 5.0.0 to 5.0.1.

    Commits
    • be05577 [maven-release-plugin] prepare release HikariCP-5.0.1
    • 3531928 Update dependencies.
    • ed2da5f Fix idle timeout tests, sleep too tight to idle threshold. (+1 squashed commit)
    • 8f254ae Update CHANGES
    • 3ce565b Update README.md
    • d2c0d49 [maven-release-plugin] prepare for next development iteration
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
  • [Update]: Bump kotlinVersion from 1.5.31 to 1.6.10

    [Update]: Bump kotlinVersion from 1.5.31 to 1.6.10

    Bumps kotlinVersion from 1.5.31 to 1.6.10. Updates kotlin-gradle-plugin from 1.5.31 to 1.6.10

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.6.10

    Changelog

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.6.10

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    Tools. Gradle

    ... (truncated)

    Commits
    • 1b49105 Add changelog for 1.6.10
    • 72551e4 KT-50173 Fix Regex.escapeReplacement function in JS
    • c71e090 KGP - Fix flaky tests invoking javac through JDK APIs
    • 73120b9 [Gradle, JS] Add tests for windows ignore-scripts
    • 9bffcfa [Gradle, JS] Fix path setting in Windows
    • 06a205f Fix 'debug.keystore' location also for 'com.android.test' plugin.
    • a043f77 Disable publishing 'android-test-fixes' plugin to Gradle portal.
    • 1dcbd28 Kotlin Gradle plugin - Remove assertions from integration tests
    • 43df58a Pin AGP 'debug.keystore' in the repo.
    • e705a36 Apply default pluginManagement in settings for old test setup.
    • Additional commits viewable in compare view

    Updates kotlin-serialization from 1.5.31 to 1.6.10

    Release notes

    Sourced from kotlin-serialization's releases.

    Kotlin 1.6.10

    Changelog

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    ... (truncated)

    Changelog

    Sourced from kotlin-serialization's changelog.

    1.6.10

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    Tools. Gradle

    ... (truncated)

    Commits
    • 1b49105 Add changelog for 1.6.10
    • 72551e4 KT-50173 Fix Regex.escapeReplacement function in JS
    • c71e090 KGP - Fix flaky tests invoking javac through JDK APIs
    • 73120b9 [Gradle, JS] Add tests for windows ignore-scripts
    • 9bffcfa [Gradle, JS] Fix path setting in Windows
    • 06a205f Fix 'debug.keystore' location also for 'com.android.test' plugin.
    • a043f77 Disable publishing 'android-test-fixes' plugin to Gradle portal.
    • 1dcbd28 Kotlin Gradle plugin - Remove assertions from integration tests
    • 43df58a Pin AGP 'debug.keystore' in the repo.
    • e705a36 Apply default pluginManagement in settings for old test setup.
    • Additional commits viewable in compare view

    Updates kotlin-stdlib from 1.5.31 to 1.6.10

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.6.10

    Changelog

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    ... (truncated)

    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.6.10

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    Tools. Gradle

    ... (truncated)

    Commits
    • 1b49105 Add changelog for 1.6.10
    • 72551e4 KT-50173 Fix Regex.escapeReplacement function in JS
    • c71e090 KGP - Fix flaky tests invoking javac through JDK APIs
    • 73120b9 [Gradle, JS] Add tests for windows ignore-scripts
    • 9bffcfa [Gradle, JS] Fix path setting in Windows
    • 06a205f Fix 'debug.keystore' location also for 'com.android.test' plugin.
    • a043f77 Disable publishing 'android-test-fixes' plugin to Gradle portal.
    • 1dcbd28 Kotlin Gradle plugin - Remove assertions from integration tests
    • 43df58a Pin AGP 'debug.keystore' in the repo.
    • e705a36 Apply default pluginManagement in settings for old test setup.
    • Additional commits viewable in compare view

    Updates kotlin-reflect from 1.5.31 to 1.6.10

    Release notes

    Sourced from kotlin-reflect's releases.

    Kotlin 1.6.10

    Changelog

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    ... (truncated)

    Changelog

    Sourced from kotlin-reflect's changelog.

    1.6.10

    Android

    • KT-49798 [MPP] [Android] AGP 7.1.0+ android target publications leak 'AgpVersionAttr' attribute

    Compiler

    Performance Improvements

    • KT-49821 Optimize LazyClassMemberScope#getContributedDescriptors: use nameFilter

    Fixes

    • KT-49833 java.lang.NullPointerException caused by accidental newline in package directive
    • KT-49838 Type inference fails on 1.6.0: Cannot use 'CapturedType(*)' as reified type parameter
    • KT-49752 Regression in method return type inference: "IllegalStateException: Expected some types"
    • KT-49876 Kotlin/Native: cross-compilation of Linux static library is broken in Windows in 1.6.0
    • KT-49792 Atomicfu: "standalone invocation of kotlinx.atomicfu.AtomicInt::compareAndSet that was not traced to previous field load" with suspend function
    • KT-49834 Coroutine method transformer generates invalid locals table.
    • KT-49441 Support friend modules in Kotlin Native
    • KT-49248 K/N: Symbol with IrSimpleFunctionSymbolImpl is unbound after 1.5.30
    • KT-49651 Inconsistent compiler APIs for repeatable annotations
    • KT-49168 JVM IR: IndexOutOfBoundsException with fun interface + suspend function as SAM method
    • KT-49573 No annotated types, compiler emits "Annotated types are not supported in typeOf"
    • KT-47192 Build Fake Overrides for internal members of classes from friend module
    • KT-48673 IR: IllegalStateException for usage of internal member declared in a superclass in another module

    JavaScript

    • KT-47811 KJS / IR: "ClassCastException" when using suspend function in console.log

    Language Design

    • KT-49868 Support language version 1.3 in Kotlin 1.6.10

    Libraries

    • KT-50173 Different behavior of Regex escapeReplacement function in JVM and JS

    Tools. Android Extensions

    • KT-49799 NullPointerException when using kotlin-android-extensions synthetic after update to Kotlin 1.6.0

    Tools. Compiler Plugins

    • KT-50005 jvm-abi-gen plugin: do not change the declaration order in generated jars
    • KT-49726 JVM/IR: "IllegalArgumentException: Null argument in ExpressionCodegen for parameter VALUE_PARAMETER": Serialization with sealed class as type parameter

    Tools. Gradle

    ... (truncated)

    Commits
    • 1b49105 Add changelog for 1.6.10
    • 72551e4 KT-50173 Fix Regex.escapeReplacement function in JS
    • c71e090 KGP - Fix flaky tests invoking javac through JDK APIs
    • 73120b9 [Gradle, JS] Add tests for windows ignore-scripts
    • 9bffcfa [Gradle, JS] Fix path setting in Windows
    • 06a205f Fix 'debug.keystore' location also for 'com.android.test' plugin.
    • a043f77 Disable publishing 'android-test-fixes' plugin to Gradle portal.
    • 1dcbd28 Kotlin Gradle plugin - Remove assertions from integration tests
    • 43df58a Pin AGP 'debug.keystore' in the repo.
    • e705a36 Apply default pluginManagement in settings for old test setup.
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Owner
Jalgaon CoHelp
The Crowdsourced resources to fight COVID across Jalgaon District. Find hospital beds, oxygen, plasma, and more.
Jalgaon CoHelp
A logger with a small, extensible API which provides utility on top of Android's normal Log class.

This is a logger with a small, extensible API which provides utility on top of Android's normal Log class. I copy this class into all the little apps

Jake Wharton 9.8k Dec 30, 2022
Android library which makes it easy to handle the different obstacles while calling an API (Web Service) in Android App.

API Calling Flow API Calling Flow is a Android library which can help you to simplify handling different conditions while calling an API (Web Service)

Rohit Surwase 19 Nov 9, 2021
Trail is a simple logging system for Java and Android. Create logs using the same API and the library will detect automatically in which platform the code is running.

Trail Trail is a simple logging system for Java and Android. Create logs using the same API and the library will detect automatically in which platfor

Mauricio Togneri 13 Aug 29, 2022
Expirable Disk Lru Cache is a secure(with encryption) wrapper for [DiskLruCache](https://github.com/JakeWharton/DiskLruCache) that allows expiring of key/value pairs by specifying evictionTimeSpan. It has very simple API.

ExpirableDiskLruCache ExpirableDiskLruCache is a wrapper for DiskLruCache that allows expiring of key/value pairs by specifying evictionTimeSpan. It h

Vijay Rawat 24 Oct 3, 2022
Perfect replacement for startActivityForResult(), based on the Activity Result API.

ActivityResultLauncher English | 中文 Activity Result API is an official tool used to replace the method of startActivityForResult() and onActivityResul

DylanCai 167 Nov 30, 2022
⚙ A beautiful and extensible API for bulding preferences screen

Material Preferences ?? Installation Add this in app's build.gradle file: implementation 'com.imangazaliev.material-prefs:core:<version>' implementati

Mahach Imangazaliev 59 Jul 26, 2022
A modern contacts Android API.

A modern contacts Android API.

Alex Styl 410 Jan 3, 2023
SSI/NFC desktop/terminal API

Gimly SSI Card Terminal Gimly SSI Card Terminal is a REST API for Self Sovereign Identity interactions between apps, servers, terminals having an NFC

Gimly 0 Nov 8, 2021
Consumer android from nutrition-framework API

About This Project (work-in-progress ?? ??️ ??‍♀️ ⛏ ) Consumer Dari Nutrition Framework General Framework for Application Development Around Nutrition

Faisal Amir 0 Feb 24, 2022
Secure Preference Manager for android. It uses various Encryption to protect your application's Shared Preferences.

Secure-Pref-Manager ##Secure Preference Manager is a simple Library to help you protect your Shared Preferences. Secure Preference Manager for android

Prashant Solanki 72 Nov 25, 2022
onboarding application intro

Apps Intro This is sample code for application introduction (Splash Screen / Onboarding / Walkthrough / Getting Started Screen) with shared preference

Irsyad Abdillah 3 Sep 14, 2022
writing into android application lib.so with offset & hex bytes

KMrite writing into android application lib.so with offset & hex bytes support root and non root devices Changelogs 3.1 : fix hex input only number up

BryanGIG 13 Nov 28, 2022
A wholesome todo list application for staying organized and feeling good.

Tasks Of Affirmation This is a wholesome todo list application. The purpose of this application is to help users stay organized in their day-to-day li

Adam McNeilly 105 Dec 22, 2022
App to simulate making lemonada juice in form of attractive application

Project: Lemonade App - Starter Code Starter code for the first independent project for Android Basics in Kotlin Introduction This is the starter code

null 0 Oct 28, 2021
Gitversion - A native console application to calculate a version based on git commits and tags

GitCommit A native console application to calculate a version based on git commi

Solugo 5 Sep 13, 2022
KmmCaching - An application that illustrates fetching data from remote data source and caching it in local storage

An application that illustrates fetching data from remote data source and caching it in local storage for both IOS and Android platforms using Kotlin Multiplatform Mobile and SqlDelight.

Felix Kariuki 5 Oct 6, 2022
Tool to look for several security related Android application vulnerabilities

Quick Android Review Kit This tool is designed to look for several security related Android application vulnerabilities, either in source code or pack

LinkedIn 2.9k Jan 2, 2023
REST countries sample app that loads information from REST countries API V3 to show an approach to using some of the best practices in Android Development.

MAJORITY assignment solution in Kotlin via MVVM Repository Pattern. REST countries sample app that loads information from REST countries API V3 to sho

Rehan Sarwar 1 Nov 8, 2022
Kotlin-REST-Retrofit - Simple client to consume a REST API with Retrofit using Kotlin

Kotlin REST Retrofit Sencillo cliente para consumir una API REST con Retrofit us

José Luis González Sánchez 5 Nov 4, 2022
Backend-aio - A ktor based ready to use backend

BackendAIO A ktor based ready to use backend BackendAIO is a project made to hel

Fabrizio Scarponi 2 Jan 24, 2022