πŸš€ The Rapid and Delightful Kotlin Web Framework. Easy, elegant, and productive!

Overview

Alpas - The Rapid and Delightful Kotlin Web Framework. Easy, elegant, and productive! πŸš€

Alpas is a Kotlin-based web framework that gets you creating web apps and APIs simply, and quickly.

Routes. Simple, and defined.

import example.controllers.WelcomeController
import dev.alpas.routing.RouteGroup
import dev.alpas.routing.Router

fun Router.addRoutes() = apply {
    get("/", WelcomeController::welcome)
}

Controllers. Write less, do more.

import dev.alpas.http.HttpCall
import dev.alpas.routing.Controller

class WelcomeController : Controller() {
    fun welcome(call: HttpCall) {
        call.render("dashboard")
    }
}

Batteries-included

Alpas strives to be simple and elegant and wants to serve you whether you have written JVM-based web apps before or not. There is no huge learning curve to get started and Alpas comes bundled with what you'll need to build a powerful web application or API.

  • Authentication
  • Notifications
  • Security
  • Emails
  • Queues
  • Front-End (Pebble, Vuejs, TailwindCSS)

We have sweated picking the good parts, so you don’t have to!

Want to use a different library? That's also quick and easy to do with Alpas.

Get Started Quickly

The Alpas documentation has everything you need to get started.

  • Installation - Simple steps to get your Alpas environment ready.
  • Quick Start Guide - Walks you through creating a To-Do task list. If you are a beginner to web development, this is for you!
  • Starter Template - Starting a new project? The starter template will quickly get you rolling.

Examples

Sometimes, it's easiest to see the possibilities of a new framework by checking out what modules are available in the ecosystem and by looking at real-life examples. Alpas Resources has a curated list of resources available to you so that you can get acquainted with all things Alpas.

Contribution

Alpas is an open-source project and we appreciate contributions.

If you don't want to directly contribute to the core, you can still contribute in other ways; such as: open issues for encountered bugs, add feature requests, submit documentation updates, and so on.

We want you to enjoy writing web apps with Alpas. If you are not, please let us know! We'll keep improving Alpas until it is just right for all of us. The best way to let us help you is by joining our official Slack and asking questions. Please do!

Sponsors

