Files
mikebase/CHANGELOG.md
T
Ganonmaster 3dcd75e490
Release / Build and push Docker image (push) Successful in 14m16s
Release / Build Linux release binary (push) Successful in 15m14s
v0.4.0
Co-authored-by: Copilot <copilot@github.com>
2026-05-02 02:53:09 +02:00

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