CHANGELOG#

Note

Les versions sont synchronisĂ©es entre les versions de l’image Docker du daemon, du module Python olvid-bot et de l’image Docker bot-python-runner.

Les versions suivent la sĂ©mantique suivante : MAJOR.MINOR.PATCH. Tous les Ă©lĂ©ments sont supposĂ©s fonctionner ensemble dans la mesure oĂč ils partagent la mĂȘme version majeure et mineure. Il est tout de mĂȘme recommandĂ© de toujours utiliser la mĂȘme version de patch.

Les versions mineures et/ou majeures seront incrĂ©mentĂ©es Ă  minima pour chaque changement dans l’API gRPC-Protobuf

DerniĂšre version : 1.5.0#

Nouveautés#

Trois nouveaux modules sont maintenant officiellement supportés :

  • @olvid/bot-node: un module npm Ă©crit en typescript qui vous permet de dĂ©velopper des bots et des scripts en Typescript ou Node.js. (cf: Client JavaScript)

  • @olvid/bot-web: une version arrangĂ©e du module prĂ©cĂ©dent qui peut tourner dans un navigateur web pour crĂ©er des pages web ou des applications mĂ©tier qui intĂ©ragissent avec Olvid. (cf: 🌐 Navigateur)

  • n8n-nodes-olvid: le noeud Olvid est maintenant disponible dans n8n en tant que noeud communautaire. IntĂ©grer facilement Olvid avec des services extĂ©rieurs dans des workflow no-code. (cf: đŸŸ„ N8N)

Ajouts#

  • Daemon

    • Ajout du service tool et la command ping. Il s’agit d’un point non authentifiĂ© qui permet juste de vĂ©rifier que la connection au daemon est possible.

Correctifs#

  • Daemon

    • La notification MessageDeletedNotification Ă©tait envoyĂ©e deux fois dans le cas oĂș un message Ă©tait supprimĂ© Ă  distance

    • MessageNotificationService: il n’était pas possible de filtrer certaines notifications par messageId pour des messages entrants. (messageBodyUpdated, messageReactionAdded, 
)

    • MessageCommandService: Il n’est plus possible de rĂ©pondre Ă  un message d’une autre discussion


Version: 1.4.1#

Ajouts#

  • Daemon

    • il est maintenant possible de se connecter Ă  un daemon en utilisant une connection https. La mise en place est documentĂ©e ici: Configuration SSL.

  • Python Client

    • tools.AutoInvitationBot: il est maintenant possible de choisir les types d’invitation Ă  accepter (invitation de groupe, prĂ©sentations, 
).

Correctifs#

  • Daemon

    • TLS: changement de la JVM utilisĂ©e dans l’image docker. La prĂ©cĂ©dente plantait lors de la mise en place du chiffrement TLS.

    • Correctifs divers

Version : 1.4.0#

Nouveautés#

  • Filtrage des Notifications: Il est maintenant possible d’utiliser des paramĂštres au moment de l’abonnement Ă  un type de notifications. Dans ce cas seules les notifications en accord avec ces paramĂštres (filtre, compteur 
) seront envoyĂ©es au client.

  • Gestion minimaliste des appels: Il est maintenant possible de dĂ©marrer des appels avec un/plusieurs contacts ou dans une discussion et de s’abonner aux Ă©vĂ©nements en lien avec cet appel (quelqu’un a dĂ©crochĂ©, quelqu’un est dĂ©jĂ  en communication 
)

Ajouts#

  • Daemon

    • Filtrage des Notifications: ajout de paramĂštres Ă  toutes les mĂ©thodes du service de notifications, notamment des filtres et un compteur. Ces paramĂštres sont tous optionnels et donc rĂ©tro compatible.

    • Gestion minimaliste des appels: Ajout des services gRPC CallCommandService et CallNotificationService

      • commandes: CallStartDiscussionCall, CallStartCustomCall

      • notifications: CallIncoming, CallRinging, CallAccepted, CallDeclined, CallBusy, CallEnded.

      • datatypes: Call

  • CLI:

    • ajout de la commande call start pour commencer un appel en utilisant la nouvelle API d’appel (la command message voip est maintenant dĂ©prĂ©ciĂ©e).

    • ajout de l’option -i aux commandes identity get et contact get pour afficher l’identifiant en bytes.

Correctifs#

  • Daemon

    • Changement dans l’envoi de notifications

      • ContactNewNotification: est maintenant envoyĂ©e la premiĂšre fois qu’un contact est ajoutĂ© (indĂ©pendamment de son status one-to-one). La notification est envoyĂ© aprĂšs qu’un canal sĂ©curisĂ© a Ă©tĂ© Ă©tablie et les capabilities du contact aient Ă©tĂ© tĂ©lĂ©chargĂ©es.

      • DiscussionNewNotification: est toujours envoyĂ©e quand une discussion est crĂ©e ou qu’elle passe du status Locked Ă  Unlocked (retour dans un groupe, passage en one to one d’un contact).

      • MessageReceivedNotification et AttachmentReceivedNotification: sont maintenant envoyĂ©es en mĂȘme temps, lorsque le message et toute les piĂšces jointes ont Ă©tĂ© correctement Ă©crites en base de donnĂ©es. (rĂ©sout les problĂšmes de listing des piĂšces jointes qui viennent d’arriver).

      • Corrections diverses de notifications qui pouvaient ĂȘtre envoyĂ©es deux fois

    • datatypes.ReactionFilter: changement de nom, le champs reaction devient has_reaction

  • CLI

    • identity get -l: la commande renvoyait toujours le lien d’invitation de la premiĂšre identitĂ©.

  • Python Client

    • tools.SelfCleaningBot: les messages pouvaient ĂȘtre supprimĂ©s Ă  tort lorsque la fonction is_message_for_cleaning Ă©tait renseignĂ©e.

