Skip to content

Releases: PokeAPI/pokekotlin

v3.0.0-pre4

02 Jul 08:00
e15541f
Compare
Choose a tag to compare

What's Changed

  • Breaking: rename Pokemon to PokemonVariety
  • Add a bunch of documentation comments
  • Breaking: Replace ApiResource with generic Handle; ditto for ApiResourceList -> PaginatedList
  • Publish an experimental JS build to npmjs.com

Full Changelog: v3.0.0-pre3...v3.0.0-pre4

v3.0.0-pre3

30 Jun 03:11
c490b0c
Compare
Choose a tag to compare
v3.0.0-pre3 Pre-release
Pre-release

What's Changed

  • Breaking: Changed the custom PokeApi instance initialization method from PokeApi(...) to PokeApi.Custom(...) to play nicely with some restrictions on APIs exposed to JS and Java
  • Breaking: Reverted the Result<T> response typing back to exceptions, because Result wasn't well supported by https://github.com/ForteScarlet/kotlin-suspend-transform-compiler-plugin
  • Added Java-friendly and JS-friendly APIs using that compiler plugin. For example, suspend fun getBerry(id: Int): Berry now also has corresponding methods:
    • fun getBerryAsync(id: Int): CompletableFuture<Berry> on Java
    • fun getBerryBlocking(id: Int): Berry on Java
    • fun getBerryAsync(id: Int): Promise<Berry> on JS
  • Update API models to the latest schema
  • Revise the demo app to display pokemon images

@sargunv

Full Changelog: v3.0.0-pre2...v3.0.0-pre3

v3.0.0-pre2

11 Jun 21:00
cf5e95b
Compare
Choose a tag to compare
v3.0.0-pre2 Pre-release
Pre-release
  • Breaking: migrate to Result<> responses by @sargunv in #117

v3.0.0-pre1

09 Jun 04:11
050e498
Compare
Choose a tag to compare
v3.0.0-pre1 Pre-release
Pre-release
  • Rebuilt the library for Kotlin Multiplatform, with a suspend fun interface instead of synchronous calls or RxJava observables.
  • In addition to JVM, added support for Kotlin/Native, Kotlin/JS, and Kotlin/WASM
  • Updated the package coordinates again, replacing dev.sargunv with co.pokeapi:
    • Add to Gradle with implementation("co.pokeapi.pokekotlin:pokekotlin:3.0.0-pre1")
  • Updated all package names accordingly
  • Published a new documentation site at https://pokeapi.github.io/pokekotlin/.
  • Added in-memory caching by default, with optional persistent caching by passing a CacheStorage implementation.
  • Updated to pass tests on the latest PokeAPI data.

@sargunv

v2.5.0

05 Jun 11:01
Compare
Choose a tag to compare

We're now on Maven Central; see https://central.sonatype.com/artifact/dev.sargunv.pokekotlin/pokekotlin.

implementation("dev.sargunv.pokekotlin:pokekotlin:2.5.0")

NOTE: This release changes the publishing group id in order to publish to Maven Central. The package names have been changed to match. This is technically a breaking change, but not a semver major bump because the package coordinates themselves have changed; so in semver you can consider v2.5.0 the initial release of a new library.

What's Changed

Full Changelog: v2.4.0...v2.5.0

v2.4.0

21 Feb 04:47
5d8fdbe
Compare
Choose a tag to compare

v2.3.1

06 May 06:38
Compare
Choose a tag to compare

Bintray proved to be unreliable, so the package is now published on GitHub packages. It's also updated to the latest dependencies (kotlin and retrofit) and updated to pass tests on the latest pokeapi data.

EDIT: Turns out GH Packages requires auth even for public packages, so use Jitpack:

repositories {
    mavenCentral()
    maven { url 'https://jitpack.io' }
}
dependencies {
    implementation 'com.github.PokeAPI:pokekotlin:<VERSION>'
}