Comments
  • Creating a new AuthChannel

    Creating a new AuthChannel

    I am migrating an existing AWS Lambda function to Alpas and I have a question about how I should implement my AuthChannel (since I won't be using Sessions).

    I have this part working so far:

    1. The client making the request sends an encrypted auth token (encrypted with a public key) in the auth header of the request.
    2. The AuthChannel decrypts the auth token using a private key stored on the server (if the token can't be decrypted, I am returning false for check())
    3. Then, the AuthChannel parses some data out of the token. One of the pieces of data in the auth token is an API key so I check that and if it doesn't match whats in my env I return false forcheck(). Also, if the format doesn't match what I expected, I return false for check())

    The auth token has information that I want the ability to access later on when I am actually handling the request. I don't want to have to decrypt the auth token again in my controllers because it is expensive. I would like to just be able to access this data after parsing it in the AuthChannel.

    Right now, the information I need is a userId and one other id. This almost sounds like a case for creating a new UserProvider but I am not quite sure if that makes sense or not. I don't actually know anything about the users in this application other than a unique id.

    Based on that description, should I be making a UserProvider to save that information or is that weird? Is there a better place in the call for me to save this information?

    opened by vanessagertman 2
  • Bump mockk from 1.9.3 to 1.10.0

    Bump mockk from 1.9.3 to 1.10.0

    Bumps mockk from 1.9.3 to 1.10.0.

    Release notes

    Sourced from mockk's releases.

    MockK v1.10.0

    • fix of build scripts (big effort to restore build after Gradle upgrade)
    • gradle 6.3, kotlin 1.3.61, byte buddy 1.10.9, coroutines 1.3.3, objenesis 3.1/2.6, dokka 0.10.1
    • JDK 13 / 14 runnable
    • make stack traces in verify messages optional #427
    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlinVersion from 1.3.70 to 1.3.72

    Bump kotlinVersion from 1.3.70 to 1.3.72

    Bumps kotlinVersion from 1.3.70 to 1.3.72. Updates kotlin-gradle-plugin from 1.3.70 to 1.3.72

    Updates kotlin-stdlib from 1.3.70 to 1.3.72

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.3.71

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    ... (truncated)
    Changelog

    Sourced from kotlin-stdlib's changelog.

    CHANGELOG

    1.4-M1

    Compiler

    New Features

    • KT-4240 Type inference possible improvements: analyze lambda with expected type from the outer call
    • KT-7304 Smart-casts and generic calls with multiple bounds on type parameters
    • KT-7745 Support named arguments in their own position even if the result appears as mixed
    • KT-7770 SAM for Kotlin classes
    • KT-8834 Support function references with default values as other function types
    • KT-10930 Expected type isn't taken into account for delegated properties
    • KT-11723 Support coercion to Unit in callable reference resolution
    • KT-14416 Support of @PolymorphicSignature in Kotlin compiler
    • KT-16873 Support COERSION_TO_UNIT for suspend lambdas
    • KT-17643 Inferring type of Pair based on known Map type
    • KT-19869 Support function references to functions with vararg if expected type ends with repeated vararg element type
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-21368 Improve type inference
    • KT-25866 Iterable.forEach does not accept functions that return non-Unit values
    • KT-26165 Support VarHandle in JVM codegen
    • KT-27582 Allow contracts on final non-override members
    • KT-28298 Allow references to generic (reified) type parameters in contracts
    • KT-31230 Refine rules for allowed Array-based class literals on different platforms: allow Array::class everywhere, disallow Array<...>::class on non-JVM
    • KT-31244 Choose Java field during overload resolution with a pure Kotlin property
    • KT-31734 Empty parameter list required on Annotations of function types
    • KT-33990 Type argument isn't checked during resolution part
    • KT-33413 Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loop
    • KT-34743 Support trailing comma in the compiler
    • KT-34847 Lift restrictions from kotlin.Result

    Fixes

    • KT-2869 Incorrect resolve with 'unsafe call error' and generics
    • KT-3630 Extension property (generic function type) does not work
    • KT-3668 Infer type parameters for extension 'get' in delegated property
    • KT-3850 Receiver check fails when type parameter has another parameter as a bound
    • KT-3884 Generic candidate with contradiction is preferred over matching global function
    • KT-4625 Poor error highlighting when assigning not matched type to index operator
    • KT-5449 Wrong resolve when functions differ only in the nullability of generic type
    • KT-5606 "Type mismatch" in Java constructor call with SAM lambda and vararg parameter
    • KT-6005 Type inference problem in sam constructors
    • KT-6591 Overloaded generic extension function call with null argument resolved incorrectly
    • KT-6812 Type inference fails when passing a null instead of a generic type
    • KT-7298 Bogus type inference error in generic method call translated from Java
    • KT-7301 Type inference error in Kotlin code translated from Java
    • KT-7333 Type inference fails with star-projections in code translated from Java
    • KT-7363 Kotlin code with star-projections translated from Java does not typecheck
    ... (truncated)
    Commits

    Updates kotlin-reflect from 1.3.70 to 1.3.72

    Release notes

    Sourced from kotlin-reflect's releases.

    Kotlin 1.3.71

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    ... (truncated)
    Changelog

    Sourced from kotlin-reflect's changelog.

    CHANGELOG

    1.4-M1

    Compiler

    New Features

    • KT-4240 Type inference possible improvements: analyze lambda with expected type from the outer call
    • KT-7304 Smart-casts and generic calls with multiple bounds on type parameters
    • KT-7745 Support named arguments in their own position even if the result appears as mixed
    • KT-7770 SAM for Kotlin classes
    • KT-8834 Support function references with default values as other function types
    • KT-10930 Expected type isn't taken into account for delegated properties
    • KT-11723 Support coercion to Unit in callable reference resolution
    • KT-14416 Support of @PolymorphicSignature in Kotlin compiler
    • KT-16873 Support COERSION_TO_UNIT for suspend lambdas
    • KT-17643 Inferring type of Pair based on known Map type
    • KT-19869 Support function references to functions with vararg if expected type ends with repeated vararg element type
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-21368 Improve type inference
    • KT-25866 Iterable.forEach does not accept functions that return non-Unit values
    • KT-26165 Support VarHandle in JVM codegen
    • KT-27582 Allow contracts on final non-override members
    • KT-28298 Allow references to generic (reified) type parameters in contracts
    • KT-31230 Refine rules for allowed Array-based class literals on different platforms: allow Array::class everywhere, disallow Array<...>::class on non-JVM
    • KT-31244 Choose Java field during overload resolution with a pure Kotlin property
    • KT-31734 Empty parameter list required on Annotations of function types
    • KT-33990 Type argument isn't checked during resolution part
    • KT-33413 Allow 'break' and 'continue' in 'when' statement to point to innermost surrounding loop
    • KT-34743 Support trailing comma in the compiler
    • KT-34847 Lift restrictions from kotlin.Result

    Fixes

    • KT-2869 Incorrect resolve with 'unsafe call error' and generics
    • KT-3630 Extension property (generic function type) does not work
    • KT-3668 Infer type parameters for extension 'get' in delegated property
    • KT-3850 Receiver check fails when type parameter has another parameter as a bound
    • KT-3884 Generic candidate with contradiction is preferred over matching global function
    • KT-4625 Poor error highlighting when assigning not matched type to index operator
    • KT-5449 Wrong resolve when functions differ only in the nullability of generic type
    • KT-5606 "Type mismatch" in Java constructor call with SAM lambda and vararg parameter
    • KT-6005 Type inference problem in sam constructors
    • KT-6591 Overloaded generic extension function call with null argument resolved incorrectly
    • KT-6812 Type inference fails when passing a null instead of a generic type
    • KT-7298 Bogus type inference error in generic method call translated from Java
    • KT-7301 Type inference error in Kotlin code translated from Java
    • KT-7333 Type inference fails with star-projections in code translated from Java
    • KT-7363 Kotlin code with star-projections translated from Java does not typecheck
    ... (truncated)
    Commits

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.72

    Bump org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.72

    Bumps org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.72.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump junit-jupiter from 5.6.0 to 5.6.2

    Bump junit-jupiter from 5.6.0 to 5.6.2

    Bumps junit-jupiter from 5.6.0 to 5.6.2.

    Release notes

    Sourced from junit-jupiter's releases.

    JUnit 5.6.2 = Platform 1.6.2 + Jupiter 5.6.2 + Vintage 5.6.2

    See Release Notes.

    JUnit 5.6.1 = Platform 1.6.1 + Jupiter 5.6.1 + Vintage 5.6.1

    See Release Notes.

    Commits
    • 4e7a087 Release 5.6.2
    • 0be02cf Determine releaseBranch automatically based on version
    • 11ddd87 Avoid inner class cycle detection for non-matching predicate
    • 5cbfed5 Remove irrelevant sections
    • 648121d Document #2248 in release notes
    • ef6e842 Add release notes for 5.6.2
    • 794ce24 Fall back to display name if method name is blank
    • b0f54b1 Back to snapshots for further development
    • 0214614 Release 5.6.1
    • 10ff918 Preserve original resource order
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump gradle-bintray-plugin from 1.8.4 to 1.8.5

    Bump gradle-bintray-plugin from 1.8.4 to 1.8.5

    Bumps gradle-bintray-plugin from 1.8.4 to 1.8.5.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlinVersion from 1.3.70 to 1.3.71

    Bump kotlinVersion from 1.3.70 to 1.3.71

    Bumps kotlinVersion from 1.3.70 to 1.3.71. Updates kotlin-gradle-plugin from 1.3.70 to 1.3.71

    Updates kotlin-stdlib from 1.3.70 to 1.3.71

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.3.71

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    ... (truncated)
    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    • KT-37386 Incorrect JS generated by the compiler: function is erased by the function parameter
    ... (truncated)
    Commits
    • 7fe66d3 Fix changelog for 1.3.71
    • b659ad4 Fix changelog for 1.3.71
    • c4ab358 Add changelog for 1.3.71
    • 61a6031 KotlinSdkType: fix i18n for 192
    • fc81533 Fixed diff with master
    • 6473e35 Suppress suggested refactoring for unused private and local declarations
    • 05c3366 Do not suggest to update usages on renaming duplicated method or property
    • bcdb934 Using new API
    • a5ef38a Minor changes after code review
    • 1c7a952 Suggested Rename and Change Signature implementation for Kotlin
    • Additional commits viewable in compare view

    Updates kotlin-reflect from 1.3.70 to 1.3.71

    Release notes

    Sourced from kotlin-reflect's releases.

    Kotlin 1.3.71

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    ... (truncated)
    Changelog

    Sourced from kotlin-reflect's changelog.

    1.3.71

    Compiler

    • KT-36095 201: False positive OVERLOAD_RESOLUTION_AMBIGUITY with Java Enum.valueOf and Enum.values() reference
    • KT-37040 'No explicit visibility in API mode' should not be reported on enum members
    • KT-37204 AssertionError: "No delegated property metadata owner for" with lazy inside inline function

    Docs & Examples

    • KT-37029 Kotlin full stack app demo: update all involving versions to work with 1.3.70 release

    IDE

    • KT-34759 "PSI and index do not match" and high CPU usage when the library has enum with elements in quotes and internal lazy val in another part of code
    • KT-37200 StackOverflowError in LightMethodBuilder.equals when analysing Kotlin files
    • KT-37229 java.lang.NoSuchMethodError: 'com.intellij.psi.impl.light.LightJavaModule, com.intellij.psi.impl.light.LightJavaModule.findModule after updating kotlin plugin to 1.3.70
    • KT-37273 No error in editor when typing unresolved reference in super constructor lambda
    • KT-37414 Not all imports are added on paste if code is formatted after paste
    • KT-37553 Run inspections after general highlight pass

    IDE. Code Style, Formatting

    • KT-37545 Continuation indent for method's parameter changes in call chain

    IDE. Hints

    • KT-37537 IDE is missing or swallowing keystrokes when hint popups are displayed

    IDE. Inspections and Intentions

    • KT-36478 IDE suggests to use 'OptIn' annotation when it is not available in the used version of kotlin-stdlib
    • KT-37294 False positive "Unused unary operator" on negative long annotation value

    IDE. Navigation

    • KT-36657 KotlinFindUsagesHandler#processElementUsages always return false if options.isSearchForTextOccurrences is false

    IDE. Refactorings

    • KT-37451 Change of signature error: Type of parameter cannot be resolved
    • KT-37597 Support Suggest rename and change signature refactorings in Kotlin for IDEA 2020.1

    IDE. Run Configurations

    • KT-36781 Override ConfigurationFactory::getId method in Kotlin plugin to avoid problems with localizations

    JavaScript

    • KT-37386 Incorrect JS generated by the compiler: function is erased by the function parameter
    ... (truncated)
    Commits
    • 7fe66d3 Fix changelog for 1.3.71
    • b659ad4 Fix changelog for 1.3.71
    • c4ab358 Add changelog for 1.3.71
    • 61a6031 KotlinSdkType: fix i18n for 192
    • fc81533 Fixed diff with master
    • 6473e35 Suppress suggested refactoring for unused private and local declarations
    • 05c3366 Do not suggest to update usages on renaming duplicated method or property
    • bcdb934 Using new API
    • a5ef38a Minor changes after code review
    • 1c7a952 Suggested Rename and Change Signature implementation for Kotlin
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.71

    Bump org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.71

    Bumps org.jetbrains.kotlin.jvm from 1.3.70 to 1.3.71.

    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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump junit-jupiter from 5.6.0 to 5.6.1

    Bump junit-jupiter from 5.6.0 to 5.6.1

    Bumps junit-jupiter from 5.6.0 to 5.6.1.

    Release notes

    Sourced from junit-jupiter's releases.

    JUnit 5.6.1 = Platform 1.6.1 + Jupiter 5.6.1 + Vintage 5.6.1

    See Release Notes.

    Commits
    • 0214614 Release 5.6.1
    • 10ff918 Preserve original resource order
    • f0f2fd5 Polish release notes for 5.6.1
    • 9b12896 Finalize release notes for 5.6.1
    • 60c94f2 Require junit-bom to be published for tooling tests
    • 8bb577a Append SNAPSHOT classifier to version
    • 828cdb3 Prune duplicate elements in resources
    • edcbd81 Don't cache URL connection when loading junit-platform.properties contents
    • 0dcbc71 Update Javadoc for TestInstancePreDestroyCallback regarding scope
    • e5985c0 Invoke TestInstancePreDestroyCallbacks in reverse registration order
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Bump kotlinVersion from 1.3.61 to 1.3.70

    Bump kotlinVersion from 1.3.61 to 1.3.70

    Bumps kotlinVersion from 1.3.61 to 1.3.70. Updates kotlin-gradle-plugin from 1.3.61 to 1.3.70

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.3.70

    Contents

    The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

    Changelog

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    ... (truncated)
    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.3.70

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    • KT-32456 New type inference: "IllegalStateException: Error type encountered" when adding emptyList to mutableList
    • KT-32499 Kotlin/JS 1.3.40 - new type inference with toTypedArray() failure
    • KT-32742 Gradle/JS "Unresolved Reference" when accessing setting field of Dynamic object w/ React
    • KT-32818 Type inference failed with elvis operator
    • KT-32862 New type inference: Compilation error "IllegalArgumentException: ClassicTypeSystemContextForCS couldn't handle" with overloaded generic extension function reference passed as parameter
    ... (truncated)
    Commits
    • 5d9e053 Update ChangeLog.md
    • bfb4864 Update K/N
    • facddfc ExperimentalFixesFactory: OptIn shouldn't be added for old version
    • 9922e74 .gradle.kts: fix freezes by avoiding fs walking
    • 0cf79f8 [Gradle, JS] Fix timeout for debug
    • 0f22b3c Tests: fix some tests in formatter for AS
    • ead89cb Formatter: fix indent after trailing comma in calls
    • f5528bc Formatter: shouldn't format property chains
    • e7d1dac Remove accidentally committed dependency on kotlin-gradle-testing.xml
    • ffc3d7f [JS DCE] Add an ability to define overwriting strategy when copying dependenc...
    • Additional commits viewable in compare view

    Updates kotlin-stdlib from 1.3.61 to 1.3.70

    Release notes

    Sourced from kotlin-stdlib's releases.

    Kotlin 1.3.70

    Contents

    The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

    Changelog

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    ... (truncated)
    Changelog

    Sourced from kotlin-stdlib's changelog.

    1.3.70

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    • KT-32456 New type inference: "IllegalStateException: Error type encountered" when adding emptyList to mutableList
    • KT-32499 Kotlin/JS 1.3.40 - new type inference with toTypedArray() failure
    • KT-32742 Gradle/JS "Unresolved Reference" when accessing setting field of Dynamic object w/ React
    • KT-32818 Type inference failed with elvis operator
    • KT-32862 New type inference: Compilation error "IllegalArgumentException: ClassicTypeSystemContextForCS couldn't handle" with overloaded generic extension function reference passed as parameter
    ... (truncated)
    Commits
    • 5d9e053 Update ChangeLog.md
    • bfb4864 Update K/N
    • facddfc ExperimentalFixesFactory: OptIn shouldn't be added for old version
    • 9922e74 .gradle.kts: fix freezes by avoiding fs walking
    • 0cf79f8 [Gradle, JS] Fix timeout for debug
    • 0f22b3c Tests: fix some tests in formatter for AS
    • ead89cb Formatter: fix indent after trailing comma in calls
    • f5528bc Formatter: shouldn't format property chains
    • e7d1dac Remove accidentally committed dependency on kotlin-gradle-testing.xml
    • ffc3d7f [JS DCE] Add an ability to define overwriting strategy when copying dependenc...
    • Additional commits viewable in compare view

    Updates kotlin-reflect from 1.3.61 to 1.3.70

    Release notes

    Sourced from kotlin-reflect's releases.

    Kotlin 1.3.70

    Contents

    The release contents the JVM version of the Kotlin compiler, and also the Kotlin/Native compiler for the supported platforms: Linux, macOS and Windows.

    Changelog

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    ... (truncated)
    Changelog

    Sourced from kotlin-reflect's changelog.

    1.3.70

    Compiler

    New Features

    Performance Improvements

    • KT-14513 Suboptimal compilation of lazy delegated properties with inline getValue

    Fixes

    • KT-19234 Improve "Supertypes of the following classes cannot be resolved" diagnostic
    • KT-21178 Prohibit access of protected members inside public inline members
    • KT-24461 Expect interface with suspend function with default arguments causes runtime error
    • KT-25514 Support usage of function reference with vararg where function of array is expected in new inference
    • KT-26435 Bad frame merge after inline
    • KT-27825 Gradually prohibit non-abstract classes containing abstract members invisible from that classes (internal/package-private)
    • KT-27999 Generic type is fixed too early for lambda arguments
    • KT-28940 Concurrency issue for lazy values with the post-computation phase
    • KT-29242 Conditional with generic type Nothing inside inline function throws java.lang.VerifyError: Bad return type
    • KT-30244 Unable to infer common return type for two postponed arguments
    • KT-30245 Wrong type is inferred for lambda if it has expected type with an extension receiver
    • KT-30277 Relax the "no reflection found in class path" warning for KType and related API
    • KT-30744 Invoking Interface Static Method from Extension method generates incorrect jvm bytecode
    • KT-30953 Missing unresolved if callable reference is used in the place in which common super type is computing
    • KT-31227 Prohibit using array based on non-reified type parameters as reified type arguments on JVM
    • KT-31242 "Can't find enclosing method" proguard compilation exception with inline and crossinline
    • KT-31411 Support mode of compiler where it analyses source-set as platform one, but produces only metadata for that specific source-set
    • KT-31653 Incorrect transformation of the try-catch cover when inlining
    • KT-31923 Outer finally block inserted before return instruction is not excluded from catch interval of inner try (without finally) block
    • KT-31975 No diagnostic on error type
    • KT-32106 New type inference: IDE shows error but the code compiles succesfully
    • KT-32138 New type inference: Invoking type-aliased extension function red in IDE, but compiles
    • KT-32168 Problem in IDE with new type inference and delegate provider
    • KT-32243 New type inference: Type mistmatch in collection type usage
    • KT-32345 New type inference: Error when using helper method to create delegate provider
    • KT-32372 Type inference errors in IDE
    • KT-32415 Type mismatch on argument of super constructor of inner class call
    • KT-32423 New type inference: IllegalStateException: Error type encountered: org.jetbrains.kotlin.types.ErrorUtils$UninferredParameterTypeConstructor@211a538e (ErrorType)
    • KT-32435 New inference preserves platform types while old inference can substitute them with the nullable result type
    • KT-32456 New type inference: "IllegalStateException: Error type encountered" when adding emptyList to mutableList
    • KT-32499 Kotlin/JS 1.3.40 - new type inference with toTypedArray() failure
    • KT-32742 Gradle/JS "Unresolved Reference" when accessing setting field of Dynamic object w/ React
    • KT-32818 Type inference failed with elvis operator
    • KT-32862 New type inference: Compilation error "IllegalArgumentException: ClassicTypeSystemContextForCS couldn't handle" with overloaded generic extension function reference passed as parameter
    ... (truncated)
    Commits
    • 5d9e053 Update ChangeLog.md
    • bfb4864 Update K/N
    • facddfc ExperimentalFixesFactory: OptIn shouldn't be added for old version
    • 9922e74 .gradle.kts: fix freezes by avoiding fs walking
    • 0cf79f8 [Gradle, JS] Fix timeout for debug
    • 0f22b3c Tests: fix some tests in formatter for AS
    • ead89cb Formatter: fix indent after trailing comma in calls
    • f5528bc Formatter: shouldn't format property chains
    • e7d1dac Remove accidentally committed dependency on kotlin-gradle-testing.xml
    • ffc3d7f [JS DCE] Add an ability to define overwriting strategy when copying dependenc...
    • 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)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language
    • @dependabot badge me will comment on this PR with code to add a "Dependabot enabled" badge to your readme

    Additionally, you can set the following in your Dependabot dashboard:

    • Update frequency (including time of day and day of week)
    • Pull request limits (per update run and/or open at any time)
    • Out-of-range updates (receive only lockfile updates, if desired)
    • Security updates (receive only security updates, if desired)
    dependencies 
    opened by dependabot-preview[bot] 1
  • Ability to see version number via command line

    Ability to see version number via command line

    To see what Alpas version number I am currently on, I need to refer to the build gradle file. Would be awesome if I can run a ./alpas version or something similar to quickly see what version of Alpas my app is running on.

    opened by armgitaar 1
  • State of the project

    State of the project

    As I didn't get any answer within the "Discussions", I will ask here:

    What is the state of this project? Is this project dead? Do you need help?

    I really like the idea of an "batteries included" Kotlin framework. So whats the plan for the future? Is this a hobby project? Do you keep going?

    opened by fklappan 4
  • Add replyasjson list

    Add replyasjson list

    fun<T:List<*>> HttpCall.replyAsJson(payload:T, statusCode:Int = HttpStatus.OK_200) : ResponsableCall {
        response = JsonResponse(payload, statusCode)
        return this
    }
    
    opened by armgitaar 0
  • Add means to get current route feature request

    Add means to get current route feature request

    I'm looking for a way to capture the current route - the end goal is I want to make a rel canonical to add to pages and the URL will need to be constant.

    opened by armgitaar 0
  • Add make database command if connected to MySQL server

    Add make database command if connected to MySQL server

    It's be handy that if I connect my project to MySQL server, that I can create a db via a command - such as currently the database has to exist otherwise I get an error when running. Would be great to get validation that database does not exist with hint on how to create database using command

    opened by armgitaar 0
  • Add Build failed error details messaging

    Add Build failed error details messaging

    When app fails to build when building via terminal (./alpas build) I receive a message that app failed to build. However, there is no additional information to work off of. The app does build and service successfully via IntelliJ.

    Note - I was able to resolve issue eventually by using the 'yarn dev' command and then './alpas build' - this led to a successful build - in case this helps to narrow down a root cause of the build issue I was having.

    opened by armgitaar 0
