4.4 KiB
4.4 KiB
Changelog
All notable changes to this project are documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[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 alocaleprop. - Manual, per-record English fields on content:
titleEn/contentEn/coverAltEnon articles,nameEnon 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
/ensupport 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-managementandui-ux-pro-maxClaude 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
/enpage and is filtered out of/enlistings, 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/eslintmodule. - 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.contentnow 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
ArticleandCategorycontent 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.envsecrets. - 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
/adminon 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.