Repository navigation
Releases: Andre031222/jxmvc
Release list
JxMVC 3.7.0 — PDF con fuentes TTF, imágenes y firma digital
JxPdf queda completo, sin iText ni PDFBox:
- Fuentes TTF incrustadas con cualquier carácter Unicode:
pdf.AddFont("Roboto", "Roboto-Regular.ttf"). - Imágenes JPG y PNG, con transparencia:
pdf.Image("logo.png", 40, 100, 120, 0). - Firma digital PKCS#12 (RSA o EC) en formato
adbe.pkcs7.detached: al generar conpdf.Sign(...)o sobre un PDF existente conJxPdf.sign(...). Las firmas sucesivas no invalidan las anteriores. - Verificación de firmas con
JxPdf.verify(bytes). - Lectura de PDF generados con LaTeX, verificada con un documento real.
Validado con Poppler (pdfsig): firmas RSA, EC, dobles y sobre PDF de LaTeX válidas. 462 comprobaciones de prueba en verde.
Demo en vivo: https://jxmvc.ginit.dev/demo/pdf · firmado: https://jxmvc.ginit.dev/demo/pdf?firmar=1
Descarga directa, siempre la última versión: https://github.com/Andre031222/jxmvc/releases/latest/download/jxmvc-core.jar
jxmvc-core-3.7.0.jar y jxmvc-core.jar son el mismo archivo.
SHA-256: 5df29efe41800910cf9aa7c2a6e2af37f1da3e63dfa941b1a694c814e0fe49b0
JxMVC 3.6.1 — PDF en el navegador
view.inline(bytes, tipo, nombre)muestra un archivo en el navegador, por ejemplo un PDF generado conJxPdf;view.raw(...)lo sigue descargando.- Demo en vivo: https://jxmvc.ginit.dev/demo/pdf
Descarga directa, siempre la última versión: https://github.com/Andre031222/jxmvc/releases/latest/download/jxmvc-core.jar
jxmvc-core-3.6.1.jar y jxmvc-core.jar son el mismo archivo.
SHA-256: 1baed6ffb155e40da098cc86d40c2f43d9fb0a84793babaa7a7df709fc0089b1
JxMVC 3.6.0 — generación de PDF simple
- Generar PDF sin librerías externas, con una API simple:
JxPdf pdf = new JxPdf();
pdf.SetFont(JxPdf.HELVETICA_BOLD, 14);
pdf.TextXY(40, 40, "Documento generado con JxPdf");
pdf.SetFont(JxPdf.HELVETICA, 12);
pdf.SetBackColor(new Color(220, 230, 242));
pdf.Cell(150, 30, "Celda con fondo", true, true, 0);
pdf.Cell(150, 30, "Segunda celda", true, false, 1);
pdf.Output("reporte.pdf");
byte[] bytes = pdf.GetStream();También: SetTextColor, SetDrawColor, SetXY, Ln, AddPage, salto de página automático y las fuentes estándar Helvetica, Times y Courier.
- Código fuente sin comentarios.
- 433 comprobaciones de prueba en verde.
Descarga directa, siempre la última versión: https://github.com/Andre031222/jxmvc/releases/latest/download/jxmvc-core.jar
jxmvc-core-3.6.0.jar y jxmvc-core.jar son el mismo archivo.
SHA-256: 440996fa78e9860862c0fb4352ca4ae3d1064cf3909fb00221d167dcf537969e
JxMVC 3.5.1 — descarga directa del JAR e instalador más simple
Versión de mantenimiento sobre 3.5.0.
- El core se identifica correctamente como
JxMVC v3.5.1al arrancar, en/jx/infoy en OpenAPI (3.5.0 seguía mostrandoLux v3.4.0). - Los instaladores (
install.sh,install.ps1) descargan este JAR ya compilado y lo instalan conmvn install:install-file; ya no compilan el código fuente. - Los proyectos nuevos usan Tomcat 10.1.61 con
mvn package cargo:run. - Sitio y documentación actualizados: https://jxmvc.ginit.dev
Descarga directa, siempre la última versión: https://github.com/Andre031222/jxmvc/releases/latest/download/jxmvc-core.jar
jxmvc-core-3.5.1.jar y jxmvc-core.jar son el mismo archivo.
SHA-256: 6bc1a71bba35d47600ea31756b3cb995c39bff89b9cf52bb5e967f49c0276ff2
Sin cambios de API. 425 comprobaciones de prueba en verde. La evaluación del artículo corresponde a 3.5.0.
JxMVC 3.5.0 — PDF, seguridad medida e instalador
Lectura y generación de PDF sin dependencias, endurecimientos encontrados por una evaluación de seguridad automatizada y un instalador de un comando.
Instalación
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/Andre031222/jxmvc/main/install.sh | sh -s -- new miapp# Windows (PowerShell)
& ([scriptblock]::Create((irm https://raw.githubusercontent.com/Andre031222/jxmvc/main/install.ps1))) new miappTambién se puede descargar jxmvc-core-3.5.0.jar de este release y agregarlo a la aplicación.
Nuevo
- JxPdf: lee texto y metadatos de PDF (también cifrados con RC4 o AES) y genera PDF de texto plano, sin iText ni PDFBox.
- Instalador para macOS, Linux y Windows que compila el framework y crea un proyecto listo para
mvn package cargo:run. - Evaluación de seguridad por defecto (
benchmarks/security): JxMVC 17/18, Spring Boot 9/18, Micronaut 9/18, Quarkus 8/16, Javalin 8/16.
⚠ Cambios de comportamiento
- JSON estricto:
JxJson.fromJsony@JxBodyrechazan con 400 el JSON mal formado. - Código de error real cuando la app no tiene
error.jsp(antes salía 404). - CSP mínima por defecto:
base-uri 'self'; object-src 'none'; frame-ancestors 'self'.jxmvc.security.csp=falsela quita.
425 verificaciones en verde. JAR de 298 KiB, 55 clases, cero dependencias. Detalle completo en JxMVC.Core/CHANGELOG.md.
v3.4.2
Metadata: add Romel Percy Melgarejo-Bolivar to authorship (now 4 authors); refine title to zero third-party dependencies. No code changes.
JxMVC v3.4.1
Archived release for citation (Zenodo DOI).
JxMVC — a 253 kB, zero-dependency, security-by-default MVC framework for Jakarta EE 10, with a reproducible single-command Docker benchmark harness (now including a database-backed /db endpoint) and Zenodo citation metadata (CITATION.cff, .zenodo.json).
Accompanies the manuscript under review at the Journal of Systems and Software (Elsevier).
JxMVC 3.4.0 — Autenticación con Google
Autenticación de fábrica en el core, sin dependencias externas.
Nuevo
- JxOAuth — inicio de sesión con Google vía OAuth 2.0 Authorization Code + PKCE (S256). Construye la URL de consentimiento, intercambia el código y recupera los claims del usuario usando el
JxHttp/JxJsonpropios. Configurable porjxmvc.oauth.google.*o variables de entorno. - JxPasswords — hashing de contraseñas PBKDF2-SHA256 con salt e iteraciones embebidas y verificación en tiempo constante.
Demo en vivo
- Login con Google y nativo funcionando en https://jxmvc.ginit.dev/auth/login
Tests
- 28 verificaciones nuevas (
OAuthTest): vector PKCE del RFC 7636, URL de autorización y roundtrip PBKDF2. Total: 333 en verde.
API pública intacta; todo lo nuevo es opt-in.
JxMVC v3.2.0
JxMVC v3.2.0
Auditoría completa de producción: concurrencia, recursos y seguridad. Cero dependencias externas en runtime, API pública intacta.
Destacado
- JxPool: contabilidad exacta del pool bajo concurrencia; nunca excede
maxSizeni filtra sockets. - JxGzip: passthrough a streaming al superar
maxBytes(elimina riesgo de OOM). - JxCache: tope de entradas con desalojo y
computeIfAbsentsin stampede. - JxWebSocket: envío serializado por sesión + limpieza en
onError+ tope global de conexiones. - Seguridad: errores genéricos en
prod,/jx/*internos ocultos en prod, rechazo de path traversal (..,\), anti mass-assignment en JSON→POJO, saneo de Content-Disposition.
Artefacto
jxmvc-core-3.2.0.jar— ~228 KB, Java 17+, Jakarta EE 10 / Tomcat 10.1+.- 275 verificaciones en verde (runner propio, sin framework externo).
Changelog completo: JxMVC.Core/CHANGELOG.md