# 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.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.3.0...HEAD [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