# Changelog Todos los cambios notables de este proyecto serán documentados en este archivo. El formato está basado en [Keep a Changelog](https://keepachangelog.com/es/1.0.0/), y este proyecto adhiere a [Semantic Versioning](https://semver.org/lang/es/). ## [3.0.0] - 2026-02-08 ### 🎉 Reescritura completa a WebExtensions Esta es una actualización mayor que moderniza completamente la extensión desde el sistema legacy XUL/XPCOM a WebExtensions modernas. ### ✨ Añadido - **manifest.json** - Manifiesto WebExtensions Manifest v2 - **background.js** - Script de fondo con APIs modernas - **db-webext.js** - Wrapper para base de datos usando sql.js - **Hash routing** - Navegación usando `#` en lugar de protocolo personalizado - **Compatibilidad con Chrome** - Ahora funciona en Chrome, Edge, Brave, Vivaldi - **Documentación moderna**: - `MIGRATION.md` - Guía completa de migración desde v2 - `INSTALL.md` - Instrucciones de instalación - `README-v3.md` - Documentación actualizada - `CHANGELOG.md` - Este archivo - **package.json** - Scripts de build y desarrollo - **.webextignore** - Exclusión de archivos legacy del paquete - Permiso `unlimitedStorage` para bases de datos grandes - Carga dinámica de módulos JavaScript - Compatibilidad Chrome/Firefox con detección automática de API ### 🔄 Cambiado - **Protocolo de navegación**: `caa:` → hash routing (`#list`, `#addon/...`) - **URLs de recursos**: `chrome://ca-archive/` → rutas relativas - **Base de datos**: mozIStorageService → sql.js (WebAssembly) - **Storage**: Perfil de Firefox → `browser.storage.local` - **Imports**: `Cu.import()` → Carga dinámica de scripts - **APIs**: Components/XPCOM → WebExtensions APIs estándar - **ca-archive.html** - Actualizado con rutas relativas y hash links - **ca-archive.js** - Refactorizado sin Components, async/await - Versión mínima de Firefox: 45 → 57 (Quantum) ### ❌ Eliminado (deprecado, aún en carpeta pero no usado) - **install.rdf** - Reemplazado por manifest.json - **chrome.manifest** - Ya no necesario en WebExtensions - **bootstrap.js** - Reemplazado por background.js - **update.xml** - Actualizaciones vía stores oficiales - Soporte para Firefox <57 (ESR 45-52) - Soporte para Pale Moon, Basilisk, SeaMonkey, Waterfox Classic - Protocolo personalizado `caa:` - Botón personalizable en barra de herramientas - Menú en Tools - Modificación de páginas de addons.mozilla.org - Compatibilidad con e10s deshabilitado ### 🐛 Corregido - Ya no requiere deshabilitar firma de extensiones en Firefox - Compatible con multi-proceso (e10s) obligatorio - No conflictos con Content Security Policy moderna - Carga correcta en navegadores basados en Chromium ### 🔒 Seguridad - Uso de APIs estándar y seguras de WebExtensions - Eliminación de acceso a componentes internos del navegador - CSP estricto con excepciones mínimas necesarias ### 📊 Compatibilidad #### ✅ Ahora compatible con: - Firefox 57+ (Quantum) - Chrome 80+ - Microsoft Edge 80+ (Chromium) - Brave 1.20+ - Vivaldi 3.0+ - Opera 67+ #### ❌ Ya no compatible con: - Firefox <57 (ESR 45-56, Firefox 45-56) - Pale Moon - Basilisk - Waterfox Classic (pre-Current) - SeaMonkey - IceCat/IceApe legacy **Nota:** Para navegadores legacy, seguir usando la versión 2.x. --- ## [2.0.3] - 2018 (Legacy) Última versión del sistema XUL/XPCOM legacy. ### Características - Protocolo personalizado `caa:` - Base de datos SQLite nativa - Compatible con Firefox 45-56 - Compatible con Pale Moon, Basilisk, SeaMonkey - Botón personalizable en toolbar - Menú en Tools - Modificación de páginas AMO (inyección de hints) - 93,598 versiones de 19,450 addons ### Limitaciones conocidas - No funciona con e10s en Firefox (excepto Waterfox) - Requiere deshabilitar firma de extensiones en Firefox 48+ - No compatible con Firefox 57+ (Quantum) --- ## Notas de migración ### De 2.x a 3.0 **⚠️ ATENCIÓN: Cambios que rompen compatibilidad** Esta no es una actualización compatible hacia atrás. La versión 3.0 es una reescritura completa. #### Si usas Firefox <57 → **Quedate en v2.0.3**. La v3.0 no funcionará. #### Si usas Firefox 57+ o Chrome → **Actualiza a v3.0**. La v2.0.3 no funcionará. #### Migración de datos No hay migración automática de datos porque: - Las APIs de storage son incompatibles - La base de datos se descarga nueva - No hay configuraciones persistentes importantes #### Enlaces rotos Si tienes bookmarks con URLs `caa:*`, necesitarás recrearlos con: ``` moz-extension://[id]/content/ca-archive.html#[ruta] ``` El ID de la extensión se puede obtener de `about:debugging`. ### Pasos recomendados 1. **Backup** (opcional): Exportar favoritos si tienes links `caa:` 2. **Desinstalar** v2.x desde `about:addons` 3. **Instalar** v3.0 (ver [INSTALL.md](INSTALL.md)) 4. **Recrear** bookmarks si es necesario --- ## Formato de versiones Este proyecto usa [Semantic Versioning](https://semver.org/): - **MAJOR** (3.x.x) - Cambios incompatibles - **MINOR** (x.1.x) - Nuevas características compatibles - **PATCH** (x.x.1) - Correcciones de bugs --- ## Roadmap futuro ### [3.1.0] - Planificado - [ ] Dark mode / tema oscuro - [ ] Mejora de búsqueda (índices full-text) - [ ] Favoritos sincronizados - [ ] Exportar/importar colecciones - [ ] Optimización de carga de DB (chunks) - [ ] Mejor manejo de errores ### [4.0.0] - Considerando - [ ] Migración a Manifest V3 (cuando Firefox tenga soporte completo) - [ ] Reescritura con framework moderno (React/Vue/Svelte) - [ ] API pública para datos de addons - [ ] Versión web (sin extensión) - [ ] Integración con Archive.org API --- ## Enlaces - [Código fuente](https://github.com/JustOff/ca-archive) - [Releases](https://github.com/JustOff/ca-archive/releases) - [Issues](https://github.com/JustOff/ca-archive/issues) - [Discusiones](https://github.com/JustOff/ca-archive/discussions) --- [3.0.0]: https://github.com/JustOff/ca-archive/releases/tag/v3.0.0 [2.0.3]: https://github.com/JustOff/ca-archive/releases/tag/2.0.3