Version : 1.3.0#

Nouveautés#

Il est maintenant possible d’envoyer des messages de partage de position en continu đŸ—ș !

Ajouts#

  • Daemon

    • Ajout de l’envoi de partage de position dans le service MessageCommand, avec les mĂ©thodes MessageStartLocationSharing, MessageUpdateLocationSharing et MessageUpdateLocationSharing.

    • Ajout de la notification MessageLocationSent dans le service MessageNotification pour harmoniser l’API.

    • Modification du comportement des mĂ©thodes MessageLocationSharingStart, MessageLocationSharingUpdate et MessageLocationSharingEnd qui sont maintenant aussi Ă©mises pour les messages sortants.

  • CLI

    • Ajout du groupe de commande message location avec les commandes:

      • message location send

      • message location start

      • message location update

      • message location end

    • Ajout de la commande contact reset (Ă  utiliser prudemment !) pour rĂ©soudre certains blocages une identitĂ© et ses contacts.

    • Ajout de la commande storage reset pour supprimer toutes les entrĂ©es du stockage (dans le stockage global, et tous les stockages de discussion).

Correctif#

  • Python Client

    • tools.ChatBot: les messages d’aide Ă©taient envoyĂ©s deux fois dans certaines conditions.

    • tools.SelfCleaningBot: les messages Ă©taient tous supprimĂ©s au dĂ©marrage lorsque la fonction is_message_for_cleaning Ă©tait renseignĂ©e.

Version 1.2.0#

Ajouts#

  • Daemon

    • Ajout du service KeycloakCommand avec les mĂ©thodes KeycloakUserList et KeycloakAddUserAsContact afin de lister les utilisateurs prĂ©sents sur Keycloak et de les ajouter en tant que contacts. (⚠ NĂ©cessite la version 4.1 ou supĂ©rieure du plugin Olvid pour Keycloak)

    • Ajout de la commande downloadPhoto pour les identitĂ©s, les contacts et les groupes.

    • Ajout des notifications photoUpdated pour les contacts et les groupes.

    • Ajout des commandes getBytesIdentifier pour les identitĂ©s, les contacts, les groupes et les discussions. Cela permet de les identifier de maniĂšre unique Ă  long terme, mĂȘme en cas de restauration de sauvegarde.

    • Ajout de la commande getInvitationLink pour les identitĂ©s et les contacts (datatypes.Identity.invitation_link est maintenant marquĂ© comme dĂ©prĂ©ciĂ©).

    • Ajout des champs editedBody et forwarded dans le message datatypes.Message

  • Python Client

    • Ajout de la classe tools.KeycloakAutoInvitationBot pour ajouter automatiquement tous les nouveaux utilisateurs Keycloak Ă  ses contacts.

  • CLI

    • ImplĂ©mentation des nouveaux points d’entrĂ©e du daemon dans les commandes suivantes :

      • contact kc get/add : KeycloakCommandService

      • identity/contact/group photo save : downloadPhoto

      • identity/contact get -l : getInvitationLink

Corrections#

  • Daemon

    • Les champs has_a_photo n’étaient pas correctement remplis pour les contacts et les groupes.

  • CLI

    • storage get -f : l’option n’était pas bien gĂ©rĂ©e.

    • olvid-cli -k affichait une erreur inutile.

    • group get -f : correction de la prĂ©sentation.

Version 1.1.0#

Ajouts#

  • Daemon

    • il est maintenant possible d’envoyer des messages de position Ă  l’aide de la nouvelle mĂ©thode gRPC messageSendLocation. (implementĂ© dans les clients et la CLI).

    • ajout de la possibilitĂ© de chiffrer les communications entre le daemon et les clients en utilisant du TLS. (Configuration TLS)

    • possibilitĂ© d’ajouter des options personalisĂ©es a la JVM et notamment d’utiliser un proxy HTTP. (Configuration JVM)

  • Client Python

    • ajout du sous-paquet olvid.errors pour gĂ©rer les exceptions de maniĂšre plus simple.

Modifications#

  • Client Python:

    • remplacement des variables d’environnement DAEMON_HOSTNAME et DAEMON_PORT par DAEMON_TARGET.

    • les fichiers .client_key et .admin_client_key sont dĂ©prĂ©ciĂ©s, utilisez un fichier .env Ă  la place.

    • la classe OlvidBot est maintenant dĂ©prĂ©ciĂ©e, utilisez la classe OlvidClient Ă  la place.

  • Docker:

Corrections#

  • Client Python:

    • tools.SelfCleaningBot: les paramĂštres clean_inbound_messages et clean_outbound_messages sont maintenant correctement gĂ©rĂ©s.


Version 1.0.0#

Version initiale du projet.