> ## Documentation Index
> Fetch the complete documentation index at: https://www.chapterjs.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Changelog

> Ce qui a changé dans chaque version de ChapterJS

`chapterjs`, `create-chapterjs` et `create-chapter` partagent un même numéro de version, selon le [versionnage sémantique](https://semver.org) : seule une version majeure vous demande de changer vos fichiers, et son entrée dit quoi.

Seul `chapterjs` vit dans votre projet ; `chapterjs dev` vous prévient quand un plus récent est sorti. Pour le mettre à jour :

```bash pnpm theme={"theme":{"light":"github-light","dark":"vesper"}}
pnpm update chapterjs --latest
```

```bash npm theme={"theme":{"light":"github-light","dark":"vesper"}}
npm install chapterjs@latest
```

```bash yarn theme={"theme":{"light":"github-light","dark":"vesper"}}
yarn add chapterjs@latest
```

```bash bun theme={"theme":{"light":"github-light","dark":"vesper"}}
bun add chapterjs@latest
```

**0.5.1**

Nouveaux modèles

* [Modèles](https://www.chapterjs.org/fr/setup/project-structure.md#modèles) : `minimal`, présélectionné, est une présence et rien d’autre ; `tickets`, `moderation`, `levels` et `giveaways` sont des bots complets.
* `default`, `music`, `community` et `games` disparaissent. Les projets déjà créés avec eux continuent de fonctionner.
* Le [tutoriel](https://www.chapterjs.org/fr/tutorial/create-project.md) part de `minimal`.

**0.5.0**

Commandes de menu, attente, présence tournante

* [Commandes de menu](https://www.chapterjs.org/fr/commands/menus.md) : `command({ type: 'message' | 'user', ... })`, utilisées avec un clic droit.
* [Attendre une réponse](https://www.chapterjs.org/fr/waiting.md) : `waitForMessage()`, `collectMessages()`, `waitForClick()`, `waitForReaction()`.
* [Présence](https://www.chapterjs.org/fr/presence.md#plusieurs-activités) : plusieurs activités tour à tour, des textes qui sont des fonctions.
* Un sixième modèle, `games`.

**Corrections**

* `chapterjs dev` : un second `default: true` dans un nouveau fichier ne retire plus de commandes de Discord.
* `chapterjs dev` : un nouveau fichier ne peut plus prendre le nom d’un store, d’une commande ou d’un composant qui tourne déjà.
* Les événements et commandes exportés ensemble dans une liste tournent tous : seul le dernier tournait.
* Un appel refusé par Discord sans `await` (`member.ban()` sans `await`) n’arrête plus le bot : il est signalé avec sa ligne. `chapterjs test` ne s’arrête plus non plus.
* Une réponse demandée sans `await` n’est plus signalée comme « finished without answering ».
* `chapterjs dev` : un enregistrement recharge une seule fois, même quand l’éditeur écrit puis renomme le fichier, et sous Linux les enregistrements suivants ne sont plus ratés.
* Un message de plus de 5 rangées de boutons et de menus est refusé avant Discord, avec un message clair.
* `chapterjs test` : chaque cas tourne sur un serveur neuf (un `/ban` ne casse plus les cas suivants), une commande différée n’échoue plus au bout de 5 s, un run bloqué ne bloque plus la suite, et `join()` dit que le vocal n’est pas simulé.
* `channelCreate`, `channelUpdate`, `channelDelete` : `guild` n’est jamais `null`, et `channel` est celui d’un serveur.
* Un fichier de store dans `data/` avec une entrée abîmée est refusé avec son nom, au lieu de perdre cette entrée à la prochaine écriture.
* La forme `zero` d’un pluriel sert pour 0 dans toutes les langues : l’anglais l’ignorait.
* `reply.opensForm()` accepte un formulaire qui porte des données.
* `chapterjs test` : le serveur refuse, comme Discord, d’expulser, bannir ou renommer le propriétaire ou quelqu’un au-dessus du bot.
* Des messages plus clairs : les permissions en mots (« Ban Members »), ce que veulent dire les refus de Discord, les erreurs de syntaxe, Redis qui refuse au démarrage, `--processes` au-delà des shards, le serveur de dev dans `start`.

**0.4.0**

Redis, classements, événements avec guild

**À changer dans vos fichiers :** chaque événement donne maintenant ce dont il parle, plus `guild`. Voir [Ce que donne chaque événement](https://www.chapterjs.org/fr/reference/events.md#ce-que-donne-chaque-événement) ; un fichier écrit à l’ancienne est souligné dans votre éditeur.

* [Stores dans Redis](https://www.chapterjs.org/fr/storage.md#dans-redis) : `storage: 'redis'`, avec `REDIS_URL` dans `.env`.
* Stores : `increment()`, `getMany()`, `setMany()`, `deleteAll()` ; `update()` ne perd plus un changement fait au même moment.
* [Classements](https://www.chapterjs.org/fr/rankings.md) : `ranking()`, un score par membre, toujours dans l’ordre.

**0.3.0**

chapterjs test

* [`chapterjs test`](https://www.chapterjs.org/fr/testing) : votre bot vérifié contre un Discord en mémoire, sans token.
* Les scénarios : `scenario()` dans des fichiers `*.test.ts`, depuis `chapterjs/test`.
* Chaque modèle a un script `test` et un scénario pour commencer.

**0.2.3**

Stockage et cinq modèles

* Les [stores](https://www.chapterjs.org/fr/storage.md) : `store()` garde des données d’un redémarrage à l’autre, dans `data/`.
* Cinq [modèles](https://www.chapterjs.org/fr/setup/project-structure.md#modèles) : `default`, `tickets`, `music`, `community`, `moderation`.
* Un nouveau projet a la version exacte de `chapterjs` de `create chapterjs`.

**0.2.2**

Un modèle par défaut plus léger

* Le modèle par défaut n’a plus l’exemple de modération.

**0.2.1**

Avis de nouvelle version

* `chapterjs dev` dit quand un `chapterjs` plus récent est sorti, avec la commande pour mettre à jour.

**0.2.0**

Vos fichiers, votre ordre

**À changer dans vos fichiers :** les commandes et les événements prennent un `name`, les langues un `locale` ; les composants et les tâches sont nommés par leur export. Les fichiers peuvent être n’importe où dans `src/`. Voir [Structure du projet](https://www.chapterjs.org/fr/setup/project-structure.md).

* Les types `…File` deviennent `…Declaration` (`CommandFile` → `CommandDeclaration`…).

**0.1.4**

Première version

* Commandes, événements, composants, tâches, vocal, présence et messages traduits.
* `chapterjs dev`, `build` et `start`, et `create chapterjs`.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.