Joss Version see you JosSecurity
🇺🇸 🚀 Joss v3.4.1 — Native security, real-time notifications, and a smoother backend experience
We are excited to officially announce the release of Joss v3.4.1, a key milestone in the evolution of the language formerly known as JosSecurity.
With this update, Joss consolidates its new identity with a cleaner, simpler, and more memorable name while preserving its main goal: delivering a secure, modern, and productive backend development experience.
This version introduces major improvements focused on security, authentication, native notifications, environment automation, and a more comfortable developer workflow.
💎 Highlights
🛡️ 1. Native 2FA/MFA authentication
Security is now part of the Joss core.
This version introduces native support for TOTP-based 2FA/MFA (Time-Based One-Time Password), compatible with apps such as Google Authenticator, Authy, Microsoft Authenticator, and similar solutions.
You can now implement stronger authentication in a clear, fluent, and fully integrated way.
Auth::login($email, $password)
->require2FA()
->onSuccess(function($jwt) {
// Login completed
})
->onChallenge(function($tempToken) {
// 2FA verification required
})
->onFail(function($err) {
// Authentication failed
})
->response();
This release also includes:
Auth::complete2FA($userId)
This method securely completes the authentication flow by upgrading a temporary challenge token into a final JWT token, including the user’s real roles from the database after the TOTP code has been verified.
✉️ 2. New native real-time notification module: Notify
Joss v3.4.1 introduces Notify, a native notification engine designed to reduce dependency on third-party services such as OneSignal or Firebase in projects that can manage their own infrastructure.
The new system allows real-time notification delivery through WebSockets using the /ws endpoint.
It also includes offline delivery support. If a device is disconnected, the notification is stored as pending in the database and automatically delivered the next time the user signs in.
Example:
Notify::to($userId)
->title("System Update")
->message("Joss v3.4.1 is now available!")
->inApp()
->send();
With this fluent API, sending in-app messages becomes simpler, more semantic, and more natural within the Joss ecosystem.
🔐 3. Cryptographic key autogeneration in env.joss
Joss now protects your application from the very first startup.
When the runtime starts, it automatically validates the following critical variables:
APP_KEY
JWT_SECRETIf any of these variables are missing, empty, or contain an insecure value shorter than 32 characters, Joss automatically generates new secure keys using crypto/rand.
After generating them, the runtime physically updates the env.joss file, helping avoid weak configurations and reducing common setup or deployment errors.
⏹️ 4. Interactive console control with q
The terminal experience has also been improved.
Interactive commands can now be stopped easily by typing:
qand pressing Enter.
This applies to commands such as:
joss run
joss server start
joss program startWith this improvement, stopping running processes is faster, easier, and more controlled.
🔧 Internal improvements and technical updates
New static Session class
A cleaner abstraction has been added to manage HTTP sessions directly from Joss.
You can now work with sessions using:
Session::get()
Session::put()
Session::forget()
This class is designed to work either in memory or with Redis, depending on the project configuration.
More flexible CORS with CORS_WEB
A new environment variable has been introduced:
CORS_WEBThis allows more flexible CORS policy configuration, including wildcard values such as * or comma-separated allowlists.
This makes it easier to integrate Joss APIs with web apps, mobile apps, or external clients.
Automatic migration of internal tables
The runtime can now automatically ensure and create the internal tables required by the new security and notification systems.
Included tables:
js_user_mfa_methods
js_user_recovery_codes
js_security_logs
js_push_devices
js_notifications
These tables include compatibility with SQLite, MySQL, and MariaDB through GranDB.
Audit fields for recovery codes
The recovery codes table now includes the following columns:
created_at
updated_at
Automatic alteration processes have also been added for existing databases, allowing older projects to be updated without complex manual intervention.
📝 Quick update guide
To update to Joss v3.4.1, we recommend the following steps:
-
Replace your current executable with the new
joss.exeversion or run the corresponding installation script on your server. -
Review your
env.jossfile. If you want Joss to regenerate secure keys automatically, you can clear the current values of:APP_KEY JWT_SECRET
-
Configure the
CORS_WEBvariable if your application exposes APIs to web clients, mobile clients, or external services. -
Run your project and let the runtime automatically validate and prepare the new required internal tables.
⭐ Thank you for being part of Joss
Joss v3.4.1 represents an important step toward a more secure, expressive, and productive backend experience.
Thank you for following the evolution of the project, testing new features, and sharing ideas to keep improving it.
If this release is useful to you, help us by sharing it with the community and giving the official repository a star.
Joss keeps growing. And this is just the beginning.
🇪🇸 🚀 Joss v3.4.1 — Seguridad nativa, notificaciones en tiempo real y una experiencia backend más fluida
Nos emociona anunciar oficialmente el lanzamiento de Joss v3.4.1, una versión clave en la evolución del lenguaje anteriormente conocido como JosSecurity.
Con esta actualización, Joss consolida su nueva identidad con un nombre más simple, memorable y directo, manteniendo el mismo propósito: ofrecer una experiencia de desarrollo backend segura, moderna y productiva.
Esta versión introduce mejoras importantes enfocadas en seguridad, autenticación, notificaciones nativas, automatización del entorno y una experiencia más cómoda para desarrolladores.
💎 Novedades destacadas
🛡️ 1. Autenticación 2FA/MFA nativa
La seguridad ahora forma parte del núcleo de Joss.
En esta versión se incorpora soporte nativo para 2FA/MFA basado en TOTP (Time-Based One-Time Password), compatible con aplicaciones como Google Authenticator, Authy, Microsoft Authenticator y soluciones similares.
Ahora es posible implementar autenticación reforzada de forma clara, fluida y totalmente integrada al lenguaje.
Auth::login($email, $password)
->require2FA()
->onSuccess(function($jwt) {
// Inicio de sesión completado
})
->onChallenge(function($tempToken) {
// Requiere verificación 2FA
})
->onFail(function($err) {
// Error de autenticación
})
->response();
También se incluye el método:
Auth::complete2FA($userId)
Este permite finalizar de forma segura el proceso de autenticación, elevando un token temporal de desafío a un token JWT definitivo, ya con los roles reales del usuario obtenidos desde la base de datos después de verificar el código TOTP.
✉️ 2. Nuevo módulo de notificaciones nativas en tiempo real: Notify
Joss v3.4.1 presenta Notify, un motor nativo de notificaciones diseñado para reducir la dependencia de servicios externos como OneSignal o Firebase en escenarios donde el proyecto puede gestionar su propia infraestructura.
El nuevo sistema permite enviar notificaciones en tiempo real mediante WebSockets a través de la ruta /ws.
Además, incluye soporte para entrega offline. Si un dispositivo no está conectado, la notificación se almacena como pending en la base de datos y se entrega automáticamente cuando el usuario vuelve a iniciar sesión.
Ejemplo de uso:
Notify::to($userId)
->title("Actualización de sistema")
->message("¡Joss v3.4.1 está disponible!")
->inApp()
->send();
Con esta API fluida, enviar mensajes dentro de la aplicación se vuelve más simple, semántico y natural dentro del ecosistema Joss.
🔐 3. Autogeneración criptográfica de claves en env.joss
Joss ahora protege tu aplicación desde el primer arranque.
Al iniciar el runtime, el sistema valida automáticamente las variables críticas:
APP_KEY
JWT_SECRETSi alguna de estas variables está ausente, vacía o contiene un valor inseguro de menos de 32 caracteres, Joss genera automáticamente nuevas claves seguras utilizando crypto/rand.
Después de generarlas, el runtime actualiza físicamente el archivo env.joss, evitando configuraciones débiles y reduciendo errores comunes durante la instalación o despliegue del proyecto.
⏹️ 4. Control interactivo de consola con q
La experiencia en terminal también mejora.
Los comandos interactivos ahora pueden detenerse de forma sencilla escribiendo:
qy presionando Enter.
Esto aplica para comandos como:
joss run
joss server start
joss program startCon esta mejora, detener procesos en ejecución es más cómodo, rápido y controlado.
🔧 Mejoras internas y ajustes técnicos
Nueva clase estática Session
Se añade una abstracción más limpia para manipular sesiones HTTP directamente desde Joss.
Ahora puedes trabajar con sesiones mediante:
Session::get()
Session::put()
Session::forget()
Esta clase está preparada para trabajar tanto en memoria como con Redis, dependiendo de la configuración del proyecto.
CORS más flexible con CORS_WEB
Se introduce la nueva variable de entorno:
CORS_WEBEsta permite configurar políticas CORS de forma más flexible, ya sea utilizando comodines como * o listas blancas separadas por comas.
Esto facilita la integración con aplicaciones web, móviles o clientes externos que consumen APIs creadas con Joss.
Migración automática de tablas internas
El runtime ahora puede asegurar y crear automáticamente las tablas necesarias para los nuevos sistemas de seguridad y notificaciones.
Entre las tablas incluidas se encuentran:
js_user_mfa_methods
js_user_recovery_codes
js_security_logs
js_push_devices
js_notifications
Estas tablas cuentan con compatibilidad para SQLite, MySQL y MariaDB mediante GranDB.
Auditoría en códigos de recuperación
La tabla de códigos de recuperación ahora incluye las columnas:
created_at
updated_at
También se agregaron procesos automáticos de alteración para bases de datos existentes, permitiendo actualizar proyectos previos sin requerir intervención manual compleja.
📝 Guía rápida de actualización
Para actualizar a Joss v3.4.1, se recomienda seguir estos pasos:
-
Reemplaza tu ejecutable actual por la nueva versión de
joss.exeo ejecuta el script de instalación correspondiente en tu servidor. -
Revisa tu archivo
env.joss. Si deseas que Joss regenere claves seguras automáticamente, puedes limpiar los valores actuales de:APP_KEY JWT_SECRET
-
Configura la variable
CORS_WEBsi tu aplicación expone APIs hacia clientes web, móviles o servicios externos. -
Ejecuta tu proyecto y permite que el runtime valide y prepare automáticamente las nuevas tablas internas necesarias.
⭐ Gracias por ser parte de Joss
Joss v3.4.1 representa un paso importante hacia un backend más seguro, expresivo y productivo.
Gracias por acompañar la evolución del proyecto, probar las nuevas funcionalidades y aportar ideas para seguir mejorando.
Si este lanzamiento te resulta útil, ayúdanos compartiéndolo con la comunidad y dejando una estrella en el repositorio oficial.
Joss sigue creciendo. Y esto apenas comienza.
🇧🇷 🚀 Joss v3.4.1 — Segurança nativa, notificações em tempo real e uma experiência backend mais fluida
Temos o prazer de anunciar oficialmente o lançamento do Joss v3.4.1, uma versão essencial na evolução da linguagem anteriormente conhecida como JosSecurity.
Com esta atualização, Joss consolida sua nova identidade com um nome mais simples, limpo e memorável, mantendo o mesmo propósito: oferecer uma experiência de desenvolvimento backend segura, moderna e produtiva.
Esta versão traz melhorias importantes focadas em segurança, autenticação, notificações nativas, automação do ambiente e uma experiência mais confortável para desenvolvedores.
💎 Principais novidades
🛡️ 1. Autenticação 2FA/MFA nativa
A segurança agora faz parte do núcleo do Joss.
Esta versão adiciona suporte nativo para 2FA/MFA baseado em TOTP (Time-Based One-Time Password), compatível com aplicativos como Google Authenticator, Authy, Microsoft Authenticator e soluções semelhantes.
Agora é possível implementar autenticação reforçada de forma clara, fluida e totalmente integrada à linguagem.
Auth::login($email, $password)
->require2FA()
->onSuccess(function($jwt) {
// Login concluído
})
->onChallenge(function($tempToken) {
// Verificação 2FA necessária
})
->onFail(function($err) {
// Falha na autenticação
})
->response();
Também foi incluído o método:
Auth::complete2FA($userId)
Esse método permite concluir o processo de autenticação com segurança, elevando um token temporário de desafio para um token JWT definitivo, já com as permissões reais do usuário obtidas do banco de dados após a verificação do código TOTP.
✉️ 2. Novo módulo de notificações nativas em tempo real: Notify
O Joss v3.4.1 apresenta Notify, um motor nativo de notificações criado para reduzir a dependência de serviços externos como OneSignal ou Firebase em projetos que podem gerenciar sua própria infraestrutura.
O novo sistema permite o envio de notificações em tempo real por meio de WebSockets, utilizando a rota /ws.
Além disso, inclui suporte para entrega offline. Se um dispositivo estiver desconectado, a notificação será armazenada como pending no banco de dados e entregue automaticamente quando o usuário fizer login novamente.
Exemplo de uso:
Notify::to($userId)
->title("Atualização do sistema")
->message("Joss v3.4.1 está disponível!")
->inApp()
->send();
Com essa API fluida, o envio de mensagens dentro da aplicação se torna mais simples, semântico e natural dentro do ecossistema Joss.
🔐 3. Geração criptográfica automática de chaves no env.joss
Agora o Joss protege sua aplicação desde a primeira inicialização.
Ao iniciar o runtime, o sistema valida automaticamente as variáveis críticas:
APP_KEY
JWT_SECRETSe alguma dessas variáveis estiver ausente, vazia ou contiver um valor inseguro com menos de 32 caracteres, o Joss gera automaticamente novas chaves seguras usando crypto/rand.
Depois de gerá-las, o runtime atualiza fisicamente o arquivo env.joss, evitando configurações fracas e reduzindo erros comuns durante a instalação ou implantação do projeto.
⏹️ 4. Controle interativo do console com q
A experiência no terminal também foi aprimorada.
Agora, comandos interativos podem ser encerrados facilmente digitando:
qe pressionando Enter.
Isso se aplica a comandos como:
joss run
joss server start
joss program startCom essa melhoria, interromper processos em execução fica mais rápido, confortável e controlado.
🔧 Melhorias internas e ajustes técnicos
Nova classe estática Session
Foi adicionada uma abstração mais limpa para manipular sessões HTTP diretamente no Joss.
Agora é possível trabalhar com sessões usando:
Session::get()
Session::put()
Session::forget()
Essa classe foi preparada para funcionar tanto em memória quanto com Redis, dependendo da configuração do projeto.
CORS mais flexível com CORS_WEB
Foi introduzida a nova variável de ambiente:
CORS_WEBEla permite configurar políticas CORS de forma mais flexível, seja usando curingas como * ou listas de permissões separadas por vírgulas.
Isso facilita a integração com aplicações web, aplicativos móveis ou clientes externos que consomem APIs criadas com Joss.
Migração automática de tabelas internas
O runtime agora pode garantir e criar automaticamente as tabelas necessárias para os novos sistemas de segurança e notificações.
Entre as tabelas incluídas estão:
js_user_mfa_methods
js_user_recovery_codes
js_security_logs
js_push_devices
js_notifications
Essas tabelas possuem compatibilidade com SQLite, MySQL e MariaDB por meio do GranDB.
Campos de auditoria em códigos de recuperação
A tabela de códigos de recuperação agora inclui as colunas:
created_at
updated_at
Também foram adicionados processos automáticos de alteração para bancos de dados existentes, permitindo atualizar projetos anteriores sem exigir intervenção manual complexa.
📝 Guia rápido de atualização
Para atualizar para o Joss v3.4.1, recomendamos seguir estes passos:
-
Substitua seu executável atual pela nova versão do
joss.exeou execute o script de instalação correspondente no seu servidor. -
Revise seu arquivo
env.joss. Se quiser que o Joss gere novas chaves seguras automaticamente, você pode limpar os valores atuais de:APP_KEY JWT_SECRET
-
Configure a variável
CORS_WEBcaso sua aplicação exponha APIs para clientes web, aplicativos móveis ou serviços externos. -
Execute seu projeto e permita que o runtime valide e prepare automaticamente as novas tabelas internas necessárias.
⭐ Obrigado por fazer parte do Joss
O Joss v3.4.1 representa um passo importante rumo a um backend mais seguro, expressivo e produtivo.
Obrigado por acompanhar a evolução do projeto, testar os novos recursos e contribuir com ideias para continuarmos melhorando.
Se este lançamento for útil para você, ajude-nos compartilhando com a comunidade e deixando uma estrela no repositório oficial.
O Joss continua crescendo. E isso é apenas o começo.