As notícias mais recentes do Ruby-Lang em Português.
Fukuoka Ruby Award 2018 - Inscrições serão julgadas por Matz
27 de Dezembro de 2017, 0:00 - sem comentários aindaPrezada(o) entusiasta de Ruby,
O governo de Fukuoka, Japão, juntamente com “Matz” Matsumoto gostaria de convidar-lhe para se inscrever na seguinte competição de Ruby. Se você desenvolveu um programa interessante usando Ruby, sinta-se encorajada(o) a se inscrever.
Fukuoka Ruby Award 2018 - Grande Prêmio - 1 milhão de ienes!
Prazo de Inscrição: 31 de janeiro de 2018
Matz e um grupo de painelista selecionarão os vencededores da Fukuoka Competition. O grande prêmio da Fukuoka Competition é 1 milhão de ienes. Vencedores anteriores incluem Rhomobile (USA) e APEC Climate Center (Korea).
http://myfukuoka.com/category/news/ruby-news/
Programas inscritos na competição não necessariamente precisam ser escritos inteiramente em Ruby, mas devem utilizar como vantagem alguma característica única de Ruby.
Os projetos precisam ter sido desenvolvidos ou completados nos últimos 12 meses para ser elegíveis. Por favor, acesse os seguintes sites de Fukuoka para mais detalhes ou para se inscrever.
http://www.digitalfukuoka.jp/events/152 ou http://myfukuoka.com/events/2018-fukuoka-ruby-award-guidelines-for-applicants/
http://www.digitalfukuoka.jp/uploads/event_detail/file/393/RubyAward_ApplicationForm_2018.doc
Por favor, encaminhe a inscrição para award@f-ruby.com.
Neste ano, haverão os seguintes prêmios especiais:
O vencedor do AWS Prize receberá:
- Amazon Fire Tablet (sujeito a alteração)
- Consultoria técnica sobre arquitetura AWS
O vencedor do GMO Pepabo Prize receberá:
- Lolipop! serviço de hospedagem compartilhado: assinatura gratuita por 10 anos do plano Standard ou um cupom de ¥100.000 para o plano fracionado de Managed Cloud.
- Serviço de registro Muumuu Domain DNS: Assinatura gratuita por 10 anos de um domínio (para um domínio que custa ¥10.000 ou menos por ano).
O vencedor do IIJ GIO Prize receberá:
- Mais detalhes serão anunciados em breve.
O vencedor do Money Forward Prize receberá:
- Jantar com Ruby commiters de Money Forward.
- Um cupom gratuito de 10 anos dos serviços premium de nosso serviço de gerenciamento financeiro pessoal “Money Forward”.
O vencedor do Salesforce Prize receberá:
- Brindes de salesforce.com
“Matz testará e revisará seu código fonte completamente, então é muito significativo se inscrever! A inscrição da competição é gratuita.”
Obrigado!
Escrito por Fukuoka Ruby em 27/12/2017
Traduzido por jcserracampos
Lançado Ruby 2.5.0
25 de Dezembro de 2017, 0:00 - sem comentários aindaTemos o prazer de anunciar o lançamento de Ruby 2.5.0.
Ruby 2.5.0 é a primeira versão estável da série Ruby 2.5. Esta versão introduz muitas novas funcionalidades e melhorias de performance. As mudanças notáveis são as seguintes:
Novas funcionalidades
-
rescue
/else
/ensure
passam a ser permitidos diretamente em blocosdo
/end
. [Funcionalidade #12906] - Adiciona
yield_self
em um bloco yield no seu contexto. Ao contrário detap
, retorna o resultado do bloco. [Funcionalidade #6721] - Adiciona suporte a mensuração de cobertura de ramificação e cobertura de método. A cobertura de ramificação indica quais ramificações (branches) são executadas e quais não. A cobertura de método indica quais métodos são invocados e quais não. Ao executar uma suíte de testes com essas novas funcionalidades, você saberá quais ramificações e métodos são executados e mensurará a cobertura total da suíte de testes mais estritamente. [Funcionalidade #13901]
- Hash#slice [Funcionalidade #8499] e Hash#transform_keys [Funcionalidade #13583]
- Struct.new pode criar classes que aceitam keywords como argumento. [Funcionalidade #11925]
- Enumerable#any?, all?, none? e one? passam a aceitar um pattern como argumento. [Funcionalidade #11286]
- Pesquisa de constante de alto nível foi removida. [Funcionalidade #11547]
- Uma das mais amadas bibliotecas, pp.rb, agora é automaticamente carregada.
Você não precisa mais escrever
require "pp"
. [Funcionalidade #14123] - Imprime backtrace e mensagens de erro em ordem reversa (primeiro as chamadas mais antigas, chamadas mais recentes por último). Quando um backtrace grande aparece no seu terminal (TTY), você pode facilmente achar a linha causadora no final do seu backtrace. Perceba que a ordem só é reversa quando o backtrace é imprimido diretamente no terminal. [Funcionalidade #8661] [experimental]
Melhorias de performance
- Cerca de 5-10% de melhoria de performance ao remover todas as instruções
trace
do bytecode geral (sequências de instrução). A instruçãotrace
foi adicionada para suportar oTracePoint
. Entretanto, na maioria dos casos,TracePoint
não é utilizado e instruçõestrace
são sobrecargas puras. Ao invés, nós usamos uma técnica de instrumentação dinâmica. Veja [Funcionalidade #14104] para mais detalhes. - Passagem de bloco por um parâmetro de bloco (por exemplo
def foo(&b); bar(&b); end
) está cerca de 3 vezes mais rápida do que no Ruby 2.4 por causa da técnica “Lazy Proc allocation”. [Funcionalidade #14045] - Mutex está reescrito para ser menor e mais rápido. [Funcionalidade #13517]
- ERB agora gera código a partir de um template duas vezes mais rápido do que no Ruby 2.4.
- Melhora a performance de alguns métodos internos como
Array#concat
,Enumerable#sort_by
,String#concat
,String#index
,Time#+
e mais. - IO.copy_stream usa copy_file_range(2) para copiar usando offloading. [Funcionalidade #13867]
Outras mudanças notáveis desde 2.4
- SecureRandom agora prefere fontes fornecidas pelo sistema operacional ao invés de OpenSSL. [Bug #9569]
- Promove cmath, csv, date, dbm, etc, fcntl, fiddle, fileutils, gdbm, ipaddr, scanf, sdbm, stringio, strscan, webrick, zlib de bibliotecas padrões para gems padrões.
- Atualiza para Onigmo 6.1.3.
- Adiciona operador ausente.
- Note que Ruby 2.4.1 também inclui esta mudança.
- Atualiza para Psych 3.0.2.
- Atualiza para RubyGems 2.7.3.
- Atualiza para RDoc 6.0.1.
- Altera o lexer de um baseado em IRB para Ripper. Isto melhora consideravelmente a velocidade de geração de documentação.
- Corrige uma quantidade significativa de bugs que existiam há 10 anos.
- Adiciona suporte para a nova sintaxe de Ruby desde as últimas mudanças.
- Atualiza a versão suportads de Unicode para 10.0.0.
-
Thread.report_on_exception
agora é definido comotrue
por padrão. Esta alteração ajuda a debugar programas multithreads. [Funcionalidade #14143] - IO#write agora recebe múltiplos argumentos. [Funcionalidade #9323]
Veja as novidades ou histórico de commits para detalhes.
Com essas mudanças, 6158 arquivos alterados, 348484 inserções(+), 82747 remoções(-) desde Ruby 2.4.0!
Feliz natal, feliz ano novo e divirta-se programando com Ruby 2.5!
Download
-
https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.gz
SIZE: 15834941 bytes SHA1: 58f77301c891c1c4a08f301861c26b1ea46509f6 SHA256: 46e6f3630f1888eb653b15fa811d77b5b1df6fd7a3af436b343cfe4f4503f2ab SHA512: 0712fe68611f5d0cd6dd54b814f825478e64b6a62bdf67bce431f4dca2dc00b1a33f77bebfbcd0a151118a1152554ab457decde435b424aa1f004bc0aa40580d
-
https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.zip
SIZE: 19495617 bytes SHA1: 700b6f55d689a5c8051c8c292b9e77a1b50bf96e SHA256: 94559ea6e3c619423da604e503ce1dc1c465d6e0747a07fbdc5f294acaf14c24 SHA512: e4324064cee8c65b80192e3eff287e915d2d40464d300744c36fb326ae4b1846911400a99d4332192d8a217009d3a5209b43eb5e8bc0b739035bef89cc493e84
-
https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.bz2
SIZE: 13955820 bytes SHA1: 827b9a3bcffa86d1fc9ed96d403cb9dc37731688 SHA256: d87eb3021f71d4f62e5a5329628ac9a6665902173296e551667edd94362325cc SHA512: 8f6fdf6708e7470f55bc009db2567cd8d4e633ad0678d83a015441ecf5b5d88bd7da8fb8533a42157ff83b74d00b6dc617d39bbb17fc2c6c12287a1d8eaa0f2c
-
https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.0.tar.xz
SIZE: 11292472 bytes SHA1: 9c7babcf9e299be3f197d9091024ae458f1a1273 SHA256: 1da0afed833a0dab94075221a615c14487b05d0c407f991c8080d576d985b49b SHA512: 55714a33d7661fe8b432f73c34fd67b49699f8b79df1cbd680a74899124d31111ab0f444677672aac1ba725820182940d485efb2db0bf2bc96737c5d40c54578
Escrito por naruse em 25/12/2017
Traduzido por jcserracampos
Lançado Ruby 2.3.6
14 de Dezembro de 2017, 16:00 - sem comentários aindaRuby 2.3.6 foi lançado.
Esse lançamento inclui cerca de 10 correções de bugs desde o último lançamento, e também inclui algumas correções de segurança. Por favor, verifiquem os tópicos abaixo para mais detalhes.
- CVE-2017-17405: Vulnerabilidade de injeção de comandos em Net::FTP
- Unsafe Object Deserialization Vulnerability in RubyGems (English)
Veja o ChangeLog para detalhes.
Download
-
https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.bz2
SIZE: 14429114 bytes SHA1: 07c3b66d544dd22c22fbae3f16cfb3eeb88b7b1e SHA256: 07aa3ed3bffbfb97b6fc5296a86621e6bb5349c6f8e549bd0db7f61e3e210fd0 SHA512: bc3c7a115745a38e44bd91eb5637b1e412011c471d9749db7960185ef75737b944dd0e524f22432809649952ca7d93f46d458990e9cd2b0db5ca8abf4bc8ea99
-
https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.gz
SIZE: 17840901 bytes SHA1: 4e6a0f828819e15d274ae58485585fc8b7caace0 SHA256: 8322513279f9edfa612d445bc111a87894fac1128eaa539301cebfc0dd51571e SHA512: 104553d888f7d49d1b8df0cff0a3e8aee3086183d75e1a88289730e34c2da669874d7abe83e84bf1b3be9a3337a34f19ea9f9dcfbf1f7fc1136bb8f922776ea4
-
https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.tar.xz
SIZE: 11445628 bytes SHA1: 55e97913180a313f161d2e4e541dd904a477c31d SHA256: e0d969ac22d4a403c1204868bb9c0d068aa35045bb3934cf50b17b7f66059f56 SHA512: a09c8715097d16190ee17ee39e7a74438cefc9013add350217b7e3fb4d60aa9dcb30595adf832b0d67a5c45b1fe9d4effb767c995af2759420859f8d763c693a
-
https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.6.zip
SIZE: 19892406 bytes SHA1: 0d631f32e7b360dcbfb9f8f46dfff2445f0a6a51 SHA256: 6fee49a2099d49a1b98bf0637fe974fd87af3ae64978392c802ba4d10ac70fb5 SHA512: c6dc2ee01a4ef84850b0ca4d1e60841f07fbff263ebbbc44c8bd0f72ced3172c2e0b9c883496bfc4f5a42f4827a061f8f479d05bda5f693a274c451914e0b03e
Comentários da versão
Obrigado a todos que contribuiram com esse lançamento.
A manutenção do Ruby 2.3, incluindo esse lançamento, é baseada no “Agreement for the Ruby stable version” da Ruby Association.
Escrito por usa em 14/12/2017
Traduzido por fpgentil
Lançado Ruby 2.2.9
14 de Dezembro de 2017, 16:00 - sem comentários aindaRuby 2.2.9 foi lançado. Esse lançamento inclui várias correções de segurança. Por favor, verifiquem os tópicos abaixo para mais detalhes.
- CVE-2017-17405: Vulnerabilidade de injeção de comandos em Net::FTP
- Unsafe Object Deserialization Vulnerability in RubyGems (English)
Ruby 2.2 está agora em fase de manutenção de segurança até o final de Março de 2018. Após essa data, a manutenção do Ruby 2.2 será encerrada. Recomendamos fortemente que você planeje em migrar para uma nova versão do Ruby, como 2.4 ou 2.3.
Download
-
https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.9.tar.bz2
SIZE: 13371232 bytes SHA1: 773ba9b51bde612866f656c4531f59660e2b0087 SHA256: 5e3cfcc3b69638e165f72f67b1321fa05aff62b0f9e9b32042a5a79614e7c70a SHA512: 2a8c8770fda20a22b79c9115b6f468f8e7ea1092c84a5089af7a3122163e5ad298b493e6637e4d93ba02d899d8a619c94064dda8ac98cf3b93f64f45d5401085
-
https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.9.tar.gz
SIZE: 16681209 bytes SHA1: cbeb1b892ffcaca8728c1cb8d513e1b485bc5eba SHA256: 2f47c77054fc40ccfde22501425256d32c4fa0ccaf9554f0d699ed436beca1a6 SHA512: 34e440d529b3bb6b2a7c0e68e64c66c903b96b736ca527398d4493e7451353c08f7cc68b83c55011b53d76411c118fcb3c9e70c1a08439a591eeee98c430c297
-
https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.9.tar.xz
SIZE: 10511456 bytes SHA1: 1144e19b4cdc77ee036847d261013c88fc59b5f8 SHA256: 313b44b1105589d00bb30b9cccf7da44d263fe20a2d8d269ada536d4a7ef285c SHA512: c4ef84cd00f72f60d6c168f0726d9d7e9573549c2bbae83893e1a9d5e64fc7938f4c9d50a47147b28b37cbf36263f95e10a810c0797bad941775a48d75a8c933
-
https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.9.zip
SIZE: 18523114 bytes SHA1: ebc8ba0ae1178bf4a84b38dd0fdd97de82406cf4 SHA256: c3055ef4f985079d392dddebb1eab1e91851bfc19c0e8a11779872647d89b3b1 SHA512: 41de195641bc8cca43a726c1d707720dc9d3b8a853002548a31d171508b78dc353328c9a526dfbbc76493307c0e9e5fce669cc9fc3efc9626f84f2af5aca1a55
Comentários da versão
Obrigado a todos que contribuiram com esse lançamento.
Escrito por usa em 14/12/2017
Traduzido por fpgentil
CVE-2017-17405: Vulnerabilidade de injeção de comandos em Net::FTP
14 de Dezembro de 2017, 16:00 - sem comentários aindaExiste uma vulnerabilidade de injeção de comandos em Net::FTP junto do Ruby. Essa vulnerabilidade foi atribuída ao identificador CVE-2017-17405.
Detalhes
Net::FTP#get
, getbinaryfile
, gettextfile
, put
, putbinaryfile
, e
puttextfile
usam Kernel#open
para abrir um arquivo local. Se o argumento de localfile
inicia com o caractere barra vertical (pipe) "|"
, o comando seguido do pipe é executado.
O valor padrão de localfile
é File.basename(remotefile)
, então servidores FTP maliciosos
podem executar comandos aleatórios.
Todos usuários executando uma versão afetada devem atualizá-la imediatamente.
Versões Afetadas
- Série do Ruby 2.2: 2.2.8 e anteriores
- Série do Ruby 2.3: 2.3.5 e anteriores
- Série do Ruby 2.4: 2.4.2 e anteriores
- Série do Ruby 2.5: 2.5.0-preview1
- anteriores ao trunk r61242
Créditos
Obrigado a Etienne Stalmans do time de segurança do Heroku por reportar o issue.
Histórico
- Publicado originalmente em 2017-12-14 16:00:00 (UTC)
Escrito por nagachika em 14/12/2017
Traduzido por fpgentil