99 lines
4.4 KiB
Markdown
99 lines
4.4 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project are 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).
|
|
|
|
## [2.1.0] - 2026-09-11
|
|
|
|
### Added
|
|
|
|
- English version of the site (`/en/*`) alongside the Italian original, hand-rolled without an
|
|
i18n library: `/en`, `/en/blog`, `/en/blog/[slug]`, `/en/category/[slug]` and the corralito page
|
|
all get an English counterpart, sharing markup with their Italian page via a `locale` prop.
|
|
- Manual, per-record English fields on content: `titleEn`/`contentEn`/`coverAltEn` on articles,
|
|
`nameEn` on categories — translated by the editor in the admin UI, no auto-translation.
|
|
- English translation of the corralito training-courses page specifically (it was left Italian-only
|
|
when `/en` support first landed, then translated in a follow-up pass).
|
|
- Numbered pagination on the blog archive and category pages (first, last, current page and its
|
|
neighbors, collapsing gaps into `…`), replacing plain previous/next links.
|
|
- `claude-md-management` and `ui-ux-pro-max` Claude Code plugins, enabled repo-wide via
|
|
`.claude/settings.json`.
|
|
|
|
### Changed
|
|
|
|
- Redesigned the language switch: both languages are shown at once ("Italiano / English"), the
|
|
current one as plain non-interactive text, moved to the header's top-right corner instead of
|
|
stacked under the logo.
|
|
|
|
### Fixed
|
|
|
|
- An article/category with no English translation now 404s cleanly on its own `/en` page and is
|
|
filtered out of `/en` listings, instead of silently showing Italian text on an English URL.
|
|
- Pagination links no longer report every page as "current" to assistive technology — caused by
|
|
`NuxtLink`/`RouterLink`'s built-in active-state detection comparing only the route path, not its
|
|
query string.
|
|
|
|
## [2.0.0] - 2026-09-11
|
|
|
|
### Added
|
|
|
|
- `docs/` — architecture, content model, and frontend reference documentation.
|
|
- ESLint, via the official `@nuxt/eslint` module.
|
|
- Full test suite: unit (Vitest), integration (a real Nitro server against an ephemeral
|
|
PocketBase), and end-to-end (Playwright) — under `tests/` at the repo root.
|
|
|
|
### Changed
|
|
|
|
- Lightened the (still Strapi-based, at the time) CMS: dropped the unused cloud plugin, disabled
|
|
telemetry and promotional UI — a stopgap before the PocketBase migration below.
|
|
- Replaced the Strapi + PostgreSQL CMS with PocketBase: a single binary with embedded SQLite and
|
|
per-collection API rules. Frontend endpoints moved to `/content/*`; `/api/*` is now reserved for
|
|
PocketBase's own REST/file API.
|
|
- Local development now bind-mounts PocketBase's data directory (`pocketbase/pb_data/`) instead of
|
|
using a named Docker volume, so test data can be inspected or swapped directly on the host.
|
|
- `articles.content` now has an explicit 10000-character cap, instead of relying on an undocumented
|
|
PocketBase default that silently rejected longer articles.
|
|
|
|
## [1.0.0] - 2026-08-28
|
|
|
|
Initial release.
|
|
|
|
### Added
|
|
|
|
- Strapi CMS with `Article` and `Category` content types.
|
|
- Nuxt frontend: blog index, article detail, and category pages.
|
|
- Docker Compose stack: PostgreSQL, Caddy reverse proxy, and the app services.
|
|
- Project documentation, license, and `.gitignore`; docs for the stack, dev workflow, production
|
|
deployment, and generating `.env` secrets.
|
|
- Editorial-magazine restyle of the frontend, with the CorralitoComing seal as site logo and
|
|
favicon (every size).
|
|
- Contact address and official social-brand links in the footer.
|
|
- Author name and publication time shown on articles.
|
|
- Responsive layout for phone, tablet, and desktop.
|
|
- Landing page content and a dedicated courses page.
|
|
- A language switcher supporting English, Italian, Spanish, and French (later removed — see
|
|
Removed, below).
|
|
|
|
### Changed
|
|
|
|
- Renamed the site to CorralitoComing and switched the interface to English (later reverted to
|
|
Italian-only, see Removed).
|
|
- Simplified the home page and navigation down to a single "read the latest article" link.
|
|
- The CMS admin panel is served under `/admin` on the public domain; every Strapi plugin path is
|
|
routed there, not just `/admin`.
|
|
|
|
### Removed
|
|
|
|
- The English/Italian/Spanish/French language switcher — reverted to an Italian-only interface,
|
|
relying on the visitor's browser to translate the page instead.
|
|
|
|
### Fixed
|
|
|
|
- ACME DNS resolution failures in the Caddy container.
|
|
|
|
### Security
|
|
|
|
- `ops/` (holds VPS credentials) added to `.gitignore` — never committed.
|