Sommaire
08/06/2019 : Console 1.8.5.703
- Console : empêche la fermeture d’une modale si le focus est sur un champ de saisie (ex: lorsque l’on sélectionne le contenu d’un champ en passant le curseur de la souris en dehors de la modale)
- Console : désactivation du ‘backdrop’ sur la modale de sélection des mises à jour
- Console / Console Log : correction du redimensionnement de la console qui dans certain cas rare pouvait créer une marge importante dans le bas
07/06/2019 : Console 1.8.5.700
- Console / StateObject Explorer : préserve la position de la scrollbar dans la modale de visualisation d’un StateObject quand la valeur est mise à jour (Refresh ou Subscribe)
06/06/2019 : Console 1.8.5.693
- Console : repli automatique du menu lors d’un changement page en mode mobile
- Console : demande de confirmation à chaque fermeture de modale si des changements sont en attente d’enregistrement et désactivation du bouton d’enregistrement si aucun changement
- Console / Console Log : correction de l’affichage inopinée de la scrollbar
- Console / MessageCallback Explorer : gestion des paramètres et propriétés de type Nullable<T> dans la composition d’un message
- Console / MessageCallback Explorer : sélection automatiquement de la valeur par défaut (si définie) pour les listes déroulantes (pour les types « Enum » et « Bool »)
- Console / StateObject Explorer : correction de l’enregistrement multiple des raccourcis clavier
- Console / StateObject Explorer : correction d’un bug qui dans certain cas ne chargeait pas les StateObjects lors du premier affichage
- Console / Configuration Editor : support de la recherche (Ctrl+F), remplacement, « Aller à la ligne », etc…
- Console / Configuration Editor : ajout de différents raccourcis clavier et ajout d’une modale pour lister ces différents raccourcis claviers
- Console : correction de l’impossibilité d’utiliser la fonction « Copier » (Ctrl+C) dans l’éditeur CodeMirror (Configuration Editor, édition d’un Setting JSON ou XML, visualisation d’une réponse d’un message ou générateur de code des MessageCallback). Régression introduite dans la version 1.8.5.669 avec la mise à jour de jQueryTerminal 2.6.1 en conflit avec Code Mirror
- Console : empêche la fermeture d’une modale si le focus est sur l’éditeur CodeMirror (comme par exemple lorsque l’on tente de sélectionner la valeur d’un setting ou d’un StateObject en passant le curseur de la souris hors de la modale)
- Console : correction d’un bug lié au Ctrl+Z dans l’éditeur CodeMirror
- Console : correction des erreurs levées dans la console du navigateur lors des fermetures des modales ou lors de l’édition des Credentials
- Console : mise à jour vers CodeMirror 5.47 et des différentes colorations syntaxiques des langages utilisés
28/05/2019 : WPI Linux 1.9.671
- Correction et amélioration du mécanisme de détection des installations existantes
28/05/2019 : Console 1.8.5.669
- Console : correction des modales « Package Settings », « Credential » et « Message Groups » suite à la mise à jour d’UI Bootstrap 2.5 introduit dans la version 1.8.5.532
- Console : correction de l’affichage « responsive » de la Console Log
- Console : correction d’un bug critique qui « cassé » la page si la Console Log était trop longue à s’initialiser (sur un mobile par exemple)
- Console : mise à jour de la Console Log vers jqueryTerminal 2.6.1 et encapsulation de la librairie dans un module AngularJS pour une meilleure interaction
- Console : possibilité de copier dans le presse-papier (Ctrl+C) la sortie de la Console Log
- Console : mise à jour vers jQuery 3.4.1, Angular 1.7.8 et SignalR 2.4.1
27/05/2019 : SDK 1.8.6.667
- SDK : fin du support pour Visual Studio 2012 et Visual Studio 2013 (extension compatible VS2015 (14.0), VS2017 (15.0) et VS2019 (16.0))
- SDK : migration du package VS en AsyncPackage (chargement asynchrone de l’extension Constellation par Visual Studio pour se conformer aux nouvelles exigences en matière de performance et UX de Visual Studio)
- SDK : mise à jour (downgrade par rapport au SDK 1.8.5) sur .NET 4.6.2 et VS libs 14.0 pour supporter pleinement VS2015 et +
- Mise à jour du Code Generator (gestion des « default values » sur les paramètres de type Enum et gestion des doublons de propriétés)
17/05/2019 : WPI Windows 1.9.641
- WPI : ajout d’un écran de sélection du canal Stable vs Beta pour l’installation des composants Constellation
- WPI : Auto-configuration du serveur local Constellation dans Visual Studio lorsque le SDK est installé sur une machine Windows avec le serveur Constellation (bugfix)
- WPI : Bugfix de la connection au service de licence
- WPI : mise à jour de la signature code-signing
17/05/2019 : SDK 1.8.5.637
- SDK : support Visual Studio 2019
- SDK : mise à jour de la commandbar
- SDK : mise à jour sur .NET 4.7.2 et VS libs 16.0
- SDK : mise à jour de la signature Code-Signing
- SDK : mise à jour des templates de projet avec les dernières versions des packages NuGet
- Installeur : suppression de l’ancien serveur NuGet dans les sources VS (plus d’info)
17/05/2019 : Python lib 1.8.7.633
- PythonProxy : mise à jour des dépendances du package NuGet pour exclure ZMQ 4.x (non compatible)
14/05/2019 : WPI Linux 1.9.613
- Bootstrapper : sélection du repository Mono selon l’OS et l’architecture CPU
- Bootstrapper : revu des installations APT et mise à jour des sources
- WPI : support Python 3.x
- WPI : écran de sélection du canal Stable vs Beta pour l’installation des composants Constellation
- WPI : nouveau « menu général » indiquant clairement les opérations possibles (Installation, Réinstallation, Upgrade ou Downgrade des différents composants en se basant sur les capacités du système et les versions déjà installées)
- WPI : installation et enregistrement automatique de la sentinelle sur le serveur Constellation local (détection et configuration automatique)
- WPI : suggestion d’installation et de configuration automatique de la Console puis de la Sentinelle lors de l’installation du serveur
- WPI : réécriture du programme WPI en « All-In-One » (un seul programme Python gérant l’ensemble du processus d’installation pour une meilleure UX)
- WPI : correction des problèmes liés aux mots de passe trop complexes
- WPI : autre amélioration et correctif mineur
10/05/2019 : Python lib 1.8.7.597
- PythonProxy : affichage de la stacktrace complète lorsqu’une exception est levée dans le dispatch d’un MessageCallback ou d’un StateObjectLink
- PythonProxy : ajout d’un mécanisme de substitution XML dans la section de configuration « pythonProxy » dans votre app.config par des settings Constellation
- PythonProxy : ajout automatique de la section XML de configuration dans le fichier « app.config » lors de l’installation du package
25/03/2019 : Console 1.8.5.532
- Console / StateObject Explorer : nette amélioration des performances par la mise en place d’un binding « one-way »
- Console / MessageCallback Explorer : nette amélioration des performances par la mise en place d’un binding « one-way »
- Console : Migration des appels AJAX sur la nouvelle API jQuery 3.x
- Console : Mise à jour vers jQuery 3.3.1, Angular 1.7.7, UI Bootstrap 2.5 et SignalR 2.4
- Console : Nouveau pipeline CI/CD
04/02/2019 : Python lib 1.8.6.19032
- PythonProxy : Support de Python 3.x
- PythonProxy : invocation des MessageCallbacks, StateObjectLink et autres événements de manière asynchrone (thread différent)
- PythonProxy : Ajout d’un événement OnSettingsUpdated permettant d’être notifié en cas de mise à jour des settings sur Constellation
- PythonProxy : l’accès aux settings (via la méthode GetSettings) est possible juste après l’import de la librairie Constellation (avant même d’invoquer le Constellation.Start)
- PythonProxy : le « Working Directory » (os.getcwd()) est maintenant le répertoire du package et non le répertoire du script Python lui-même
- PythonProxy : revu du mécanisme de ping entre le proxy .NET et la sandbox Python basé maintenant sur le temps CPU et non l’horloge système (problème lié au changement d’heure)
- PythonProxy : affichage des numéros de version du Proxy python et interpréteur python au démarrage des scripts
- PythonProxy : Correction de la non prise en charge de l’attribut « pythonCmd » suite mise à jour 1.8.5 si défini au niveau global
15/10/2018 : Python lib 1.8.5.18283
- PythonProxy : Ajout de l’attribut « pythonCmd » dans la configuration du PythonProxy (app.config) permettant de sélectionner l’interpréteur Python à utiliser pour un script donné ou pour l’ensemble des scripts d’un package Python
- PythonProxy : Correctifs mineurs
25/04/2018 : SDK 1.8.3.17334
- Mise à jour du template Python
- Mise à jour des templates de projet avec le package PythonProxy 1.8.3.17332
10/04/2018 : Server et Sentinel 1.8.4.18100
- Server : Mise à jour des dépendances vers .NET 4.6.2, SignalR 2.2.3, OWIN 4.0, JSON.net 11.0.2 et NLog 4.5.1
- Sentinel : Mise à jour des dépendances vers SignalR 2.2.3, JSON.net 11.0.2 et NLog 4.5.1
10/04/2018 : Console 1.8.4.18100
- Console : affichage du type de licence dans la sidebar
- Console / StateObject Explorer : désabonnement et réinitialisation du timer d’expiration des StateObject si la modal de détail est « dismiss »
- Console / Configuration Manager : ajout d’un bouton pour télécharger en local la configuration courante du serveur
- Console / Configuration Manager : bugfix sur le bouton « switch theme »
13/12/2017 : Server et Sentinel 1.8.3.17346
- Server / SentinelHub : ajout des méthodes GetServerVersion & ReportPackagesUsage (pour le report de plusieurs packages en même temps) sur le hub des sentinelles
- Server & Sentinel : ajout d’un CancellationToken pour la fermeture des taches en background
- Sentinel / ProcessMonitor : report de la consommation CPU des packages sous Mono/Unix via « /proc/stat » (l’implémentation Mono du Process.TotalProcessorTime n’est correcte)
- Sentinel / DeployPackage : support des sous-dossiers dans les packages (zip) non formatés au format standard Unix
- Sentinel / ReportPackageUsage : correction d’une fuite mémoire sur Mono pour ARM (ex: Raspberry) dans le cas où la sentinelle est sur le même système que le serveur
- Sentinel / ReportPackageUsage : interrogation du n° de version du serveur à la connexion de la sentinelle et activation de la nouvelle méthode de report des usages de package si serveur compatible (>= 1.8.3.17346)
- Sentinel / ReportPackageUsage : intervalle de temps pour le report des PackageUsages configurable (clé ReportPackageUsageInterval)
- Sentinel / ReportPackagesUsage : nouvelle méthode permettant le report de plusieurs packages en même temps (plus performant)
- Sentinel / Reporting : Ajout de mécanisme de contrôle pour le report concurrent des PackageUsage et PackageState
- Sentinel / Registering: vérification et ajout d’un timeout sur la Task d’enregistrement de la sentinelle dans la Constellation (RegisterSentinel)
23/11/2017 : Console 1.8.3.17326
- Console / MessageCallbacks Explorer : typage des paramètres Number (Int, Decimal, Float, etc..) et Boolean dans l’envoi de message depuis l’explorateur
- Console / Package : bugfix de l’appel du ‘RefreshSettings’ doublé en cas de mise à jour des settings
21/11/2017 : Python lib 1.8.3.17325
- PythonProxy : Support de la description des MessageCallbacks (officiellement annoncé avec la version 1.8.4)
- PythonProxy : Conversation des types de base Python en types .NET lors du PushStateObject
15/09/2017 : .NET lib 1.8.3.17258
- Common : Correction interne d’un bug fatal entraînant le crash du serveur au démarrage, des sentinelles et dans certain cas des packages (si le package invoque une saga avec une Task<T>) sur les systèmes utilisant la version 5.2 (ou supérieure) du runtime Mono (inclus nativement depuis Debian / Raspbian 9). Ce bug est lié au PR Mono #4404 publié depuis Mono 5.2.0.179 (remplacement du Microsoft.CSharp par l’implémentation du CoreFX)
- Common : durcissement de la classe ci-dessus pour éviter qu’un bug de ce type ne soit « fatal » en cas de changement d’implémentation du RuntimeBinder.
15/09/2017 : Server & Sentinel 1.8.3.17258
- Sentinel : mise à jour de la libraire Common pour bénéficier du correctif sur un environnement Mono >= 5.2
- Server : mise à jour de la libraire Common pour bénéficier du correctif sur un environnement Mono >= 5.2
- Server : enregistrement de toutes erreurs Fatales dans le fichier de log « ConstellationServerManager » avant la fermeture du processus en cas de crash
15/09/2017 : SDK 1.8.3.17258
- SDK : Mise à jour des templates de projet avec le package Constellation 1.8.3.17258
28/08/2017 : Python lib 1.8.3.17240
- PythonProxy : ZMQ linger timeout à 1sec pour améliorer la stabilité de la communication avec les scripts Python
- PythonProxy : choix du port ZMX/TCP aléatoire (géré par ZMQ)
- PythonProxy : correctifs de bugs mineurs
26/08/2017 : .NET lib 1.8.3.17238
- Common : ajout de surcharges acceptant un string seulement sur les méthodes WriteInfo/WriteDebug/WriteWarn/WriteError pour bypasser le string.Format si aucun argument n’est passé (évitant également les erreurs où la valeur d’un string contient des accolades)
26/08/2017 :Server 1.8.3.17238
- Server / Licensing : bugfix impossibilité de renouveller une licence expirée au démarrage du serveur (bug introduit dans la release 1.8.3.17190)
- Server / Management API : contrôle de l’existance d’un package sur une sentinelle lors d’un RemovePackage (autrement le serveur lève une NullReferenceException)
26/08/2017 : Console 1.8.3.17238
- Console : le bouton de déconnexion est caché si page de login est désactivée (AccessKey dans le fichier config.js)
- Console : redirection automatique vers la console lors du chargement de la page login si déjà loggé (cookie valide) ou que la page de login est désactivée (AccessKey dans le fichier config.js)
- Console : bugfix du retour vers la page de login toutes les 10 secondes alors que désactivée (accesskey dans le fichier config.js)
26/08/2017 : SDK 1.8.3.17238
- SDK : Mise à jour du template Python
- SDK : Mise à jour des templates de projet avec le package Constellation 1.8.3.17238
- SDK : Mise à jour des templates de projet avec le package PythonProxy 1.8.3.17238
25/08/2017 : Constellation Package Tools 1.0.5
- Publication de la première version du Constellation Package Tools sur PyPi (pip)
22/08/2017 : SDK 1.8.3.17234
- SDK : Mise à jour du template de projet PythonPackage avec le PythonProxy 1.8.3.17234
- SDK : Mise à jour des reférences du VS Package & Code Generator avec Constellation 1.8.3.17190, SignalR 2.2.2 et Json.net 9.0.1
- SDK : Compatibilité VS2017 Update 3 (15.3)
21/08/2017 : Python lib 1.8.3.17234
- PythonProxy : Supervision des scripts par un mécanisme de ping avec redémarrage automatique
- PythonProxy : Meilleur gestion des erreurs sur les appels d’événement
10/07/2017 : .NET lib 1.8.3.17190
- Common : Dépendances mises à jour vers JSON.NET 9.0.1 et SignalR 2.2.2
- Common : Le PackageHost passe le ConstellationClientType à « net40 » ou « net45 » lors de la connexion à Constellation
10/07/2017 : Server, Sentinel et SDK 1.8.3.17190
- Server : Dépendances mises à jour vers JSON.NET 9.0.1, SignalR 2.2.2, NLog 4.4.11 et OWIN 3.1.0
- Server : Ajout du ConstellationClientType dans les informations des packages sur le hub « Controller »
- Server : Extraction des propriétés ‘PackageVersion’, ‘ConstellationClientVersion’ et ‘ConstellationClientType’ depuis les QueryString si manquantes des headers HTTP (pour les packages Constellation utilisant la lib JS > 1.8.2)
- Server / ControlHub : nouvelle gestion des packages (réécriture complète, chargé en mémoire et parfaitement synchronisé au niveau du serveur entre la configuration XML et les contrôleurs)
- Server / ControlHub : le ReloadServerConfiguration envoi la liste des packages aux sentinelles seulement connectées et « Update settings » sur les packages connectés seulement et non à tous les groupes
- Server / ControlHub : prise en charge des mises à jour de configuration des packages à volée
- Server / Management API : ajout d’un objet de synchronisation pour les I/O vers le fichier de configuration pour éviter les écritures concurrentes
- Server / Licensing : LeaseLicensing dans le domaine serveur si multi-tenant sinon dans le domaine de la constellation si mono-instance (permettant ainsi de récupérer les erreurs de licence dans la Console Log)
- Server / API REST : Gestion du IsConnected sur les packages virtuels en se basant sur les abonnements de messages et/ou SO (SubscriptionId)
- Server / API REST : Timeout des sessions de 150 secondes par défaut configurable dans le fichier de configuration
- Server : Ajout de la clé « Constellation.BaseDirectory » permettant de définir le répertoire de base de la Constellation dans lequel trouver le fichier de configuration (cela permet de séparer les binaires de la configuration, très utile dans un environnement Docker)
- Server : refactoring et optimisations du code
- Sentinel : Dépendances mises à jour vers JSON.NET 9.0.1, SignalR 2.2.2, NLog 4.4.11 (et NLog.Windows.Form 4.2.3 pour les SentinelUI)
- Sentinel : Refactoring complet des sentinelles (suppression du ProcessManager présent depuis la 1.0, réécriture complète, chargement en mémoire et ne relance pas les packages au reload, plus stable et meilleure cohérence des états, etc..)
- Sentinel : ne lève pas d’erreur si la collection est modifiée au CheckProcessUsage (InvalidOperationException)
- Sentinel : les packages virtuels déployés sur une sentinelles réelles sont exclus (et ne lève pas d’erreur)
- SDK : Mise à jour des templates de projet avec les librairies Constellation 1.8.3.17190, SignalR 2.2.2 et Json.net 9.0.1
10/07/2017 : Console 1.8.3.17190
- Console : nouvelle gestion des packages basée sur les nouveautés du Server 1.8.3 (il n’y a plus de lecture des package en XML)
- Console : support complet des utilisateurs sans les droits de Management
- Console / Sentinels : Ajout du nom du credential utilisé par une sentinelle sur la fenêtre de détail d’une Sentinelle
- Console / Package : Ajout du ConstellationClientType dans la liste et fenêtre de détail
- Console / Package : Gestion des packages virtuels avec un statut Unknown, menu contextuel synchronisé et mise à jour de l’activité pour les package virtuel
- Console / Packages : « Update Settings » si le package est connecté et démarré (package virtuel compris)
- Console / Packages : bugfix déploiement de package avec un setting de type DateTime (module $filter non injecté dans le contrôleur principal)
- Console / Packages : bugfix déploiement de la configuration une fois que le SetRecoveryOption est terminé et non en parallèle
- Console / Console Log : ajout d’un bouton pour vider la console
- Console / MessageCallbacks Explorer : Mise à jour des code snippets avec les nouveautés des libs JS/NG 1.8.2
- Console : déconnexion des deux hubs (consumer et controller) si l’un des deux est déconnecté (cas très rare où l’un des deux hubs parvient à se reconnecter et pas l’autre)
- Console : Mise à jour de l’API Constellation Javascript & AngularJS en version 1.8.2 et de la librairie SignalR 2.2.2
05/07/2017 : API Javascript & AngularJS 1.8.2
- API Javascript : ajout du proxy « Package » pour écrire des packages (virtuels) en Javascript (eg. NodeJS)
- API Javascript : paramètre « data » optionnel sur la méthode sendMessage (avec ou sans Saga)
- API Javascript : possibilité de passer directement plusieurs paramètres sur la méthode sendMessage (avec ou sans Saga) pour les MessageCallbacks avec plusieurs arguments sans devoir déclarer un tableau de paramètre
- API Javascript : le callback de retour d’une saga est désormais le premier paramètre de la méthode sendMessageWithSaga. Gestion de la rétro-compatibilité permettant de passer le callback comme dernier paramètre (pas de breaking change en cas d’update)
- API AngularJS : basée sur l’API Javascript 1.8.2 (intégration des nouveautés concernant les sendMessage et sendMessageWithSaga)
- API AngularJS : ajout de la méthode disconnect sur les deux modules (Controller et Consumer)
29/06/2017 : Console 1.8.2.17180
- Console : rechargement automatique du repository de package local lorsqu’un package est uploadé via la Management API
- Console : ajout d’un timestamp sur les appels « RequestStateObjects » et de contrôle des dernières versions pour éviter les erreurs de cache navigateur
28/06/2017 : Python lib 1.8.2.17178
- PythonProxy : Mécanisme de Ping/Pong entre le package C# et les scripts Python pour vérifier l’état de vie des deux parties. Auto-fermeture du processus Python si pas de Ping reçu pdt plus de 30 secondes pour éviter les processus orphelins (notamment en cas de debug)
- PythonProxy : Ajout d’une section de configuration dans App.config pour définir les scripts Python à lancer (plutôt que se baser sur les fichiers .py du dossier Scripts)
- PythonProxy : Gestion d’un timeout du démarrage des scripts Python (30sec par défaut configurable en fichier de config)
- PythonProxy : Mode unbuffered par défaut (configurable dans la section XML) et redirection du stream de sortie et d’erreur des processus Python dans les logs Constellation
- PythonProxy : Monitoring des processus Python avec logging en cas d’arrêt
- PythonProxy : Autre changement mineur (refactoring & improvment)
28/06/2017 : .NET lib et SDK 1.8.2.17178
- Common : déclenchement de la procédure d’arrêt (OnPreShutsown puis OnShutdown) sur les packages lancés hors sentinelle (mode Standalone)
- SDK : Mise à jour des templates de projet avec le package Constellation 1.8.2.17178
- SDK : Mise à jour des templates de projet avec le package PythonProxy 1.8.2.17178
- SDK : Mise à jour du SDK sur la libraire Constellation 1.8.2.17178 et VisualStudio 15.0.26606
- SDK : Nettoyage automatique de la solution avant compilation lors d’une publication de package
- SDK : Ajout automatique de l’icone déclarée dans le manifeste dans le package (ajout de l’attribut CopyIfNewer & Build Action: Content)
- SDK : Ajout d’un ItemTemplate « Constellation Python Script » (attribut CopyIfNewer sur le fichier et ajout dans le App.config automatique)
- SDK : Ajout du schéma XSD de configuration des packages Python dans le SDK
22/06/2017 : Console 1.8.2.17173
- Console / Package : bugfix sur l’édition d’un setting de type boolean ou number sur un package sans manifeste (eg. Virtual Package)
- Console / StateObjects Explorer : Refresh automatique du SO lorsqu’il arrive à expiration dans la modal de détail
- Console / StateObjects Explorer : bugfix de la mise à jour des StateObjects qui n’étaient pas maintenus en cas de changement de page
20/05/2017 : .NET lib 1.8.2.17140
- Common : bugfix lors des réponses de Saga sur le framework Mono (veuillez mettre à jour la librairie sur vos packages depuis Nuget)
- Common : détection du framework .NET 4.6.2 et .NET 4.7 dans la description du package au serveur
28/04/2017 : Server et Console 1.8.2.17118
- Server / Management API : enregistrement des tableaux JSON dans un SettingContent (et non un SettingValue)
- Console : édition des settings XML et JSON dans CodeMirror même s’ils ne sont pas déclarés dans un manifeste (eg. package virtuel) en se basant sur la détection du contenu
- Console : injection d’un HttpInterceptor pour ajouter dynamiquement le n° de version sur les URI des templates Angular afin d’éviter les problèmes de cache lors des mises à jour de la Console
26/04/2017 : Server et Console 1.8.2.17117
- Server / Control Hub : contrôle de la cohérence des changements d’état des packages sur le ControlHub (pour éviter les packages dans un état incohérent dans certaines conditions rares)
- Server / Management API : les méthodes REST d’accès à la configuration (Get et Post) utilisent explicitement l’encoding UTF8 pour éviter les erreurs d’encodage
- Console : correction de l’éditeur de configuration qui ne chargeait pas correctement la configuration dans certaines conditions (bug lié à CodeMirrorUI)
- Console : actualisation des notifications de mises à jour des composants à la reconnexion au serveur
24/04/2017 : Console 1.8.2.17114
- Console / Online Package Repository : fenêtre de déploiement des mises à jour des packages affichée au format « large »
- Console : rechargement du n° de version du serveur, de la licence, du package repository et des recovery options à chaque reconnexion au serveur
22/04/2017 : Server 1.8.2.17112
- Server : section de configuration Constellation « constellationSection » renommée en « constellation »
- Server : ajout de la clé de configuration « EnablePerformanceCounters » pour activer/désactiver les PerfCounters (par défaut désactivé si non présente)
- Server : bugfix SubscribeStateObjects non fonctionnel sur Linux
22/04/2017 : Console 1.8.2.17112
- Console : mise à jour dynamique des vues en cas d’ajout ou suppression de sentinelles ou de package
- Console : ajout d’une fenetre de selection des package à recharger (reload) après le téléchargement d’une nouvelle version de package avec vérification de la compatibilité des settings obligatoires
- Console : extinction automatique des packages d’une sentinelle supprimée
- Console : contrôle de la compatibilité des packages <> sentinelle (décrite dans la section Platforms du Package Manifest)
- Console : les filtres sont conservés lorsque l’on revient sur la page au sein d’une même fenetre
- Console : affichage du nombre d’élément filtré et total sur chaque page
- Console : le label d’expiration se met automatiquement à jour en cas d’expiration d’un StateObject sur la fenetre de détail d’un StateObject
- Console : limite de 500 lignes dans la Console Log et de 20 erreurs max dans la sidebar de notification pour éviter les dérives de performances
- Console : rafraichissement automatique du cookie d’authentification lorsque l’on est connecté (pour éviter les déconnexions au changement de page)
- Console : mise en forme des types génériques sur le StateObjects Explorer & MessageCallbacks Explorer
- Console : possibilité de détacher chaque page dans une fenetre ou un onglet à part
- Console : possibilité de déployer différentes instances d’un même package sur une même sentinelle (le Filename est automatiquement défini si doublon)
- Console : bugfix graphique sur le rédimensionnement de la Console log & editeur de configuration
- Console : mise à jour des codes snippets pour les appels HTTP (exemples pour l’API Constellation et l’API Consumer) dans le MessageCallbacks Explorer
- Console : appel des ressources JS/CSS et templates HTML avec le numéro de version pour éviter les problèmes de cache lors des mises à jour de la Console
22/04/2017 : SDK 1.8.2.17112
- SDK : Support de Visual Studio 2017 (toutes éditions)
- SDK : Ouverture des fenêtres centrées par rapport au parent (fenêtre de Visual Studio) et non sur l’écran principal
- SDK : Mise à jour du Code Generator (support des Booleans optionels dans la signature des MC, ajout de méthode d’extension pour les StateObjects de type générique et ajout de commentaire XML dans le code généré)
- SDK : Mise à jour du schéma XSD de la configuration du serveur en version 1.8.2
- SDK : Mise à jour des templates de projet
- SDK : Mise à jour du package Constellation 1.8.1.16288 dans les templates de projet
- SDK : Nouveau système d’installation du SDK (basé sur VSIXBootstrapper et vswhere)
31/10/2016 : Console 1.8.1.16305
- Console / Online Package Repository : ajout d’une zone de recherche pour le catalogue en ligne
- Console / Online Package Repository: ajout d’un lien vers la documentation du package et suppression de la fenêtre d’information complémentaire
- Console / MessageCallbacks Explorer : gestion des types « Byte » (de 0 à 255)
- Librairie JavaScript / sendMessageWithSaga : génération du SagaId seulement si pas il n’est spécifié sur le scope et ajout d’un nombre aléatoire au timestamp
14/10/2016 : .NET lib et Console 1.8.1.16288
- Common : la méthode GetSettingValue accepte un IFormatProvider en paramètre optionnel (par défaut le CurrentCulture est utilisé)
- Common : la méthode GetSettingValue remplace les « , » par des « . » et utilise le InvariantCulture si T est de type Double, Single, Float ou Decimal que le IFormatProvider n’est pas explicitement spécifié
- Common : remplacement des comparaisons de string de InvariantCulture par Ordinal
- Console / MessageCallback Explorer : envoi de la valeur par défaut pour un paramètre optionnel si la valeur n’est pas spécifiée
- Console / MessageCallback Explorer : suppression des MC qui ont été supprimés du package lors d’une mise à jour du PackageDescriptor
06/10/2016 : Console 1.8.1.16280
- Console / Console Log : ajout d’une checkbox « Autoscroll » pour activer ou non le défilement automatique
- Console / Console Log : scroll automatiquement à la fin de la console lors l’activation de la page
- Console / Configuration Editor : bugfix où l’éditeur XML reste vide lors d’un changement de page
- Console : repositionnement des toasts de notification en mode mobile
- Console : éléments des menus en noir sur blanc quelque soit le media CSS sélectionné (bugfix visuel en mode mobile)
- Console : correction du mécanisme de chargement des pages (event onLoad) de la release 16272
- Console : amélioration du redimensionnement dynamique des tables (bugfix visuel dans certain cas)
- Console : bugfix où le bouton « Save & Deploy » sur la page de Setting n’était pas désactivé si erreur dans la page
- Console : mise à jour de la libraire jQuery Terminal 0.11.11 et minification du CSS
29/09/2016 : Console, Server et SDK 1.8.1.16273
- Console : ajout de la meta « robots:noindex,nofollow » pour interdire l’indexation de la Console Constellation par les moteurs de recherche
- Console / StateObject Explorer : rafraichit la valeur du StateObject avant s’abonner (requestSubscribeStateObjects) lorsque l’on clique le bouton “Subscribe” sur la fenêtre de visualisation d’un StateObject pour être certain de voir la dernière valeur
- Server : ajout des metas « robots » et « pragma:no-cache » sur la home page du serveur Constellation
- SDK : mise à jour du package Constellation 1.8.1.16272 dans les templates
- SDK : mise à jour du Code Generator (support des sentinelles/packages virtuels et prise en jour des types personnalisées avec caractères spéciaux)
28/09/2016 : Console, Server et SDK 1.8.1.16272
- Common : ajout de la propriété ‘HasValue’ sur l’objet StateObject et sur le StateObjectNotifier
- Common : la méthode StateObject.GetValue<T>() retourne le default(T) si le StateObject n’a pas de Value (HasValue = false)
- Console : la barre de menu est en « top-most » devant les notifications et placement des toasts de notification juste en dessus cette barre de menu
- Console : révision de la fenêtre d’information des versions
- Console : affichage du catalogue de package en ligne lorsque l’on clique sur la notification de mise à jour d’un package
- Console / Package Repository : affichage des updates de package disponible en haut de la liste du « Package Store »
- Console : suppression du contrôle du cookie d’authentification à chaque changement de page mais renouvèlement de ce cookie à chaque connexion à Constellation
- Console : vérification des credentials directement depuis la page de login avant l’ouverture de la console
- Console : révision du mécanisme de chargement des pages (event onLoad) pour éviter d’invoquer le handler plusieurs fois
- Console / StateObject Explorer : bug-fix de l’affichage des valeurs des StateObject où la valeur numérique ou booléenne est égale 0 ou false
- Server / Management API : rétrocompatibilité de la route pour l’action « SetServerConfiguration » (rétrocompatibilité pour les anciennes versions de la Console et SDK)
- Server / Controller API : ajout de l’interface REST « Controller » pour tester les credentials de la Console (action CheckAccess)
- Server : enregistrement & restauration des PackageDescriptors dans un fichier plat à chaque arrêt/démarrage du serveur et suppression lorsque le package disparait de la configuration
- Server : mise en attente de la requête pendant 1 seconde (par défaut) si accès refusé (en cas de 403 Forbidden) pour éviter les attaques de type brute-force. Valeur personnalisable par le appSetting « DelayAfterAuthentificationError » (0 pour désactiver)
- Server : optimisations minimes sur l’ajout des PackageDescriptors, Sentinelles et Settings (suppression d’un contrôle inutile à l’ajout)
23/09/2016 : SDK 1.8.1.16267
- SDK : Bugfix de l’enregistrement de la configuration suite au changement de route du serveur 1.8.1
20/09/2016 : Console 1.8.1.16264 & librairies Javascript
- Console : mise à jour des code templates Arduino dans le MessageCallback Explorer (synchronisation avec la lib Arduino/ESP 2.x)
- Console : mise à jour des librairies Javascript 1.8.1
- Librairies Javascript & AngularJS version 1.8.1 : revu de la gestion des sagas et ajout des méthodes registerMessageCallback et registerStateObjectLink
15/09/2016 : Version 1.8.1 (1.8.1.16259)
- Console : bug-fix lorsque l’on accède à la Console Constellation par la page « StateObject Explorer » (la fonction refreshStateObjectsList() n’est pas trouvée)
- Server : bug-fix des PerformanceCounters sous environnement Mono/Linux
- Release To Web (RTW) – Version 1.8.1 stable
14/09/2016 : Version 1.8.1 RC3 (1.8.1.16258)
- Common : Ajout de surcharges sur les WriteDebug/WriteInfo/WriteError/WriteWarn pour prendre en argument un simple ‘object’
- Server / Management API : bug-fix sur la méthode legacy ‘AddSentinel’ empêchant l’enregistrement des sentinelles via l’installation Windows & Linux
- SDK : Mise à jour du package Constellation 1.8.1.16258 dans les templates
09/09/2016 : Server 1.8.1.16253
- Server : correction d’une erreur pouvant apparaitre lors de la fermeture du service Windows
- Server / Web API : l’action SendMessage accepte le parametre « sagaId »
- Server / Web API : suppression de l’action SendMessageWithSaga (passer le sagaId dans la méthode SendMessage)
05/09/2016 : Server 1.8.1.16249
- Server / Web API : bug-fix du SendMessage et PushStateObject en POST HTTP
- Server / Consumer REST API : bug-fix du type de « Sender » à « ConsumerHttp » sur les actions « SendMessage » et bug-fix du SendMessage en POST HTTP
03/09/2016 : Console 1.8.1.16247
- Console : requestPackageDescriptor pour tous les packages de la configuration (dont les Virtuels)
- Console : requestPackageDescriptor lorsqu’un package déclare son PackageDescriptor
21/07/2016 : Version 1.8.1 RC2 (1.8.1.16203)
- Console : bugfix sur la page des Credentials (mauvaise gestion de l’erreur)
- Console : beautify des settings (ConfigSection, XML ou Json) existants
- Console : bugfix du générateur de code pour les MC sans parametre
- Server : bugfix sur le PerfCounter du nombre de consumer connecté
- Server / Management API : les packages téléchargés ne portent plus le n° de version dans leurs fichiers
- Server / Management API : retrocompatibilité corrigé pour l’upload de package
21/07/2016 : SDK 1.8.1.16203
- SDK : Mise à jour du package Constellation 1.8.1.16201 dans les templates
- SDK : Mise à jour du Code Generator (gestion des paramètres optionnels)
20/07/2016 : Version 1.8.1 RC1 (1.8.1.16202)
- Common : surcharge des opérateurs d’équalité pour le RecoveryOptions
- Common / PackageManifest : ajout d’une section « dependencies » permettant de définir des dépendances entre packages (Dependency = Name & Version)
- Common / Sentinel : ajout des propriétés OSCaption (pour Windows), CLRImplementation et FxVersion sur l’objet SentinelDescription
- Common / Sentinel / Server : Task en LongRunning pour les taches en background
- Common / Server : ajout du package description dans le « ReportPackageState »
- Common : support des valeurs par defaut/params optionnels dans la description des MC
- Sentinel : envoie dans le SentinelDescription l’ OSCaption (pour Windows), la CLRImplementation (Mono ou Microsoft) et la version du .NET Fwk pour Mono ou MS
- Sentinel : mise à jour des RecoveryOptions lors d’un Deploy même si le package tourne déjà et renvoi du « PackageStateReport »
- Sentinel : lors d’un deploy, si le package tourne déjà, message de Warning (et non une erreur)
- Sentinel : ajout d’un Warning au démarrage du package si le DotNetTargetPlatform .NET45 n’est pas respecté
- Sentinel : revu du log de démarrage d’un package (ajout du nom du package et sa version si manifest trouvé)
- Server : le filename d’un package est soit explicitement défini dans le tag « filename » si se termine par « .zip », soit retrouvé à partir du repository par le filename (si présent) ou name en prenant la version la plus haute, sinon <name>.zip si rien n’est trouvé !
- Server / Config : renommage de la section des authorizations des groupes (‘messageGroupAuthorizationElement’ en ‘authorization’) /!\ UPDATE DU SCHEMA XSD !!
- Server / StateObjectProvider : ajout d’une propriété Count et modification de la méthode Remove pour retourner le nombre de SO supprimés
- Server / StateObject : ajout du « ConstellationStateObjectManager » pour la gestion des SO sur le serveur (et non accès direct au StateObjectProvider depuis le ConstellationHub)
- Server / Messaging : bugfix si authorization fail (probleme dans message de log)
- Server / Messaging : ne check pas l’authorization pour envoyer un message de reponse d’une saga
- Server / PerformanceCounter : ajout de la classe ConstellaitonPerformanceCounter pour la gestion des compteurs de performances (35 compteurs actuellements)
- Server / PerformanceCounter : ajout du « RequestCounterMiddleware » dans le pipeline OWIN et modifications des différents Hub & Controlleurs WebAPI pour incrémenter les PerfCounters
- Server / GroupManager : bugfix (ajout de doublons systématique) & optimisation (basé sur un HasSet et controles des valeurs ou renvoi null)
- Server / ConstellationHub & ConsumerHub : optimisation de l’envoi de message avec compteurs de performance
- Server / Authorization : bugfix sur le Check des authorizations si il existe plusieurs credentials avec la même access key
- Server / Web API : revu de la purge des sessions (busy loop)
- Server / Web API : supression des « _BackField » sur les objets marqués serializable (IgnoreSerializableAttribute = true)
- Server / Management API : refonte des routes des actions du controlleur de Management
- Server / Management API : refactoring avec ajout d’Helper pour la manipulation du fichier de config XML et des packages ZIP
- Server / Management API : ajout d’un cache sur le Package Repository
- Server / Management API : ajout de nouvelles & mise à jour des actions pour la gestion complete de la configuration du serveur
- Console : mise à jour Angular Core & Anime 1.5.5 jQuery 2.2.3 Angular UI router 0.2.18
- Console : ajout du module UI-Bootstrap (Bootstrap for Angular)
- Console : révision du menu de la toolbox
- Console : optimisations d’execution des filters et affichage du nombre d’éléments visibles dans les listes
- Console : bouton/dropdown affiché sur la gauche et vers le haut si pas assez de place pour afficher tout le menu
- Console : ajout d’une modal d’affichage des n° de version (console & server) avec check des updates
- Console : notification des nouvelles versions (composants ou packages)
- Console / Sentinel : ajout d’un menu contextuel et d’une modal pour l’ajout, l’edition des sentinels et la suppression
- Console / Sentinel : affichage des sentinels non connectés (dont les virtuels)
- Console / Sentinel : ajout des infos liées à la CLR
- Console / Packages : affichage des packages non connectés (dont les virtuels) et désactivé
- Console / Packages : ajout de filtres pour l’affichage
- Console / Packages : nouveau menu contextuel en fonction du type de package avec supression
- Console / Package : ajout d’une modal pour la configuration d’un package
- Console / Package : ajout d’une modal pour l’edition des settings d’un package
- Console / Package : ajout d’une modal pour l’edition des groupes d’un package
- Console / Log : bugfix des notifications d’erreur qui ne s’effacaient pas !
- Console / Log : dropdown list editable sur les filtres des sentinels & package
- Console / Message Callback : bugfix où tout était envoyé en saga refonte des modals
- Console / Message Callback : bouton Inovke sans selection de la sentinelle, si une seule
- Console / Message Callback : support des parametres optionels et valeurs par defaut
- Console / Message Callback : bugfix du code generator et ajout des templates avec saga
- Console / StateObjects : refonte des modals et meilleur gestion des refresh
- Console / Credentials : ajout d’une page de gestion des credentials
- Console / Credentials / Authorization : ajout d’une page de gestion des authorizations des credentials
- Console / Package Repository : ajout d’un menu contextuel pour le déploiement, renommage et supression des packages
- Console / Package Repository : intégration du catalogue « online » (ajout et mise à jour)
- Console / Configuration Editor : ajout de l’intellisense XML sur le fichier de configuration Constellation
- Console : déplacement des modals communs dans un fichier à part (injecté dans la Default avec ng-include) et refonte totale avec UI-Bootstrap
- Lib AngularJS : séparation des factories Constellation/Consumer versus Management => deux modules Angular différents !
- Lib AngularJS : renommage de la fonction « intializeClient » en « initializeClient » (« i » manquant !) /!\ BREAKING CHANGE
05/07/2016 : SDK 1.8.0.16182
- SDK : Mise à jour du package Constellation 1.8.0.16182 dans les templates
- SDK : Mise à jour du Code Generator (tri alphabétique des types générés et gestion des MC sans paramètre)
30/06/2016 : .NET lib 1.8.0.16182
- Common / PackageHost.RegisterMessageCallbacks : prise en compte des MC sur des méthodes Statiques et des classes parents (privé ou public)
14/06/2016 : .NET lib 1.8.0.16166
- Common / PackageHost : gestion des MessageCallbacks avec des parametres optionnels et WriteError en cas d’erreur de dispatch
- Common / StateObject : ajout de la propriété « UniqueId » sur l’object StateObject (= Sentinel/Package/Name)
- Common / StateObjectCollectionNotifier : l’indexeur est maintenant le UniqueId (et non la fullkey utilisant le :: comme séparateur), idem pour la méthode ContainsStateObject
- Common / StateObjectCollectionNotifier : ajout d’un indexeur avec parametres optionnels (sentinel/package/name/type) et qui retourne un nouveau StateObjectCollectionNotifier (méthode ContainsStateObject associée)
- Common / StateObjectCollectionNotifier : la méthode « AddOrUpdate » est maintenant publique
24/05/2016 : Console 1.8.0.16145
- Console : bugfix du redimensionnement du tableau des StateObjects après ouverture de la fenetre de detail ou suppression du filtre
- Console : ajout d’un bouton « Back » lorsque l’on navigue dans le Type Descriptor
- Console : refactoring (séparation des controlleurs AngularJS, remplacement des ng-if par des ng-show/hide, revu des filtres de la console, ..)
- Console : ajout d’un message si une recherche ne donne pas de resultat
- Console : popup de license n’affiche les attributs que si existant !
- Console : correction du bug de performance sur l’affichage des icones du package repository
- Lib AngularJS : on passe un timestamp « global » sur la requete HTTP des icones des packages (prb de performance)
16/05/2016 : Console 1.8.0.16136
- Console / StateObject : description des types des StateObjects (bugfix du getTypeDescriptor sur les MessageCallbackTypes seulement)
05/05/2016 : Server 1.8.0.16126 (Mono compliance)
- Server : prise en charge du « ReloadConstellationConfiguration » sur Mono (workaround par reflection car Mono n’implemente pas le ConfigurationManager.RefreshSection)
- Server : ajout d’un Middleware OWIN de néttoyage du Path de la requete pour supprimer les « / » en doublons lorsque fonctionne sous Mono (natif sous .NET Fmk)
- Server : ajout de la page « Default.html » en page par défaut dans les options du FileServer (en Pascal-case car Mono sensible à la casse)
01/05/2016 : Server 1.8.0.16122
- Server / License : nouvelle politique de rejeu si erreur lors du contact avec le serveur de license
28/04/2016 : Server et Console 1.8.0.16119
- Server / Multitenant : Bootstraper sans durée de vie (remoting) et bug-fix de l’arret du service
- Server / License : bug-fix doublon du reload de la license (SetLicense remplacé par SaveLicense, Reload via le File Watcher) revu des logs
- Console : getLicense & checkManagementAccess au démarrage et à chaque connexion (et supression du requestSentinelUpdates au ‘reconnecting’)
27/04/2016 : Server 1.8.0.16118
- Server / License : date d’expiration des licenses en temps universel (UTC)
23/04/2016 : Server 1.8.0.16114
- Server / SentinelHub : limite basée sur la license (Sentinel.Count)
- Server / Multitenant : limite basée sur la license (Multitenant.Count) et nommage des domaines
- Server / ManagementAPI : Get & Set de la license seulement si pas dans un domaine multi-tenant
- Server / ManagementAPI : SetConfigurationServer : validation du schéma XSD de la configuration XML
- Server / License : méthodes pour la récupération et contrôle des attributs, ajout de la compagnie et Load à partir d’un fichier ou contenu
- Server / License : sur le domaine du serveur (!= Constellation(s)) démarrage d’une boucle pour appel au service de license avec récupération/set de la nouvelle license
- Server / License : license Developer pour un système Windows non Server
23/04/2016 : Console 1.8.0.16114
- Console : gestion de la dropdown pour les enums dans les propriétés d’un objet
- Console : visualisation de la license
- Console : ajout des n° de lignes sur le config editor
18/04/2016 : Server, Sentinel et .NET lib 1.8.0.16109
- Common : les constantes sont « Internal » et non plus « Public » (sauf ConstellationDefaultNames)
- Common : « Internals Visible » pour les assemblies Server.Core et Sentinel.Core
- Server : ajout du LicenseManager
- Server : mode Multitenant et « BaseDirectory » configurable dans les AppSettings
- Server : signature des assemblies Server.Core et Server.Interfaces /!\ Ajouter le PublicToken dans les <configSections> de la configuration du serveur
- Sentinel : signature de l’assembly Sentinel.Core
13/04/2016 : Server 1.8.0.16104
- Server : chargement des Constellations dans un AppDomain spécifique
- Server : le serveur est multi-tenant (peut heberger plusieurs Constellations par serveur)
31/03/2016 : SDK et Console 1.8.0.16091
- Console : bugfix – l’invoquation de MC était toujours dans associée à une Saga !
- Console : Request les PackageDescriptors lors de la reception d’un log commencant par « Declaring PackageDescriptor » pour une sentinelle « Developer »
- SDK : Mise à jour du package Python 1.8.0.16091
- SDK : Mise à jour du template Python
- SDK : Bugfix des boutons de la toolbar lorsqu’il y a plusieurs StartupProjects et/ou des projets rangés dans des SolutionFolders
- SDK : Refactoring des méthodes d’accès au DTE dans le VS Package
28/03/2016 : SDK 1.8.0.16088
- SDK : Mise à jour du package Constellation 1.8.0.16088
- SDK : Mise à jour du Code Generator (StateObjkectLink avec un ctor sur la sentinelle seulement)
- SDK : Mise à jour du template Console (suppression des settings de test dans le manifeste)
- SDK : Séparation des commandes de la toolbar du menu contextuel des projets => Action sur la toolbar (et shortcut) basé sur le projet « Startup » & menu contextuel sur le ‘selected project’
- SDK : Bugfix des boutons de la toolbar grisée
- SDK : Refactoring du VS Package
30/03/2016 : Server et Console 1.8.0.16090
- Server / SentinelHub : bugfix des enregistrements impossibles en cas de reconnection des sentinelles (Registration fail)
- Console : header « Last registration » sur les sentinelles renommé
- Console : refresh du StateObject lors de l’ouverture de la popin de visualisation
- Lib AngularJS : on passe un timestamp sur les requetes HTTP de l’API de Management pouyr éviter les mises en cache (Edge)
28/03/2016 : .NET lib 1.8.0.16088
- Common : le StateObjectNotifier lève un event PropertyChanged sur le DynamicValue également (et pas seulement Value)
- Common : le StateObjectCollectionNotifier est une ObservableCollection<StateObjectNotifier> (et non plus une List<>)
26/03/2016 : SDK 1.8.0.16086
- SDK : Ajout automatique de la toolbar Constellation au 1er démarrage
- SDK : Bugfix de l’upload de la configuration du serveur après enregistrement
- SDK : Réorganisation du code du VS Package
25/03/2016 : SDK et .NET lib 1.8.0.16085
- Common : DeclarePackageDescriptor check la connexion pour ne pas bloquer le thread si pas connecté (Standalone par exemple)
- Common : le PackageVersion retourne le numéro de version du package tel quel défini dans le manifeste du package. Si il n’y a pas de manifeste, on retourne le PackageAssemblyVersion.
- SDK : Mise à jour du package Constellation 1.8.0.16085
- SDK : Mise à jour du template WPF
- SDK : Ajout d’une toolbar Constellation
- SDK : Debugger lancé sans Wait() avec un IDebugEventCallback2 pour traquer la fin du debug
- SDK : Buttons (Publish, Debug & Code Gen) désactivés si en session en debug ou que le projet n’a pas de PackageInfo
- SDK : Package automatiquement chargé dans toutes les circonstances
17/03/2016 : SDK et .NET lib 1.8.0.16077
- Common : Le SendMessageProxy accepte un CancellationToken et non un CancellationTokenSource
- SDK : Mise à jour du package Constellation 1.8.0.16077
- SDK : Mise à jour du template Console (plus de Demo.cs et settings commentés)
15/03/2016 : Console 1.8.0.16075
- Console : Bugfix sur l’upload de package
14/03/2016 : Server 1.8.0.16074
- Server : suppression du package Microsoft.AspNet.WebApi.Cors
- Server : utilisation du module Owin CORS (Microsoft.AspNet.Cors) au début du pipeline (pour les hubs SignalR & controlleurs WebAPI)
- Server : bugfix de l’API de Management non disponible depuis la console en cas de requete CORS (l’AuthentificationMiddleware bloquait la requête ‘OPTIONS’)
07/03/2016 : .NET lib 1.8.0.16067
- Common : StateObjectChangedEventArgs déplacé dans le namespace Constellation.Package
- Common : Ajout d’attribut [Serializable] sur les objets de données
- Common : revu des commentaires
- Common : RegisterStateObjectsLink : support des propriétés Static, privées et héritées.
07/03/2016 : SDK 1.8.0.16067
- SDK : Mise à jour du package Constellation 1.8.0.16067
- SDK : Mise à jour du Code Generator
04/03/2016 : Console et SDK 1.8.0.16064
- Console : Bugfix sur la page StateObject Explorer suite à l’utilisation des headers dans l’API NG
- SDK : Mise à jour du générateur de code (problème sur le retour des Task<dynamic> des sagas)
03/03/2016 : SDK 1.8.0.16063
- SDK : Mise à jour du package Constellation 1.8.0.16058 & Python 1.8.0.16060
- SDK : Mise à jour du template Console/Demo pour update 16058
- SDK : Bugfix du générateur de code (fonctionnement dans un AppDomain enfant pour bypasser le bug lié à Json.net 6.0 chargé dans VS)
- SDK : Mise à jour de la fenêtre du générateur de code (se souvient de la sélection, async, revu de la gestion des erreurs, progress bar et attente des descriptors)
- SDK : Mise à jour des templates du générateur de code (SendMessage & Saga liés à la lib 16058, As<T> sur les StateObject, revu des méthodes d’extension, commentaires)
- SDK : Bugfix sur le ‘Cancel’ des fenêtres et gestion des erreurs de publication
29/02/2016 : Server et Console 1.8.0.16060
- Server / ManagementAPI : ajout de la méthode GetServerVersion & controle du XML avant enregistrement dans la méthode SetServerConfiguration
- Console : affichage de la raison de l’erreur pour le SetServerConfiguration
- Console : support des CodeTemplates sur les MC avec Saga (mise à jour des CodeTemplates C# & Python)
- API NG : Mise à jour de méthodes & passage des authorizations dans les headers
27/02/2016 : .NET lib 1.8.0.16058
- Common : Supression des methodes CreateSaga & propriété Proxy sur le MessageScope et supression de la méthode SendResponse & propriété ResponseProxy sur le MessageScope /!\ BREAKING CHANGE
- Common : Ajout de la propriété IsSaga drectement sur le MessageScope (et non seulement le MessageContext)
- Common : Ajout d’une classe d’extension sur les MessageScope & MessageContext pour ajouter un SagaId (WithSaga), un SagaCallback (OnSagaResponse), recupérer le proxy (GetProxy), générer le scope de response, etc…
- Common : Ajout des méthodes CreateMessageProxy sur le PackageHost
- Common : Ajout d’une surcharge RegisterSagaResponseCallback<TResponse> pour convertion de la réponse en TResponse
- Common : la classe SendMessageProxy retourne une Task<TResponse> pour l’obtention de la réponse si c’est le scope est une saga (avec utilisation d’un CancellationToken passé en argument)
- Common : la classe SendMessageProxy défini le MessageContext si passé dans le dernier parametre (permettant de recuperer le context si utilisation des Tasks)
- Common : la classe SendMessageProxy crée automatique une saga sur le scope courant si un type de retour est spécifié dans la méthode dynamique invoquée et convertie l’object de réponse avec ce type
- Common : Ajout de la classe interne ObjectConverter pour la convertion des objet Newtonsoft en objet .NET (utilisé par le GetValue<T> des SO, les SagaResponseCallbacks, les MessagesExternsions & RegisterMessageCallbacks<TMessage>)
24/02/2016 : Version 1.8 RC6 (1.8.0.16055)
- Common : revu de la méthode AttachToParent pour detecter le cas où le parent n’est pas trouvé (mort de la sentinelle au démarrage du package créant des packages orphelins)
- Common, Sentinel & Server : rollback complet sur l’arret d’un package (abandon du NamedPipe non compatible Linux). Retour « PackageControlAction » côté client sur le ConstellationHub
- Server / SentinelHub & Sentinels : revu du process de « Registration » : renvoi un « bool » à la sentinel qui retente si pas reussi avec contrôle si déjà connecté
- Server / SentinelHub : maintient une liste des connections et des sentinels. Même si déconnecté, on la garde à dispo dans le ControlHub.
- Server : les « PackageControlAction » log une erreur si la sentinelle cible n’est pas connectée
- Sentinels : dispatching des « PackageControlAction » dans des threads à part
- Sentinel UI : revu du systeme de fermeture de l’application Windows (basée sur le CloseReason)
- Console : filter & orderBy via les filtres natifs d’Angular après convertion des objets en tableau (ajout du filtre toArray)
- Console : ‘twilight’ est le theme par defaut pour CodeMirror
- SDK : Mise à jour du package Constellation 1.8.0.16055
- SDK : Correction / réécriture de la gestion de la StatusBar de VS
23/02/2016 : Version 1.8.0.16054
- Console : SetServerConfiguration PUIS si OK, Reload Configuration (action par défaut)
- Console : ajout des « orderBy » sur l’ensemble des pages (sentinels, packages, stateobjects, message callbacks, packages repository)
- SDK : Mise à jour du package Constellation 1.8.0.16053 dans les templates
- Utilisation des MessageBox de VisualStudio (et non de l’API Winform)
- Revu des messages du processus de publication
22/02/2016 : Version 1.8 RC5 Refresh (1.8.0.16053)
- Common : bugfix NamedPipe pour l’ordre de « shutdown » se basait sur le PackageName au lieu du PackageInstanceName
- SDK : Mise à jour du template Package Console avec classe Demo
- SDK : Mise à jour du package Constellation 1.8.0.16052 dans les templates
- SDK : Bugfix sur l’ouverture de la Console Web après publication
- SDK : Sauvegarde du serveur utilisé pour la publication et nom du package filename
- SDK : Revu de l’UI de la publication et gestion des erreurs plus fine
21/02/2016 : Version 1.8 RC5 (1.8.0.16052)
- Common : passage d’un nouvel header HTTP lors d’une reconnection au serveur Constellation (permet d’indiquer qu’il s’agit d’une reconnexion en cas de redémarrage du serveur)
- Common : un seul Request d’un même identifiant de StateObject lors du rafraichissement des SOLink à la reconnexion d’un package
- Server / ConstellationHub : si reconnection (header « IsReconnection »), on ne supprime pas les StateObjects ni ne repond au RequestLastStateObjects
- Server / ControlHub : bugfix sur le ReportPackageStateToControlHub où le PackageDescription n’est pas encore fourni par la sentinel (ajout d’une description partielle)
20/02/2016 : Version 1.8 RC4 Refresh 2 (1.8.0.16051)
- Server : bug-fix du « RequestLastStateObject » qui renvoyait toujours 0 StateOBjects (car purge avant envoi !)
- Sentinels : bug-fix sur les NamedPipes de contrôle des sentinels (multi-instances impossible car même nom de pipe)
- Sentinels : on peut lancer plusieurs instances des sentinels si (et seulement si) le filename du processus est différent (donc configuration différente)
- Console : Notification à la réception d’un message si réponse reçu après plus de 5 secondes après envoi
19/02/2016 : SDK 1.8.0.16050
- SDK : Bugfix sur la lecture des anciennes config de serveur du SDK 1.7
17/02/2016 : Version 1.8 RC4 Refresh (1.8.0.16048)
- Server : refonte de la homepage du serveur
- Console : ajout du favicon sur la page de login
15/02/2016 : Version 1.8 RC4 (1.8.0.16046)
- Common : renaming du namespace « Constellation.Host » par « Constellation.Package » /!\ BREAKING CHANGE
- Common : renaming des méthodes de gestion des MessageCallbacks
- Common : gestion des fonctions de MessageCallback (le « return » permet de renvoyer l’objet de reponse d’une saga)
- Common & Server : supression du « PackageControlAction » sur le PackageHost/ConstellationHub => les ordres d’arret sont gérés par la sentinel via un NamedPipe entre les packages et la sentinelle
- Sentinels : exposition d’un serveur « NamedPipe » permettant d’envoyer des « PackageControlAction » au processus de la sentinel
- Sentinels : si la sentinel (Service ou UI) est déjà démarré et que la « Command Line Arguments » contient un « PCA » nom de package, on l’envoi en NamedPipe
- Sentinels : envoi de l’ordre d’arret du package depuis la sentinel aux packages via un NamedPipe
- Sentinels : « CurrentDirectory » est celui du répertoire de la sentinel (pour que les liens relatifs fonctionnent bien)
11/02/2016 : Version 1.8 RC3 (1.8.0.16042)
- Schemas XSD : ajout d’un namespace pour le PackageManifest, ConstellationSettings & ConstellationConfiguration
- Common : ne pas re-forcer les Requests/Subscribes de StateObjects à la 1ere connexion après avoir déjà enregistré des StateObjectsLinks
- Server : ajout de la méthode CheckAccess sur la Constellation API & Consumer API
- Server / ControlHub : aucune action sur le OnConnected & OnDisconnected si la sentinel est « Developer »
- Server / Management API : ajout des méthode GetSentinels, AddSentinel, GetCredentials et ReloadServerConfiguration
- Console : possibilité de se connecter directement sans page de login en passant l’AccessKey dans les parametres de l’URL
- SDK : Revu du menu et des icones
- SDK : Refonte de la fenêtre de « Publish » avec mode « Local » ou « Upload sur Server » (Management API)
- SDK : Process de build : création du package via le code et non via 7za
- SDK : Process de build : supprime les settings « IsRequiered » du package & copie le PackageManifest si pas dans l’Output directory
- SDK : Manage Server : Check access + ajout de l’URI de la Console + generator d’access key à partir d’un login/pass + nouveau système de test de la connection
- SDK : Ajout d’un menu item pour ouvrir la Console (avec page de selection si plusieurs)
- SDK : Ajout d’un menu item pour éditer la configuration du serveur & upload lors de l’enregistrement
- SDK : Ajout des ConstellationSettings dans le App.config des templates + activation de la documentation XML
- SDK : Enrichissement du template « Console » avec du code sample
- SDK : Ajout des schémas XSD (Setting & Manifest) dans l’installation du SDK
- SDK : Code generator : prend en charge les « – » dans le nom des packages
09/02/2016 : Version 1.8 RC2 (1.8.0.16040)
- Common : WriteInfo du chargement des settings dans le App.local seulement si non StandAlone
- Common : ajout du « ConsumerHttp » dans les « SenderType »
- Common : bugfix sur le COntrolManager en standalone utilisait le nom de la sentinelle « Consumer » au lieu de « Controller »
- Server : ajout du controlleur HTTP « Consumer » : WebAPI REST de consommation (Send/Receive message Requets/Subscribe StateObject)
- Server : refactorisation du code dans la classe WebApiManager pour la gestion des fonctionnalités mutualisées entre le ConstellationController & ConsumerController
- Console : le StateObject Explorer utilise la Consumer Web API pour recuperer l’ensemble des StateObjects du serveur (plus performant)
- Console : bugfix des inputs « readonly » après avoir pris le focus sur la Console log (le terminal bloquait le « Keypress/Keydown »)
- Console : bugfix si constellationUri non défini et que serveur sur un sub-directory (le origin ne tennait pas compte du repertoire)
- Console : notification des messages entrants seulement lorsque l’on a recu la réponse d’une saga
- Console : le lien « Switch theme » est invisible sur le Configuration Editor (probleme de classe CSS)
- Console : ajout du n° de version dans la meta « generator »
08/02/2016 : Version 1.8 RC1 (1.8.0.16039)
- PackageManifest : erreur de casse sur l’attribut « PackageUrl »
- Common : bugfix du bloquage d’un package si pas de « constellationSection » dans sa configuration local
- Common : gestion des erreurs lors de la lecture des settings du fichier de configuration local & manifest
- Sentinel : bugfix sur le format de l’URI du serveur (le ‘/’ à la fin de l’URI est optionnel)
- Console : erreur de frappe dans le message d’erreur en cas de connexion echouée
- Console : bugfix si constellationUri non défini et que serveur sur un sub-directory (le origin ne tennait pas compte du repertoire)
- Client libs : bugfix demandant le ControlHub sur le hub Consumer
- SDK : Compatible Visual Studio 2012, 2013 et 2015 toutes éditions
- SDK : Mise à jours des packages Nuget
- SDK : Mise à jours des templates
07/02/2016 : Version 1.8 Beta 3 (1.8.0.16038)
- Global : revu des AssemblyInfos avec description et titre
- PackageManifest : ajout d’un attribut « PackageUrl »
- PackageManifest : attribut « RestoreStateObjects » renommé en « RequestLastStateObjectsOnStart » /!\ BREAKING CHANGE
- PackageManifest / Settings : ajout des « defaultContent », attributs « IgnoreLocalValue » (ignore la valeur dans le fichier de config local) et « IgnoreDefaultValue » (ingore la default value du manisfest) et nouveau type de settings « XmlDocument » et « JsonObject »
- Common : ajout de la section ConstellationSettings dans le App.config local => identique à la config serveur (setting, content & data) /!\ LES APPSETTINGS et GETSECTION en local ne sont plus utilisés !!!
- Common : evenement « RestoreStateObjects » renommé en « LastStateObjectsReceived » /!\ BREAKING CHANGE
- Common / Settings : Charge les settings du serveur, puis comble avec les valeurs dans le App.config local (si pas ignoré) puis avec les valeurs par defaut du manifest (si pas ignoré)
- Common / Settings : nouvelles méthodes ContainsSetting et GetSettingValue sans générique (= string par defaut)
- Common / Settings : nouvelles méthodes pour récupérer les settings « AsJsonObject » (dynamic ou de T) et « AsXmlDocument » (ajout des TryGetXXXX associés)
- Common / Settings : « GetSettingContent<T> » renommé en « GetSettingAsConfigurationSection » /!\ BREAKING CHANGE
- Server : refonte de la gestion des logs (tout est géré par NLog avec un Target vers le hub Constellation)
- Server : Adaptation du moteur d’autorisation (CheckAccess) plus strict
- Server / Configuration : l’element <content> sous les Settings peut accepter du texte ou un CDATA en plus du XML.
- Server / Constellation Hub & Controller : ajout d’une méthode « PurgeStateObjects » pour permettre les packages à supprimer ses StateObjects
- Server / Control Hub : la méthode « PurgeStateObjects » peut être invoquée même si le package est démarré
- Server / Control Hub : les packages passent en « Stopped » lorsqu’ils sont deconnectés avec leurs sentinelles deconnectées
- Server / Management API : ajout d’un attribut « enableManagementAPI » sur les credentials pour l’autorisation d’accès à l’API de Management
- Server / Management API : renommage « DevelopperController » en « ManagementController » (= Management API)
- Server / Management API : ajout des méthodes GetPackageIcon, GetPackage(s), CheckAccess
- Server : ajout du Allow-Origin All sur les Web API (Constellation & Management Web APIs)
- Console : Request la liste des packages si on recoit l’état d’un package inconnu
- Console : Ajout des Warnings dans les notifications
- Console : boutons pur Subscribe/Unsubscribe en temps reel au SO Refresh et Delete sur la modal de détail des StateObjects
- Console : reorganisation de la Console basée sur le routeur de AngularUI (ui.router)
- Console : gestion des liens unique par page historique du navigateur
- Console : ajout d’une modal pour supprimer les SO d’un package (arreté) ou tous les SO expirés
- Console : ajout d’un bouton pour copier la valeur d’un StateObject dans le presse-papier
- Console : ajout d’un panneau de filtre pour filtrer les messages de log de la console
- Console : la configuration de l’UI du serveur devient optionnel (par défaut basé sur le location.origin de la Console, dans le cas d’un self-host)
- Console : redimensionnement du terminal lors du resize et en fonction de l’état du menu
- Console : ajout d’une modal de description des types & ajout sur la page de Messages et les StateObjects
- Console : ajout d’une modal de generation des ligne de code pour l’envoi de message
- Console : gestion de la Management API et désactivation du menu redirection si pas d’accès
- Console : implémentation du ConfigurationEditor pour l’édition du fichier de configuration
- Console : ajout de shortcuts (Crtl+S pour l’enregistrement de la config, F11 pour l’editeur en fullscreen et Ctrl+R poru refresh les SO)
- Console : Gestion du return_url dans la page de login
- Console : ajout du Packages Repository (Upload & listing des packages)
- Console : ajout d’une checkbox « With Saga » affichage du ResponseType sur les MessageCallbacks
- Console : notification des messages de reponse des sagas dans la barre du haut avec modal de visualisation du contenu des messages
- Librairie ngConstellation : ajout d’une factory pour le service de Management
- Nouvelle icone sur les EXE et Sentinel UI
24/01/2016 : Version 1.8 Beta 2 (1.8.0.160024)
- Console : Nouvelle Console version 2 basée sur BootStrap & AngularJS
- Server / ControlHub : RefrehServerConfiguration renommé en ReloadServerConfiguration et applyConfiguration en deployConfiguration (updated sur le ControlManger, libs JS & Console)
- Server / ControlHub : ReloadServerConfiguration : gestion des erreurs en cas d’erreur de lecture/application du fichier de configuration
- Server & Sentinel : Ajout de l’attribut « AutoStart » pour indiquer si le package doit démarrer automatiquement lors de la réception des paquets sur la sentinelle
21/01/2016 : Version 1.8 Beta 1.1 (1.8.0.16021)
- Sentinel : gestion des erreurs lorsqu’un répertoire local d’un package ne peut être supprimé/créé (et passe au suivant)
- Sentinel : CurrentDirectory du package est son répertoire d’extraction (et non le répertoire de la sentinelle)
19/01/2016 : Version 1.8 Beta 1 (1.8.0.16019)
- Upgrade JSON.NET 8.0
- PackageManifest : les types des settings sont dans une Enum ajout d’un attribut DefaultValue
- Common : chargement la DefaultValue du PackageManifest d’un Setting qui n’est pas trouvé dans sa config (Log un Warning si pas de DefaultValue et une Error si IsRequired)
- Common : Renaming ScopeType.Groups en ScopeType.Group (au singulier) pour harmoniser ! /!\ BREAKING CHANGE
- Common / StateObject : les Metadatas sont des dictionnaires de String/Object (et non plus String/String) /!\ BREAKING CHANGE
- Common : RegisterStateObjectLinks réalisé automatiquement sur la classe IPackage au démarrage
- Common : PackageHost.AttachMessageCallbacks renommé en PackageHost.RegisterMessageCallback /!\ BREAKING CHANGE
- Common : objet StateObject et StateObjectsLink & Notifier ainsi que les EventsArgs pour les Messages & StateObjects ont changé de namespace (ne dépend plus de .Control) /!\ BREAKING CHANGE
- Common : le ControlManager n’a plus accès à l’envoi et la reception de message ni d’intérrogation de StateObject
- Common : la notion des StateObjectsLink & Notifier est déplacé dans le PackageHost /!\ BREAKING CHANGE
- Common : supression des balises XML dans les descriptions des MC avec extraction de l’attribut « cref »
- Common & Server / ConstellationHub : AddToGroup/RemoveToGroup deviennent SubscribeMessage/UnsubscribeMessage
- Common & Server : Renaming sentinel virtuel : « Debugger » to « Developer »
- Server / ConstellationController : convertion de la « value » d’un PushStateObject avec le Type précisé en parametre de la requete (FQN du type .NET)
- Server / DeveloperController : ajout du controlleur HTTP « DeveloperController » permettant d’uploader un package et la lecture/écriture de la configuration du serveur
- Server / ConstellationHub : ajout des RequestStateObjects & (Un)SubscribeStateObjects
- Server / ControlHub : supression de l’envoi & reception de message et Request/Subscribe de SO
- Server / ConsumerHub : ajout d’un nouveau hub : le ConsumerHub avec envoi & reception de message et Request/Subscribe de SO
- Server / Config : ajout des schemas pour l’authorization des credentials
- Server / AccessKey : ConsumerHub, ConstellationHub & ControllerHTTP : SubscribeMessage, SendMessage, RequestStateObject & SubscribeStateObject dépends des authorisations configurées
- Server : ajout du « FileServer » permettant de servir des pages statiques (comme la Console). Configurable avec la section <fileServer>
- Server / Optim : Supression du flag « Prefer-32bits » en compilation RELEASE pour tourner en 64 bits par défaut (bugfix)
- Server : Bugfix : purge des SO d’un package à son (re)démarrage
- Server : envoi des WriteLogs dans un logger « PackageLog.SentinelName.PackageName » permettant d’extraire les logs d’un package en particulier
- Server : Refactoring & renaming
- Sentinel : Warning si la version du PackageManifest est différente de la version courante de Constellation
- API Javascript & NG : migration vers les hubs de la 1.8 (createConstellationConsumer et createConstellationController), ajout des sendMessageWithSaga et requestSubscribeStateObject
- Console : Migration 1.8
- Console : Correction des liens du menu
- Console : Correction de l’Invoke sur les MC avec objets complexes
15/12/2015 : Server 1.7.6.15349
- Upgrade JSON.NET 7.0.1 & NLOG 4.2.2 (Client, Sentinel & Server) et supression des packages inutilisés
- Server : merge de la branche « StateObjectProvider » -> gestion des SO par providers
- Server / StateObjectProvider : InMemoryStateObjectProvider complétement réécrit pour être plus performant et safe
- Server / StateObjectProvider : ajout d’une 1ere version (POC) du RedisStateObjectProvider basé sur Redis pour le stockage des SO
- Server / Optim : Supression des groupes de connection (ConstellationGroupManager) des connections du ConstellationHub & ControlHub lors des deconnections -> optimisation et fix de l’emballement du CPU dans le temps
- Server / Optim : Supression du flag « Prefer-32bits » pour tourner en 64 bits par défaut
15/09/2015 : Server 1.7.5.15258
- Server / Middleware : refactorisation de la création des réponses dans les Middlewares OWIN avec renvoi du Content-Type & Content-Length à chaque réponse (bug requete mal formée)
- Server : optimisation/refactorisation de l’extraction des valeurs dans les headers HTTP correction des GetSentinelName/GetPackageName lorsque passés en QueryString
- Server : Correction du Sender.FriendlyName lorsque le message est envoyé depuis le ControlHub
14/09/2015 : Server 1.7.5.15257
- Client lib : ajout des attributs DataContract/DataMember sur la classe StateObjects pour le contrôleur HTTP/REST
- HTTP Controller : ajout du paramètre « limit » (nb max de résultat dans la réponse) pour le GetMessage & GetStateObjects ! Paramètre optionnel, par défaut à 0 (= pas de limite)
- HTTP Controller :le paramètre « timeout » peut être passé à 0 pour renvoi de la réponse immédiate (pas de long polling)
- HTTP Controller : la Subscription aux SO supprime les anciens SO si pas dépilé (on ne garde que la dernière valeur du SO pour éviter l’accumulation) ajout d’un lock lors de l’enrichissement des Subscriptions
17/08/2015 : SDK 1.7.15229
- SDK : prise en compte du namespace dans le template T4 & n° de version du générateur
- SDK : Ajout de méthodes d’extension pour créer un scope typé de chaque package pour chaque Enums Sentinels/Allpackages/MyPackage
06/07/2015 : .NET lib 1.7.5.15187
- Le GetValue<T>() d’un StateObject prend en compte des JArray & JObject
28/05/2015 : Server et Console 1.7.5.15178
- Server : autorisation du fichier de référence des hubs signalr (/signalr/hubs) lorsque compilé en debug
- Ajout de la librairie Constellation for AngularJS page de demo
- Update de la librairy Constellation for Javascript (update des descriptors)
- Console : Migration des pages du Control Center sur la lib ConstellationNG
- Changement de licence (Apache vers propriétaire)
23/04/2015 : SDK 1.7.5.15113
- SDK : Update du package PythonProxy 1.3.1 avec reférence vers Constellation 1.7.5 signé
- SDK : Bugfix du template Python (génére un EXE et non un DLL)
- SDK : Bugfix du PublishPackage : pause avant le ZIP (évite les ZIP vide) + bugfix sur la sauvegarde du path de publication par projet + clean de la progress bar lors des erreurs et fermeture de la fenêtre
14/04/2015 : Server 1.7.5.15104
- Server / Controller HTTP : bugfix PushStateObject en passant le « type » ajout des metadatas dans la méthode POST ajout du lifetime en GET & POST
09/04/2015 : Server 1.7.5.15099
- Server : Modification de la réponse du RequestPackageDescriptor -> le UpdatePackageDescriptor contient le nom du package (instance) et la propriété Descriptor
09/04/2015 : .NET lib 1.7.5.15099
- Client lib : ajout des propriétés SentinelName & PackageInstanceName sur le PackageHost
- Client lib / ControlManager : modification de la signature du UpdatePackageDescriptor
24/03/2015 : .NET lib 1.7.4.15083
- Signature des Client lib
- Ajout de l’attribut DebuggerNonUserCode sur la 2ème surcharge de la méthode Start
- Selection de la InnerException lors d’une AggregateException dans le Start pour donner plus de detail !
- Bugfix sur le SerializationHelper : les methodes From/To File ne prennaient pas en compte le serializer passé explicitement
13/03/2015 : Version 1.7 RC3.1 (1.7.4.15072)
- Global : ajout d’un LevelLog sur les WriteLog de la Constellation
- Client lib : nouvelles méthodes : WriteDebug/WriteInfo/WriteWarn/WriteError
- Client lib : /!\ Breaking changes : plus de WriteLog(string) !!! (utiliser WriteInfo)
- Client lib : exclusion du « Type » lors d’un PushStateObject pour les objets anonymes
- Server/ControlHub : push la SentinelInfo au ControlHub après un Register
- SDK : Mise à jour du Code Generator
- SDK : Mise à jour de la libraire Constellation 1.7.4.15072
12/03/2015 : Version 1.7 RC3 (1.7.4.15071)
- Client lib : ajout d’une 3ème methode sur l’interface IPackage : « OnPreShutdown » appelé avant la coupure de connexion
- Client lib : la méthode Shutdown appelle le OnPreShutdown, puis coupe la connection au(x) hub(s), puis appelle le OnShutdown et pour finir Kill le process
- Client lib : ajout d’une classe abstraite « PackageBase » implémentant IPackage sans code
- Client lib : correction tu typage du StateObject lors du PushStateObject (bugfix)
- Client lib : suppression des méthodes « Restart » et « Kill »
- Client lib : suppression du Singleton sur le ControlManager pour permettre plusieurs instances ! Par contre, une seule instance référencée dans le PackageHost
- Client lib : le PackageManisfestReader peut attraper les exceptions et renvoyer un null en cas d’erreur de lecture
- Server / CLient lib : suppression des PackageStates « Connected/Disconnected » et ajout d’une propriété « IsConnected » sur les PackageInfos pour différencier l’état du process vs le status de connection du package
- ControlHub : RequestSentinelUpdates (Update chaque Sentinel) & RequestSentinelList (demande à la liste des sentinels connectées)
- ControlHub : Connected renommée en IsConnected sur les Sentinels pour harmonisation avec les Packages States
- Sentinel : Try/Catch de la lecture du manifest avec log ensuite que le démarrage du processus
- Sentinel : Revu de la procedure d’arret : on attends tant que le process soit tué avec un timeout défini par défaut à 10secondes (et non on attends X secons et on Kill)
- Sentinel : Ajout de constantes bugfix sur la libération du process qui ne doit pas redémarré après un crash (rester en Stopping)
- Console : ajout des icones Connected/Disconnected actualisation de toutes les infos sur les packages au PackageState (Connecté, Versions, etc..)
11/03/2015 : Version 1.7 RC2 (1.7.3.15070)
- Sentinel UI : affichage dans le systray clé de registre dans LocalMachine (et non LocalUser)
- Sentinel Core : log review mini pause de 10ms avant le restart
- Server/Client lib : l’attribut ‘restoreStateObject’ est déporté de la config du serveur au manifest du Package
- Server : scindage des méthodes d’extensions dans une nouvelle classe « ConstellationExtensions »
- Server : ajout de la lib ‘SharpZip’ pour lecture des manifests dans le ConstellationHelper revision du Helper (tout public)
- Server : revision de la gestion des connections/déconnections sur le ControlHub (plus de « bug » où les packages sont vus comme Disconnected)
- Server/ControlHub : ajout d’un Etat « IsConnected » sur les PackageStates et « Unknown » (état normalement impossible) attribution d’un int
- PackageInfo : State sous forme d’Enum côté Server & CLient Lib mais toujours transferé en string (plus simple pour le JS) ajout du ConnectionId SignalR
- ControlHub : renommage des propriétés string « Sentinel » & « Package » en « SentinelName » & « PackageName » pour rester uniforme
- SDK : Mise à jour du Code Generator
- SDK : Mise à jour de la libraire Constellation 1.7.4.15070
09/03/2015 : Version 1.7 RC 1.2 (1.7.2.15068)
- Server : modification du schéma de configuration -> il n’y a plus d’attribut « SettingsGroupName » sur le Package, mais une balise « <import> » dans les Settings pour pouvoir importer plusieurs groupes (idem sur les groupes qui peuvent aussi importer eux même)
- SDK : Ajout du Code Generator
06/03/2015 : Version 1.7 RC 1.1 (1.7.2.15066)
- Sentinel Service : paramètre « Console » pour démarrer le Service en console (pour Rpi v1)
- Sentinel Core : controle du process avant le ReportUsage
- Server : Lors des reconnexions, le ReportPackageVersion redéfini bien le status du package à « Started »
- Server : Ajout de la méthode POST « DeclarePackageDescriptor » sur l’interface REST
- Client lib : le XmDocumentationReader extrait le InnerXml pour conserver les balises XML dans les commentaires
06/03/2015 : Version 1.7 RC1 (1.7.2.15065)
- Ajout d’un attribut StateObjectKnownTypes sur le package pour enregistrer des types connu dans des StateObjects
- Describe des StateObjects au Start connecté ou non
- AttachMessageCallback seulement si connecté
- DescribeStateObjectTypesFromAssembly => GetEntryAssembly par defaut (et non le CallingAssembly)
- XmlDocumentationReader – bugfix : les Enums & Types n’exploitent plus le DeclaringType
- Server : log des erreurs au OnPackageConnected
- Sentinel : Plus de ReportPackageStatus lorsque pas Connected
05/03/2015 : Version 1.7 Beta 5 (1.7.2.15064)
- Ajout d’un attribut « StateObject » sur des classes pour décrire le SO au serveur (descriptor)
- Description des StateObjects en plus des MessageCallbacks
- Chargement des commentaires XML les enums, propriétés, types et méthodes dans les descriptors
- Ne prends pas en cas les types primitifs et propriété avec JsonIgnore dans les descriptors
- Ajout automatique du type dans le PushStateObject
- Renommage des MessageCallbackDescriptions en PackageDescriptor revu de la strucutre du container
- Renommage du message Key des Saga en « __Response »pour eviter des conflit !
- Lifetime des StateObject en seconde
- Correction de la SentinelUI : se « cache » bien au démarrage
04/03/2015 : Version 1.7 Beta 4 (1.7.2.15063)
- Renommage du nom reservé « Web » à « ControlHub » pour la connexion au control hub (accès Web par exemple)
- Renommage MethodCallback en MessageCallback
- Client lib : AttachMessageCallback n’enregistre qu’un seul callback par method lorsqu’on invoque plusieur fois la méthode
- Client lib : gestion des messages avec plusieurs arguments de type complexe (ou mixte Complexe/Primitif)
- Client lib : refonte complète du MessageCallbackDescription
- Client lib/ControlManager : possibilité de l’utiliser comme une API standalone en dehors du context d’un package ! (= API .NET)
- Client lib : Le GetSettingContent est basé sur un ConfigurationSection en mode standalone fait un GetSection sur le ConfiguraitonManager renvoit un default(TConfigurationSection) si erreur
- Client lib : IsStandalone à « True » si la sentinel est le Debugger
- Client lib : PackageHost.Start est taggé « DebuggerNonUserCode »
- Sentinel : possibilité d’overrider le temps d’attente avant Kill du process (1 second par défaut mais pousser à 5 seconds sur des devices comme un RPi)
- Server : Suppression de l’attribut « EnableWebAccess »
03/03/2015 : Version 1.7 Beta 3 (1.7.1.15062)
- Update du schema PackageManifest corrigé
- Sentinel : détermination du nom de l’executable dans l’ordre > ExecutableFilename dans le manifest > Name du manifiest « exe » > Nom du pakcage « .exe »
- Sentinel : stop le package et log une erreur sur la Constellation si le fichier du process n’est pas trouvé
- Server : HomepageMiddleware traite les requetes avant le middleware de l’authentification (plus performant en evitant le double test sur le path) délivre le « favicon.ico » avec l’icone de la Constellation
- Server : report de la deconnexion d’un package lorsque stopCalled n’est pas vrai lock sur l’accès des sentinels
- Server/ControlHub : mise à jour du PackageDescription lors de la reconnexion d’une sentinel report des Versions alors que les packages sur le ControlHub ne sont pas encore déclarés
- Client lib : Ajout de Log avant les OnStart & OnShutdown des packages
02/03/2015 : Version 1.7 Beta 2 (1.7.1.15061)
- Deux librairies Common -> l’une en 4.0 et l’autre 4.5 : les deux livrées dans le même packages Nuget
- La Sentinelle est buildée en .NET 4.0
- Révision de la Sentinelle UI avec fenêtre de Log, possibilité de filtrer la verbosité, install/uninstall dans le registre>Run check de l’instance unique
- ControlHub : Push des Disconnected si seulement le package est lancé !
- Suppression de l’attribut « ExecutableFilename » dans la configuration du serveur et déport dans le PackageManifest du package lui même
- Suppression des attributs .NET « EnableControlHub » & « PackageDescription » -> à définir dans le PackageManifest
- Ajout de l’attribut DotNetTargetPlatform dans le PackageManifest pour indiquer la version du .NET (sera utilisée par la Console pour l’édition de la configuration)
- Autorisation sur l’accès au favicon.ico interdiction sur le fichier généré /signalr/hubs
- SDK : mise à jour des templates Visual Studio
01/03/2015 : Version 1.7 Beta 1 (1.7.0.15060)
- Mise à jour des librairies SignalR 2.2, JSON.NET 6.0, OWIN 3.0
- Migration du système de log vers NLog (en remplacement d’EntLib 6.0)
- Constellation (Server/Sentinel/Package) full compliant sous Linux et suppression de la MonoSentinel et MonoCommon
- Schéma de configuration Server : remplacement des balises « host(s) » par « sentinel(s) » & l’attribut ‘machineName’ devient ‘name’
- Rename global : Machine devient Sentinel !
- Suppression de l’attribut « serverURI » et remplacement dans un collection d’éléments « ListenUris » pour permettre d’ajouter plusieurs endpoints aux serveurs (HTTP ou HTTPS)
- Enrichissement des Settings : un Setting est associé à un attribut de String nommé « Value » (mode actuel) ou à un élément XML « <content> » permettant d’embarquer un ConfigurationElement complet
- Ajout de l’attribut « EnableDeveloperAccess » sur les credentials permettant de connecter fictivement n’importe quel package sous la Sentinel « Debugger »
- Client lib : ajout d’une méthode « GetSettingContent » récupérer un l’élément de configuration ajout des méthodes TryGetSettingValue et TryGetSettingContent
- Package : ajout d’un « PackageManifest », fichier XML permettant de décrire le package (info, auteur, settings, compatibilité, etc…)
- Client lib : ajout de la propriété « PackageManifest » pour accès à l’info rename du CurrentPackageName en PackageName (chargement par manifest sinon attribut, sinon type name)
- Client lib : connexion au ControlHub si défini dans le manifest
- Client lib : récupération des settings avant le OnStart du package suppression du GetSettingsAsync (les settings sont déjà chargé au lancement) RefreshSettings devient RequestSettings
- ControlHub : ajout d’un event à chaque message envoyé pour l’interface REST
- ControlHub : sur l’API JS, utilisation du « PackageName » comme FriendlyName
- ControlHub : RefreshConfig prend un bool en parametre pour indiquer si on applique la nouvelle config sur la Constellation (Push Settings on Package & Push PackageList on Sentinel) ou si on veut seulement un rechargement de la config section sur le serveur !
- ControlHub : ajout du PurgeStateObject pour supprimer tous les SO d’une instance de package ou seulement ceux avec un Name ou Type défini d’une instance de package ! Autorisé si et seulement si l’instance est arretée !
- ControlHub : rename des infos du « UpdateSentinel » : RegistrationDate et Description pour l’unification des propriétés Server/Client !
- Server : Report des déconnexions d’un package au ControlHub et suppression des MC
- Server : Possibilité d’associer un package à des groupes directement dans la config XML du serveur
- Server : Refonte de la homepage HTML du serveur Constellation accessible en anonymous
- Server : Refonte de l’authentification
- Server : Persistance des variables et/ou objets depuis des packages : notion de restauration des StateObjects. A activer en config, on récupére la liste des StateObjects dans l’event « StateObjectsRestored » lors d’un démarrage (récupération des etats) !
- Server : Refonte de l’envoi des messages cross-hub/controlleurs avec notion de MessageSender universel
- Server : Support des Sagas sur le ControlHub et ControllerHTTP
- HTTP Controller : formattage JSON par defaut identification (Machine/Package a déclarer dans la config)
- HTTP Controller : long pooling pour récupération des messages et stateobjects avec notion de subscription
- HTTP Controller : implémentation du WriteLog, GetSettings, SendMessage, SendMessageWithSage, Subscribe sur Message, MessageGroup et SO, Request de SO
- Sentinel : possibilité d’overrider la SentinelName par défaut en ajoutant dans la configuration la clé « SentinelName » !
- Sentinel : la description différencie le MachineName (nom de la machine) de la SentinelName (identifiant unique de la sentinel)
- Sentinel : ajout de la plateforme version de la Sentinel, CLR & OS dans sa description lors de son enregistrement au serveur
- Sentinel : refonte du ProcessMonitor (supression du CpuUtil & MemoryUtil) pour la compatibilité Windows/Linux (basée sur la classe Process en remplacement des appels Kernel32 PerfCounter)
- Sentinel : ajout d’un setting « UseMonoRuntime » pour forcer l’utilisation de Mono sur une machine Windows
- Les repositories de package côté server et sentinelle peuvent être en relatif
- SDK : Mise à jour du SDK pour Constellation 1.7 (templates, package nuget, …)
19/02/2015 : Sentinel 1.6.10
- Bug-fix : problème de « / » manquant dans l’URI du package à télécharger (et ajout de log)
18/02/2015 : Server 1.6.9
- Bug-fix dans le ReportPackageState si le package n’est pas lancé par une sentinelle (ex. debug VS) qui causait une NullReference
- Ajout des FileVersionAttribute sur le Server & Server.Core
17/02/2015 : SDK 1.0
- Création du SDK Constellation pour Visual Studio
08/01/2015 : Sentinel 1.6.9
- Bugfix : les sentinelles ne redémarrent plus un package après un crash s’il a été arrêté, redémarré ou reloadé depuis le ControlHub
- Ajout des FileVersionAttribute sur les Sentinel.Core
10/12/2014 : Version 1.6.9
- Ajout de l’attribut ‘JsonIgnore’ sur la ‘DynamicValue’ d’un StateObject pour éviter d’envoyer la Value deux fois dans un StateObjet
- Refonte du SerializationHelper par appel de ‘providers’ (interface ISerializer) : DataContractSerializer ou JsonSerializer (par défaut). Les méthodes « From/To file » se basent sur les File.Read/Write
- Sauvegarde/restauration des StateObjects du serveur se base sur le nouveau SerializationHelper par utilisation du JSON serializer (correction du problème où les StateObjects ne pouvaient être sérialisés avec le DC)
07/12/2014 : .NET lib 1.6.8
- Ajout d’une méthode public ‘DeclareMessageCallbacks’ sur le PackageHost pour l’envoi de MC description sur le serveur. Cette méthode est automatiquement appelée lors des (re)connections au serveur.
07/12/2014 : .NET lib 1.6.7
- Paramètre pour attraper les exceptions dans le WriteLog : le WriteLog du Disconnected dans un PackageHost ne lève plus d’exception (évite l UnhandledException)
- Démystification : WriteLog(format, object[] args) vs WriteLogWithOptions(message, bool wait = false, bool catchException = false)
19/11/2014 : .NET lib 1.6.6
- StateObjectCollectionNotifier : la clé peut être le nom du StateObjects (SOKey) seul, ou le Package::SOKey, ou Machine::Package::SOKey
- StateObjectCollectionNotifier : ajout d’une méthode ContainsStateObjects en spécifiant le clé recherchée
- StateObject : ajout des méthodes « GetValue<T> » et « TryGetValue<T> »
05/09/2014 : .NET lib 1.6.5
- Bugfix sur la levée des événements « SentinelUpdated » et « UpdatePackageList » du ControlManager (problème de dé sérialisation)
22/08/2014 : Version 1.6.4
- Correction de la méthode UpdateSentinel sur le ControlManager de l’API client avec envoi des propriétés « IsConnected » et « RegistrationDate »
- Le PackageHost a connaissance des FileVersions du package et de la librairie Constellation (envoi dans les headers HTTP au serveur et propagation de l’information avec le ReportPackageState sur le ControlHub)
21/08/2014 : Server 1.6.4
- Ajout d’un ConstellationGroupManager pour gérer les groupes : permet de pusher aux client qu’une seule fois quand ils font partie de plusieurs groupes (pour les messages et StateObjects)
19/08/2014 : .NET lib 1.6.3
- Ajout du type pour chaque paramètre sur les MethodCallbackDescription.ParameterDescription
18/08/2014 : .NET lib 1.6.2
- Bugfix : envoi des MessageCallbackDescriptions pour les méthodes sans paramètres
18/08/2014 : Version 1.6.1
- Bugfix de l’authentification sur le path où l’URI est redéfini en configuration
- Suppression du report des packages déconnectés (problème de déconnexion non contrôlé)
- ControlManager : Request des StateObjects attachés lors de la reconnexion pour forcer le rafraîchissement
14/08/2014 : Version 1.6
- Support des StateObjectLink sur des collections de StateObjects (StateObjectCollectionNotifier)
- A chaque connexion, le PackageHost et le ControlManager se rattachent aux groupes, messages et StateObjects auquel ils sont abonnés
- Ajout des méthodes Restart/Shutdown et Kill sur le PackageHost et refactorisation des procédures d’arrêt
- Bugfix : modification de l’objet de réponse du Request des Sentinels permettant d’indiquer si la sentinelle est bien connectée
- Ajout d’une durée de vie en minute (Lifetime) sur un StateObject
- Ajout de la notion de « Saga » sur les messages permettant de lier des Requests/Responsse. On crée une saga depuis un MessageScope et on récupère le contexte depuis le MessageContext.Current
- Ajout d’un paramètre booléen sur le RegisterStateObjectCallback & StateObjectLink permettant de Request ou non le StateObject à l’initialisation
- Gestion des MessageCallbacks sans paramètre et ceux avec plusieurs paramètres (> 1) sans devoir les encapsuler dans un objet type « Request »
- Log des erreurs de dispatch de MessageCallback
- Possibilité d’associer un credential à un package en particulier (si pas, c’est le credential de la sentinelle qui sera utilisé). Utile pour n’autoriser que certain package à l’accès au ControlHub.
- Log des erreurs d’authentification au serveur (dans une catégorie dédiée et pushées aux clients du ControlHub)
- WriteLog si exception dans PackageHost.Start (encapsulant OnStart et OnShutdown) par ajout d’un paramètre « await » sur le WriteLog (On attend d’envoyer l’exception avant de tuer le process et avant d’avoir le détail de l’erreur sur la Console Constellation)
- Possibilité de lier un StateObjectLink sans préciser le nom de la machine source. Si pas défini, on utilise un wildcard « * » (donc tout package qui match avec le packageName et soName)
- Ajout d’une propriété « IsHidden » sur le MessageCallbackAttribute pour exclure une méthode de la description des MC sur la Constellation (idéal pour cacher les méthodes « handler » de certain événement qui ne peuvent être considérées comme des méthodes de service)
- Breaking change : l’événement ValueChanged sur le StateObjectNotifier contient maintenant le OldState et NewState (renommage de la propriété StateObject par NewState) permettant de comparer le changement d’état lors d’une mise à jour
- Breaking change : remplacement la méthode GetDynamicValue() par la propriété DynamicValue (uniformisation des objets StateObjectNotifier et StateObject)
- Correction de la Sentinelle : gestion des (sous)dossiers dans les ZIP des packages
- La propriété « PackageName » d’un MethodCallbackDescription est correctement affectée au nom du package défini sur le serveur (plus d’erreur avec le « .exe » en suffixe)
- Ajout du type et metadatas sur la méthode PushStateObject depuis l’interface REST
17/07/2014 : Version 1.5
- Envoi de la description de l’objet de paramètre de chaque MessageCallback
- Ajout d’un attribut « EnableControlHub » dans la configuration des Credentials pour filtrer les accès au hub de contrôle
- Ajout du ControlManager sur le PackageHost pour accéder au hub de contrôle depuis un package
- Ajout d’un type (en string) et métadatas (clé/valeur) sur les StateObjects
- Récupération des StateObjects & abonnement aux mises à jour depuis le ControlManager
- Méthode permettant d’enregistrer des callbacks sur les mises à jour des StateObjects
- Ajout de la classe StateObjectNotifier permettant de fournir une classe container avec un événement PropertyChanged lors des mises à jour des StateObjects
- Ajout de l’attribut StateObjectLink permettant de lier automatiquement une propriété .NET à un StateObject
- Prise en charge du « Type » pour les Subscribe/Unsubscribe des StateObject
- Réécriture de l’algorithme de sélection du RequestStateObject (tous les cas sont possible, soit 2^4 = 16 combinaisons de groupe)
02/07/2014 : Version 1.4
- Remontée de l’état courant des packages à la reconnexion au serveur
- Sauvegarde et restauration des StateObject au redémarrage du serveur
- Ajout des AccessKey sur les Sentinelles et Packages (les packages se connectent avec la clé de la Sentinelle)
- Ajout d’un middleware OWIN pour l’authentification (contrôle des AccessKey)
- Interface HTTP/REST basée sur WebAPI 2.2 (module OWIN) pour exposer l’envoi de message et le push de StateObject sur une interface HTTP
- Déclaration des MessagesCallbacks (avec description) à chaque connexion et exposition sur le hub de contrôle afin de déclarer tous les callbacks de messages des packages sur le serveur
- Bugfixes
20/05/2014 : Version 1.3
- Reconnexion automatique des Sentinelles et des Packages si perte de connexion au serveur
- Remontée de la consommation des packages (cpu et ram)
- Portage sur Mono
- Bugfixes
12/05/2014 : Version 1.2
- Ajout des MessageCallbacks basés sur le bus de message introduit dans la v 1.0
- Nouvelle API pour la gestion des scopes des messages et exposition d’un Proxy dynamique
- Gestion des messages entre le hub de contrôle et de la constellation
- Request des StateObject par filtre et notion d’abonnement (Subscribe)
- Notion d’abonnement pour les messages également
- Ajout de méthodes d’ajout et de suppression à des groupes de message
- Bugfixes
06/05/2014 : Version 1.1
- Request de StateObject
- Reload des packages
- Amélioration du contrôle des packages et ajout du « Reload »
- Ajout de fonctionnalité dans le ControlHub
- Amélioration de la gestion de la configuration (mode local, lazy loading, cast, …)
- Ajout des Status des packages en temps réel
- Date d’enregistrement des Sentinelles
30/04/2014 : Version 1.0
- Ajout des settings sur les packages
- Ajout du hub de contrôle
- Ajout d’un bus de message avec notion de scope
- Ajout des “recovery options”
- Ajout de la sentinelle UI
18/04/2014 : Beta 1
- Architecture Serveur / Sentinelle / Package
- Console Log temps réel
- Notion de StateObject
Changelog
Editer la page sur GitHub
Démarrez la discussion sur le forum Constellation