Files
blog/CHANGELOG.md
T

110 lines
4.9 KiB
Markdown
Raw Normal View History

2026-09-11 15:43:57 +02:00
# 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.1] - 2026-09-14
### Fixed
- Language switch no longer overlaps the header logo on narrow viewports (~390px, e.g. iPhone 14
Pro): it now stacks centered above the wordmark on phones, and only moves to the header's
top-right corner from tablet width up.
- Article card thumbnails no longer use an overly aggressive portrait crop (`4:5`) that sliced
through text baked into cover images — changed to `3:2`, matching the featured cover on the home
page and the article detail page.
2026-09-11 15:43:57 +02:00
## [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.