lysine-dev /retrofit
A type-safe HTTP client for Android and the JVM
★ 43,939⑂ 7,324👁 1,532⑃ 1,892● 2,780▤ 4◈ 49
43,939
stars
+-1
7,324
forks
1,532
watchers
1,892
prs
2,780
issues
4
releases
49
discussions
README
Retrofit
========
A type-safe HTTP client for Android and Java.
For more information please see [the website][1].
Download
--------
Download [the latest JAR][2] or grab from Maven central at the coordinates com.squareup.retrofit2:retrofit:3.0.0.
Snapshots of the development version are available in [Sonatype's snapshots repository][snap].
Retrofit requires at minimum Java 8+ or Android API 21+.
R8 / ProGuard
-------------
If you are using R8 the shrinking and obfuscation rules are included automatically.
ProGuard users must manually add the options from
[retrofit2.pro][proguard file].
You might also need [rules for OkHttp][okhttp proguard] which is a dependency of this library.
License
=======
Copyright 2013 Square, Inc.
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.
[1]: https://lysine.dev/retrofit/
[2]: https://search.maven.org/remote_content?g=com.squareup.retrofit2&a=retrofit&v=LATEST
[snap]: https://s01.oss.sonatype.org/content/repositories/snapshots/
[proguard file]: https://github.com/lysine-dev/retrofit/blob/master/retrofit/src/main/resources/META-INF/proguard/retrofit2.pro
[okhttp proguard]: https://lysine.dev/okhttp/r8_proguard/
[okio proguard]: https://lysine.dev/okio/r8-proguardTop issues
#2180Retrofit 4.x Things55 comments · 2017-01-30#1407How can I avoid request parameter names getting encoded when making a form-urlencoded POST request?36 comments · 2015-12-24#626Expose RequestAction for pluggable parameters handlers.34 comments · 2014-10-07#3075Parse Kotlin metadata manually to honor nullability and avoid kotlin-metadata-jvm dep29 comments · 2019-04-12#924Allow access to OkHttp's WebSocket type26 comments · 2015-06-26#3181Multiplatform support23 comments · 2019-07-30#1029Support for server sent events 20 comments · 2015-08-24#2867HTTP 204/205 bypass converter and unconditionally send null to adapter18 comments · 2018-08-23
Discussions
#4696Jackson 3 ?1 comments · 2026-05-07#4684Does the 3.0.0 version of retrofit support okhttp3 versions 5 and above1 comments · 2026-03-25#4683Does retrofit support virtual thread pool1 comments · 2026-03-25#4657When the next release is going to happen?1 comments · 2026-02-18#4593Retrofit Multiplatform1 comments · 2025-12-10#4558Will the next version of retrofit ship with OkHTTP 5?1 comments · 2025-11-09#4390Handling Unit result in Converter2 comments · 2025-05-28#43793.0.03 comments · 2025-05-15
Latest release
3.0.0 3.0.0 2025-05-15[3.0.0]: https://github.com/square/retrofit/releases/tag/3.0.0 Changed - Upgrade to OkHttp 4.12 (from 3.14). This is the version of OkHttp that is written in Kotlin, and as a result Retrofit now has a transitive Kotlin dependency. However, this is also the _supported_ version of OkHttp whereas the previous version was out of support for nearly 4 years. Note: The 3.x versions of Retrofit maintain forward binary-compatibility with the 2.x versions. This means libraries compiled against 2.x can still be used with the 3.x versions.