flux du site https://www.ruby-lang.org/fr/feeds/news.rss Actualités de Ruby-lang | |
Les dernières news sur ruby-lang.org. | |
url du flux : | |
Ruby 3.1.1 est disponible.
C?est la première TEENY version disponible de la branche 3.1.
Voir les logs de commit pour de plus amples informations.
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.1.tar.gz
SIZE: 20562492
SHA1: 289cbb9eae338bdaf99e376ac511236e39be83a3
SHA256: fe6e4782de97443978ddba8ba4be38d222aa24dc3e3f02a6a8e7701c0eeb619d
SHA512: a60d69d35d6d4ad8926b324a6092f962510183d9759b096ba4ce9db2e254e0f436030c2a62741352efe72aec5ca2329b45edd85cca8ad3254a9c57e3d8f66319
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.1.tar.xz
SIZE: 15103808
SHA1: af6afead0e5509c459a580fc260bec2608b46750
SHA256: 7aefaa6b78b076515d272ec59c4616707a54fc9f2391239737d5f10af7a16caa
SHA512: 8877fa9a458964a59a11529cd10b3d25b5f6238cd4678b6dcea0bd4b750499cf8ff39d8824053b4ab26c5cd0cfb604a57807ce61580175857fcf00b2cff3e55f
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.1.zip
SIZE: 24843623
SHA1: 9afab3231e99835dbbdad93c96a240ce90a1f2f5
SHA256: de1cc26c18c6fb838b75f3e700621339cf09d557a15c0b1457720f7c441a1e68
SHA512: 0eac755cd9883659dbd9ab9b2c2e5608112030d96ad14c22e1f21712d870f97ba7dfbd74cc03b1892faacb37958f100df484e4944c90b4a834e27e4c03b8e895
Merci aux contributeurs, développeurs et utilisateurs qui, en reportant les bugs, nous ont permis de sortir cette version.
Posté par naruse le 2022-02-18
Traduit par Kevin Rosaz
Nous avons le plaisir de vous annoncer la sortie de Ruby 3.1.0. Ruby 3.1 conserve la compatibilité avec Ruby 3.0 et ajoute également de nombreuses fonctionnalités.
Ruby 3.1 fusionne YJIT, un nouveau compilateur JIT développé par Shopify.
Depuis que Ruby 2.6 a introduit MJIT en 2018, ses performances se sont grandement améliorées et nous sommes parvenus à Ruby3x3 l?année dernière. Même si Optcarrot a montré des accélérations impressionnantes, le JIT n?a pas profité aux applications du monde professionnel.
Récemment, Shopify a apporté de nombreuses améliorations à Ruby pour accélérer son application Rails. YJIT est une contribution importante et vise à améliorer les performances des applications Rails.
Bien que MJIT soit un compilateur JIT basé sur des méthodes et qu?il utilise un compilateur C externe, YJIT utilise le Basic Block Versioning et inclut le compilateur JIT à l?intérieur. Avec Lazy Basic Block Versioning (LBBV), cela compile d?abord le début d?une méthode et compile progressivement le reste lorsque le type des arguments et des variables est déterminé dynamiquement. Voir YJIT: a basic block versioning JIT compiler for CRuby pour une introduction détaillée.
Avec cette technologie, YJIT permet d?avoir à la fois un temps de démarrage rapide et des améliorations de performance sur la plupart des logiciels, jusqu?à 22% sur railsbench et 39% sur le rendu liquid.
YJIT est toujours une fonctionnalité expérimentale. En tant que telle, elle est désactivée par défaut. Si vous souhaitez l?utiliser, spécifiez l?option en ligne de commande --yjit
pour activer YJIT. L?utilisation est pour le moment limitée à macOS et Linux sur les plateformes x86-64.
Un débogueur complètement réécrit debug.gem est fourni. Debug.gem possède les fonctionnalités suivantes :
Ruby avait intégré lib/debug.rb, mais il n?était pas bien maintenu et posait des problèmes de performances et de fonctionnalités. Debug.gem a complètement remplacé lib/debug.rb.
La gemme error_highlight a été ajoutée. Elle permet d?obtenir la localisation d?une erreur de manière plus précise dans la trace :
$ ruby test.rb
test.rb:1:in `<main>': undefined method `time' for 1:Integer (NoMethodError)
1.time {}
^^^^^
Did you mean? times
Actuellement, seul NameError
est pris en charge.
Cette gemme est activée par défaut. Vous pouvez la désactiver en utilisant l?option en ligne de commande --disable-error_highlight
. Voir le dépôt pour de plus amples informations.
IRB dispose désormais d?une fonction de saisie semi-automatique où vous pouvez simplement taper le code et une boîte de dialogue des candidats à la complétion apparaîtra. Vous pouvez utiliser Tab et Shift+Tab pour vous déplacer de haut en bas.
Si la documentation est installée lorsque vous sélectionnez une proposition à la complétion, la boîte de dialogue de la documentation apparaîtra à côté de celle-ci, affichant une partie du contenu. Vous pouvez lire la documentation complète en appuyant sur Alt+d.
{x:, y:}
est un sucre syntaxique de {x: x, y: y}
.foo(x:, y:)
est un sucre syntaxique de foo(x: x, y: y)
.^
) dans le filtrage par motif prend désormais une expression. [Feature #17411]Prime.each_cons(2).lazy.find_all{_1 in [n, ^(n + 2)]}.take(3).to_a
#=> [[3, 5], [5, 7], [11, 13]]
[0, 1] => _, x
{y: 2} => y:
x #=> 1
y #=> 2
RBS est un langage pour décrire la structure des programmes Ruby. Voir le dépôt pour de plus amples informations.
Mises à jour depuis Ruby 3.0.0 :
rbs collection
été introduit pour gérer les RBS des gemmes. (doc)Voir le CHANGELOG.md pour de plus amples informations.
TypeProf est un analyseur de type statique pour Ruby. Il génère un prototype de RBS à partir de code Ruby non annoté de type. Voir la documentation pour de plus amples informations.
Les principales mises à jour depuis Ruby 3.0.0 concernent un support IDE expérimental appelé ?TypeProf for IDE?.
L?extension vscode affiche une signature de méthode devinée (ou explicitement écrite dans un fichier RBS) au-dessus de chaque définition de méthode, souligne en rouge le code qui peut provoquer une erreur de nom ou de type et complète les noms de méthode (c?est-à-dire affiche les méthodes candidates). Voir la documentation pour de plus amples informations.
De plus, la version inclut de nombreuses corrections de bogues et améliorations des performances.
--jit-max-cache
passe de 100 à 10000.
Le compilateur JIT ne saute plus la compilation des méthodes de plus de 1000 instructions.ary => [x, y, z]
, n?est plus au stade expérimental.foo[0], bar[0] = baz, qux
était évalué dans l?ordre baz
, qux
, foo
puis bar
dans Ruby 3.0. Dans Ruby 3.1, l?évaluation est dans l?ordre foo
, bar
, baz
puis qux
.Psych.load
en safe_load
par défaut. Vous devrez peut-être utiliser Psych 3.3.2 pour migrer vers ce comportement. [Bug #17866]Gemfile
sous l?environnement bundler.
Voir NEWS ou les logs de commit pour de plus amples informations.
Avec ces changements, 3124 fichiers changés, 551760 insertions(+), 99167 suppressions(-) depuis Ruby 3.0.0 !
Joyeux Noël, joyeuses fêtes et bonne programmation avec Ruby 3.1 !
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.gz
SIZE: 20103517
SHA1: e4e8c20dd2a1fdef4d3e5bd5a3461000dd17f226
SHA256: 50a0504c6edcb4d61ce6b8cfdbddaa95707195fab0ecd7b5e92654b2a9412854
SHA512: 76009d325e961e601d9a287e36490cbc1f3b5dbf4878fa6eab2c4daa5ff2fed78cbc7525cd87b09828f97cbe2beb30f528928bcc5647af745d03dffe7c5baaa9
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.tar.xz
SIZE: 14709096
SHA1: 92b603c2a69fb25d66c337a63e94280984edea11
SHA256: 1a0e0b69b9b062b6299ff1f6c6d77b66aff3995f63d1d8b8771e7a113ec472e2
SHA512: a2bb6b5e62d5fa06dd9c30cf84ddcb2c27cb87fbaaffd2309a44391a6b110e1dde6b7b0d8c659b56387ee3c9b4264003f3532d5a374123a7c187ebba9293f320
https://cache.ruby-lang.org/pub/ruby/3.1/ruby-3.1.0.zip
SIZE: 24388179
SHA1: e37435956d6f840a0e8758d7374bc7e0e346105f
SHA256: a3bfcd486d09c065d46421da0ff3d430ce4423fefd80cea63c6595d83ae4af0e
SHA512: 67db71144e06da2c1c25eaf413d1417c99a4b18738a573f9e3371c11ea242eee9dcbdc3de17336f25ab5060039fe034e57298943d344be9cd9eb33bb56e2e1c6
Ruby a été initialement développé par Matz (Yukihiro Matsumoto) en 1993 puis est devenu open source. Il fonctionne sur de nombreuses plateformes et est utilisé partout dans le monde, en particulier pour le développement web.
Posté par naruse le 2021-12-25
Traduit par Kevin Rosaz
Ruby 3.0.3 est disponible.
Cette version contient des corrections concernant des problèmes de sécurité. Merci de regarder les sujets suivants pour plus de détails.
Voir les logs de commit pour de plus amples informations.
https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.gz
SIZE: 20242729
SHA1: 049317b7c6246d6ea86564c3f73a629b766ff634
SHA256: 3586861cb2df56970287f0fd83f274bd92058872d830d15570b36def7f1a92ac
SHA512: 39dab51a0d784a38302372b99f96205817d466245202586d22123745761e9cb39db128ec2b984ebc3919b9faf2adf828d19c97d3fb1e56d44be0a81dc5d11b87
https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.tar.xz
SIZE: 14991880
SHA1: c1e6dac2b8c08afbbee39e25e325c84e1cab7c17
SHA256: 88cc7f0f021f15c4cd62b1f922e3a401697f7943551fe45b1fdf4f2417a17a9c
SHA512: bb9ea426278d5a7ac46595296f03b82d43df8b7db41045cdf85611e05e26c703c53f700494cd7cf5d4c27fa953bdc5c144317d7720812db0a6e3b6f4bc4d2e00
https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.3.zip
SIZE: 24627744
SHA1: 5341ed1602a3289c4857560ead53191895e5c586
SHA256: 0b8370e404550bf736f46307a14eb9306a7868fb8d54e1418ecdaccbaa8ac06f
SHA512: 24c2a4f455f90e54f85d9565e392519833b36aefce32dc707e6693994d175c82e84ee6c37ed4a9ddf8840479e7cdfaae714c12bc6923368bb00346d4edd434d8
Merci aux contributeurs, développeurs et utilisateurs qui, en reportant les bugs, nous ont permis de sortir cette version.
Posté par nagachika le 2021-11-24
Traduit par Kevin Rosaz
Ruby 2.7.5 est disponible.
Cette version contient des corrections concernant des problèmes de sécurité. Merci de regarder les sujets suivants pour plus de détails.
Voir les logs de commit pour de plus amples informations.
https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.bz2
SIZE: 14805180
SHA1: 2a179b601f45172b1cb38e8f157c4e6ce272c22c
SHA256: d6b444341a5e06fcd6eaf1feb83a1c0c2da4705dbe4f275ee851761b185f4bd1
SHA512: 0aa2ac44bc22859a39c43d08b7c7f457df05c2dc36b2574fd70ca399143ef1000dc5e496212db9eb055bc4258523d47d26db3c57a1a5a5d63cf1b3de9f81645a
https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.gz
SIZE: 16923709
SHA1: c2d0f6c793f9e673f9fb22276d32f8c395ec5581
SHA256: 2755b900a21235b443bb16dadd9032f784d4a88f143d852bc5d154f22b8781f1
SHA512: 09e029b5cc15b6e4e37bcf15adb28213eaedec3ea22106d63095b37ea6b2a2b68e82e74e6b50746c87dd77e5185795d014e0db118bf0f45ffa0b0a307f5f65da
https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.tar.xz
SIZE: 12072980
SHA1: 1d04fbf24150eaa1297a7ef4c7057ec0a9dca527
SHA256: d216d95190eaacf3bf165303747b02ff13f10b6cfab67a9031b502a49512b516
SHA512: 21c8a713e3ce115fc4c405113ac691ddcefc3419f528b93ca1ac59e7052c1b6e9e241da0e570e291e567f28f3d840824dbcc5967b216cbe7d6ca7a05580fa311
https://cache.ruby-lang.org/pub/ruby/2.7/ruby-2.7.5.zip
SIZE: 20702176
SHA1: 541b34fa5e7e55b6269a2bfa67e2a06ad0dcb571
SHA256: 3793d764ec8da68203eba1a7fe338fae9bafa8226cce911c8648c1b7c32ba9c2
SHA512: fe9a706f8139e59a40ab205dc88cdc613c9c69186cb2daeb5adc80bdf45290a523fa7e3fd0866fa12325039ba413ff1e1f4233073d352da08079dc903063b31a
Merci aux contributeurs, développeurs et utilisateurs qui, en reportant les bugs, nous ont permis de sortir cette version.
La maintenance de Ruby 2.7, incluant cette version, est basée sur l? ?Agreement for the Ruby stable version? de la Ruby Association.
Posté par usa le 2021-11-24
Traduit par Kevin Rosaz
Ruby 2.6.9 est disponible.
Cette version contient des corrections concernant des problèmes de sécurité. Merci de regarder les sujets suivants pour plus de détails.
Voir les logs de commit pour de plus amples informations.
Ruby 2.6 se trouve dans la phase de maintenance de sécurité jusqu?à la fin mars 2022. Après cette date, la branche 2.6 de Ruby ne sera alors plus officiellement supportée. Nous vous recommandons donc de passer sur de nouvelles versions de Ruby comme la 3.0 ou 2.7.
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.bz2
SIZE: 14137792
SHA1: a482c36645e7ff4596c6aca2cf96d15481fcfc5e
SHA256: a0639060c4519572e51828eb742f09dd40f154c820f6007246de7a2090e3ee45
SHA512: ff067ebc059094c0a9a0debf54a37aad2c85f7ed47be59299041c9c03a7701529f5063ff32a1b8c56d48ee8585015acba63602ed0176b2797d263d43d67aa241
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.gz
SIZE: 16202802
SHA1: 00e69747e7e2b87155c65b4003470313e4403b0a
SHA256: eb7bae7aac64bf9eb2153710a4cafae450ccbb62ae6f63d573e1786178b0efbb
SHA512: 24bd6c8f528907349bcf392ed75a2d767b93a35a9f4c839267873d1dde862d3292d1682e0edc56c078a2690de76a045ef866f54eab8a330a18771f0b234c5993
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.tar.xz
SIZE: 11590064
SHA1: fc67ca162010aac4af49d73a8c48be5cb2fb5907
SHA256: 6a041d82ae6e0f02ccb1465e620d94a7196489d8a13d6018a160da42ebc1eece
SHA512: f60aa89e685cea324185eb0d13e6b44caef4e4f761cbf9ea1386ae70e39faf3866ac01e4bb5354574f2583e74290b8c80eaf63d126040d52368be6c771476451
https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.9.zip
SIZE: 19869379
SHA1: 41a60c783306f4b47b867bd19d16688b546b8e3a
SHA256: 2480dbdc72d3dc832d8254e938e4861ca54a5337edd6f358e5202fd2a5339eec
SHA512: 9073e0fc5040434f15158f24c6a551286bc5f1c4c1cb54d6e3debb4ac039187a4f274a217bdb5c8489c72360c65d708f89eb0f2472a1f9232fcfee8e296dec57
Merci aux contributeurs, développeurs et utilisateurs qui, en reportant les bugs, nous ont permis de sortir cette version.
Posté par usa le 2021-11-24
Traduit par Kevin Rosaz