Développement web

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 :
  • Ajouter à Netvibes
  • Add to My Yahoo!
  • Add to myAOL

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.

Téléchargement

  • 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
    

Commentaire de version

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.

YJIT: un nouveau compilateur JIT en cours de développement

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.

  • https://bugs.ruby-lang.org/issues/18229
  • https://shopify.engineering/yjit-just-in-time-compiler-cruby
  • https://www.youtube.com/watch?v=PBVLf3yfMs8

debug.gem : un nouveau débogueur

Un débogueur complètement réécrit debug.gem est fourni. Debug.gem possède les fonctionnalités suivantes :

  • Améliorer les performances de débogage (il ne ralentit pas l?application même avec le débogueur)
  • Prise en charge du débogage à distance
  • Prise en charge de l?interface de débogage riche (VSCode et navigateur Chrome sont désormais pris en charge)
  • Prise en charge du débogage multiprocessus/multithread
  • REPL coloré et d?autres fonctionnalités utiles telles que la fonction enregistrer et rejouer , la fonction de traçage, etc.

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.

error_highlight: localisation des erreurs plus précise

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.

Auto-complétion dans IRB et affichage de la documentation

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.

Autres nouvelles fonctionnalités notables

Language

  • Les valeurs dans les littéraux de hachage peuvent être omis. [Feature #14579]
    • {x:, y:} est un sucre syntaxique de {x: x, y: y}.
    • foo(x:, y:) est un sucre syntaxique de foo(x: x, y: y).
  • L?opérateur pin (^) 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]]
  • Les parenthèses peuvent être omises dans les filtrages par motifs qui ne font qu?une seule ligne. [Feature #16182]
[0, 1] => _, x
{y: 2} => y:
x #=> 1
y #=> 2

RBS

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 :

  • Les paramètres de type générique peuvent être bornés. (PR)
  • Les alias de type générique sont pris en charge. (PR)
  • rbs collection été introduit pour gérer les RBS des gemmes. (doc)
  • De nombreuses signatures pour les bibliothèques intégrées et standard ont été ajoutées/mises à jour.
  • Il inclut également de nombreuses corrections de bogues et améliorations des performances.

Voir le CHANGELOG.md pour de plus amples informations.

TypeProf

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?.

Demo de 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.

Améliorations de performance

  • MJIT
    • Pour les charges de travail telles que Rails, la valeur par défaut --jit-max-cache passe de 100 à 10000. Le compilateur JIT ne saute plus la compilation des méthodes de plus de 1000 instructions.
    • Pour prendre en charge Zeitwerk de Rails, le code généré par le compilateur JIT n?est plus annulé lorsqu?un TracePoint est activé pour les évènements de classe.

Autres changements notables depuis la version 3.0

  • Le filtrage par motif en une ligne, e.g., ary => [x, y, z], n?est plus au stade expérimental.
  • L?ordre d?évaluation des affectations multiples a été légèrement modifié. [Bug #4443]
    • 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.
  • Allocation de la taille d?une variable String (expérimental) [Bug #18239]
  • Psych 4.0 change Psych.load en safe_load par défaut. Vous devrez peut-être utiliser Psych 3.3.2 pour migrer vers ce comportement. [Bug #17866]

Mise à jour des bibliothèques standards

  • Les gemmes par défaut suivantes ont été mises à jour.
    • RubyGems 3.3.3
    • base64 0.1.1
    • benchmark 0.2.0
    • bigdecimal 3.1.1
    • bundler 2.3.3
    • cgi 0.3.1
    • csv 3.2.2
    • date 3.2.2
    • did_you_mean 1.6.1
    • digest 3.1.0
    • drb 2.1.0
    • erb 2.2.3
    • error_highlight 0.3.0
    • etc 1.3.0
    • fcntl 1.0.1
    • fiddle 1.1.0
    • fileutils 1.6.0
    • find 0.1.1
    • io-console 0.5.10
    • io-wait 0.2.1
    • ipaddr 1.2.3
    • irb 1.4.1
    • json 2.6.1
    • logger 1.5.0
    • net-http 0.2.0
    • net-protocol 0.1.2
    • nkf 0.1.1
    • open-uri 0.2.0
    • openssl 3.0.0
    • optparse 0.2.0
    • ostruct 0.5.2
    • pathname 0.2.0
    • pp 0.3.0
    • prettyprint 0.1.1
    • psych 4.0.3
    • racc 1.6.0
    • rdoc 6.4.0
    • readline 0.0.3
    • readline-ext 0.1.4
    • reline 0.3.0
    • resolv 0.2.1
    • rinda 0.1.1
    • ruby2_keywords 0.0.5
    • securerandom 0.1.1
    • set 1.0.2
    • stringio 3.0.1
    • strscan 3.0.1
    • tempfile 0.1.2
    • time 0.2.0
    • timeout 0.2.0
    • tmpdir 0.1.2
    • un 0.2.0
    • uri 0.11.0
    • yaml 0.2.0
    • zlib 2.1.1
  • Les gemmes groupées suivantes ont été mises à jour.
    • minitest 5.15.0
    • power_assert 2.0.1
    • rake 13.0.6
    • test-unit 3.5.3
    • rexml 3.2.5
    • rbs 2.0.0
    • typeprof 0.21.1
  • Les gemmes par défaut suivantes sont désormais des gemmes groupées. Vous devez les ajouter au Gemfile sous l?environnement bundler.
    • net-ftp 0.1.3
    • net-imap 0.2.2
    • net-pop 0.1.1
    • net-smtp 0.3.1
    • matrix 0.4.2
    • prime 0.1.2
    • debug 1.4.0

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 !

Téléchargement

  • 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, c?est quoi ?

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.

Téléchargement

  • 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
    

Commentaire de version

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.

Téléchargement

  • 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
    

Commentaire de version

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.

Téléchargement

  • 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
    

Commentaire de version

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

Copyright © 2008 Tous droits réservés. Version 1.1