Monitor products on the Ubiquiti Store and receive notifications when their availability changes.

Related tags

Kotlin ui-spy
Overview

UI Spy

Monitor products on the Ubiquiti Store and receive notifications when their availability changes.

Example usage showing a Slack notification from IFTTT that the G3 Instant camera is now available.

Available as a binary and Docker container.

Usage

You can run UI Spy in one of two ways:

Command-line

Install on Mac OS with:

$ brew install JakeWharton/repo/ui-spy

For other platforms, download ZIP from latest release and run bin/ui-spy or bin/ui-spy.bat.

$ ui-spy --help
Usage: ui-spy [OPTIONS] CONFIG

Options:
  --hc-host URL  Alternate host for health check notification
  --hc ID        ID of https://healthchecks.io/ to notify
  --data PATH    Directory into which available products are tracked (default
                 in-memory)
  -h, --help     Show this message and exit

Arguments:
  CONFIG  Path to config TOML

Docker

A container which runs the binary is available from Docker Hub and GitHub Container Registry.

  • jakewharton/ui-spy Docker Image Version Docker Image Size

  • ghcr.io/jakewharton/ui-spy

The container expects to load the configuration TOML from /config/config.toml so mount a volume accordingly.

Product availability data is stored in /data which you can either mount to persist it across container restarts or not to keep it only in memory.

To be notified when the tool is failing visit https://healthchecks.io, create a check, and specify the ID to the container using the HEALTHCHECK_ID environment variable.

Docker Compose

version: '2'
services:
  ui-spy:
    image: jakewharton/ui-spy
    restart: unless-stopped
    volumes:
      - /path/to/config:/config

Configuration

The configuration file allows customization of behavior and specifies the desired products to monitor.

# The product handles (and their optional variant ID) to monitor for availability (required).
#  Value: Array of strings.
products = [
  "udm-pro",
]

# URL of IFTTT webhook to trigger for product availability changes (optional). If not specified, the
# tool will only log product availability changes to the console.
#  Value: Valid URL as string.
#  Default: none
ifttt = "https://maker.ifttt.com/trigger/ui-spy/with/key/abc123def456"

# Duration between each check (optional).
#  Value: ISO 8601 duration string representing a positive value.
#    See https://en.wikipedia.org/wiki/ISO_8601#Durations.
#  Default: "PT1M" (1 minute)
checkInterval = "PT5M"

# Base URL of the store (optional). Useful for targeting stores in other geographical markets.
#  Value: Valid URL as string.
#  Default: "https://store.ui.com"
store = "https://ca.store.ui.com"

Products and product variants

The product handle can be found at the end of the Ubiquiti store URL.

For example, the URL for the Dream Machine Pro is https://store.ui.com/collections/unifi-network-unifi-os-consoles/products/udm-pro so its product handle is udm-pro.

Some products have multiple variants. The G4 Bullet comes as a single unit or a three pack. Adding its product handle unifi-protect-g4-bullet-camera will notify you of availability changes across both variants. That is, if either variant is available the tool will consider it available and only when both variants become unavailable will it be marked as unavailable.

A single variant can be monitored by appending an @ and the variant ID to the handle. The variant ID can be found by (re)selecting the variant on the product page. In the case of the G4 Bullet, re-selecting the single unit variant changes the URL from .../products/unifi-protect-g4-bullet-camera to .../products/unifi-protect-g4-bullet-camera?variant=31976667775065. Thus, the handle for this variant would be unifi-protect-g4-bullet-camera@31976667775065.

IFTTT setup

Visit ifttt.com/create to create a new applet. Select "Add" in the trigger section.

Search "webhook" and select the "Webhooks" trigger.

Select the "Receive a web request" variant of the webhook trigger.

Give the webhook trigger a unique event name such as "ui-spy" and select "Create trigger".

The trigger is now complete. Instructions for retrieving the URL are at the end. Select "Add" in the service section to complete the applet.

Choose a service such as posting to a Slack channel.

The webhook payload contains three values:

  • Value1: The product name like "Dream Machine Pro" or the product and variant name like "Camera G4 Bullet [3-Pack]"
  • Value2: Either "Available" or "Unavailable"
  • Value3: The product or product variant URL

Once the service is added the applet is fully configured. Select "Continue" to finish.

Give the applet a friendly name and select "Finish".

The applet is now ready to use.

Visit ifttt.com/maker_webhooks and select "Documentation" to obtain the webhook key. The webhook URL can then be created from this template:

https://maker.ifttt.com/trigger/{event}/with/key/{key}

Where {event} should be replaced with the "ui-spy" or whichever event name you selected. And {key} should be replaced with the key obtained from the documentation.

Development

To run the latest code build with ./gradlew assemble. This will put the application into build/install/ui-spy/. From there you can use the command-line instructions to run. Tests can be run with ./gradlew build.

The Docker container can be built with docker build ..

License

