Skip to content

Releases: nascent-tech/memless

v0.4.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 19:04
v0.4.1
de05383

What's Changed

  • docs(contributing): say the pull request title becomes the commit on main by @houssenedao in #56
  • chore: keep the internal design records out of the public repository by @houssenedao in #57
  • docs: rewrite the READMEs for people who want to use memless by @houssenedao in #58
  • chore(release): 0.4.1 by @houssenedao in #59

Full Changelog: v0.4.0...v0.4.1

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 17:33
v0.4.0
4f0c5f8

What's Changed

  • docs(palier-6): ship one npm package that bundles the four libraries by @houssenedao in #49
  • feat(node): bundle the four libraries in the npm package by @houssenedao in #50
  • fix(bridges): tell the libc the same way in the three bridges by @houssenedao in #51
  • docs: open the project to external contributions by @houssenedao in #52
  • docs(palier-6): mirror the Node bridge and take contributions on the main repository by @houssenedao in #53
  • feat(release): mirror the Node bridge in nascent-tech/memless-node by @houssenedao in #54
  • chore(release): 0.4.0 by @houssenedao in #55

Full Changelog: v0.3.0...v0.4.0

0.3.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 15:47
v0.3.0
4c91e61

Le module Go a son propre dépôt : il s'installe par un chemin court, et le dépôt principal ne transporte plus aucun binaire.

Rupture — utilisateurs Go

  • Le module s'appelle désormais github.com/nascent-tech/memless-go :
    go get github.com/nascent-tech/memless-go@v0.3.0, puis remplacer l'import github.com/nascent-tech/memless/bindings/go par github.com/nascent-tech/memless-go (le nom de paquet, memless, ne change pas).
  • Les versions 0.2.0 et 0.2.1 restent installables à l'ancien chemin.

Installer

  • Go : go get github.com/nascent-tech/memless-go@v0.3.0
  • Node.js : npm install @nascent-tech/memless
  • PHP : composer require nascent-tech/memless

Les trois paquets embarquent la bibliothèque native pour macOS (Apple silicon, Intel) et Linux glibc 2.39+ (x86_64, aarch64) : rien à télécharger, pas de MEMLESS_LIB à poser. musl et Windows ne sont pas couverts.

Rien d'autre ne change

Moteur, SQL, messages d'erreur et fichier réécrit sont identiques à 0.2.1 dans les trois langages.

0.2.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:54
v0.2.1
4006a8e

Version corrective de 0.2.0.

Correctif

  • L'archive PHP de la release (memless-php-0.2.1.zip) contient désormais les quatre bibliothèques (macOS arm64/x64, Linux glibc x64/arm64), l'en-tête C et SHA256SUMS : dézippée et déclarée comme dépôt Composer path, elle fonctionne sans MEMLESS_LIB. L'archive 0.2.0 ne les contenait pas.

Installer

  • Go : go get github.com/nascent-tech/memless/bindings/go@v0.2.1 — bibliothèque embarquée.
  • PHP : composer require nascent-tech/memless dès l'enregistrement du miroir sur Packagist ; d'ici là, l'archive memless-php-0.2.1.zip de cette release.
  • Node.js : npm install @nascent-tech/memless dès l'activation de la publication npm ; d'ici là, le .tgz de cette release avec MEMLESS_LIB.

Bibliothèques Linux : glibc 2.39 ou plus récent. musl et Windows non couverts.

0.2.0

Choose a tag to compare

@github-actions github-actions released this 26 Sep 13:29
v0.2.0
59ab2f6

Memless s'installe désormais avec l'outil de chaque langage, bibliothèque native comprise : plus rien à télécharger à la main, plus de MEMLESS_LIB à poser sur les plateformes couvertes.

