Ruby 3.4.0 preview2 Released
We are pleased to announce the release of Ruby 3.4.0-preview2.
Prism
Switch the default parser from parse.y to Prism. [Feature #20564]
Language changes
-
String literals in files without a
frozen_string_literal
comment now emit a deprecation warning
when they are mutated.
These warnings can be enabled with-W:deprecated
or by settingWarning[:deprecated] = true
.
To disable this change, you can run Ruby with the--disable-frozen-string-literal
command line argument. [Feature #20205] -
it
is added to reference a block parameter. [Feature #18980] -
Keyword splatting
nil
when calling methods is now supported.
**nil
is treated similarly to**{}
, passing no keywords,
and not calling any conversion methods. [Bug #20064] -
Block passing is no longer allowed in index. [Bug #19918]
-
Keyword arguments are no longer allowed in index. [Bug #20218]
Core classes updates
Note: We’re only listing outstanding class updates.
-
Exception
Exception#set_backtrace
now accepts an array ofThread::Backtrace::Location
.
Kernel#raise
,Thread#raise
andFiber#raise
also accept this new format. [Feature #13557]
-
Range
Range#size
now raisesTypeError
if the range is not iterable. [Misc #18984]
Compatibility issues
Note: Excluding feature bug fixes.
- Error messages and backtrace displays have been changed.
- Use a single quote instead of a backtick as a opening quote. [Feature #16495]
- Display a class name before a method name (only when the class has a permanent name). [Feature #19117]
Kernel#caller
,Thread::Backtrace::Location
’s methods, etc. are also changed accordingly.
Old: test.rb:1:in `foo': undefined method `time' for an instance of Integer from test.rb:2:in `<main>' New: test.rb:1:in 'Object#foo': undefined method 'time' for an instance of Integer from test.rb:2:in `<main>'
Hash#inspect
rendering has changed. [Bug #20433]- Symbol keys are displayed using the modern symbol key syntax:
"{user: 1}"
- Other keys now have spaces around
=>
:'{"user" => 1}'
, while previously they didn’t:'{"user"=>1}'
- Symbol keys are displayed using the modern symbol key syntax:
C API updates
rb_newobj
andrb_newobj_of
(and corresponding macrosRB_NEWOBJ
,RB_NEWOBJ_OF
,NEWOBJ
,NEWOBJ_OF
) have been removed. [Feature #20265]- Removed deprecated function
rb_gc_force_recycle
. [Feature #18290]
Implementation improvements
Array#each
is rewritten in Ruby for better performance [Feature #20182].
Miscellaneous changes
-
Passing a block to a method which doesn’t use the passed block will show
a warning on verbose mode (-w
).
[Feature #15554] -
Redefining some core methods that are specially optimized by the interpeter
and JIT likeString.freeze
orInteger#+
now emits a performance class
warning (-W:performance
orWarning[:performance] = true
).
[Feature #20429]
See GitHub releases like Logger or
changelog for details of the default gems or bundled gems.
See NEWS
or commit logs
for more details.
With those changes, 4422 files changed, 163889 insertions(+), 243380 deletions(-)
since Ruby 3.3.0!
Download
-
https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.gz
SIZE: 22722332 SHA1: c23265acf6c07b4c1df1e41eebf8b4cf2f25b97b SHA256: 443cd7ec54ade4786bc974ce9f5d49f172a60f8edc84b597b7fe2bd2a94b8371 SHA512: 0946d256587597bdf13437a50f7a3298c151133edea161a1c4806a04dcbd8c2e8a7fd617f3eda16c5c05f6e6346317562cc30ba67698f1fdd92237c03bdbd23e
-
https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.tar.xz
SIZE: 16878876 SHA1: dbff404b969012702dc500cac72f4d6b3822068e SHA256: 626bf4fe952323c15ec9a8999f470ec136ef91c0fc34c484646aaaa9a0b62ca7 SHA512: f23257896a35d3a581cbf5e8c94fe28e45725e39608a7669f47f31085338b1b4929a4db40d826d8fee628afb97b0c25b2f9e7bda4cd42e80c1208c46caf54265
-
https://cache.ruby-lang.org/pub/ruby/3.4/ruby-3.4.0-preview2.zip
SIZE: 28101194 SHA1: 479bd223bca3225fb3a15984e3eae4efb9a40189 SHA256: e00a6fbf6f9e25a725711a8aac7e38be6bed61de4db9862a405172b96bf38b5b SHA512: 0d9ee1c41920e4d594b0f2c40d02339b4e9a2cd5232f5ee914cab5a685cb4a2279fbbfd8fbad40ef0a53866db4e1de96068c62580ede6d8fab02550393bcbe81
What is Ruby
Ruby was first developed by Matz (Yukihiro Matsumoto) in 1993,
and is now developed as Open Source. It runs on multiple platforms
and is used all over the world especially for web development.
Posted by naruse on 7 Oct 2024
Python 3.13.0 (final) released
Python 3.13.0 is now available
This is the stable release of Python 3.13.0
Python 3.13.0 is the newest major release of the Python programming language, and it contains many new features and optimizations compared to Python 3.12. (Compared to the last release candidate, 3.13.0rc3, 3.13.0 contains two small bug fixes and some documentation and testing changes.)
Major new features of the 3.13 series, compared to 3.12
Some of the new major new features and changes in Python 3.13 are:
New features
- A new and improved interactive interpreter, based on PyPy’s, featuring multi-line editing and color support, as well as colorized exception tracebacks.
- An experimental free-threaded build mode, which disables the Global Interpreter Lock, allowing threads to run more concurrently. The build mode is available as an experimental feature in the Windows and macOS installers as well.
- A preliminary, experimental JIT, providing the ground work for significant performance improvements.
- The
locals()
builtin function (and its C equivalent) now has well-defined semantics when mutating the returned mapping, which allows debuggers to operate more consistently. - A modified version of mimalloc is now included, optional but enabled by default if supported by the platform, and required for the free-threaded build mode.
- Docstrings now have their leading indentation stripped, reducing memory use and the size of .pyc files. (Most tools handling docstrings already strip leading indentation.)
- The dbm module has a new dbm.sqlite3 backend that is used by default when creating new files.
- The minimum supported macOS version was changed from 10.9 to 10.13 (High Sierra). Older macOS versions will not be supported going forward.
- WASI is now a Tier 2 supported platform. Emscripten is no longer an officially supported platform (but Pyodide continues to support Emscripten).
- iOS is now a Tier 3 supported platform.
- Android is now a Tier 3 supported platform.
Typing
- Support for type defaults in type parameters.
- A new type narrowing annotation,
typing.TypeIs
. - A new annotation for read-only items in TypeDicts.
- A new annotation for marking deprecations in the type system.
Removals and new deprecations
- PEP 594 (Removing dead batteries from the standard library) scheduled removals of many deprecated modules:
aifc
,audioop
,chunk
,cgi
,cgitb
,crypt
,imghdr
,mailcap
,msilib
,nis
,nntplib
,ossaudiodev
,pipes
,sndhdr
,spwd
,sunau
,telnetlib
,uu
,xdrlib
,lib2to3
. - Many other removals of deprecated classes, functions and methods in various standard library modules.
- C API removals and deprecations. (Some removals present in alpha 1 were reverted in alpha 2, as the removals were deemed too disruptive at this time.)
- New deprecations, most of which are scheduled for removal from Python 3.15 or 3.16.
For more details on the changes to Python 3.13, see What’s new in Python 3.13.
More resources
- Online Documentation
- PEP 719, 3.13 Release Schedule
- Report bugs via GitHub Issues.
- Help fund Python directly (or via GitHub Sponsors), and support the Python community.
We hope you enjoy the new releases!
Thanks to all of the many volunteers who help make Python Development and these releases possible! Please consider supporting our efforts by volunteering yourself or through organization contributions to the Python Software Foundation.
Choo-choo from the release train,
Your release team,
Thomas Wouters
Ned Deily
Steve Dower
Łukasz Langa
OpenBSD 7.6 released
Flutter App Development Course In Rawalpindi & Islamabad
Video by via Dailymotion Source https://futureittechnology.com/ Mastering Flutter: Build Cross-Platform Mobile Applications Unlock the full potential of Flutter, Google’s UI toolkit for crafting natively compiled applications for mobile, web, and desktop from a single codebase. What You’ll Learn: Fundamentals of Flutter: Understand the basics of Flutter development, including widgets, layouts, and state management.Cross-Platform Development:…
‘Kembiri politik sebar dakyah perang proksi’, bidas pemimpin Bersatu
Video by via Dailymotion Source Calon naib ketua Pemuda Bersatu yang juga Adun Seberang Jaya nafi pemilihan parti medan ‘peperangan proksi’. Laporan Lanjut:https://www.freemalaysiatoday.com/category/bahasa/tempatan/2024/10/07/kembiri-politik-sebar-dakyah-perang-proksi-bidas-pemimpin-bersatu/ Read More:https://www.freemalaysiatoday.com/category/nation/2024/10/07/bersatu-rep-rubbishes-claim-party-polls-a-proxy-war-between-hamzah-azmin/ Free Malaysia Today is an independent, bi-lingual news portal with a focus on Malaysian current affairs. Subscribe to our channel – http://bit.ly/2Qo08ry ——————————————————————————————————————————————————Check us out at https://www.freemalaysiatoday.comFollow FMT on Facebook:…
Red Flower Bouquet Ideas | Stunning Hand Bouquet Inspiration For Weddings | Subrata Parali
Video by via Dailymotion Source Learn how to create a beautiful flower bouquet right in the comfort of your own home with this step-by-step tutorial! This video will guide you through the process of selecting the perfect flowers, arranging them in an eye-catching way, and wrapping them up to create a stunning final product. Whether…
Mga party-list na naghain ng certificate of nomination at certificate of acceptance of nomination…
Video by via Dailymotion Source 24 Oras is GMA Network’s flagship newscast, anchored by Mel Tiangco, Vicky Morales and Emil Sumangil. It airs on GMA-7 Mondays to Fridays at 6:30 PM (PHL Time) and on weekends at 5:30 PM. For more videos from 24 Oras, visit http://www.gmanews.tv/24oras. #GMAIntegratedNews #GMANetwork #KapusoStream Breaking news and stories from…
Se celebra Next in Podcast, un evento dedicado al mundo del pódcast
Video by via Dailymotion Source Se ha celebrado Next in Podcast, el primer evento en España dedicado al mundo del pódcast organizado porSpotify, la compañía de audio en streaming más grande del mundo. El evento ha contado con la participación de agentes relevantes dentro de la industria, como PRISA Audio, RNE Audio, True Story, Nude…