Skip to content

KromScript 1.0.0 — Stable, sûr, prêt pour la production

Choose a tag to compare

@issadicko issadicko released this 13 Jul 12:33
· 14 commits to main since this release

Première version stable de KromScript. Après la série 0.x, le langage embarqué qui fait vivre les mini-apps Krom entre en 1.0 : API figée, sûreté par défaut et un langage nettement plus expressif — sur Dart, Kotlin, Go et TypeScript.

✨ Un langage plus complet et plus ergonomique

  • Chaînes else if — fini les if imbriqués.
  • Affectations composées : +=, -=, *=, /=.
  • Opérateur ternaire : cond ? a : b.
  • for-in sur les maps — itère directement sur les clés.
  • Natif range() pour les boucles numériques.
  • Commentaires bloc /* ... */.
  • Affichage des nombres entiers sans .0 : 4, plus 4.0 — un toString enfin naturel dans les vues (interpolation, +, print, join, clés de map). jsonStringify reste inchangé (format réseau préservé).

🛡️ Sûr par défaut

  • Garde d'exécution activée d'office : budget d'opérations + deadline. Un script tiers ne peut plus figer l'hôte. ExecutionLimits.unlimited reste disponible pour du code de confiance.
  • print() est désormais aussi routé vers la sortie standard, en plus de developer.log, pour un débogage sans friction.

🔎 Optimiseur durci et introspectable

  • Correction de plusieurs bugs de fausse suppression / transformation de l'optimiseur (propagation de constantes dans boucles et closures, inlining capturant un paramètre, round-trip du else après optimisation…).
  • Les hooks de cycle de vie (onInit/onShow/onHide/onDispose) sont préservés au tree-shaking.
  • Introspection réactive pour l'hôte : reactiveState() / setReactiveValue() pour lire et piloter l'état, lastOpsUsed / maxOperations pour instrumenter le budget.

🌍 Multi-plateforme

Même langage, quatre implémentations : Dart/Flutter, Kotlin (Maven Central), Go (pkg.go.dev), TypeScript (npm).

📖 Documentation

Guide complet : https://docs-kodiscript.dickode.net/


Rien à migrer depuis 0.2.0 : ces ajouts sont rétrocompatibles.