Ce que cette version apporte

  • Go : go get github.com/nascent-tech/memless/bindings/go@v0.2.0. Le module embarque la bibliothèque de la plateforme compilée ; elle est extraite une fois dans le cache utilisateur et son SHA-256 est vérifié avant chaque chargement.
  • Node.js : npm install @nascent-tech/memless — npm n'installe que le paquet de la plateforme de la machine. (Disponible sur npm dès que la publication npm est activée pour le projet. Le paquet .tgz de cette release s'installe tel quel, mais ses paquets de plateforme ne sont pas encore sur npm : avec lui, posez MEMLESS_LIB.)
  • PHP : composer require nascent-tech/memless — le paquet porte les quatre bibliothèques et l'en-tête C. (Disponible sur Packagist dès que le miroir nascent-tech/memless-php y est enregistré. L'archive memless-php-0.2.0.zip de cette release ne contient pas les bibliothèques : avec elle, posez MEMLESS_LIB — corrigé en 0.2.1.)
  • Plateformes couvertes : macOS (Apple silicon et Intel), Linux glibc (x86_64 et aarch64). Ordre de recherche identique dans les trois ponts : MEMLESS_LIB, puis la bibliothèque embarquée, puis target/ d'un dépôt cloné.

Rupture

  • Le paquet Composer s'appelle nascent-tech/memless (il s'appelait memless/php). Adaptation : composer remove memless/php && composer require nascent-tech/memless. L'espace de noms PHP (Memless\) ne change pas.

À savoir

  • Les bibliothèques Linux embarquées demandent glibc 2.39 ou plus récent (Ubuntu 24.04+). Ailleurs, construisez la bibliothèque (cargo build --release -p memless-capi) et pointez MEMLESS_LIB dessus.
  • musl et Windows ne sont pas couverts.
  • Chaque archive se recoupe avec SHA256SUMS et memless-lib-SHA256SUMS.

0.1.1

Choose a tag to compare

@github-actions github-actions released this 26 Sep 11:35
v0.1.1
24f214f

0.1.1 est la première version publiée avec ses archives. Le tag v0.1.0 n'a produit aucune archive (échec de l'empaquetage, corrigé ici) : 0.1.1 contient tout 0.1.0, plus ce correctif.

Première version de Memless : un moteur SQL en mémoire piloté par un seul fichier YAML de données, sans schéma déclaré, utilisable à l'identique depuis PHP, Go et Node.js. Pour préparer des données de test et de démonstration — jamais pour la production.

Ce que cette version apporte

  • Charger et refuser : Memless devine la structure du fichier (type de chaque valeur, clé id, relations <nom>_id → table <nom>s) et refuse tout fichier incohérent en nommant la règle, la table et la ligne.
  • Interroger en SQL : SELECT avec WHERE, jointure par relation devinée, COUNT/SUM, et ORDER BY (stable, lignes sans la colonne en dernier ; types mêlés refusés). Tout ce qui dépasse ce sous-ensemble est refusé explicitement.
  • Écrire : INSERT, UPDATE, DELETE. Chaque changement validé réécrit le fichier d'un coup, dans le même ordre, pour que git diff ne montre que les valeurs changées.
  • Transactions : BEGIN / COMMIT / ROLLBACK, tout ou rien, une seule réécriture par transaction.
  • Recharger : reload() relit le fichier restauré (par exemple par Git) sans recréer d'instance ; refusé pendant une transaction, et un rechargement refusé laisse l'état précédent intact.
  • Trois langages, une seule voix : mêmes résultats, mêmes messages d'erreur et même fichier réécrit à l'octet près, vérifiés par le banc de parité sur macOS et Linux, arm64 et x86_64.

Installer

  • Bibliothèque native : télécharger l'archive memless-capi-0.1.1-<cible>.tar.gz de votre système (vérifier avec SHA256SUMS), puis pointer MEMLESS_LIB vers la bibliothèque.
  • PHP (≥ 8.1, extension ffi) : archive memless-php de cette release. Go : go get github.com/nascent-tech/memless/bindings/go@v0.1.1. Node.js : le paquet .tgz de cette release (npm install <fichier>.tgz).

À savoir

  • Première version : pas de migration. Windows n'est pas pris en charge.
  • Le fichier est réécrit à chaque changement validé : pointez Memless sur des fixtures suivies par Git. Ignorez dans Git le résidu .<nom>.memless-tmp qu'un arrêt brutal peut laisser.
  • Licence MIT.