Skip to content

Releases: blackarrows-apps/arrow-http

v1.1.1 - Wasm bug fixes

28 May 10:22

Choose a tag to compare

Arrow HTTP v1.1.1

Bug Fixes

http-ktor

  • Remove Content-Type from GET requests — GET requests have no body; sending Content-Type: application/json was unnecessary and triggered CORS preflights in browsers.
  • Add HTTP timeouts to wasmJs Ktor client — Configures 15s request timeout and 10s connect timeout via HttpTimeout plugin using AbortController, supported in all modern browsers.
  • Improve response logging — Debug logs now include byte count when reading the response body.

Breaking Changes

None. This release is fully backwards compatible with v1.1.0.


Installation

dependencies {
implementation("io.github.blackarrows-apps:http-core:1.1.1")
implementation("io.github.blackarrows-apps:http-ktor:1.1.1")
// Optional — test utilities
implementation("io.github.blackarrows-apps:http-test:1.1.1")
}

Full Changelog

1.1.0 → 1.1.1

v1.1.0 - wasmJs support

26 May 11:41

Choose a tag to compare

What's new

  • Added `wasmJs` target to `http-core`, `http-ktor`, and `http-test`
  • `Client.wasmJs.kt`: uses Ktor's `Js` engine (browser Fetch API)
  • Enables use of `HttpRequestExecutor` in Compose Multiplatform for Web apps

Initial Release

22 Nov 21:24

Choose a tag to compare

arrow-http v1.0.0 - Initial Release 🎉

We're excited to announce the first stable release of arrow-http - a client-agnostic HTTP library for Kotlin Multiplatform!

🚀 Features

Core (http-core)

  • ✅ Client-agnostic abstractions (HttpRequestExecutor)
  • ✅ Comprehensive exception hierarchy (NetworkException, AuthException, HttpStatusException, etc.)
  • ✅ Type-safe HTTP operations (GET, POST, PUT, DELETE)
  • ✅ Policy-based interceptor system
  • ✅ Multipart form data support
  • ✅ Per-request configuration

Ktor Implementation (http-ktor)

  • ✅ Platform-optimized engines:
    • Android/JVM: OkHttp
    • iOS: Darwin (NSURLSession)
  • ✅ Built-in JSON serialization/deserialization
  • ✅ Koin integration module
  • ✅ AuthPolicy with automatic token refresh
  • ✅ RetryPolicy with exponential backoff

📦 Installation

kotlin {
    sourceSets {
        commonMain {
            dependencies {
                implementation("io.blackarrows:http-core:1.0.0")
                implementation("io.blackarrows:http-ktor:1.0.0")
            }
        }
    }
}

🎯 Platform Support

Platform Status Engine
Android OkHttp
JVM OkHttp
iOS arm64 Darwin
iOS x64 Darwin
iOS simulatorArm64 Darwin

📚 Documentation

🙏 Acknowledgments

Special thanks to all early adopters and contributors who provided feedback during development!

📝 Requirements

  • Kotlin 2.1.0+
  • Gradle 8.11+
  • Android minSdk 24+
  • iOS 13+
  • JVM 17+

🐛 Feedback

Found a bug or have a feature request? Please open an issue.

⭐ Show Your Support

If you find arrow-http useful, please consider giving it a star on GitHub!


Full Changelog: https://github.com/blackarrows-apps/arrow-http/commits/v1.0.0