Copyright 2022 Jake Wharton

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • Bump kotlin-serialization from 1.7.0 to 1.7.10

    Bump kotlin-serialization from 1.7.0 to 1.7.10

    Bumps kotlin-serialization from 1.7.0 to 1.7.10.

    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 will merge this PR once CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 2
  • Bump kotlin-serialization from 1.7.22 to 1.8.0

    Bump kotlin-serialization from 1.7.22 to 1.8.0

    Bumps kotlin-serialization from 1.7.22 to 1.8.0.

    Release notes

    Sourced from kotlin-serialization's releases.

    Kotlin 1.8.0

    Changelog

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend

    ... (truncated)

    Changelog

    Sourced from kotlin-serialization's changelog.

    1.8.0

    Analysis API

    • KT-50255 Analysis API: Implement standalone mode for the Analysis API

    Analysis API. FIR

    • KT-54292 Symbol Light classes: implement PsiVariable.computeConstantValue for light field
    • KT-54293 Analysis API: fix constructor symbol creation when its accessed via type alias

    Android

    • KT-53342 TCS: New AndroidSourceSet layout for multiplatform
    • KT-53013 Increase AGP compile version in KGP to 4.1.3
    • KT-54013 Report error when using deprecated Kotlin Android Extensions compiler plugin
    • KT-53709 MPP, Android SSL2: Conflicting warnings for androidTest/kotlin source set folder

    Backend. Native. Debug

    • KT-53561 Invalid LLVM module: "inlinable function call in a function with debug info must have a !dbg location"

    Compiler

    New Features

    • KT-52817 Add @JvmSerializableLambda annotation to keep old behavior of non-invokedynamic lambdas
    • KT-54460 Implementation of non-local break and continue
    • KT-53916 Support Xcode 14 and new Objective-C frameworks in Kotlin/Native compiler
    • KT-32208 Generate method annotations into bytecode for suspend lambdas (on invokeSuspend)
    • KT-53438 Introduce a way to get SourceDebugExtension attribute value via JVMTI for profiler and coverage

    Performance Improvements

    • KT-53347 Get rid of excess allocations in parser
    • KT-53689 JVM: Optimize equality on class literals
    • KT-53119 Improve String Concatenation Lowering

    Fixes

    • KT-53465 Unnecessary checkcast to array of reified type is not optimized since Kotlin 1.6.20
    • KT-49658 NI: False negative TYPE_MISMATCH on nullable type with when
    • KT-48162 NON_VARARG_SPREAD isn't reported on *toTypedArray() call
    • KT-43493 NI: False negative: no compilation error "Operator '==' cannot be applied to 'Long' and 'Int'" is reported in builder inference lambdas
    • KT-54393 Change in behavior from 1.7.10 to 1.7.20 for java field override.
    • KT-55357 IllegalStateException when reading a class that delegates to a Java class with a definitely-not-null type with a flexible upper bound
    • KT-55068 Kotlin Gradle DSL: No mapping for symbol: VALUE_PARAMETER SCRIPT_IMPLICIT_RECEIVER on JVM IR backend
    • KT-51284 SAM conversion doesn't work if method has context receivers
    • KT-48532 Remove old JVM backend
    • KT-55065 Kotlin Gradle DSL: Reflection cannot find class data for lambda, produced by JVM IR backend

    ... (truncated)

    Commits
    • da1a843 Add ChangeLog for 1.8.0-RC2
    • d325cf8 Call additional publishToMavenLocal in maven build scripts and enable info
    • 0403d70 Don't leave Gradle daemons after build scripts
    • 52b225d Fix task module-name is not propagated to compiler arguments
    • d40ebc3 Specify versions-maven-plugin version explicitly
    • 2e829ed Fix version parsing crash on Gradle rich version string
    • f603c0e Scripting, IR: fix capturing of implicit receiver
    • 06cbf8f Scripting, tests: enable custom script tests with IR
    • d61cef0 Fix deserialization exception for DNN types from Java
    • ea33e72 JVM IR: script is a valid container for local delegated properties
    • 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 will merge this PR once it's up-to-date and CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Bump kotlin-serialization from 1.7.21 to 1.7.22

    Bump kotlin-serialization from 1.7.21 to 1.7.22

    Bumps kotlin-serialization from 1.7.21 to 1.7.22.

    Release notes

    Sourced from kotlin-serialization's releases.

    Kotlin 1.7.22

    This is a technical release. It doesn't contain any fixes that aren't included in Kotlin 1.7.21. Version 1.7.22 of the Kotlin plugin will not be available for downloading or installing in any IDEs.

    Checksums

    File Sha256
    kotlin-compiler-1.7.22.zip 9db4b467743c1aea8a21c08e1c286bc2aeb93f14c7ba2037dbd8f48adc357d83
    kotlin-native-linux-x86_64-1.7.22.tar.gz dd004d520056aba67f2955a3bec5af75f8f2d78b179d4b5f733a77e3eef57aff
    kotlin-native-macos-x86_64-1.7.22.tar.gz 153fa411fa8c993ce2635e2504e9b102cb05362cc794b66ef9def26a78b427b5
    kotlin-native-macos-aarch64-1.7.22.tar.gz 4ffcd76c77cc824eff8addd5e2a73da4f3bbd3584fa9ef282b3f669c45426b1e
    kotlin-native-windows-x86_64-1.7.22.zip 3bccd23479848ec61c56ed5760010456d17acbe88a00a1f10fb38eae256f2e92
    Commits
    • be3c5a5 Instruction for building 1.7.21 release
    • 80eb82a Instructions for building 1.7.20 release
    • cb51803 Scripts for building Kotlin repository
    • 7784d10 Change bootstrap to 1.7.21-release-254
    • 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 will merge this PR once it's up-to-date and CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Bump alpine from 3.16.2 to 3.16.3

    Bump alpine from 3.16.2 to 3.16.3

    Bumps alpine from 3.16.2 to 3.16.3.

    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 will merge this PR once CI passes on it, as requested by @JakeWharton.


    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 docker 
    opened by dependabot[bot] 1
  • Bump kotlin-serialization from 1.7.20 to 1.7.21

    Bump kotlin-serialization from 1.7.20 to 1.7.21

    Bumps kotlin-serialization from 1.7.20 to 1.7.21.

    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 will merge this PR once it's up-to-date and CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Bump tomlj from 1.0.0 to 1.1.0

    Bump tomlj from 1.0.0 to 1.1.0

    Bumps tomlj from 1.0.0 to 1.1.0.

    Release notes

    Sourced from tomlj's releases.

    Release 1.1.0

    TomlJ is a parser for Tom's Obvious, Minimal Language (TOML).

    Changes since last release

    • Full support for TOML language version 1.0.0 (passes the test suite at https://github.com/BurntSushi/toml-test).
    • APIs for serializing back to TOML.
    • An additional artifact is now provided, -all.jar, which can be used without requiring any other dependencies and will not conflict with other usages of ANTLR.

    Getting TomlJ

    TomlJ is published to Maven Central.

    To include using Gradle, add the following to your dependencies:

    compile 'org.tomlj:tomlj:1.1.0'
    

    To include using Maven:

    <dependency>
      <groupId>org.tomlj</groupId>
      <artifactId>tomlj</artifactId>
      <version>1.1.0</version>
    </dependency>
    

    You may also download the jars directly and include them in your project.

    Usage and Documentation

    For basic usage, please see the README. Complete documentation, in Javadoc, is available here: http://tomlj.org/docs/java/1.1.0/

    Signature

    All artifacts and release tags are signed by Chris Leishman, using key id 0xB5A9E81B565E89E0.

    Commits
    • 6d3fd8c Increment version to 1.1.0
    • 1f8a984 Add Tobias to authors list
    • 813842c Update gradle tasks for sources, javadoc and signing
    • 1a22c11 Merge pull request #49 from kPYKx7Ddw4n1aIKZ/toml_serializer
    • d0bf4bf Minor format adjustments
    • c9769e3 Only set dependencies for MavenRepo deployment when MAVEN_CENTRAL_DEPLOY is true
    • bcf27f6 Publish to oss.sonatype.org
    • 43d56bd Sign all jar files in maven deployment
    • a2a5a5b Merge pull request #54 from tomlj/shadow-jar
    • 1426479 Add an alternative jar shadowing ANTLR
    • 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 will merge this PR once CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Bump kotlin-gradle-plugin from 1.7.10 to 1.7.20

    Bump kotlin-gradle-plugin from 1.7.10 to 1.7.20

    Bumps kotlin-gradle-plugin from 1.7.10 to 1.7.20.

    Release notes

    Sourced from kotlin-gradle-plugin's releases.

    Kotlin 1.7.20

    1.7.20

    Analysis API

    • KT-52667 FIR IDE: fun interfaces (SAM interfaces) are not properly resolved
    • KT-52136 FIR: Implicit type declaration from the other module cannot be used for overloading

    Analysis API. FE1.0

    • KT-51962 Analysis API: Finish Analysis API for FE1.0

    Analysis API. FIR

    • KT-52779 FIR IDE: Import Optimizer cannot handle generic type qualifiers
    • KT-50236 Fix OOB modification trackers for non-Kotlin code
    • KT-51240 Analysis API: KtAnalysisSession for a specific module cannot create a symbol for PSI that cannot be seen from that module.
    • KT-50868 Analysis API: decompiled type aliases are not resolved

    Compiler

    • KT-53739 Builder inference, extension hides members
    • KT-53733 Kotlin/Native: update source documentation for the new default memory manager
    • KT-53667 Compiler crashes on attempt to alloc a string on the stack in new MM
    • KT-53480 Internal error in file lowering: java.lang.ClassNotFoundException: com.android.systemui.R$string
    • KT-52843 Compose: NPE at Parameters.getParameterByDeclarationSlot if inline function with default arguments takes a lambda which captures value class represented by Long
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-53475 Kotlin/Native for iOS: "IllegalArgumentException: Sequence has more than one element"

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser
      • KT-33755 Kotlin/Native: Provide a way to customize a bundle Identifier of a generated framework
    • KT-51665 FIR: implement label resolve for "typed this" case
    • KT-52361 Report warning on potentially empty intersection types

    Performance Improvements

    • KT-47816 Disable script discovery for non-script environments
    • KT-48635 JVM IR: Double/Float values are boxed when comparing for equality in equals method of data/value classes
    • KT-23397 Optimize out field for property delegate when it's safe (JVM)

    Fixes

    • KT-53272 Backend Internal error: Exception during IR lowering / No such value argument slot: 2
    • KT-53124 Receiver type mismatch when combining extension properties, type projections, Java sources, and F-bounded type-variables
    • KT-51868 JVM / IR: Inconsistent behaviour between lambda expression and SAM interface conversion for the same interface
    • KT-36770 Prohibit unsafe calls with expected @NotNull T and given Kotlin generic parameter with nullable bound
    • KT-52974 "IllegalStateException: Symbol with IrSimpleFunctionSymbolImpl is unbound" compiling native targets of MPP project

    ... (truncated)

    Changelog

    Sourced from kotlin-gradle-plugin's changelog.

    1.7.20

    Compiler

    New Features

    • KT-52495 Support until operator in back-ends
    • KT-52420 Implement resolve of until operator
    • KT-52419 Implement until operator in the parser

    Fixes

    • KT-53947 IllegalStateException: No mapping for symbol: VALUE_PARAMETER INSTANCE_RECEIVER
    • KT-51234 Context receivers can be duplicated in function declaration
    • KT-51576 Context receivers: "AssertionError: Callers must check that current token is IDENTIFIER followed with '@'" with at character
    • KT-49479 JVM / IR: "IllegalStateException: IrErrorType" during IR lowering with non-trivial recursion calls
    • KT-52270 NullPointerException caused by braces on if-else returning a method reference inside lambda
    • KT-47621 False negative INVISIBLE_MEMBER on call to inaccessible protected synthetic property setter
    • KT-37796 NI: "ISE: Error type encountered" when inferring type of a property that delegates to itself
    • KT-45430 PSI2IR: "org.jetbrains.kotlin.psi2ir.generators.ErrorExpressionException: null: KtCallExpression: toString()" with recursive function call in "also" block in nontrivial context
    • KT-52691 K2: Expected FirResolvedTypeRef with ConeKotlinType but was FirImplicitTypeRefImpl with intertwined functional interfaces
    • KT-52822 Fix contract for KtElement.getReference()
    • KT-50223 IndexOutOfBoundsException from ClassicTypeSystemContext$DefaultImpls.getParameter during call resolution
    • KT-51963 Change Maven version to 1.7.255
    • KT-47664 Incorrect type checking in the case of generic types
    • KT-48765 NI: Inferred type does not respect the bound of type variable
    • KT-51243 False positive error "No required context receiver" inside contextual lambda
    • KT-43541 TYPE_MISMATCH for member function which is not occur for top level function during unsafe cast
    • KT-51016 [FIR] False positive OVERLOAD_RESOLUTION_AMBIGUITY between two extensions on different supertypes
    • KT-50155 FIR: support contextual receivers
    • KT-38637 Catch NoSuchFieldException in optimized when expression over enum

    Docs & Examples

    • KT-49896 Kotlin/JS: improve -Xir-property-lazy-initialization description due to making it true by default

    IDE

    • KTIJ-22286 Kotlin JPS project created via wizard does not contain Kotlin libraries in case of not-released version
    • KTIJ-22065 IDE notification motivating Kotlin users to use EAP
    • KTIJ-22209 Configure Kotlin on 221 idea adds 1.6.10 Kotlin (despite the fact that IDE plugin is 1.7.10)
    • KTIJ-22171 Fix test BuiltInDecompilerConsistencyTest
    • KTIJ-22016 Empty .kt file and build.gradle.kts can trigger an error while searching for a facade light class

    IDE. Code Style, Formatting

    • KTIJ-21346 Incorrect formatting for functions with context receivers and visibility modifiers

    IDE. Completion

    ... (truncated)

    Commits
    • 7159702 Add changelog for 1.7.20
    • 9ca25ce Native: add more tests for Swift Set and Dictionary used in Kotlin
    • 1244679 Native: improve thread state switches for NSSet/NSDictionary adapters
    • 1abfeb9 [Gradle][MPP] MPP/AGP compatibility: Bump maxSupportedVersion to 7.3
    • b489e93 Fix lowering of receiver access in IR scripting
    • 8a8853c K1. Fix error message for BUILDER_INFERENCE_MULTI_LAMBDA_RESTRICTION
    • 608d45c Add changelog for 1.7.20-RC
    • 3a340d2 Fix kind of NoBuilderInferenceWithoutAnnotationRestriction
    • a17fc51 Fix receiver inconsistency when builder inference restriction disabled
    • f0fd2cf Put back the line with language feature to 1.7 block
    • 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 will merge this PR once CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Bump okhttpVersion from 4.9.3 to 4.10.0

    Bump okhttpVersion from 4.9.3 to 4.10.0

    Bumps okhttpVersion from 4.9.3 to 4.10.0. Updates okhttp from 4.9.3 to 4.10.0

    Changelog

    Sourced from okhttp's changelog.

    Change Log

    Version 5.0.0-alpha.8

    2022-06-08

    • Fix: Change how H2_PRIOR_KNOWLEDGE works with HTTP proxies. Previously OkHttp assumed the proxy itself was a prior knowledge HTTP/2 server. With this update, OkHttp attempts a CONNECT tunnel just as it would with HTTPS. For prior knowledge with proxies OkHttp's is now consistent with these curl arguments:

      curl \
        --http2-prior-knowledge \
        --proxy localhost:8888 \
        --proxytunnel \
        http://squareup.com/robots.txt
      
    • Fix: Support executing OkHttp on kotlin-stdlib versions as old as 1.4. The library still builds on up-to-date Kotlin releases (1.6.21) but no longer needs that version as a runtime dependency. This should make it easier to use OkHttp in Gradle plugins.

    • Fix: Don't start the clock on response timeouts until the request body is fully transmitted. This is only relevant for duplex request bodies, because they are written concurrently when reading the response body.

    • New: MockResponse.inTunnel() is a new mockwebserver3 API to configure responses that are served while creating a proxy tunnel. This obsoletes both the tunnelProxy argument on MockWebServer and the UPGRADE_TO_SSL_AT_END socket option. (Only APIs on mockwebserver3 are changed; the old okhttp3.mockwebserver APIs remain as they always have been.

    Version 5.0.0-alpha.7

    2022-04-26

    This release introduces new Kotlin-friendly APIs. When we migrated OkHttp from Java to Kotlin in OkHttp 4.0, we kept our Java-first APIs. With 5.0 we're continuing to support Java and adding additional improvements for Kotlin users. In this alpha we're excited to skip-the-builder for requests and remove a common source of non-null assertions (!!) on the response body.

    The alpha releases in the 5.0.0 series have production-quality code and an unstable API. We expect to make changes to the APIs introduced in 5.0.0-alpha.X. These releases are safe for production use and 'alpha' strictly signals that we're still experimenting with some new APIs. If you're eager for the fixes or features below, please upgrade.

    • New: Named and default parameters constructor for Request:

    ... (truncated)

    Commits

    Updates logging-interceptor from 4.9.3 to 4.10.0

    Changelog

    Sourced from logging-interceptor's changelog.

    Change Log

    Version 5.0.0-alpha.8

    2022-06-08

    • Fix: Change how H2_PRIOR_KNOWLEDGE works with HTTP proxies. Previously OkHttp assumed the proxy itself was a prior knowledge HTTP/2 server. With this update, OkHttp attempts a CONNECT tunnel just as it would with HTTPS. For prior knowledge with proxies OkHttp's is now consistent with these curl arguments:

      curl \
        --http2-prior-knowledge \
        --proxy localhost:8888 \
        --proxytunnel \
        http://squareup.com/robots.txt
      
    • Fix: Support executing OkHttp on kotlin-stdlib versions as old as 1.4. The library still builds on up-to-date Kotlin releases (1.6.21) but no longer needs that version as a runtime dependency. This should make it easier to use OkHttp in Gradle plugins.

    • Fix: Don't start the clock on response timeouts until the request body is fully transmitted. This is only relevant for duplex request bodies, because they are written concurrently when reading the response body.

    • New: MockResponse.inTunnel() is a new mockwebserver3 API to configure responses that are served while creating a proxy tunnel. This obsoletes both the tunnelProxy argument on MockWebServer and the UPGRADE_TO_SSL_AT_END socket option. (Only APIs on mockwebserver3 are changed; the old okhttp3.mockwebserver APIs remain as they always have been.

    Version 5.0.0-alpha.7

    2022-04-26

    This release introduces new Kotlin-friendly APIs. When we migrated OkHttp from Java to Kotlin in OkHttp 4.0, we kept our Java-first APIs. With 5.0 we're continuing to support Java and adding additional improvements for Kotlin users. In this alpha we're excited to skip-the-builder for requests and remove a common source of non-null assertions (!!) on the response body.

    The alpha releases in the 5.0.0 series have production-quality code and an unstable API. We expect to make changes to the APIs introduced in 5.0.0-alpha.X. These releases are safe for production use and 'alpha' strictly signals that we're still experimenting with some new APIs. If you're eager for the fixes or features below, please upgrade.

    • New: Named and default parameters constructor for Request:

    ... (truncated)

    Commits

    Updates mockwebserver from 4.9.3 to 4.10.0

    Changelog

    Sourced from mockwebserver's changelog.

    Change Log

    Version 5.0.0-alpha.8

    2022-06-08

    • Fix: Change how H2_PRIOR_KNOWLEDGE works with HTTP proxies. Previously OkHttp assumed the proxy itself was a prior knowledge HTTP/2 server. With this update, OkHttp attempts a CONNECT tunnel just as it would with HTTPS. For prior knowledge with proxies OkHttp's is now consistent with these curl arguments:

      curl \
        --http2-prior-knowledge \
        --proxy localhost:8888 \
        --proxytunnel \
        http://squareup.com/robots.txt
      
    • Fix: Support executing OkHttp on kotlin-stdlib versions as old as 1.4. The library still builds on up-to-date Kotlin releases (1.6.21) but no longer needs that version as a runtime dependency. This should make it easier to use OkHttp in Gradle plugins.

    • Fix: Don't start the clock on response timeouts until the request body is fully transmitted. This is only relevant for duplex request bodies, because they are written concurrently when reading the response body.

    • New: MockResponse.inTunnel() is a new mockwebserver3 API to configure responses that are served while creating a proxy tunnel. This obsoletes both the tunnelProxy argument on MockWebServer and the UPGRADE_TO_SSL_AT_END socket option. (Only APIs on mockwebserver3 are changed; the old okhttp3.mockwebserver APIs remain as they always have been.

    Version 5.0.0-alpha.7

    2022-04-26

    This release introduces new Kotlin-friendly APIs. When we migrated OkHttp from Java to Kotlin in OkHttp 4.0, we kept our Java-first APIs. With 5.0 we're continuing to support Java and adding additional improvements for Kotlin users. In this alpha we're excited to skip-the-builder for requests and remove a common source of non-null assertions (!!) on the response body.

    The alpha releases in the 5.0.0 series have production-quality code and an unstable API. We expect to make changes to the APIs introduced in 5.0.0-alpha.X. These releases are safe for production use and 'alpha' strictly signals that we're still experimenting with some new APIs. If you're eager for the fixes or features below, please upgrade.

    • New: Named and default parameters constructor for Request:

    ... (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)
    dependencies java 
    opened by dependabot[bot] 1
  • Bump crazy-max/ghaction-docker-meta from 1 to 3

    Bump crazy-max/ghaction-docker-meta from 1 to 3

    Bumps crazy-max/ghaction-docker-meta from 1 to 3.

    Release notes

    Sourced from crazy-max/ghaction-docker-meta's releases.

    v3.0.0

    v2.5.0

    • Major version zero doc (#74)
    • Bump hosted-git-info from 2.8.8 to 2.8.9 (#73)
    • Bump lodash from 4.17.20 to 4.17.21 (#72)
    • Handle global expressions (#71)

    v2.4.0

    • Add bake-target input (#69)
    • Fix setOutput (#67)
    • Bump csv-parse from 4.15.3 to 4.15.4 (#65)
    • Bump @​actions/core from 1.2.6 to 1.2.7 (#64)

    v2.3.0

    • Allow overriding flavor (#63)
    • Prefix/suffix not taken into account for match, semver and schedule types (#62)

    v2.2.1

    • Skip and display warning if tag does not match (#59)

    v2.2.0

    • Improve logging (#58)
    • Fix README (#56)

    v2.1.1

    • Fix enable tag attribute (#53)
    • Bump y18n from 4.0.0 to 4.0.1 (#54)

    v2.1.0

    • Bump semver from 7.3.4 to 7.3.5 (#49)
    • Enhance workflow (#51)

    v2.0.0

    This release includes significant changes (#50). Please read the upgrade notes for a smooth migration. v1 is still available through releases/v1 branch.

    • Add tags input
    • Inputs tag-sha, tag-edge, tag-edge-branch, tag-semver, tag-match, tag-match-group, tag-schedule, tag-custom, tag-custom-only have been removed and are now handled through the new tags input
    • Input label-custom renamed labels
    • Add flavor input to handle a global prefix, suffix and latest tag behavior (#13 #15 #41)
    • Input tag-latest removed (use flavor input instead)
    • Manage tag sorting through priority attribute in tags input (#27)
    • Explicit control over the conditions of each tag through enable attribute in tags input (#30)
    • Allow semver and match parsing for custom values (#25 #30)
    • Display warning message if not tag generated

    v1.12.0

    ... (truncated)

    Upgrade guide

    Sourced from crazy-max/ghaction-docker-meta's upgrade guide.

    Upgrade notes

    v2 to v3

    • Repository has been moved to docker org. Replace crazy-max/ghaction-docker-meta@v2 with docker/metadata-action@v3
    • The default bake target has been changed: ghaction-docker-meta > docker-metadata-action

    v1 to v2

    inputs

    New Unchanged Removed
    tags images tag-sha
    flavor sep-tags tag-edge
    labels sep-labels tag-edge-branch
    tag-semver
    tag-match
    tag-match-group
    tag-latest
    tag-schedule
    tag-custom
    tag-custom-only
    label-custom

    tag-sha

    tags: |
      type=sha
    

    tag-edge / tag-edge-branch

    tags: |
      # default branch
      type=edge
    </tr></table> 
    

    ... (truncated)

    Commits
    • f2a1333 Merge pull request #180 from docker/dependabot/npm_and_yarn/moment-2.29.2
    • 56b3641 Update generated content
    • 6738eba Bump moment from 2.29.1 to 2.29.2
    • 0d161f4 Merge pull request #182 from docker/dependabot/npm_and_yarn/minimist-1.2.6
    • 0504cbc Bump minimist from 1.2.5 to 1.2.6
    • 0569027 Merge pull request #179 from docker/dependabot/npm_and_yarn/actions/github-5.0.1
    • 04da149 Update generated content
    • 2f5d066 Merge pull request #181 from docker/dependabot/github_actions/codecov/codecov...
    • 776adc0 Bump codecov/codecov-action from 2 to 3
    • 96b9d26 Bump @​actions/github from 5.0.0 to 5.0.1
    • 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 github_actions 
    opened by dependabot[bot] 1
  • Bump crazy-max/ghaction-docker-meta from 1 to 3.7.0

    Bump crazy-max/ghaction-docker-meta from 1 to 3.7.0

    Bumps crazy-max/ghaction-docker-meta from 1 to 3.7.0.

    Release notes

    Sourced from crazy-max/ghaction-docker-meta's releases.

    v3.7.0

    • Handle comments for multi-line inputs (#172)
    • Missing json output in action.yml (#167)
    • Update dev dependencies and workflow (#175)
    • Bump minimist from 1.2.5 to 1.2.6 (#182)
    • Bump moment from 2.29.1 to 2.29.2 (#180)
    • Bump @​actions/github from 5.0.0 to 5.0.1 (#179)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#173)

    v3.6.2

    • Handle raw statement for pre-release (#155 #156)

    v3.6.1

    • Preserve quotes inside unquoted field (#153)

    v3.6.0

    • base_ref global expression (#142)
    • Trim tags and flavor inputs (#143)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#135)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#134)
    • Bump tmpl from 1.0.4 to 1.0.5 (#132)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#131)

    v3.5.0

    • Add global expression date (#121)
    • Bump @​actions/core from 1.4.0 to 1.5.0 (#122)

    v3.4.1

    • Only return edge if branch matches (#115)

    v3.4.0

    • PEP 440 support (#108)
    • Allow global prefix/suffix on latest (#107)
    • Update dev deps (#109)
    • Bump @​actions/core from 1.3.0 to 1.4.0 (#100)
    • Bump csv-parse from 4.15.4 to 4.16.0 (#101)
    • Bump ws from 7.3.1 to 7.4.6 (#99)

    v3.3.0

    • Fix pull_request_target event (#97)
    • Bump @​actions/core from 1.2.7 to 1.3.0 (#93)
    • Bump @​actions/github from 4.0.0 to 5.0.0 (#94)

    v3.2.0

    • Handle pull_request_target event (#91)
    • Add json output (#89)

    v3.1.0

    • Add format attribute for type=sha (#81)

    ... (truncated)

    Upgrade guide

    Sourced from crazy-max/ghaction-docker-meta's upgrade guide.

    Upgrade notes

    v2 to v3

    • Repository has been moved to docker org. Replace crazy-max/ghaction-docker-meta@v2 with docker/metadata-action@v3
    • The default bake target has been changed: ghaction-docker-meta > docker-metadata-action

    v1 to v2

    inputs

    New Unchanged Removed
    tags images tag-sha
    flavor sep-tags tag-edge
    labels sep-labels tag-edge-branch
    tag-semver
    tag-match
    tag-match-group
    tag-latest
    tag-schedule
    tag-custom
    tag-custom-only
    label-custom

    tag-sha

    tags: |
      type=sha
    

    tag-edge / tag-edge-branch

    tags: |
      # default branch
      type=edge
    </tr></table> 
    

    ... (truncated)

    Commits
    • f2a1333 Merge pull request #180 from docker/dependabot/npm_and_yarn/moment-2.29.2
    • 56b3641 Update generated content
    • 6738eba Bump moment from 2.29.1 to 2.29.2
    • 0d161f4 Merge pull request #182 from docker/dependabot/npm_and_yarn/minimist-1.2.6
    • 0504cbc Bump minimist from 1.2.5 to 1.2.6
    • 0569027 Merge pull request #179 from docker/dependabot/npm_and_yarn/actions/github-5.0.1
    • 04da149 Update generated content
    • 2f5d066 Merge pull request #181 from docker/dependabot/github_actions/codecov/codecov...
    • 776adc0 Bump codecov/codecov-action from 2 to 3
    • 96b9d26 Bump @​actions/github from 5.0.0 to 5.0.1
    • 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 github_actions 
    opened by dependabot[bot] 1
  • Bump kotlin-serialization from 1.6.10 to 1.6.20

    Bump kotlin-serialization from 1.6.10 to 1.6.20

    Bumps kotlin-serialization from 1.6.10 to 1.6.20.

    Release notes

    Sourced from kotlin-serialization's releases.

    Kotlin 1.6.20-RC2

    Changelog

    Compiler

    Fixes

    • KT-51352 "ClassCastException: class ScopeCoroutine cannot be cast to class Iterable" caused by coroutines and context receivers
    • KT-51271 "ArrayIndexOutOfBoundsException: Index 3 out of bounds for length 3" with inlining of context function
    • KT-50520 "NPE: containingDeclaration.ac…lDeclarationType.REGULAR) must not be null" with implicit type on self-referencing lambda in a builder
    • KT-51471 Native: incorrect debug information when inheriting suspend fun invoke implementation
    • KT-51353 IncompatibleClassChangeError: Expected non-static field com.soywiz.korim.color.Colors.BLACK

    Native

    • KT-37368 Native compiler fails to compile big projects

    Native. Runtime

    Tools. JPS

    • KT-51434 Language version 1.7 is absent in Kotlin Compiler settings

    Tools. Gradle

    • KT-51588 Restoring from build cache breaks Kotlin incremental compilation

    Checksums

    File Sha256
    kotlin-compiler-1.6.20-RC2.zip 038da980d17432a44c41299b528b81040ca2578b634b0fd066661b45871711f2
    kotlin-native-linux-x86_64-1.6.20-RC2.tar.gz d8ada91551ad425697966c128725757d6c032eb25f0c58e737783d20914751c4
    kotlin-native-macos-x86_64-1.6.20-RC2.tar.gz a6e85afd0a920ab7d1c5dea6e5153515ecf98aafbbe60e6151e181455e6583d7
    kotlin-native-macos-aarch64-1.6.20-RC2.tar.gz 60d9b37177180997e2c42a26214b36242ccace62fa3af08091c8ed7df80410e0
    kotlin-native-windows-x86_64-1.6.20-RC2.zip 57da7b6e3438ffc44fe0e99846efa7fed1c458d74cf00d504f2583c4d99c41c8

    Kotlin 1.6.20-RC

    Changelog

    Compiler

    • KT-51302 Kotlin/Native 1.6.20-M1 compiler fails because of assertion in NativeAnnotationImplementationTransformer
    • KT-51148 "AssertionError: At this stage there should be no remaining variables with proper constraints" caused by two type parameters
    • KT-50970 Kotlin/Native: use arm instruction set instead of thumb-2 for iosArm32 and watchosArm32 targets
    • KT-50843 Kotlin/Native: LLVM constant merge pass does not work for Kotlin constants
    • KT-51157 JVM / IR: "IndexOutOfBoundsException: Index: 1, Size: 1" caused by interface hierarchy and UInt method parameter

    ... (truncated)

    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 will merge this PR once it's up-to-date and CI passes on it, as requested by @JakeWharton.


    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 java 
    opened by dependabot[bot] 1
  • Gzip Error when callig https://store.ui.com/...

    Gzip Error when callig https://store.ui.com/...

    Think I got this all setup but running via docker compose and I got a gzip error.

    Ubuntu 22.04

    Package: docker
    Version: 1.5-2
    
    Package: docker-compose-plugin
    Version: 2.6.0~ubuntu-jammy
    
    docker images
    REPOSITORY           TAG       IMAGE ID       CREATED        SIZE
    jakewharton/ui-spy   latest    0169818947af   3 months ago   45MB
    
    # The product handles (and their optional variant ID) to monitor for availability (required).
    #  Value: Array of strings.
    products = [
      "camera-g4-instant", "unifi-protect-g3-instant-camera",
    ]
    
    # URL of IFTTT webhook to trigger for product availability changes (optional). If not specified, the
    # tool will only log product availability changes to the console.
    #  Value: Valid URL as string.
    #  Default: none
    ifttt = "https://maker.ifttt.com/trigger/ui-spy/with/key/<snip>"
    
    # Duration between each check (optional).
    #  Value: ISO 8601 duration string representing a positive value.
    #    See https://en.wikipedia.org/wiki/ISO_8601#Durations.
    #  Default: "PT1M" (1 minute)
    #checkInterval = "PT5M"
    
    # Base URL of the store (optional). Useful for targeting stores in other geographical markets.
    #  Value: Valid URL as string.
    #  Default: "https://store.ui.com"
    #store = "https://ca.store.ui.com"
    
    # Whether to also notify when a new product is added (optional).
    #  Value: boolean
    #  Default: false
    productAddNotifications = true
    
    docker compose up
    [+] Running 1/0
     ⠿ Container ui-spy-ui-spy-1  Created                                                                              0.0s
    Attaching to ui-spy-ui-spy-1
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0x14df6f8b != expected 0x2b650b4b
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0xb9738743 != expected 0xd4b9039a
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0xb434ddb9 != expected 0xac56394d
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0x9a1bf762 != expected 0x5a14547f
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0x0aaedd04 != expected 0xf9aef994
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:15 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0xd1fd8674 != expected 0xeafd0f47
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:16 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0xe38ec27a != expected 0x97115732
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:16 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0x037f5379 != expected 0x71dcec9a
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    ui-spy-ui-spy-1  | Aug 10, 2022 1:12:16 AM okhttp3.internal.platform.Platform log
    ui-spy-ui-spy-1  | INFO: Callback failure for call to https://store.ui.com/...
    ui-spy-ui-spy-1  | java.io.IOException: CRC: actual 0x74675810 != expected 0x50fed5f2
    ui-spy-ui-spy-1  | 	at okio.GzipSource.checkEqual(GzipSource.kt:197)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.consumeTrailer(GzipSource.kt:164)
    ui-spy-ui-spy-1  | 	at okio.GzipSource.read(GzipSource.kt:81)
    ui-spy-ui-spy-1  | 	at okio.Buffer.writeAll(Buffer.kt:1642)
    ui-spy-ui-spy-1  | 	at okio.RealBufferedSource.readString(RealBufferedSource.kt:95)
    ui-spy-ui-spy-1  | 	at okhttp3.ResponseBody.string(ResponseBody.kt:187)
    ui-spy-ui-spy-1  | 	at com.jakewharton.uispy.UtilKt$await$2$1.onResponse(util.kt:21)
    ui-spy-ui-spy-1  | 	at okhttp3.internal.connection.RealCall$AsyncCall.run(RealCall.kt:519)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    ui-spy-ui-spy-1  | 	at java.base/java.lang.Thread.run(Unknown Source)
    ui-spy-ui-spy-1  |
    
    opened by timbarlotta 3
  • Bump crazy-max/ghaction-docker-meta from 1 to 4

    Bump crazy-max/ghaction-docker-meta from 1 to 4

    Bumps crazy-max/ghaction-docker-meta from 1 to 4.

    Release notes

    Sourced from crazy-max/ghaction-docker-meta's releases.

    v4.0.0

    • Node 16 as default runtime by @​crazy-max (#176)
      • This requires a minimum Actions Runner version of v2.285.0, which is by default available in GHES 3.4 or later.
    • Do not sanitize before pattern matching by @​crazy-max (#201)
      • Breaking change with type=match pattern matching

    Full Changelog: https://github.com/docker/metadata-action/compare/v3.8.0...v4.0.0

    v3.8.0

    Full Changelog: https://github.com/docker/metadata-action/compare/v3.7.0...v3.8.0

    v3.7.0

    • Handle comments for multi-line inputs (#172)
    • Missing json output in action.yml (#167)
    • Update dev dependencies and workflow (#175)
    • Bump minimist from 1.2.5 to 1.2.6 (#182)
    • Bump moment from 2.29.1 to 2.29.2 (#180)
    • Bump @​actions/github from 5.0.0 to 5.0.1 (#179)
    • Bump node-fetch from 2.6.1 to 2.6.7 (#173)

    v3.6.2

    • Handle raw statement for pre-release (#155 #156)

    v3.6.1

    • Preserve quotes inside unquoted field (#153)

    v3.6.0

    • base_ref global expression (#142)
    • Trim tags and flavor inputs (#143)
    • Bump @​actions/core from 1.5.0 to 1.6.0 (#135)
    • Bump ansi-regex from 5.0.0 to 5.0.1 (#134)
    • Bump tmpl from 1.0.4 to 1.0.5 (#132)
    • Bump csv-parse from 4.16.0 to 4.16.3 (#131)

    v3.5.0

    • Add global expression date (#121)
    • Bump @​actions/core from 1.4.0 to 1.5.0 (#122)

    v3.4.1

    • Only return edge if branch matches (#115)

    v3.4.0

    • PEP 440 support (#108)

    ... (truncated)

    Upgrade guide

    Sourced from crazy-max/ghaction-docker-meta's upgrade guide.

    Upgrade notes

    v2 to v3

    • Repository has been moved to docker org. Replace crazy-max/ghaction-docker-meta@v2 with docker/metadata-action@v4
    • The default bake target has been changed: ghaction-docker-meta > docker-metadata-action

    v1 to v2

    inputs

    New Unchanged Removed
    tags images tag-sha
    flavor sep-tags tag-edge
    labels sep-labels tag-edge-branch
    tag-semver
    tag-match
    tag-match-group
    tag-latest
    tag-schedule
    tag-custom
    tag-custom-only
    label-custom

    tag-sha

    tags: |
      type=sha
    

    tag-edge / tag-edge-branch

    tags: |
      # default branch
      type=edge
    </tr></table> 
    

    ... (truncated)

    Commits
    • 69f6fc9 Merge pull request #203 from crazy-max/san-fix
    • 2f5b5ae Sanitize tag earlier
    • f206c36 Merge pull request #202 from crazy-max/v4-prep
    • a20adfa readme: set metadata-action to v4
    • 26b9439 Merge pull request #201 from crazy-max/fix-sanitization
    • 467883f Merge pull request #176 from crazy-max/node-16
    • 5edf56f Node 16 as default runtime
    • 678218f Note about image name and tag sanitization
    • e44c1fb Do not sanitize before pattern matching
    • b2391d3 Merge pull request #193 from crazy-max/images-opts
    • 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 github_actions 
    opened by dependabot[bot] 0
Releases(0.2.0)
Owner
Jake Wharton
Jake Wharton
Demonstrating Micronaut 3.1.3 conflict between caches in application.yml and MicronautCaffeineCacheMetrics.monitor

This application illustrates an issue with using a caches section in application.yml in conjunction with MicronautCaffeineCacheMetrics.monitor. The co

Mark Fisher 0 Nov 4, 2021
💫 Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages

?? Kanata Small microservice to handle state changes of Kubernetes pods and post them to Instatus or Statuspages ?? Why? I don't really want to implem

Noel 4 Mar 4, 2022
Same as an Outlined text fields presented in Material Design page but with some dynamic changes

README SSCustomEditTextOutlineBorder Getting Started SSCustomEditTextOutLineBorder is a small kotlin library for android to support outlined (stroked)

Simform Solutions 194 Dec 30, 2022
ConstraintSetChangesTest - Simple project showing Changes of ConstraintSet value as part of mutable state in JetpackCompose.

ConstraintSetChangesTest Simple project showing Changes of ConstraintSet value as part of mutable state in JetpackCompose. Version: implementation

Mateusz Perlak 1 Feb 13, 2022
A Kotlin work manager library for Android with progress notifications and Hilt support.

Boot Laces A kotlin work manager library for Android that includes notifications and Hilt support. User Instructions Add the JitPack repository to you

Chris Basinger 35 Oct 8, 2022
The AppMetrica Push SDK is a set of libraries for working with push notifications.

Flutter AppMetrica Push AppMetrica Push SDK — это набор библиотек для работы с push-уведомлениями. Подключив AppMetrica Push SDK, вы можете создать и

Mad Brains 6 Oct 12, 2022
A secure, opensource android app to store your bank accounts, cards, and credentials. Locally and securely.

Digital Tijori ?? Digital Tijori app lets you store your bank accounts, cards and credentials. You can link cards and credentials to a particular bank

Harsh Nandwani 8 Aug 26, 2022
Workout Journal is a mobile app based on Multi-Module and Clean Architecture for those who want to track their progress over a workout and a calendar period.

Workout-Journal Workout Journal is a mobile app for those who want to track their progress over a workout and a calendar period. The app allows you to

Maxim Smolyakov 4 Oct 23, 2022
DocuBox is a cloud based file storing app where you can securely store and access your documents from anywhere around the world

DocuBox is an android app ??in which you can securely upload your files on the cloud– from family pictures and audio recordings to spreadsheets, presentations and other confidential documents.

Vaibhav Jaiswal 26 Jan 3, 2023
A beautiful Fashion Store like Android App Mock built on Jetpack Compose with compose navigation, hilt, dark theme support and google's app architecture found on uplabs Here

A beautiful Fashion Store like Android App Mock built on Jetpack Compose with compose navigation, hilt, dark theme support and google's app architecture found on uplabs Here

Puncz 87 Nov 30, 2022
An android app built using Kotlin that consumes Pixabay API to display images and their details.

AdanianAndroidTest An android app built using Kotlin that consumes Pixabay API to display images and their details. It has been built following Clean

Joel Kanyi 6 Jul 12, 2022
A sample app showing different kind of memory leaks and their solutions

MemoryLeakApp A sample app showing different kind of memory leaks and their solutions. Make sure to check the source code to understand the concept of

Moradious 11 Oct 28, 2022
Shoe Store project first Attempt

Shoe Store project first Attempt User Info: email: [email protected] password:12345 I had problem to select the home Screen for the navigation gr

null 0 Nov 25, 2021
Aurora Store: A Google Playstore Client

Aurora Store: A Google Playstore Client Aurora Store is an unofficial, FOSS clie

null 0 Jan 31, 2022
Nike Store like App Ui, built on Jetcpack compose

Nike-Store, Design Credits: M Sajib A beautiful NIKE Store like Android App UI built on Jetpack Compose found on uplabs Here License Copyright 2021 Th

Puncz 42 Dec 18, 2022
Adds loveable red pandas into Minecraft! Who doesn't love a Red Panda in their world?

?? Akali Adds loveable red pandas into Minecraft! Who doesn't love a Red Panda in their world? :3 This is a Forge and Fabric mod under their respected

Noel ʕ •ᴥ•ʔ 4 Jul 4, 2022
A native android app that shows how much calories one must consume based on their profile

Healtify is a native android app which allows the user to track the amout of Calories they are consuming. It not only tracks the calories but also shows how much of fat, protein and carbs they have consumed and how much they should be doing.

Anindya Ray 9 Aug 20, 2022
Reapp is everything you need to build amazing apps with React: a collection of packages that work together, our UI kit, and a CLI that scaffolds your app and includes a server and build system.

What is it? Reapp is everything you need to build amazing apps with React: a collection of packages that work together, our UI kit, and a CLI that sca

reapp 3.4k Nov 20, 2022
Create an application with Kotlin/JVM and Kotlin/JS, and explore features around code sharing, serialization, server- and client

Practical Kotlin Multiplatform on the Web 본 저장소는 코틀린 멀티플랫폼 기반 웹 프로그래밍 워크숍(강좌)을 위해 작성된 템플릿 프로젝트가 있는 곳입니다. 워크숍 과정에서 코틀린 멀티플랫폼을 기반으로 프론트엔드(front-end)는 Ko

SpringRunner 14 Nov 5, 2022