Releases: SimonBlancoE/discographic
Release list
v0.3.4
Registro de cambios
Todos los cambios notables de este proyecto se documentan en este archivo.
El formato se basa en Keep a Changelog,
y este proyecto sigue Versionado Semantico.
English version: CHANGELOG.en.md
0.3.4 - 2026-07-04
Release de mantenimiento y robustez que corrige fallos funcionales y optimiza la exportación de la colección.
Corregido
- Tolerancia a fallos en tipos de cambio (ECB) - la aplicación ahora recurre a tasas estáticas por defecto en lugar de arrojar un error HTTP 500 cuando el API del ECB está offline.
- Tolerancia en detalles de lanzamiento (Discogs) - los errores del API de Discogs al recuperar detalles ya no tiran la página de detalles; el sistema vuelve de forma segura a los datos locales.
- Caché de portadas en CollectionTable - la tabla de colección ahora utiliza el endpoint proxy local de portadas en lugar de hotlinking remoto.
- Optimización de rendimiento en exportación - las conversiones de divisas se realizan de forma síncrona en lote, eliminando miles de promesas asíncronas redundantes.
- Condición de carrera en importación - se previene un TypeError si un release es eliminado de forma concurrente durante la aplicación del import.
0.3.3 - 2026-05-10
Release de limpieza de documentacion y metadata.
Cambiado
- Referencias publicas del repositorio corregidas - las instrucciones de
clonado del README, la metadata del paquete, la guia de contribucion, la
documentacion de planificacion y los tests de guardrails apuntan ahora solo
al repositorio publico de GitHub. - Detalles privados de desarrollo eliminados - la documentacion visible del
repo ya no menciona remotos privados, nombres de upstream privados ni
lenguaje de publicacion downstream.
0.3.2 - 2026-05-10
Release de documentacion para aclarar la guia publica del proyecto.
Cambiado
- Introduccion del README aclarada - la seccion inicial ahora se llama
"Que es Discographic?" y pide feedback a usuarios de Discogs, especialmente
a vendedores, porque esos flujos necesitan la opinion de quienes los usan. - Instancia manual de pruebas separada - las instrucciones de la instancia
efimera de QA ahora aparecen como aviso para que no se confundan con la
instalacion normal. - Expectativas de contribucion aclaradas - el README explica que no se
aceptan contribuciones directas como norma general, pero que el feedback,
los issues y los pull requests son bienvenidos y se agradecen.
0.3.1 - 2026-05-08
Release de mantenimiento con dos mejoras sobre la 0.3.0: mostrar el precio de
listado en el detalle de lanzamiento y pulir las traducciones en español.
Corregido
- Precio de listado en el detalle de lanzamiento - la pantalla de detalle
muestra el precio de listado cuando existe. - Traducciones en español pulidas - se normalizo la copia ES en imports,
logros y metadatos para un lenguaje mas natural.
Tests
- Verificacion de release centrada en el bump de version, el changelog y la
sincronizacion del repositorio.
0.3.0 - 2026-05-02
Release centrada en la migracion completa a TypeScript, contratos compartidos
entre frontend/backend y verificacion de upgrade para instalaciones existentes.
Nuevo
- Arbol de codigo TypeScript-only - frontend, backend, shared, tests,
scripts y configuracion soportada migrados a.ts/.tsxo formatos no JS. - Contratos compartidos tipados - account, release, marketplace, sync
status, dashboard stats y collection views tienen tipos y normalizadores
explicitos enshared/contracts/. - Pipeline de verificacion unico -
npm run verifyejecuta scan de fuentes
JavaScript, typecheck, tests, build y smoke de upgrade. - Smoke de upgrade desde
v0.2.2- prueba runtime compilado y Docker contra
una fixture legacy para comprobar datos, configuracion y rutas de arranque. - Runtime backend compilado - produccion arranca desde
dist/server/start.js;
desarrollo usatsxdirectamente. - Vistas guardadas de coleccion - filtros, orden y columnas pueden guardarse
como vistas reutilizables. - Soporte de planificacion de implementacion - runner, prompts y estandares
de trabajo para ejecutar slices de implementacion.
Cambiado
- Build separado de app y servidor -
npm run buildcompila Vite y despues
el backend contsc -p tsconfig.server.json. - Code splitting de rutas - bundles principales reducidos al cargar paginas
bajo demanda. - Render de tabla de coleccion estabilizado - handlers, columnas visibles y
props de orden mantienen referencias estables para evitar renders evitables. - README y metadatos de repo - se documento la metadata publica del
repositorio y la guia de release junto al alcance de la migracion. - Documentacion de contribucion -
CONTRIBUTING.md, PRD y ADRs documentan
reglas TypeScript-only, normalizacion de fronteras no confiables y verificacion.
Corregido
- Estados de marketplace preservados - estados desconocidos/fallidos dejan
de colapsar a cero y los valores legacy se limpian de forma explicita. - Errores de marketplace normalizados - las respuestas fallidas exponen
estados consistentes al frontend. - Filtro de sellos - opciones largas dejan de truncarse de forma prematura.
- Docker lockfile - lockfile sincronizado con dependencias actuales.
Tests
- Suite migrada a TypeScript con cobertura de contratos compartidos, rutas de
runtime, guardrails TypeScript-only, code splitting, upgrade smoke y badge de
vinilo. Verificacion actual: 183 tests.
0.2.2 - 2026-04-22
Patch visual para el carrusel del panel informativo.
Corregido
- Asomaba el siguiente slide por la derecha — el padding que aplique al viewport en 0.2.1 desplazaba el track respecto al area recortada por
overflow: hidden, dejando visible parte del slide siguiente en el margen derecho. Padding movido a cada slide conbox-sizing: border-box. El viewport vuelve a ser un contenedor puro de overflow.
0.2.1 - 2026-04-22
Patch con correcciones al carrusel del dashboard y al logo animado del panel superior.
Corregido
- Botones del carrusel no respondian — el gestor de drag capturaba todo el contenedor e interceptaba los clicks en flechas y puntos. Ahora el pointer solo se escucha en el viewport.
- Cambio automatico demasiado rapido — autoplay de 9s a 14s; tras interacion manual, el autoplay se pausa 5s en vez de 3s.
- Traducciones al español — reescritas en castellano neutro. Fuera jerga de DJ ("maleta", "pick", "cavando", "Spin the Crate", "tapete"). Mismo tratamiento en ingles: textos mas directos.
- Movimiento al hacer hover — eliminado el parallax de chips y orbes del panel hero. Interaccion en hover ahora limitada a un glow suave de borde cian en el viewport, sin desplazar elementos.
Cambiado
- Indicador "Siguiente pista" eliminado — se ha quitado completamente del carrusel.
- Logo giratorio del panel superior — aumentado de 3.2rem a 5.25rem (disco de 2.35rem a 4.2rem). Se mantiene la aceleracion al pasar el raton sobre el logo, pero ya no aparece el nombre del genero.
[0.2.0] - 2026-04-22
Release centrada en rendimiento del dashboard y muro, robustez de sincronizacion,
localizacion de importaciones y media, y una refactorizacion amplia que mueve
logica compartida a modulos reutilizables.
Nuevo
- Hero Carousel en el dashboard — carrusel animado de caracteristicas con
autoplay, navegacion por puntero, teclado y soporte paraprefers-reduced-motion. - VinylBadge — insignia giratoria con generos destacados de la coleccion,
animacion pausada bajoprefers-reduced-motion. - DashboardStatsContext — proveedor compartido que centraliza la carga de
estadisticas del dashboard y elimina peticiones duplicadas entre consumidores. - Contrato de estadisticas —
shared/contracts/dashboardStats.jsnormaliza
payloads del backend en una forma estable para el frontend. - Virtualizacion del muro de portadas —
WindowedCoverWallGridrenderiza
solo las filas visibles; colecciones grandes desplazan sin cortes. - Reconciliacion post-sync — los sync completos eliminan filas de releases
que ya no existen en la coleccion del usuario, limpiando las portadas en cache
asociadas. - Localizacion de importaciones y fallbacks de media — mensajes de
importacion y textos de fallback de portadas respetan el idioma del usuario. - Servicio de notas compartido —
server/services/notes.jsunifica
normalizacion, serializacion y limpieza de notas entre sync, import y export. - Servicio de media de portadas —
server/services/coverMedia.js
centraliza cache de portadas, variantes (wall/poster) y limpieza. - Filtros de releases compartidos —
server/services/releaseFilters.jsy
shared/collectionFilters.jsconsolidan filtros usados por stats, collection
y export. - Sync de importaciones —
server/services/importSync.js+src/lib/importSync.js
envian notas y puntuaciones importadas de vuelta a Discogs con estado. - Contratos tipados en
shared/contracts/— primer paso hacia un contrato
explicito frontend/backend. - Tests — cobertura nueva para filtros de coleccion, reconciliacion, media
de portadas, parity de export, progreso de import, no...
v0.3.3
Documentation and metadata cleanup release.
Changed:
- Public repository references corrected: README clone instructions, package metadata, contribution guidance, planning docs, and guardrail tests now point only to the public GitHub repository.
- Private development details removed: repo-facing documentation no longer mentions private remotes, private upstream naming, or downstream publication wording.
v0.3.2
Documentation release for clearer project guidance.
Changed:
- README project intro clarified: the opening section is now titled "What is Discographic?" and asks Discogs users, especially sellers, to share feedback.
- Manual test instance separated: the ephemeral QA instance instructions are now shown as a callout so they are not confused with normal setup.
- Contribution expectations clarified: the README now says direct contributions are not accepted as a standing policy, while feedback, issues, and pull requests remain welcome and appreciated.
v0.3.1
Maintenance release with two improvements on top of 0.3.0: listing price on
release details and polished Spanish translations.
Fixed
- Listing price on release details - the detail view now shows the listing
price when available. - Spanish translations polished - the ES copy was normalized in imports,
achievements, and repo metadata for more natural wording.
Tests
- Release verification focused on the version bump, changelog, and Forgejo /
GitHub synchronization.
v0.3.0
Highlights
- Full TypeScript-only source migration across frontend, backend, shared modules, tests, scripts, and supported config.
- Typed shared contracts for account, release, marketplace, sync status, dashboard stats, and collection views.
- Single verification pipeline with JavaScript source scan, typecheck, tests, build, and upgrade smoke.
- Verified upgrade smoke from v0.2.2 for compiled runtime and Docker paths.
- Saved collection views, route code splitting, and stabilized collection table rendering.
- Marketplace state/error fixes, label filter cleanup, and Docker lockfile sync.
Verification
- npm run verify
- 32 test files, 185 tests passed
- compiled-runtime upgrade smoke passed
- Docker upgrade smoke passed
v0.2.2
Visual patch for the dashboard feature carousel.
Fixed
- Next slide bled through on the right edge — the viewport padding introduced in 0.2.1 pushed the track off the area clipped by `overflow: hidden`, leaving part of the adjacent slide visible on the right. Padding was moved into each slide with `box-sizing: border-box`. The viewport is now a pure overflow container again.
Full changelog: https://github.com/SimonBlancoE/discographic/blob/main/CHANGELOG.en.md
v0.2.1
Patch release with fixes to the dashboard feature carousel and the header logo badge.
Fixed
- Carousel arrow and dot buttons did not respond — the drag pointer handler was capturing the whole container and intercepting clicks. Pointer drag is now scoped to the viewport only.
- Autoplay cycled too fast — raised from 9s to 14s. After any manual interaction, autoplay stays paused for 5s instead of 3s before resuming.
- Spanish translations — rewritten in neutral Castilian Spanish. Dropped DJ jargon (`maleta`, `pick`, `cavando`, `Spin the Crate`, `tapete`). English copy trimmed to match: plainer, more direct phrasing.
- Hover caused elements to shift position — removed the mouse-parallax on the hero panel chips and orbes. Hover interaction on the carousel is now a subtle cyan border glow, with no element movement.
Changed
- "Next up" indicator removed — the ticker is gone entirely.
- Header logo badge enlarged — from 3.2rem to 5.25rem (record disc from 2.35rem to 4.2rem), filling more of the top panel. Hover still accelerates the spin animation, but no longer surfaces a genre caption.
Full changelog: https://github.com/SimonBlancoE/discographic/blob/main/CHANGELOG.en.md
v0.2.0
Release focused on dashboard and wall performance, sync robustness, import and media localization, plus a broad refactor that lifts shared logic into reusable modules.
Added
- Dashboard Hero Carousel — animated feature carousel with autoplay, pointer and keyboard navigation, and
prefers-reduced-motionsupport. - VinylBadge — spinning badge surfacing the collection's top genres, animation paused under
prefers-reduced-motion. - DashboardStatsContext — shared provider that centralizes dashboard stats loading and removes duplicate fetches across consumers.
- Stats contract —
shared/contracts/dashboardStats.jsnormalizes backend payloads into a stable shape for the frontend. - Cover wall virtualization —
WindowedCoverWallGridrenders only visible rows; large collections scroll without jank. - Post-sync reconciliation — full syncs prune release rows that no longer exist in the user's collection and clean up cached covers for them.
- Import and media fallback localization — import messages and cover fallback strings now honor the user's locale.
- Shared notes service —
server/services/notes.jsunifies note normalization, serialization, and cleanup across sync, import, and export. - Cover media service —
server/services/coverMedia.jscentralizes cover caching, variants (wall/poster), and cleanup. - Shared release filters —
server/services/releaseFilters.jsandshared/collectionFilters.jsconsolidate filters used by stats, collection, and export. - Import sync —
server/services/importSync.js+src/lib/importSync.jspush imported notes and ratings back to Discogs with progress state. - Typed contracts under
shared/contracts/— first step toward an explicit frontend/backend contract surface. - Tests — new coverage for collection filters, reconciliation, cover media, export parity, import progress, notes normalization, wall metrics, stats contract, badge genres, marketplace_status migration, and marketplace value fetch. Total: 217 tests.
Fixed
marketplace_statusmigration re-running every boot — backfill now runs only when the column is first added, preserving existing statuses on re-runs.- Silent marketplace fetch errors —
fetchMarketplaceValuenow logsreleaseIdanderror.messagebefore returningFAILED. - Unnecessary re-renders in dashboard consumers —
refreshwrapped inuseCallback,badgeGenresmemoized, andgetDashboardBadgeGenresreduced to a pure slice with no re-normalization. - Export/import parity — notes and derived fields round-trip without losing metadata.
- Import notes sync — imported notes now sync back to Discogs correctly.
Changed
- Shared helper refactor — collection, cover, and filter helpers no longer duplicated across routes and services.
- Dashboard.jsx — consumes the shared context instead of managing its own stats fetch.
- Enrichment condition — centralized in
server/services/enrichmentQueue.jswithMARKETPLACE_STATUSconstants for explicit state.
Removed
- Unused components —
CompletionRing,StatSparkline,CountryChart,useAnimatedNumberhook, and the unused/api/valueroute.
Full changelog: https://github.com/SimonBlancoE/discographic/blob/main/CHANGELOG.en.md
v0.1.0
Primera release etiquetada de Discographic. / First tagged release of Discographic.
Destacado
- Conversion de moneda dinamica — EUR/USD/GBP con tasas del BCE en tiempo real
- Columnas configurables — mostrar/ocultar columnas con preferencias por usuario
- Listings del marketplace — tus propios precios de inventario de Discogs en la coleccion
- Exportaciones localizadas — CSV/XLSX con cabeceras en espanol e ingles, importacion cross-locale
- Instancia de test efimera — instancia Docker desechable con usuarios pre-creados para QA
- 77 tests en 9 archivos
Highlights
- Dynamic currency conversion — EUR/USD/GBP with real-time ECB exchange rates
- Togglable columns — show/hide columns with per-user preferences
- Marketplace listings — your own Discogs inventory prices in the collection
- Localized exports — CSV/XLSX with Spanish and English headers, cross-locale import
- Ephemeral test instance — throwaway Docker instance with seeded users for QA
- 77 tests across 9 files
Inicio rapido / Quick start
git clone https://github.com/SimonBlancoE/discographic.git
cd discographic
docker compose up -dAbre http://localhost:3800 y crea tu primer usuario. / Open http://localhost:3800 and create your first user.
Usar esta version especifica / Using this specific version
Si prefieres esta version en lugar de la ultima, puedes anclarla con:
If you prefer this version over the latest, you can pin it with:
git clone https://github.com/SimonBlancoE/discographic.git
cd discographic
git checkout v0.1.0
docker compose up -dEsto garantiza que obtengas exactamente este codigo, sin importar los cambios futuros en la rama principal.
This ensures you get exactly this code, regardless of future changes to the main branch.
Registro de cambios / Full changelog
- CHANGELOG.md (Espanol)
- CHANGELOG.en.md (English)