github supabase-community/supabase-kt 0.9.0

latest releases: 3.7.0-beta-1, 3.6.0, 3.5.0...
3 years ago

Changes

  • Add experimental support for IOS (#53)

  • Add new Troubleshooting page in the Wiki

  • Fix functions-kt using gotrue as it's namespace

  • Use actual error message from Storage HTTP request by @jollygreenegiant in #92

  • Add new 'upsert' parameter to upload/update functions by @jan-tennert in #93

  • Introduce experimental flow variants for uploading and downloading files in storage by @jan-tennert in #90

  • Add new methods to ImageTransformation: cover, fill, contain, size

  • Add new Storage LW7 features: (untested, see PR)
    More options when creating a bucket (& move public to builder): (Breaking if using public)

    client.storage.createBucket("test", "test")  {
       public = true
       fileSizeLimit = 1000000.kilobytes
       allowedMimeTypes(ContentType.Image.PNG, ContentType.Image.JPEG)
    }

    Create presigned urls for upload images:

    val signedUrl = client.storage["test"].createUploadSignedUrl("test.txt")
    println(signedUrl.url)
    client.storage["test"].uploadToSignedUrl(
        path = "test.txt",
        token = signedUrl.token,
        data = File("mydata.txt").readBytes()
    )

    New image transformation options:

    client.storage["icons"].downloadPublic("icon.png") {
        width = 100
        height = 100
        format = "origin" //image format
        resize = ImageTransformation.Resize.FILL
        quality = 40 //image quality
    }
  • Improve select syntax for postgrest (#87)
    You can now restrict the columns you want to receive using the Columns value class:

    //user class
    @Serializable
    data class User(val id: String, val name: String)
    
    client.postgrest["table"].select(Columns.list(columns)).decodeSingle<User>()
    //or
    client.postgrest["table"].select(Columns.list("id", "name")).decodeSingle<User>()
    //or
    client.postgrest["table"].select(Columns.type<User>()).decodeSingle<User>() //uses the class properties serial names as column restriction
    //defaults to Columns.ALL
    client.postgrest["table"].select().decodeSingle<User>()
  • Improve exceptions

  • Make Identity#lastSignInAt optional

  • Fix various documentation issues

Dependency updates

Various dependency updates, see pre-releases for full list

Don't miss a new supabase-kt release

NewReleases is sending notifications on new releases.