96 lines
3.9 KiB
Markdown
96 lines
3.9 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
|
|
## [Unreleased]
|
|
|
|
## [0.4.0] - 2026-05-02
|
|
|
|
### Added
|
|
- `POST /manage/import` — import emotes from a legacy JSON endpoint, downloading
|
|
each image and mirroring it to S3 with original timestamps preserved.
|
|
- Duplicate detection: emotes whose name already exists are skipped (compatible
|
|
with both SQLite and PostgreSQL).
|
|
- Host allowlist for import source URLs, configurable via `[import]
|
|
allowed_hosts` in `config.toml` (default: `["smutba.se"]`).
|
|
- Dry-run mode (`"dry_run": true` in request body): previews the import without
|
|
writing to S3 or the database. Result statuses are `"would_import"` and
|
|
`"would_skip"` instead of `"imported"` and `"skipped"`.
|
|
|
|
## [0.3.0] - 2026-04-28
|
|
|
|
### Added
|
|
- Management UI at `GET /manage` for adding, editing, and deleting emotes.
|
|
- `GET /manage/emotes` — admin JSON endpoint returning full emote data (uuid,
|
|
name, alias, url, timestamps) for use by the management UI.
|
|
- `AdminEmoteResponse` model exposing `uuid` and `alias` fields not present in
|
|
the public `EmoteResponse`.
|
|
- Client-side search on the management page filtering emotes by name or alias.
|
|
- HTTP Basic Auth middleware protecting `/manage` and all emote write endpoints
|
|
(`POST /emotes`, `PUT /emotes/{uuid}`, `DELETE /emotes/{uuid}`). Credentials
|
|
are configured via `[auth]` in `config.toml` or the `APP__AUTH__USERNAME` /
|
|
`APP__AUTH__PASSWORD` environment variables. Omitting the section causes all
|
|
protected routes to return 401.
|
|
|
|
## [0.2.4] - 2026-04-11
|
|
|
|
### Fixed
|
|
- Gitea release workflow: remove `target_commitish` from release creation API
|
|
call to fix 409 conflict when creating releases for existing tags.
|
|
|
|
## [0.2.3] - 2026-04-11
|
|
|
|
### Fixed
|
|
- Gitea release workflow: retry release creation with backoff to handle timing
|
|
between tag push and tag availability in the API.
|
|
|
|
## [0.2.2] - 2026-04-09
|
|
|
|
### Fixed
|
|
- Updated Gitea container registry token in CI.
|
|
|
|
## [0.2.1] - 2026-04-09
|
|
|
|
### Removed
|
|
- Deleted old GitHub Actions workflows (superseded by Gitea workflows).
|
|
|
|
## [0.2.0] - 2026-04-09
|
|
|
|
### Added
|
|
- Emotes listing HTML page at `GET /` with styled table (accent colors, drop
|
|
shadow, glow effects).
|
|
- `GET /` health check endpoint (returns 200 OK).
|
|
- Dockerfile and Docker build/push workflow targeting the Gitea container
|
|
registry.
|
|
|
|
### Fixed
|
|
- Error handling added to the client-side emotes fetch call on the HTML page.
|
|
|
|
## [0.1.0] - 2026-03-18
|
|
|
|
### Added
|
|
- Rust/Axum HTTP server with SQLite and PostgreSQL support via `sqlx::AnyPool`.
|
|
- `EmoteRow` DB model and `EmoteResponse` JSON API response type.
|
|
- `POST /emotes` — create emote (multipart: `name`, `alias?`, `file`).
|
|
- `PUT /emotes/{uuid}` — update emote metadata.
|
|
- `DELETE /emotes/{uuid}` — delete emote from DB and S3.
|
|
- `GET /json` — list all emotes as JSON.
|
|
- `GET /version` — git commit hash and tag baked in at build time via
|
|
`build.rs`.
|
|
- S3/Wasabi storage backend with configurable endpoint and public URL.
|
|
- Database migrations run automatically on startup.
|
|
- GitHub Actions release workflow building a Linux binary on `v*` tag push.
|
|
|
|
[Unreleased]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.4.0...HEAD
|
|
[0.4.0]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.3.0...v0.4.0
|
|
[0.3.0]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.2.4...v0.3.0
|
|
[0.2.4]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.2.3...v0.2.4
|
|
[0.2.3]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.2.2...v0.2.3
|
|
[0.2.2]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.2.1...v0.2.2
|
|
[0.2.1]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.2.0...v0.2.1
|
|
[0.2.0]: https://git.open3dlab.com/Open3DLab/mikebase/compare/v0.1.0...v0.2.0
|
|
[0.1.0]: https://git.open3dlab.com/Open3DLab/mikebase/releases/tag/v0.1.0
|