Skip to content

Joss v3.6.6

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Aug 08:07
· 1 commit to main since this release

🚀 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:

  • when
  • unless
  • firstWhere
  • sole
  • findMany
  • findOrFail
  • updateOrInsert
  • touch
  • increment
  • decrement

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:

  • where
  • orWhere
  • whereLike
  • 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:

  • paginate
  • chunk

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 BY
  • HAVING

Esto permite construir consultas más avanzadas directamente desde el ORM.

❌ Mejor manejo de errores

Se mejoró el comportamiento de los métodos:

  • firstOrFail
  • findOrFail

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.ps1
  • verify-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.go
  • pkg/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.go
  • cmd/joss/main.go
  • cmd/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.md
  • CONCURRENCIA.md
  • CONTROLADORES.md
  • ESTRUCTURA_PROYECTO.md
  • SINTAXIS.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:

  • when
  • unless
  • firstWhere
  • sole
  • findMany
  • findOrFail
  • updateOrInsert
  • touch
  • increment
  • decrement

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:

  • where
  • orWhere
  • whereLike
  • 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:

  • paginate
  • chunk

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 BY
  • HAVING

This allows developers to build more advanced database queries directly through the ORM.

❌ Improved error handling

The behavior of:

  • firstOrFail
  • findOrFail

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.ps1
  • verify-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.go
  • pkg/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.go
  • cmd/joss/main.go
  • cmd/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.md
  • CONCURRENCIA.md
  • CONTROLADORES.md
  • ESTRUCTURA_PROYECTO.md
  • SINTAXIS.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:

  • when
  • unless
  • firstWhere
  • sole
  • findMany
  • findOrFail
  • updateOrInsert
  • touch
  • increment
  • decrement

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:

  • where
  • orWhere
  • whereLike
  • 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:

  • paginate
  • chunk

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 BY
  • HAVING

Isso permite construir consultas mais avançadas diretamente através do ORM.

❌ Melhor tratamento de erros

O comportamento dos métodos:

  • firstOrFail
  • findOrFail

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.ps1
  • verify-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.go
  • pkg/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.go
  • cmd/joss/main.go
  • cmd/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.md
  • CONCURRENCIA.md
  • CONTROLADORES.md
  • ESTRUTURA_PROJETO.md
  • SINTAXIS.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.