Releases(v0.16.0)
  • v0.16.0(Mar 11, 2020)

    New Features

    • Multi-part form support using Pantry.
    • Added few convenience session methods - intended() and previousUrl(). These methods are also available on an HttpCall object.
    • Added a new method, inRandomOrder(), for fetching entities in random order from a MySQL database.
    • Added render() and json() methods with ArgsBuilder as a lambda receiver.
    • Added HttpCall.entityParam() extension method that fetches an entity from a table by looking up an id route param.
    • Added an API to register a custom view function as easily as adding a custom tags.
    • Added a spoof() view function. (Resolves #27).
    • Added asynchronous support using CompletableFuture.
    • Added intReference() and longReference() as shortcuts for defining referencing columns.

    Improvements

    • Updated to Kotlin 1.3.70

    Bug Fixes

    • Fixed #29 (Thanks @vanessagertman)
    • Fixed #30

    Breaking Changes

    • useCurrent attribute is set to false for bothcreatedAt() and updatedAt().
    Source code(tar.gz)
    Source code(zip)
  • v0.15.0(Feb 18, 2020)

    This release brings even more exciting features and improvements to Alpas. Here are the highlights:

    πŸŽ‰ New Features

    βœ”οΈ Resourceful Routes

    You can create a resourceful routes for all the CRUD operations by using resources() method: resources<PostController>("posts").name("posts")

    βœ”οΈ Auto Port Selection

    In dev mode Alpas automatically selects the next port if the selected port is in use already. Docs.

    βœ”οΈ Ozone Extensions

    Few useful methods and conventions are added in Ozone such as findOrCreate(attrs), findOne(attrs), findMany(), update(attrs), reference() etc. Docs.

    βœ”οΈ Column Binding Conventions

    Also added are four new column bindings - createdAt(), updatedAt(), increments(), bigIncrements(). Docs.

    This means instead of this:

    
    val id by bigInt("id").autoIncrement().unsigned().primaryKey().bindTo{ it.id }
    val createdAt by timestamp("created_at").nullable().useCurrent().bindTo { it.createdAt }
    val updatedAt by timestamp("updated_at").nullable().useCurrent().bindTo { it.updatedAt }
    
    

    You can do this:

    
    val id by bigIncrements()
    val createdAt by createdAt()
    val updatedAt by updatedAt()
    
    

    βœ”οΈ Routes reloading without re-running the app

    In dev mode, routes are now reloaded without restarting the app. For performance reason this is disabled in the prod mode.

    βœ”οΈ Run migrations using a name property

    This allows to run migrations even from a fat jar. Very helpful in production.

    βœ”οΈ Added basic table modification support

    You can now addColumn() and dropColumn()

    βœ”οΈ Reference Constraint

    You can now add a reference constraint on a column:

    
    val userId by long("user_id").belongsTo(Users) { it.user }.unsigned().reference { onDeleteCascade() }
    
    

    πŸ’„ Improvements

    πŸ˜€ Assets handling is more optimized.

    πŸ˜€ You can seed a database with database refresh by using --seed flag.

    πŸ˜€ Improved strong typing while overriding an entity's properties in an entity factory.

    
    val user = from(UserFactory) {
        it.name to "Jane M. Doe"
        it.email to "[email protected]"
    }
    
    

    πŸ’” Breaking Changes

    There are few but significant breaking changes in this release:

    πŸ€¦πŸ½β€β™‚οΈ Entity has been renamed to OzoneEntity and MigratingTable has been renamed to OzoneTable:

    // Before: interface User : Entity<User>
    // Now:
    interface User : OzoneEntity<User> {
        // ...
       
       // Before: companion object : Entity.Factory<User>
       // Now:
        companion object : OzoneEntity.Of<User>()
    }
    
    // Before: object Users : MigratingTable<User>
    // Now:
    object Users : OzoneTable<User>("users") {
      // ...
    }
    
    
    

    πŸ€¦πŸ½β€β™‚οΈ EntityFactory now takes two parameters instead of one:

    
    // Before: class UserFactory() : EntityFactory<User>()
    // Now:
    class UserFactory() : EntityFactory<User, Users>() {
       // ...
    }
    
    

    πŸ€¦πŸ½β€β™‚οΈ Methods Renamed:

    • onlyParams() method has been renamed to params()
    • paramAsString() method is now stringParam()
    • paramAsInt() is now intParam()
    • paramAsLong() is now longParam()
    • paramAsBool() is now boolParam()
    Source code(tar.gz)
    Source code(zip)
  • v0.14.0(Feb 5, 2020)

    Packed with so many new features and improvements, this release is probably the biggest and the most exciting release since the initial public release few weeks ago.

    New Features πŸŽ‰

    • Entity Factories and an accompanying make:factory command.
    • Database Seeder and accompanying make:seeder and db:seed commands.
    • link:web for instant refreshing of assets without recompiling.
    • link:templates for instant refreshing of templates without recompiling (even in the production mode!).
    • Added a few convenient methods to the Environment class such as storagePath(), rootPath(), etc.
    • A middleware can be appended from any service provider. Makes it very easy for third-party extensions to add their own middleware.
    • You can filter a redirect and modify it before committing the redirect.
    • You can now hook into an HttpCall's lifecycle and add variables, fetch variables etc.
    • JSON validation has been improved by allowing to always look into a JSON body during validation.
    • Added hasMany and belongsTo methods to fetch related models intuitively. They are also cached for performance reasons.
    • Flash messages set by a user can be fetched through an HttpCall.
    • Easily add a custom Pebble tag from anywhere.
    • Easily add a conditional Pebble tag from anywhere.
    • Extending Pebble is even easier now by just creating a class extending PebbleExtension and leaving it at the classpath. This will be discovered and loaded automatically.
    • Added a basic support for PostgreSQL migrations. CreateTable is still not supported.
    • Added a PostgresqlConnection class to start connecting with a Postgres database with much fuss.

    Improvements πŸ’„

    • Console commands listing is now colored. Coloring has been improved for other console outputs as well.

    • Routing is even more strongly typed and even more compact without compromising the readability. No more magic strings.

    // before
    get("/", HomeController::class, "index")
    
    // now
    get("/", HomeController::index)
    
    // And of course, you can shorten it to
    get<HomeController>()
    
    • Documentation has been heavily updated to cover topics such as CSRF Protection, Entity Relationships, etc.

    Others πŸ›

    • Updated Ktorm dependency to v2.6
    • Added bunch of new tests
    • Few bug fixes and internal API changes

    Breaking Changes

    • JVM Target has been updated to 9 so if you get "Cannot inline bytecode built with JVM target 9" message then make sure to set kotlinOptions.jvmTarget = "9" in your build.gradle file.
    • The only other breaking changes should be from the usage of Pulsar test module. Some of the classes have been graduated to the core framework.

    πŸ™ Thanks to @racharya @armgitaar @vanessagertman @damien-roche @vincentlauvlwj for their help to make this release possible.

    Source code(tar.gz)
    Source code(zip)
Owner
Alpas
The Alpas Framework
Alpas
Bodhi Timer is an elegant, minimalist countdown timer

Install About Want to help with translating the app? It's easy Bodhi Timer is an elegant, minimalist countdown timer. It is designed mainly for use as

Yuttadhammo Bhikkhu 41 Dec 7, 2022
Easy-Note - Easy Note Application will help user to add and update their important notes

Easy-Note ??️ Easy Note App helps you to create your notes. You can ?? edit and

Ade Amit 0 Jan 30, 2022
Cody Engel 2 Apr 20, 2022
A powerful cross-platform UI toolkit for building native-quality iOS, Android, and Progressive Web Apps with HTML, CSS, and JavaScript.

Ionic Ionic is an open source app development toolkit for building modern, fast, top-quality cross-platform native and Progressive Web Apps from a sin

Ionic 48.4k Jan 3, 2023
Open Super dApp - Your gateway to the new digital commons. Integrated mobile messenger, Ethereum wallet, and Web 3.0 browser built on open, decentralized, and encrypted protocols.

A fully open source, open standard, decentralized "super app" including a secure, encrypted Matrix compatible messenger based off of the Element Messenger, and an Ethereum crypto wallet and web3 browser based off of Alpha Wallet.

2Gather 6 Jul 25, 2022
Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you launch a web browser-like app on the cover.

SubUI-browser Proof of concept of custom widgets and apps running on the Z Flip3 cover screen. Adds a widget to Z Flip3 cover screen that lets you lau

null 35 Dec 24, 2022
⚑️ A supercharged native Web View for iOS and Android ⚑️

⚑️ A supercharged native Web View for iOS and Android ⚑️ Ionic Portals is a supercharged native Web View component for iOS and Android that lets you a

Ionic 46 Dec 27, 2022
A Android Web IDE supports code auto-completion and highlight, plugin (Supports Html, Css, JS, Json, Php etc)

WebDevOps A Android Web IDE supports code auto-completion and highlight, plugin (Supports Html, Css, JS, Json, Php etc) Join us QQ group number: 10314

SuMuCheng 22 Jan 3, 2023
A secure, open source web browser for Android.

SmartCookieWeb A secure, free and open source WebView-based web browser for Android. Beta Releases β€’ Docs β€’ Website Important note: Google recently an

null 224 Jan 1, 2023
Web novel reader

NovelDokusha Android web novel reader Features: Two databases to search for web novels (by title or categories) Multiple sources from where to read Re

nani 60 Dec 23, 2022
A secure, open source web browser for Android.

README Styx Browser Help to Translate To help us translate Styx, press the image below. We would be very happy if you help us with the translation. In

Jamal 39 Dec 19, 2021
Android app for monitoring web services. Notifies you of any HTTP or Onion destination not being available.

Webmon Monitor web services and get notified, if a service becomes unavailable. EARLY BIRD DOWNLOAD App Features Simple UI. No login required. Get not

null 36 Dec 29, 2022
Simple Android web-view-based application. The primary purpose is to show the website in Kiosk mode.

Kiosk mode app Simple Android web-view-based application. The primary purpose is to show the website in Kiosk mode. By default, the app works in Scree

Mykola Kichatov 1 Oct 25, 2022
Backend service for mobile/web application for a small cinema playing only movies

FFC - Fast & Furious Cinema Backend service for mobile/web application for a small cinema playing only movies from Fast & Furious franchise. Some assu

Łukasz Lipka 0 Dec 12, 2021
Progressive Web App that allows you to create workout tables

WORKOUT Progressive Web App that allows you to create workout tables. ...work in

Piero 0 Jan 10, 2022
Visualizing some advent of code puzzles using Jetpack compose for web

AdventOfCodeComposeWeb Visualizing some advent of code puzzles using Jetpack com

Ozioma 0 Dec 21, 2021
An Android mobile app for viewing device screen in your web browser

Screen Stream over HTTP An Android mobile app for viewing device screen in your web browser. Developed by Dmitriy Krivoruchko Β· If there are any issue

Dmitriy Krivoruchko 1.1k Dec 31, 2022
Hobby-keeping - Platform to record books that you read and games you played! Made with Kotlin and Spring Framework

Hobby Keeping API to record books that you read and games you played! Made with

William Barom Mingardi 1 Jan 29, 2022
A general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and efficient way

Timer Timer is a general purpose kotlin library that use kotlin coroutines, flows and channels to provide timer features with the most easy and effici

Amr Saraya 3 Jul 11, 2022