Skip to content

Releases

ALEX 1.4.0

Choose a tag to compare

@ennuum ennuum released this 09 Nov 03:10

Nouvelle version stable d'ALEX : le compilateur alexc, portable, pour Windows et Linux. Cette version apporte une pile réseau et web complète écrite en ALEX : TLS 1.3, HTTP/2, certificats Let's Encrypt et pilote PostgreSQL.

Comme pour la version 1.3.0, chaque archive contient un seul exécutable. Le compilateur, la machine virtuelle et la bibliothèque standard sont embarqués dedans : il n'y a rien à installer. Au premier lancement, le SDK est extrait dans un cache (%LOCALAPPDATA%\alex\sdk sous Windows, ~/.cache/alex/sdk sous Linux).

Téléchargement

Système Archive
Windows x64 alexc-1.4.0-windows-x86_64.zip
Linux x86-64 alexc-1.4.0-linux-x86_64.tar.gz

Les sommes de contrôle sont dans SHA256SUMS. Pour vérifier une archive : sha256sum -c SHA256SUMS sous Linux, Get-FileHash sous Windows.

Nouveautés

Sécurité et chiffrement, en ALEX pur

  • TLS 1.3 client et serveur (network.tls13), avec reprise de session par tickets. HTTPS fonctionne sans OpenSSL.
  • Cryptographie : primitives de TLS 1.3, X25519, P-256 et P-384 (ECDH, ECDSA), RSA. L'implémentation de X25519 dans le runtime est accélérée.
  • Certificats : certificats auto-signés de développement (crypto.x509) et client ACME / Let's Encrypt (network.acme), avec renouvellement sans interruption de service.
  • Exécutables natifs : SHA-256, HMAC, PBKDF2 et réflexion sont disponibles dans le runtime.
  • Avec OpenSSL : poignée de main serveur non bloquante, contexte partagé et reprise de session entre connexions.

Serveur web (web.server)

  • HTTP/2 : h2c par préface, h2 par ALPN.
  • Gestionnaires async, WebSocket async, flux et Server-Sent Events.
  • Plusieurs processus, rechargement à chaud, calcul délégué à des fils (thread.offload).
  • Envoi des fichiers en arrière-plan et versions précompressées. Le traitement des requêtes HTTP est allégé.
  • Les poignées de main TLS ne bloquent plus le serveur.
  • Les journaux sont écrits ligne par ligne.

Bases de données (database)

  • Pilote PostgreSQL (protocole v3, SCRAM-SHA-256, md5, TLS).
  • Pilote du serveur ALEX DB (alexdb://, protocole AQLP).
  • Moteur embarqué : clés étrangères, ALTER TABLE, LIMIT très grand.
  • Accès asynchrone (database.async_database). Délai d'attente des verrous SQLite fixé à 5 s.

Images

  • image.encode : encodeurs JPEG et PNG, prise en compte de l'orientation Exif, vignettes.

Outils et runtime

  • alexc test exécute les tests async.
  • Le cache des modules dépend de la bibliothèque standard, et le résolveur accepte les sources en chemin absolu.
  • Corrections : un fil qui se termine ne ferme plus les ressources de son parent, et la file des tâches prêtes ne retient plus les tâches déjà exécutées.

Documentation

Démarrage rapide

alexc run bonjour.al                  # compile et exécute
alexc build --native bonjour.al       # exécutable natif pour le système courant
alexc build --native --windows app.al # exécutable Windows (aussi depuis Linux)
alexc build --native --linux app.al   # exécutable Linux (aussi depuis Windows)
alexc new server mon_api              # nouveau projet serveur

À savoir

  • Windows : les exécutables ne sont pas encore signés. SmartScreen peut afficher « Windows a protégé votre ordinateur » : cliquez sur « Informations complémentaires », puis sur « Exécuter quand même ».
  • Linux : après extraction de l'archive, lancez chmod +x alexc si le droit d'exécution a été perdu.

Licence Apache 2.0. Copyright 2026 Alexandre Koffi.

ALEX 1.3.0

Choose a tag to compare

@ennuum ennuum released this 09 Nov 03:10

Première version publique d'ALEX, en version stable : le compilateur alexc, portable, pour Windows et Linux.

Chaque archive contient un seul exécutable. Le compilateur, la machine virtuelle et la bibliothèque standard sont embarqués dedans : il n'y a rien à installer. Au premier lancement, le SDK est extrait dans un cache (%LOCALAPPDATA%\alex\sdk sous Windows, ~/.cache/alex/sdk sous Linux).

Téléchargement

Système Archive
Windows x64 alexc-1.3.0-windows-x86_64.zip
Linux x86-64 alexc-1.3.0-linux-x86_64.tar.gz

Les sommes de contrôle sont dans SHA256SUMS. Pour vérifier une archive : sha256sum -c SHA256SUMS sous Linux, Get-FileHash sous Windows.

Démarrage rapide

alexc run bonjour.al                  # compile et exécute
alexc build --native bonjour.al       # exécutable natif pour le système courant
alexc build --native --windows app.al # exécutable Windows (aussi depuis Linux)
alexc build --native --linux app.al   # exécutable Linux (aussi depuis Windows)
alexc build --native --alexos app.al  # exécutable Alex OS
alexc new console mon_app             # nouveau projet

Les autres outils sont alexc test, fmt, doc, pkg, repl, debug et lsp. La documentation se trouve dans docs/.

Nouveautés de cette version

  • Sous Windows, alexc build --native produit par défaut un exécutable Windows. Il produisait auparavant un exécutable Linux. La nouvelle option --linux produit un exécutable Linux depuis Windows.
  • alexc --version indique la plateforme sur laquelle le compilateur s'exécute.
  • alexc portable :
    • sous Linux, la machine virtuelle extraite est maintenant exécutable ;
    • le SDK embarqué reste lisible quand l'exécutable est signé (Authenticode).

À savoir

  • Windows : les exécutables ne sont pas encore signés. SmartScreen peut afficher « Windows a protégé votre ordinateur » : cliquez sur « Informations complémentaires », puis sur « Exécuter quand même ».
  • Linux : après extraction de l'archive, lancez chmod +x alexc si le droit d'exécution a été perdu.

Licence Apache 2.0. Copyright 2026 Alexandre Koffi.