La communauté Apache Fory a annoncé la publication de la version 1.0.0 de son framework de sérialisation, marquant un jalon important dans le développement de cet outil open source. Cette version intègre 84 demandes de fusion (pull requests) réalisées par 11 contributeurs distincts.

Unification du modèle cross-langage

L'innovation centrale de cette version réside dans la standardisation du modèle de sérialisation cross-langage. Le système de type xlang unifié devient désormais le mode par défaut dans l'ensemble des langages supportés. Ce changement s'accompagne d'une lecture en mode compatible, d'un ordonnancement simplifié des champs et d'une meilleure compatibilité entre listes et tableaux.

Les runtimes linguistiques convergent autour d'un modèle commun de schéma et de métadonnées. La prise en charge des codecs pour les conteneurs imbriqués et les champs a été déployée sur Rust, C++, C#, Go, Dart, Python et Swift.

Élargissement des langages supportés

Kotlin bénéficie désormais du support xlang, de KSP et de l'IDL de schéma. Scala ajoute également la prise en charge de l'IDL de schéma et des annotations générées mises à jour. Du côté de Java, cette version apporte un support de la sérialisation pour Android, un processeur d'annotations, des accesseurs de champs typés sur les lignes de schéma et des métadonnées de sérialisation pour les types imbriqués.

Améliorations des performances et de la couverture de déploiement

Plusieurs optimisations de performance ont été intégrées. En Dart, des chemins rapides pour les conteneurs typés et des optimisations des structures générées améliorent le débit, tandis que de nouveaux graphiques de benchmarks ont été mis à jour.

Le framework prend désormais en charge les types décimaux et le format bfloat16 pour la sérialisation xlang. Des améliorations du mode compatible xlang ont également été apportées.

Disponibilité et documentation

Les bibliothèques sont disponibles en téléchargement pour chaque plateforme via la page d'installation du site officiel du projet. La documentation complète, incluant les spécifications techniques, est accessible en ligne.

Cette version représente une consolidation des travaux menés depuis la version 0.17.0 et vise à offrir une base stable et interopérable pour les développeurs travaillant avec plusieurs langages de programmation.