Signed-off-by: ale <ale@manalejandro.com>
Este commit está contenido en:
ale
2026-02-08 22:16:18 +01:00
padre 12b4c0ebd7
commit 54807b9982
Se han modificado 14 ficheros con 2326 adiciones y 72 borrados

196
CHANGELOG.md Archivo normal
Ver fichero

@@ -0,0 +1,196 @@
# 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