Le changelog du frontend est ici: hesperides-gui/CHANGELOG.md
Tous les changements notables sur ce projet sont documentés dans ce fichier. Le format est basé sur Keep a Changelog.
Il est généré automatiquement à partir des commits dont le message débute par
added:
/ changed:
/ deprecated:
/ removed:
/ fixed:
/ security:
gâce à gitchangelog :
pip install gitchangelog pystache
gitchangelog
Les messages de commit ne comprenant pas ces préfixes,
par exemple ceux suivant la convention Conventional Commits
débutant par chore:
/ docs:
/ refactor:
/ style:
/ test:
,
ne seront simplement pas inclus dans ce changelog.
Pour automatiquement mettre à jour ce fichier à chaque commit,
placez le code suivant dans .git/hooks/pre-commit
:
#!/bin/sh
git fetch --tags upstream && gitchangelog && git add CHANGELOG.md
- Heroku.yml. [Lucas Cimon]
- #872 : Recherche de propriétés par nom et/ou valeur partielle + regex. [Thomas L'Hostis]
- Simple ldap support (#878) [Suzie]
- Documentation workflow_dispatch (#871) [Thomas L'Hostis]
- #384: Recherche de propriétés (#867) [Thomas L'Hostis]
- #863 : La recherche des technos ignore la casse. [Thomas L'Hostis]
-
Création d'un endpoint de récupération des mots de passe réservé aux utilisateurs tech. [Thomas L'Hostis]
-
Document meaning of "simulate" query param in Swagger. [Lucas Cimon]
- Récupère l'évènement d'ajout de modules dans le premier évènement d'une plateforme (#856) [Thomas L'Hostis]
- Ajout du paramètre origin_timestamp au diff. [Thomas L'Hostis]
- Warning in Docker entrypoint (#853) [Lucas Cimon]
- #826: Historique des valorisations de propriétés (#848) [Thomas L'Hostis]
- Liste complète des propriétés détaillées d'une plateforme (#816) [Thomas L'Hostis]
- #78: Améliorer la description des actions faites dans l'historique des évènements d'une plateforme (#830) [Thomas L'Hostis]
- Messages d'erreur plus explicites en cas de 401 (#842) [Lucas Cimon]
-
BDD scenario "current user info provides no credentials" (#845) [Lucas Cimon]
-
#840: Correction du log d'évènement de mise à jour de plateforme (#841) [Thomas L'Hostis]
- URL format in GET /files output (#839) [Lucas Cimon]
- On PUT /properties, detect a duplicate property differing only by a trailing whitespace - fix #836 (#837) [Lucas Cimon]
-
Sub-optimal cache that systematically made LDAP connections (#835) [Lucas Cimon]
-
#832: Impossible de purger les propriétés inutilisées d'un module dont le
propertiesVersionId
est ànull
(#833) [Thomas L'Hostis]
- Error 500 when specifying an empty from_name or from_version to POST /technos (#829) [Lucas Cimon]
- Now using Java 11 + fix #818 (#819) [Lucas Cimon]
-
Runtime OpenJDK version in Dockerfile (#823) [Lucas Cimon]
-
Maven Docker image version used. [Lucas Cimon]
- #813: Sauvegarde des commentaires lors des mises à jour de propriétés (oops...) [Thomas L'Hostis]
- #803 : Permettre le nettoyage des propriétés inutilisées (#815) [baaroth]
- #810: Comparaison d'une propriété non définie à une propriété non valorisée mais avec valeur par défaut. [Thomas L'Hostis]
- #782: Détails des propriétés valorisées. [Thomas L'Hostis]
- #792: Le diff tient désormais compte des propriétés globales dans la comparaison des valeurs finales. [Thomas L'Hostis]
- #779: Empêche la création de doublons à la réception d'une requête dupliquée (#789) [Thomas L'Hostis]
- $SERVER_PORT configuration env var to simply $PORT (#790) [Lucas Cimon]
- #783: Ne pas inclure pour les plateforme le champ "has_passwords" si "with_password_info" n'est pas fourni. [Thomas L'Hostis]
- Fix #784: Sauvegarder une propriété @required non valorisée ayant le même non qu'une propriété globale valorisée. [Thomas L'Hostis]
-
#502: Valorisation conservées lors d'un rollback de version (#774) [Bhoye05]
-
#378: Un module ne peut être releasé s'il a au moins une techno non releasée (#773) [Thomas L'Hostis]
-
#530: Test fonctionnel de fichier avec propriété par défaut sans valorisation. [Thomas L'Hostis]
-
#651: Versions de modules sans duplicat. [Thomas L'Hostis]
-
#735: Tests fonctionnels du diff avec timestamp. [Thomas L'Hostis]
-
#66 : Global property usage in iterable properties. [Bhoye05]
- #767: Empêche l'accès aux fichiers d'instances présentes uniquement dans un module archivé (#768) [Thomas L'Hostis]
- Documentation des aspects implicites de la glue (#763) [Thomas L'Hostis]
- /applications/using_module/{module_name}/{module_version}/{version_type} does not return anymore platforms that used to contain the target module - close #765 (#766) [Lucas Cimon]
-
Documentation des en-têtes de endpoints dépréciés (#761) [Thomas L'Hostis]
-
HTTP headers in responses for deprecated resources + fix FilesController.getFile resource path (#760) [Lucas Cimon]
-
#648 cas de MAJ de propriété avec le même nom mais 2 valeurs différentes dans la playload revue. [Bhoye05]
-
648: lever une exception lors de la sauvegarde d'un properties avec une clé dupliqué. [Bhoye05]
- Les ressources débutant par /files et sont renommée en /applications/.../files - close #699. [Bhoye05]
- /technos/create_release query params names to remove deprecated "package" term. [Lucas Cimon]
- #350 Refuser la suppression des modules/technos utilisés par des plateformes. [Bhoye05]
- Unused global properties appearing in /diff - close #752 (#753) [Lucas Cimon]
- Fixing AD integration tests (#749) [Lucas Cimon]
- Bug lorsque propriété simple & itérable ont le même nom - close #701 (#708) [Lucas Cimon]
- Un champ .transformations dans la sortie du /diff permet désormais d'identifier si la valeur d'une propriété est issue d'une globale (#743) [Lucas Cimon]
- We require property to have a name when saving them through a PUT (#742) [Lucas Cimon]
- Timestamp query parameter description. [Lucas Cimon]
- #710 #381 : Diff de propriétés globales, de modules, itérables d'instance. [Thomas L'Hostis]
- Retry logic when requesting LDAP to be more resilient. [Lucas Cimon]
-
ClassCastException in GetUserQuery (#731) [Lucas Cimon]
-
#39 : Update properties concurrently (#703) [Lucas Cimon]
- $HOSTNAME displayed in /versions to allow easier identification of backend instance (#726) [Lucas Cimon]
- Correction des règles de restriction des actions "de prod" vis à vis des ACLs - fix #721 (#722) [Lucas Cimon]
-
Maven build. [Lucas Cimon]
-
Syntaxe du application.yml pour prendre en compte $AGGREGATES_LOG_LEVEL pour contrôler le niveau de logs de PlatformAggregate. [Lucas Cimon]
- ModuleAggregate / PlatformAggregate logs + réduction de leur verbosité pour les tests (#707) [Lucas Cimon]
- Implémentation de la restriction sur les modifications de propriétés de plateforme de production (#694) [Lucas Cimon]
- /applications/using_module renvoie seulement les plateformes employant le module avec exactement la version indiquée - close #685 (#688) [Lucas Cimon]
- APPLICATION_BOOT_TIME to /versions + removed BUILD_TIME from SENTRY_TAGS as it had an invalid format (#686) [Lucas Cimon]
- #675 Get all applications (#682) [Thomas L'Hostis]
- Support Sentry (#681) [Lucas Cimon]
- Pour modules/perform_search, en cas de match exact, il est toujours inclus en 1er résultat - cf. #595 & Fix: stress tests en upgradant gatling-maven-plugin (#676) [Lucas Cimon]
-
/manage/mappings - close #414 (#673) [Lucas Cimon]
-
Il est désormais possible de fournir un template_name pour les GET/DELETE via Swagger - close #639 (#671) [Lucas Cimon]
- Les caractères HTML échappés dans le JSON de la sortie de GET /files posent problème - close #662 (#663) [Lucas Cimon]
- 404 en cas de version type invalide dans /properties?path= (#656) [Lucas Cimon]
- #644 Paramétrage du nombre de résultats retournés par la recherche de modules et de technos (#645) [Thomas L'Hostis]
- Get properties of a platform with valued properties at a specific time in the past - part of the resolution of #229 (#647) [Lucas Cimon]
- Description du format des query params "terms" dans le Swagger pour les recherches de modules & technos (#643) [Lucas Cimon]
- /users/auth?logout=true pour permettre la déconnexion d'utilisateurs via leur navigateur (#642) [Lucas Cimon]
- Le conteneur Docker peut être lancé sans $PROJECTION_REPOSITORY_MONGO_URI si le profil Spring "fake_mongo" est défini (#641) [Lucas Cimon]
- On permet la restauration de plateforme qui viennent d'être supprimées mais n'ont pas été modifiées dans les 7 derniers jours - close #638 (#640) [Lucas Cimon]
-
Paramètre booléen ?copy_instances_and_properties pour la copie de plateforme - close #634 (#635) [Lucas Cimon]
-
/{application_name}/platforms/{platform_name}/restore - implementation backend pour #622 (#631) [Lucas Cimon]
- Simplification de /rest/versions & correction timezone du "build time" (#626) [Lucas Cimon]
-
Les platformes restaurés ne pouvaient plus être modifiées à cause d'un problème de cohérence dans l'aggrégat (#636) [Lucas Cimon]
-
#632 Simplification du Swagger (#633) [Thomas L'Hostis]
- Lors d'une copie de plateforme on ignore les deployed modules inactifs de l'historique (#624) [Lucas Cimon]
- POST /technos/perform_search (#618) [Lucas Cimon]
- Correction du GET /events/platforms/... & ajout tests BDD (#617) [Lucas Cimon]
- Utilisation de
gitchangelog
pour générer ce fichier CHANGELOG.md (#616) [Lucas Cimon]
- le même ID ne peut plus être réutilisé pour plusieurs deployed modules lors de requêtes
POST
&PUT
surplatforms
- cf. #574
- un espace est désormais autorisé dans les version de plateforme
Refonte complète de l'application en préservant une rétro-compatibilité totale de l'API.
Changement architecturaux majeurs :
- organisation du code selon le paradigme du Domain Driven Design
- utilisation du framework Axon pour implémenter les principes d'Event Sourcing
- Spring Boot 2 remplace Dropwizard comme framework web
- l'application est désormas déployée comme conteneur Docker
Quelques changements fonctionnels mineurs :
- l'application est désormais complètement stateless (plus de cookie de session)
- les
technos
ne peuvent être supprimées tant qu'elles sont employées par au moins un module - la requête des
technos
,modules
&platforms
est désormais insensible à la casse - les mots de passe sont complètement cachés lors des requêtes
GET
sur les propriétés et fichiers pour les utilisateurs sans les droits "prod" - le nombre de deployed module préservés dans l'historique des plateformes est limité à 2
- la gestion des doublons de définitions de propriétés dans les templates, avec un même nom mais des annotations différentes, est désormais déterministe et documentée
- de nouveaux endpoints :
GET /applications
qui est plus performant et remplaceGET /applications/perform_search?name=
employé auparavantGET /modules/using_techno/{techno_name}/{techno_version}/{techno_type}
GET /technos & /technos/{techno_name} & /technos/{techno_name}/{techno_version}
/manage/prometheus
qui fournit des métriques Prometheus
- des tests BDDs couvrent toutes les fonctionnalités
- un cache interne des demandes d'authentifcations à l'ActiveDirectory, pour limiter ces requêtes (avec un TTL de 5min TTl par défaut)
- des tests d'intégration avec véritable base Mongo & des stress tests Gatling exécutés dans la pipeline Travis
- le endpoint
/templates/packages
, remplacé partechnos
POST /technos/search - /modules/search - /modules/perform_search - /applications/search - /applications/perform_search
remplacé par des endpointsGET
avec les même noms