🚀 Joss Language v3.6.6
Una actualización mayor enfocada en GranDB, concurrencia, SDKs, estabilidad y calidad del ecosistema.
🇪🇸 Español
🎉 Bienvenidos a Joss v3.6.6
¡Bienvenidos a una nueva versión de Joss Language!
Con Joss v3.6.6 presentamos una de las actualizaciones más importantes del proyecto en las últimas versiones. Esta release incorpora mejoras profundas en diferentes componentes del ecosistema, con especial atención en GranDB, el sistema de concurrencia y Cron, el framework de plugins JP v2 Sidecar, el servidor, el hot reload, los SDKs multiplataforma y la calidad general del código.
Esta versión no se limita a añadir nuevas funcionalidades: también representa un importante trabajo de estabilización, refactorización, corrección de errores y mejora de la documentación.
A continuación encontrarás todos los cambios incluidos en esta versión.
⭐ Principales novedades
🗄️ ORM & Base de Datos — GranDB
GranDB recibe una de las mayores ampliaciones de esta versión, incorporando nuevas operaciones y capacidades para trabajar con datos de forma más flexible y expresiva.
Nuevos métodos
Se incorporan nuevos métodos al ORM:
whenunlessfirstWheresolefindManyfindOrFailupdateOrInserttouchincrementdecrement
Estos métodos permiten construir operaciones de consulta y modificación de datos más expresivas y reducir la cantidad de lógica adicional necesaria en las aplicaciones.
🔤 Consultas insensibles a mayúsculas/minúsculas
GranDB incorpora soporte mejorado para realizar operaciones case-insensitive en diferentes métodos de consulta, incluyendo:
whereorWherewhereLike- y operaciones relacionadas.
Esto permite realizar búsquedas más flexibles sin depender de la capitalización exacta de los datos almacenados.
📄 Paginación y procesamiento por bloques
Se añade soporte para:
paginatechunk
Estas capacidades permiten trabajar de forma más eficiente con grandes cantidades de registros, evitando cargar conjuntos completos de datos innecesariamente en memoria.
📊 Agrupación y filtrado avanzado
El constructor de consultas de GranDB ha sido mejorado para soportar operaciones como:
GROUP BYHAVING
Esto permite construir consultas más avanzadas directamente desde el ORM.
❌ Mejor manejo de errores
Se mejoró el comportamiento de los métodos:
firstOrFailfindOrFail
Ahora los errores derivados de consultas fallidas o registros inexistentes cuentan con un manejo más consistente.
⏱️ Cron Manager & Concurrencia
El sistema de tareas programadas también recibe mejoras importantes.
🔒 Control de concurrencia
Se incorporó un sistema de manejo en memoria con bloqueos para evitar que el mismo Job sea ejecutado simultáneamente cuando no corresponde.
Esto proporciona un mayor control sobre tareas programadas y reduce el riesgo de ejecuciones duplicadas.
🗄️ Sincronización con la base de datos
Las tareas programadas pueden sincronizarse directamente con la base de datos, mejorando la administración y persistencia de la información relacionada con los Jobs.
📦 Precarga recursiva de archivos
Se añadió un nuevo mecanismo para precargar archivos de la aplicación de forma recursiva.
Esta funcionalidad se encuentra integrada en:
pkg/core/runtime.go
🧩 SDKs de Plugins — JP v2 Sidecar Framework
El framework JP v2 Sidecar recibe una actualización importante en sus SDKs multiplataforma.
Se actualizaron los SDKs para:
- C++
- Dart / Flutter
- Java
- Kotlin
- PHP
- Rust
Mejoras principales
Los SDKs incorporan:
- Mejor manejo de errores.
- Soporte de streaming mediante
joss-rpc-v1. - Verificación mejorada de protocolos.
- Mayor consistencia entre implementaciones.
- Mejor integración con el framework de plugins.
El objetivo es continuar construyendo un ecosistema de plugins multiplataforma más estable y consistente.
🔧 Correcciones y mejoras de CI/CD
Esta versión también incluye una importante cantidad de correcciones relacionadas con automatización, distribución y validación de releases.
⚙️ GitHub Actions & Distribución Manual
Se realizaron mejoras importantes en:
.github/workflows/manual-distribution.yml
Flutter / Dart
Se corrigió el proceso de validación de Flutter/Dart.
Anteriormente se utilizaba:
flutter pub get
Sin embargo, la raíz del proyecto no contiene un pubspec.yaml, por lo que el proceso fue reemplazado por:
dart analyze sdk/dart/joss_plugin.dart
Esto permite validar correctamente el SDK de Dart sin depender de una estructura de proyecto Flutter en la raíz del repositorio.
☕ Actualización de Java
Se actualizó:
actions/setup-java@v4
a:
actions/setup-java@v5
manteniendo los workflows alineados con las versiones actuales de GitHub Actions.
📦 Releases duplicadas
Se mejoró el manejo de releases existentes, especialmente en escenarios donde ya existe una prerelease.
El sistema ahora puede detectar releases existentes y actualizar su estado mediante:
gh release edit
Esto reduce problemas durante los procesos de distribución manual.
🪟 Diagnósticos en Windows
Se mejoró considerablemente la salida y el reporte de errores durante los procesos de empaquetado de Windows.
Se realizaron mejoras en:
build_all.ps1verify-release.ps1
Esto facilita identificar rápidamente problemas durante la generación y validación de paquetes.
🎯 SDK de Dart
El SDK de Dart recibió una limpieza adicional para evitar advertencias durante el análisis estático.
Se eliminó el parámetro stack, que no estaba siendo utilizado dentro de un bloque catch en:
sdk/dart/joss_plugin.dart
Con ello se evita que advertencias innecesarias puedan provocar fallos durante:
dart analyze
🔄 Server & Hot Reload
El servidor de Joss también recibió mejoras importantes.
Se realizaron modificaciones en:
pkg/server/handler.gopkg/server/hotreload.go
Estas mejoras permiten una gestión más estable del servidor y del sistema de Hot Reload, proporcionando una mejor experiencia durante el desarrollo.
♻️ Refactorización y calidad del código
Joss v3.6.6 también representa una importante etapa de limpieza interna del proyecto.
🧠 Reducción de complejidad
Se realizó una refactorización profunda de:
cmd/joss/database.go
El objetivo principal fue reducir la complejidad cognitiva detectada por herramientas de análisis como:
- SonarLint
- staticcheck
Esto permite mantener una base de código más sencilla de comprender y mantener.
🧹 Limpieza general
También se eliminaron diferentes bloques de código redundante en:
cmd/joss/brevo.gocmd/joss/main.gocmd/joss/native_builder.go
Estas modificaciones buscan mantener el proyecto más limpio, consistente y preparado para futuras versiones.
📚 Documentación
La documentación de Joss continúa evolucionando junto con el lenguaje.
📖 README.md
Se realizó una reestructuración general del README, mejorando:
- Claridad.
- Organización.
- Consistencia.
- Presentación de la información.
🗄️ MODELOS.md
La documentación de modelos fue ampliada para incluir los nuevos métodos y capacidades disponibles en el ORM GranDB.
🏗️ Documentación técnica
También se actualizaron diferentes documentos relacionados con la arquitectura y funcionamiento de Joss:
CLI.mdCONCURRENCIA.mdCONTROLADORES.mdESTRUCTURA_PROYECTO.mdSINTAXIS.md
🚀 Una versión enfocada en crecer
Joss v3.6.6 representa un paso importante en la evolución del lenguaje.
Más que una colección de nuevas funciones, esta versión busca fortalecer los fundamentos del ecosistema: base de datos, concurrencia, servidores, plugins, SDKs, herramientas de desarrollo, automatización y documentación.
Seguiremos trabajando para hacer de Joss un lenguaje cada vez más estable, completo y preparado para proyectos reales.
Gracias por formar parte de Joss.
Keep building. Keep improving. Keep coding with Joss.
🇺🇸 English
🎉 Welcome to Joss v3.6.6
Welcome to a new release of Joss Language!
With Joss v3.6.6, we are introducing one of the most significant updates in recent versions of the project. This release brings deep improvements across the ecosystem, with a strong focus on GranDB, concurrency and Cron management, the JP v2 Sidecar plugin framework, the server, hot reload, cross-platform SDKs, and overall code quality.
This release is not only about adding new features. It also represents a major effort toward stability, refactoring, bug fixing, automation, and documentation improvements.
Here are all the changes included in this release.
⭐ Major Highlights
🗄️ ORM & Database — GranDB
GranDB receives one of the largest expansions in this release, introducing new operations and capabilities for more flexible and expressive data management.
New methods
The following ORM methods have been added:
whenunlessfirstWheresolefindManyfindOrFailupdateOrInserttouchincrementdecrement
These methods make database operations more expressive while reducing the amount of additional application-side logic required.
🔤 Case-insensitive queries
GranDB now provides improved support for case-insensitive operations across several query methods, including:
whereorWherewhereLike- and related operations.
This allows applications to perform more flexible searches without depending on the exact capitalization of stored data.
📄 Pagination & Chunking
Support has been added for:
paginatechunk
These features make it easier to process large datasets efficiently without unnecessarily loading entire result sets into memory.
📊 Advanced grouping & filtering
GranDB's query builder has been enhanced to support:
GROUP BYHAVING
This allows developers to build more advanced database queries directly through the ORM.
❌ Improved error handling
The behavior of:
firstOrFailfindOrFail
has been improved to provide more consistent handling of failed queries and missing records.
⏱️ Cron Manager & Concurrency
The scheduled task system also receives major improvements.
🔒 Concurrency control
An in-memory locking mechanism has been introduced to prevent the same Job from being executed concurrently when it should not be.
This provides better control over scheduled tasks and helps prevent duplicate executions.
🗄️ Database synchronization
Scheduled tasks can now be synchronized directly with the database, improving the management and persistence of Job-related information.
📦 Recursive file preloading
A new mechanism was added to recursively preload application files.
This functionality is integrated into:
pkg/core/runtime.go
🧩 Plugin SDKs — JP v2 Sidecar Framework
The JP v2 Sidecar framework receives a significant update across its multiplatform SDKs.
The following SDKs have been updated:
- C++
- Dart / Flutter
- Java
- Kotlin
- PHP
- Rust
Key improvements
The SDKs now provide:
- Improved error handling.
- Streaming support through
joss-rpc-v1. - Enhanced protocol verification.
- Greater consistency across implementations.
- Better integration with the plugin framework.
The goal is to continue building a more stable and consistent cross-platform plugin ecosystem.
🔧 Bug Fixes & CI/CD Improvements
This release also includes several improvements related to automation, distribution, and release validation.
⚙️ GitHub Actions & Manual Distribution
Major improvements were made to:
.github/workflows/manual-distribution.yml
Flutter / Dart
The Flutter/Dart validation process was corrected.
The workflow previously used:
flutter pub get
However, the repository root does not contain a pubspec.yaml, so the process was replaced with:
dart analyze sdk/dart/joss_plugin.dart
This allows the Dart SDK to be properly validated without requiring a Flutter project structure at the repository root.
☕ Java update
Updated:
actions/setup-java@v4
to:
actions/setup-java@v5
keeping the workflows aligned with the current GitHub Actions versions.
📦 Duplicate releases
Release handling was improved for scenarios where a prerelease already exists.
The system can now detect existing releases and update their state through:
gh release edit
This reduces issues during manual distribution workflows.
🪟 Windows diagnostics
Output and error reporting were significantly improved during Windows packaging.
Improvements were made to:
build_all.ps1verify-release.ps1
This makes packaging and release validation failures easier to diagnose.
🎯 Dart SDK
The Dart SDK received additional cleanup to prevent unnecessary static-analysis warnings.
The unused stack parameter was removed from a catch block in:
sdk/dart/joss_plugin.dart
This prevents unnecessary warnings from causing failures during:
dart analyze
🔄 Server & Hot Reload
Joss's server received several important improvements.
Changes were made to:
pkg/server/handler.gopkg/server/hotreload.go
These improvements provide more stable server management and a more reliable Hot Reload development experience.
♻️ Refactoring & Code Quality
Joss v3.6.6 also represents an important internal cleanup milestone.
🧠 Reduced complexity
A deep refactoring was performed on:
cmd/joss/database.go
The main goal was to reduce cognitive complexity reported by static-analysis tools such as:
- SonarLint
- staticcheck
This results in a cleaner and more maintainable codebase.
🧹 General cleanup
Redundant code was also removed from:
cmd/joss/brevo.gocmd/joss/main.gocmd/joss/native_builder.go
These changes help keep the project cleaner, more consistent, and better prepared for future releases.
📚 Documentation
Joss documentation continues to evolve alongside the language.
📖 README.md
The README received a general restructuring focused on:
- Clarity.
- Organization.
- Consistency.
- Information presentation.
🗄️ MODELOS.md
Model documentation was expanded to cover the new methods and capabilities available in the GranDB ORM.
🏗️ Technical documentation
Several architecture and language documents were also updated:
CLI.mdCONCURRENCIA.mdCONTROLADORES.mdESTRUCTURA_PROYECTO.mdSINTAXIS.md
🚀 A Release Built for Growth
Joss v3.6.6 represents an important step in the evolution of the language.
Rather than being simply a collection of new features, this release strengthens the foundations of the ecosystem: databases, concurrency, servers, plugins, SDKs, development tooling, automation, and documentation.
We will continue working to make Joss a more stable, complete, and production-ready language for real-world projects.
Thank you for being part of Joss.
Keep building. Keep improving. Keep coding with Joss.
🇧🇷 Português
🎉 Bem-vindos ao Joss v3.6.6
Bem-vindos a uma nova versão do Joss Language!
Com o Joss v3.6.6, apresentamos uma das atualizações mais importantes das últimas versões do projeto. Esta release traz melhorias profundas em diferentes componentes do ecossistema, com foco especial no GranDB, no sistema de concorrência e gerenciamento de Cron, no framework de plugins JP v2 Sidecar, no servidor, no hot reload, nos SDKs multiplataforma e na qualidade geral do código.
Esta versão não se limita à adição de novos recursos. Ela também representa um grande trabalho de estabilização, refatoração, correção de bugs, automação e melhoria da documentação.
Confira abaixo todas as mudanças incluídas nesta versão.
⭐ Principais novidades
🗄️ ORM & Banco de Dados — GranDB
O GranDB recebe uma das maiores expansões desta versão, adicionando novas operações e recursos para trabalhar com dados de maneira mais flexível e expressiva.
Novos métodos
Foram adicionados os seguintes métodos ao ORM:
whenunlessfirstWheresolefindManyfindOrFailupdateOrInserttouchincrementdecrement
Esses métodos permitem construir operações de consulta e alteração de dados de maneira mais expressiva, reduzindo a quantidade de lógica adicional necessária nas aplicações.
🔤 Consultas sem distinção entre maiúsculas e minúsculas
O GranDB agora possui suporte aprimorado para operações case-insensitive em diversos métodos de consulta, incluindo:
whereorWherewhereLike- e operações relacionadas.
Isso permite realizar buscas mais flexíveis sem depender da capitalização exata dos dados armazenados.
📄 Paginação e processamento em blocos
Foi adicionado suporte para:
paginatechunk
Esses recursos permitem trabalhar de forma mais eficiente com grandes volumes de dados, evitando carregar conjuntos completos de registros desnecessariamente na memória.
📊 Agrupamento e filtragem avançada
O construtor de consultas do GranDB foi aprimorado para oferecer suporte a:
GROUP BYHAVING
Isso permite construir consultas mais avançadas diretamente através do ORM.
❌ Melhor tratamento de erros
O comportamento dos métodos:
firstOrFailfindOrFail
foi aprimorado, proporcionando um tratamento mais consistente para falhas de consulta e registros inexistentes.
⏱️ Gerenciador de Cron & Concorrência
O sistema de tarefas agendadas também recebeu melhorias importantes.
🔒 Controle de concorrência
Foi implementado um mecanismo de bloqueio em memória para impedir que o mesmo Job seja executado simultaneamente quando isso não for permitido.
Isso proporciona maior controle sobre tarefas agendadas e ajuda a evitar execuções duplicadas.
🗄️ Sincronização com o banco de dados
As tarefas agendadas podem ser sincronizadas diretamente com o banco de dados, melhorando o gerenciamento e a persistência das informações relacionadas aos Jobs.
📦 Pré-carregamento recursivo de arquivos
Foi adicionado um novo mecanismo para realizar o pré-carregamento recursivo dos arquivos da aplicação.
Essa funcionalidade está integrada em:
pkg/core/runtime.go
🧩 SDKs de Plugins — JP v2 Sidecar Framework
O framework JP v2 Sidecar recebeu uma atualização significativa em seus SDKs multiplataforma.
Os seguintes SDKs foram atualizados:
- C++
- Dart / Flutter
- Java
- Kotlin
- PHP
- Rust
Principais melhorias
Os SDKs agora oferecem:
- Melhor tratamento de erros.
- Suporte a streaming através de
joss-rpc-v1. - Verificação aprimorada de protocolos.
- Maior consistência entre as implementações.
- Melhor integração com o framework de plugins.
O objetivo é continuar construindo um ecossistema de plugins multiplataforma mais estável e consistente.
🔧 Correções de Bugs & Melhorias de CI/CD
Esta versão também inclui diversas melhorias relacionadas à automação, distribuição e validação de releases.
⚙️ GitHub Actions & Distribuição Manual
Foram realizadas melhorias importantes em:
.github/workflows/manual-distribution.yml
Flutter / Dart
O processo de validação do Flutter/Dart foi corrigido.
Anteriormente, o workflow utilizava:
flutter pub get
Porém, a raiz do repositório não possui um pubspec.yaml. Por isso, o processo foi substituído por:
dart analyze sdk/dart/joss_plugin.dart
Isso permite validar corretamente o SDK Dart sem exigir uma estrutura de projeto Flutter na raiz do repositório.
☕ Atualização do Java
Foi atualizado:
actions/setup-java@v4
para:
actions/setup-java@v5
mantendo os workflows alinhados às versões atuais do GitHub Actions.
📦 Releases duplicadas
O gerenciamento de releases existentes foi aprimorado, especialmente quando já existe uma prerelease.
O sistema agora pode detectar releases existentes e atualizar seu estado utilizando:
gh release edit
Isso reduz problemas durante os processos de distribuição manual.
🪟 Diagnósticos no Windows
A saída e o relatório de erros durante o empacotamento para Windows foram significativamente aprimorados.
Foram realizadas melhorias em:
build_all.ps1verify-release.ps1
Isso facilita a identificação de problemas durante a geração e validação dos pacotes.
🎯 SDK Dart
O SDK Dart recebeu uma limpeza adicional para evitar avisos desnecessários durante a análise estática.
O parâmetro stack, que não era utilizado dentro de um bloco catch, foi removido de:
sdk/dart/joss_plugin.dart
Com isso, são evitados avisos desnecessários que poderiam causar falhas durante:
dart analyze
🔄 Server & Hot Reload
O servidor do Joss também recebeu melhorias importantes.
Foram realizadas alterações em:
pkg/server/handler.gopkg/server/hotreload.go
Essas melhorias proporcionam um gerenciamento mais estável do servidor e uma experiência de desenvolvimento mais confiável com Hot Reload.
♻️ Refatoração & Qualidade do Código
O Joss v3.6.6 também representa uma importante etapa de limpeza interna do projeto.
🧠 Redução da complexidade
Foi realizada uma refatoração profunda em:
cmd/joss/database.go
O principal objetivo foi reduzir a complexidade cognitiva identificada por ferramentas de análise estática como:
- SonarLint
- staticcheck
Isso resulta em uma base de código mais limpa e fácil de manter.
🧹 Limpeza geral
Também foram removidos trechos de código redundante em:
cmd/joss/brevo.gocmd/joss/main.gocmd/joss/native_builder.go
Essas alterações ajudam a manter o projeto mais organizado, consistente e preparado para futuras versões.
📚 Documentação
A documentação do Joss continua evoluindo junto com a linguagem.
📖 README.md
O README recebeu uma reestruturação geral com foco em:
- Clareza.
- Organização.
- Consistência.
- Apresentação das informações.
🗄️ MODELOS.md
A documentação de modelos foi expandida para incluir os novos métodos e recursos disponíveis no ORM GranDB.
🏗️ Documentação técnica
Também foram atualizados diversos documentos relacionados à arquitetura e ao funcionamento do Joss:
CLI.mdCONCURRENCIA.mdCONTROLADORES.mdESTRUTURA_PROJETO.mdSINTAXIS.md
🚀 Uma versão preparada para crescer
O Joss v3.6.6 representa um passo importante na evolução da linguagem.
Mais do que uma coleção de novos recursos, esta versão fortalece os fundamentos do ecossistema: bancos de dados, concorrência, servidores, plugins, SDKs, ferramentas de desenvolvimento, automação e documentação.
Continuaremos trabalhando para tornar o Joss uma linguagem cada vez mais estável, completa e preparada para projetos reais.
Obrigado por fazer parte do Joss.
Keep building. Keep improving. Keep coding with Joss.
📦 Joss Language v3.6.6
Previous version: v3.6.5
Current version: v3.6.6
Release type: Major feature update / Stability & Ecosystem improvements
Joss Language
Build. Improve. Create.