Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 32 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Changelog

All notable changes to this project are documented here.

## [1.0.0-rc.1] - 2026-10-20

The first release candidate for the stable 1.0.0 API.

### Added

- Lemmy 1.0 API support, including version-specific routing, datatypes, transformations, and unified wrappers.
- Unified datatypes based on the Lemmy 1.0 API while retaining compatibility with supported 0.18 and 0.19 instances.
- Version-aware feature flags and supported enum entry discovery.
- A dedicated `NodeInfoClient` for instance discovery and version detection.
- `LemmyAuth.fromToken()` for creating authentication from an existing token.
- End-to-end coverage for major Lemmy 1.0 endpoints.

### Changed

- Refined `connect()` and `connectForVersion()` around typed instances, authentication, and resolved Lemmy versions.
- Added explicit authentication lifecycle operations through `updateAuth()` and `clearAuth()`.
- Improved HTTP client ownership, resource cleanup, request cancellation, and retry/timeout handling.
- Reworked image uploads and deletion behind `uploadImage()` and `deleteMedia()`, including legacy pictrs compatibility for pre-1.0 instances.
- Consolidated unified routes and removed obsolete API surface.

### Breaking changes

- Unified request and response types now follow Lemmy 1.0 where the API changed; older instances are adapted internally by the version-specific wrappers.
- Consumers should use `uploadImage()` and `deleteMedia()` instead of calling legacy pictrs APIs directly.
- Consumers using page-based pagination should provide both `page` and `page_cursor` when supporting both pre-1.0 and 1.x instances.

[1.0.0-rc.1]: https://github.com/MV-GH/LemmyBackwardsCompatibleAPI/releases/tag/1.0.0-rc.1
2 changes: 0 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@

# LemmyBackwardsCompatibleAPI

## Project Overview

A **Kotlin Multiplatform** library that provides a single, unified API surface over multiple Lemmy server versions (0.18+, 0.19+, 1.0+). Consumers call one interface (`LemmyApiBaseController`) and receive unified ("uni") datatypes regardless of which Lemmy version the target instance is running.

Expand Down Expand Up @@ -77,7 +76,6 @@ Use `connectForVersion(LemmyInstance(...), LemmyVersion(...))` when the server v
```kts
implementation("it.vercruysse.lemmyapi:lemmy-api:VERSION")
```
It is currently in beta.

## Architecture

Expand Down
3 changes: 1 addition & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,4 @@ POM_DEVELOPER_URL=https://github.com/MV-GH

POM_ARTIFACT_ID=lemmy-api
GROUP=it.vercruysse.lemmyapi
VERSION_NAME=0.7.0-beta.0

VERSION_NAME=1.0.0-rc.1
Loading