Repository navigation
IAO Nightly (2026-10-22)
Pre-release
Pre-release
IAO Nightly — 2026-10-22
Build automatique depuis main (commit 255ea15).
Binaires Linux et Windows avec sommes de contrôle SHA-256.
v*.
Installation
- Linux : installer le
.debavecdpkg -iou utiliser l'AppImage - Windows : dézipper
IAO-nightly-win32-x64.zipet lancerIAO.exe
Vérifier l'intégrité avec SHA256SUMS.txt.
What's Changed
- ci: workflows CI + garde-fou d'intégration (dev → main) by @MathildeDec in #1
- ci(#10): Couverture de code native en CI by @MathildeDec in #39
- ci(#8): Workflow de release automatique (GitHub Releases + SHA-256) by @MathildeDec in #40
- tests(#5): Harnais UI Electron (comptes, onglets, réglages, explorateur) by @MathildeDec in #41
- security(#4): Migration contextIsolation: true + preload.js + IPC typée by @MathildeDec in #44
- feature(#6): Réorganiser les comptes par glisser-déposer by @MathildeDec in #43
- feature(#42): 12 services IA + menu de sélection des 9 à portée de main by @MathildeDec in #46
- ci(#45): CD pour les binaires — build automatique à chaque merge vers main by @MathildeDec in #47
- Promotion dev → main : 7 issues résolues + CD by @MathildeDec in #48
- fix(#45): electron-builder --publish never en CI by @MathildeDec in #49
- fix(#45): promotion dev → main — fix electron-builder --publish never by @MathildeDec in #50
- fix(#52): preload compatible sandbox, bandeau d'erreur et journal de démarrage by @MathildeDec in #53
- CI : harnais Electron bloquant, ui-flows.js 18/18, fumée du preload packagé (#54) by @MathildeDec in #102
- Dev by @MathildeDec in #103
- test(#93): harnais main.js avec module electron simulé by @MathildeDec in #118
- test(#100) : couverture d'assets/app.js — exclusion documentée + mesure V8 informative by @MathildeDec in #123
- test(file-search): couverture 100 % de lib/file-search.js (#73) by @MathildeDec in #104
- test(#74): couverture 100 % de lib/cooldown-notify.js by @MathildeDec in #105
- test(activity-status): couverture 100 % lignes/branches/fonctions (#75) by @MathildeDec in #106
- test(#79): couverture 100 % de assets/icons.js (hydrateIcons) by @MathildeDec in #107
- test(claude-adapter): couverture 100 % de lib/claude-adapter.js (#77) by @MathildeDec in #108
- test(#76): couverture 100 % de lib/settings.js by @MathildeDec in #109
- test(#78): couverture 100 % de lib/startup-diagnostics.js by @MathildeDec in #110
- test(#81): couverture de scheduler/index.js — init, chargement et persistance by @MathildeDec in #111
- test(#88): couverture de Scheduler#retryJob et #openZip by @MathildeDec in #112
- test(#84): couverture de la surveillance des téléchargements (scheduler/index.js) by @MathildeDec in #113
- test(#82): couverture scheduler/index.js — getState, syncAccounts, setEnabled, setConfig by @MathildeDec in #114
- test(scheduler): couverture projets et tâches de scheduler/index.js (#89) by @MathildeDec in #115
- test(#85) : couverture scheduler/index.js — cycle de vie des jobs by @MathildeDec in #116
- test(scheduler): couverture de registerSchedulerIPC (#92) by @MathildeDec in #117
- test(scheduler): couverture du pilotage de Claude (#90) by @MathildeDec in #119
- test(#99): couverture 100 % de assets/boot-guard.js by @MathildeDec in #121
- test(scheduler): couverture des erreurs d'automatisation (#87) by @MathildeDec in #122
- Couverture main.js : handlers réglages (#96) by @MathildeDec in #124
- test(#91): couverture de la détection de complétude du scheduler by @MathildeDec in #120
- Couverture main.js : handlers fichiers (#94) by @MathildeDec in #128
- Couverture main.js : handlers comptes (#95) by @MathildeDec in #125
- Couverture main.js : journal et instance unique (#97) by @MathildeDec in #126
- Couverture main.js : sécurité de la fenêtre et diagnostics (#98) by @MathildeDec in #127
- chore: merge main dans dev — débloque la PR #129 by @MathildeDec in #134
- test: couverture 100% escape-html, tab-actions, scheduler/core (#71, #72, #80) by @MathildeDec in #130
- test: couverture scheduler/index.js — pickDownloadsDir, pickDeliveryDir, tryAutoLaunch, launchJob (#83, #86) by @MathildeDec in #131
- ci: exclure test/ du rapport de couverture — Node 22 (#70) by @MathildeDec in #132
- docs: mettre à jour les harnais dans PROJECT_CONTEXT.md (#69) by @MathildeDec in #133
- test(main.js): dernières lignes non couvertes — activate, window-all-closed, journal packagé/debug by @MathildeDec in #135
- Dev by @MathildeDec in #129
- chore: resynchroniser dev avec main après la promotion #129 by @MathildeDec in #141
- ci: les tests en échec laissaient le job Qualité vert (pipefail) by @MathildeDec in #143
- fix(scheduler): dossier temporaire unique pour l'analyse de ZIP (test intermittent) by @MathildeDec in #148
- ci: seuil de couverture bloquant (#101) by @MathildeDec in #147
- feat(ui): retirer le bouton « Épuiser (24h) » (#136) by @MathildeDec in #142
- feat(ui): clic sur l'e-mail d'un compte -> presse-papiers (#138) by @MathildeDec in #144
- feat(réglages): les couleurs de l'app suivent le thème du bureau (#139) by @MathildeDec in #145
- feat(ui): puce de statut sur chaque bouton d'IA (#137) by @MathildeDec in #146
- fix(theme): barre latérale, en-tête et onglets lisibles en thème clair (suite #139) by @MathildeDec in #150
- feat(ui): menu natif masqué, outils de dév. et nom de l'app dans la barre du workspace, bouton Ctrl+K (#149) by @MathildeDec in #151
- Dev by @MathildeDec in #152
- chore: resynchroniser dev avec main après la promotion #152 by @MathildeDec in #153
- Tests : couverture 100 % lignes/branches/fonctions, seuils à 100 (#55) by @MathildeDec in #155
- fix(install): ajouter le modèle iao.desktop.in manquant by @MathildeDec in #157
- feat(tabs): onglets étoilés (issue #154) by @MathildeDec in #158
- Promotion dev → main : installation Linux (#156), onglets étoilés (#154), couverture 100 % (#55) by @MathildeDec in #159
- chore: resynchroniser dev avec main après la promotion #159 by @MathildeDec in #160
- chore: resynchroniser dev avec main (promotion #159, reprise de #160) by @MathildeDec in #161
- feat(debug): mode --debug sur toute l'application (#162) by @MathildeDec in #163
- Promotion dev → main : mode --debug sur toute l'application (#162) by @MathildeDec in #164
- fix(#165): --debug obsolete, sandbox Linux, nettoyage Service Worker by @MathildeDec in #166
- ci: jobs Linux sur le groupe de runners maison (corrige la syntaxe de #167) by @MathildeDec in #168
- feat(#51): internationalisation gettext, lot 1 (29 locales, interface statique) by @MathildeDec in #169
- feat(#51): libellés construits par app.js traduisibles (lot 2) by @MathildeDec in #170
- feat(#51): réglage « Langue » et langue du système (lot 3) by @MathildeDec in #171
- feat(#51): HTML construit par app.js traduisible (lot 4) by @MathildeDec in #172
- fix(#165): install.sh reconstruit un build périmé by @MathildeDec in #173
- fix(#7): SHA256SUMS.txt sur les fichiers publiés (zip Windows inclus) by @MathildeDec in #174
- chore: resynchroniser dev avec main (promotion #164) by @MathildeDec in #175
- chore: resynchroniser dev avec main (promotion #164) by @MathildeDec in #179
- Release dev → main : i18n 29 locales, install.sh, --iao-debug, SHA256SUMS, runners maison by @MathildeDec in #180
- fix(#181): IAO démarre sans l'ordonnanceur, bouton Démarrer / Arrêter by @MathildeDec in #182
- docs: documentation MkDocs et job CI mkdocs build --strict by @MathildeDec in #183
- i18n : catalogues sans numéros de ligne (#195) by @docker25200 in #207
- fix(#185): ERR_ABORTED (-3) au démarrage sans bandeau d'erreur by @MathildeDec in #193
- i18n(#188): 27 langues traduites, relecture humaine attendue by @MathildeDec in #191
- fix(#186): comptes lus au démarrage dans iao.log, restauration depuis l'instantané by @MathildeDec in #196
- fix(#184): diagnostic des fichiers de données appartenant à un autre compte by @MathildeDec in #197
- feat(#187): relancer en mode debug depuis l'application, chemin du journal by @MathildeDec in #198
- docs(#189): CLAUDE.md, toute instruction reçue dans le chat devient une issue by @MathildeDec in #190
- feat(#199): tâches programmables, lot 2 — cœur pur (remplace #202) by @mathylde25 in #210
- feat(#199): tâches programmables, lot 2 — cœur pur by @deusyv in #202
- feat(#199): ancien ordonnanceur désactivé par défaut (lot 1) (remplace #204) by @mathylde25 in #211
- feat(#199): ancien ordonnanceur désactivé par défaut (lot 1) by @deusyv in #204
- feat(#199): exécution des tâches programmables (lot 3) (remplace #208) by @mathylde25 in #212
- feat(#199): exécution des tâches programmables (lot 3) by @deusyv in #208
- feat(#203): état du dossier de données dans iao.log à chaque démarrage (remplace #205) by @mathylde25 in #213
- feat(#203): état du dossier de données dans iao.log à chaque démarrage by @deusyv in #205
- feat(#201): comptes en série, mot de passe de messagerie chiffré, webmail (remplace #209) by @mathylde25 in #214
- feat(#201): comptes en série, mot de passe de messagerie chiffré, webmail by @deusyv in #209
- Relais dev → main (19/10/2026) by @mathylde25 in #215
- feat(#199): interface des tâches programmables (lot 4) by @mathylde25 in #216
- fix(#218): bandeau « Invalid guestInstanceId » à la fermeture d'un onglet (Electron 43.8.0) by @docker24006 in #219
- feat(#206): statistiques d'utilisation, lot 1 (sessions et temps actif) by @docker24006 in #217
- i18n(en): libellés des tâches programmables (#199, lot 4) by @docker24006 in #222
- fix(#184): nettoyer les Service Worker de toutes les partitions by @mathylde25 in #223
- i18n(de): traduction complète de l'interface en allemand by @mathylde25 in #224
- i18n(es): nouvelle langue — espagnol, interface entièrement traduite by @mathylde25 in #225
- i18n(it): interface entièrement traduite en italien by @mathylde25 in #226
- i18n(pt): interface entièrement traduite en portugais by @mathylde25 in #227
- i18n(de,es,it,pt): retouches de relecture + en-têtes honnêtes by @mathylde25 in #229
- fix(#223): durcissement du nettoyage Service Worker (revue) by @mathylde25 in #228
- feat(#206): statistiques lot 2 — heures de pointe, série, comptes inutilisés, tâches par compte, tri by @docker24006 in #230
- feat(#206): lot 2a — mesure des temps de réponse et des quotas by @mathylde25 in #231
- fix(#206): durcissement de la mesure lot 2a (revue) by @mathylde25 in #233
- fix(#223/#228): durcissement du nettoyage Service Worker (revue) by @mathylde25 in #234
- fix(#51): vrai contrôle des marqueurs {…} + pt « Conversa » (revue #229) by @mathylde25 in #235
- i18n(#51): néerlandais complet (426/426) by @docker24006 in #236
- i18n(#51): polonais complet (426/426) by @docker24006 in #237
- i18n(#51): russe complet (426/426) by @docker24006 in #238
- i18n(#51): japonais complet (426/426) by @docker24006 in #239
- i18n(#51): chinois simplifié complet (426/426) by @docker24006 in #240
- i18n(#51): coréen complet (426/426) by @docker24006 in #241
- i18n(#51): suédois complet (426/426) by @docker24006 in #242
- i18n(#51): danois complet (426/426) by @docker24006 in #243
- i18n(#51): norvégien bokmål complet (426/426) by @docker24006 in #244
- i18n(#51): indonésien complet (426/426) by @docker24006 in #245
- i18n(#51): finnois complet (426/426) by @docker24006 in #246
- i18n(#51): tchèque complet (426/426) by @docker24006 in #247
- i18n(#51): ukrainien complet (426/426) by @docker24006 in #248
- test: attente active des jobs dans scheduler-automation (instabilité CI) by @docker24006 in #261
- i18n(#51): turc complet (426/426) by @docker24006 in #249
- i18n(#51): vietnamien complet (426/426) by @docker24006 in #250
- i18n(#51): roumain complet (426/426) by @docker24006 in #251
- i18n(#51): hongrois complet (426/426) by @docker24006 in #252
- i18n(#51): grec complet (426/426) by @docker24006 in #253
- i18n(#51): arabe complet (426/426) by @docker24006 in #254
- i18n(#51): hébreu complet (426/426) by @docker24006 in #255
- i18n(#51): persan complet (426/426) by @docker24006 in #256
- i18n(#51): hindi complet (426/426) by @docker24006 in #257
- i18n(#51): bengali complet (426/426) by @docker24006 in #258
- i18n(#51): thaï complet (426/426) by @docker24006 in #259
- feat(#51): mise en page de droite à gauche (dir=rtl) by @docker24006 in #260
- feat(#206): statistiques lot 3 — évolution SVG, export CSV/JSON, remise à zéro (à relire, ne pas fusionner sans accord) by @docker24006 in #232
- test(#51): vérification visuelle RTL dans le harnais Electron (C7.5) by @docker24006 in #262
- ci(windows) : recette d'install.bat sur VM Windows + correctif PATH (#3) by @docker24006 in #263
- feat(diagnostic) : script de rapport de démarrage (#52, #58, #59) by @docker24006 in #264
- feat(release) : signature GPG conditionnelle des sommes SHA-256 (#7) by @docker24006 in #265
- feat(i18n) : vrais pluriels gettext pour les compteurs (#51) by @docker24006 in #266
- ci(i18n) : chaînes ajoutées et supprimées dans le rapport des PR (#51) by @docker24006 in #267
- Statistiques : temps de réponse des messages envoyés à la main (#206) by @docker24006 in #268
- Statistiques : temps de réponse et quotas atteints (#206, lot 2b) by @docker24006 in #270
- Diagnostic de démarrage : publication dans l'issue et carte graphique (#58) by @docker24006 in #272
- feat(#206): lot 4 — faire parler les chiffres (évolution, surchargés, export JSON) by @deusyv in #274
- Statistiques, lot 4 : temps de réponse dans les totaux, évolution, comptes surchargés (#206) by @docker24006 in #273
- fix(#275) : analyse de ZIP sans shell, injection de commande corrigée by @deusyv in #276
- feat(#278): lot 1 — coffre d'identifiants partagé entre profils by @mathylde25 in #280
- fix(#277): popups d'authentification toujours dans l'application by @mathylde25 in #279
- feat(#278): lot 2 — menu d'identifiants au focus + interface Réglages by @mathylde25 in #282
- fix(#283): harnais UI — crash du renderer détecté au lieu d'un délai global muet by @mathylde25 in #284
- fix(#206): export des statistiques écrit de façon atomique (C11.4 intermittent) by @mathylde25 in #285
- Dev by @MathildeDec in #281
New Contributors
- @MathildeDec made their first contribution in #1
- @docker25200 made their first contribution in #207
- @deusyv made their first contribution in #202
- @docker24006 made their first contribution in #219
Full Changelog: https://github.com/Mathilde-Team/IAO/commits/nightly