Skip to content

Releases: Andre031222/jxmvc

JxMVC 3.7.0 — PDF con fuentes TTF, imágenes y firma digital

Choose a tag to compare

@Andre031222 Andre031222 released this 23 Oct 23:43

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 con pdf.Sign(...) o sobre un PDF existente con JxPdf.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

Choose a tag to compare

@Andre031222 Andre031222 released this 23 Oct 23:25
  • view.inline(bytes, tipo, nombre) muestra un archivo en el navegador, por ejemplo un PDF generado con JxPdf; 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

Choose a tag to compare

@Andre031222 Andre031222 released this 23 Oct 23:12
  • 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

Choose a tag to compare

@Andre031222 Andre031222 released this 23 Oct 20:35

Versión de mantenimiento sobre 3.5.0.

  • El core se identifica correctamente como JxMVC v3.5.1 al arrancar, en /jx/info y en OpenAPI (3.5.0 seguía mostrando Lux v3.4.0).
  • Los instaladores (install.sh, install.ps1) descargan este JAR ya compilado y lo instalan con mvn 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

Choose a tag to compare

@Andre031222 Andre031222 released this 23 Oct 04:07

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 miapp

Tambié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

  1. JSON estricto: JxJson.fromJson y @JxBody rechazan con 400 el JSON mal formado.
  2. Código de error real cuando la app no tiene error.jsp (antes salía 404).
  3. CSP mínima por defecto: base-uri 'self'; object-src 'none'; frame-ancestors 'self'. jxmvc.security.csp=false la quita.

425 verificaciones en verde. JAR de 298 KiB, 55 clases, cero dependencias. Detalle completo en JxMVC.Core/CHANGELOG.md.

v3.4.2

Choose a tag to compare

@Andre031222 Andre031222 released this 15 Aug 20:59

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

Choose a tag to compare

@Andre031222 Andre031222 released this 12 Aug 01:10

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

Choose a tag to compare

@Andre031222 Andre031222 released this 05 Jul 09:17

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/JxJson propios. Configurable por jxmvc.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

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

Choose a tag to compare

@Andre031222 Andre031222 released this 05 Jul 09:17

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 maxSize ni filtra sockets.
  • JxGzip: passthrough a streaming al superar maxBytes (elimina riesgo de OOM).
  • JxCache: tope de entradas con desalojo y computeIfAbsent sin 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