Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package rubygem-zeitwerk for
openSUSE:Factory checked in at 2022-01-03 10:49:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-zeitwerk (Old)
and /work/SRC/openSUSE:Factory/.rubygem-zeitwerk.new.1896 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rubygem-zeitwerk"
Mon Jan 3 10:49:45 2022 rev:11 rq:943427 version:2.5.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-zeitwerk/rubygem-zeitwerk.changes
2021-12-29 21:11:30.206312499 +0100
+++
/work/SRC/openSUSE:Factory/.rubygem-zeitwerk.new.1896/rubygem-zeitwerk.changes
2022-01-03 10:50:32.139606094 +0100
@@ -1,0 +2,9 @@
+Sat Jan 1 18:12:41 UTC 2022 - Manuel Schnitzer <[email protected]>
+
+- updated to version 2.5.3
+
+ * The change introduced in 2.5.2 implied a performance regression
+ that was particularly dramatic in Ruby 3.1. We'll address
+ [#198](https://github.com/fxn/zeitwerk/issues/198) in a different way.
+
+-------------------------------------------------------------------
Old:
----
zeitwerk-2.5.2.gem
New:
----
zeitwerk-2.5.3.gem
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rubygem-zeitwerk.spec ++++++
--- /var/tmp/diff_new_pack.CpJ3kL/_old 2022-01-03 10:50:32.603606271 +0100
+++ /var/tmp/diff_new_pack.CpJ3kL/_new 2022-01-03 10:50:32.607606273 +0100
@@ -1,7 +1,7 @@
#
# spec file for package rubygem-zeitwerk
#
-# Copyright (c) 2021 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2022 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
#
Name: rubygem-zeitwerk
-Version: 2.5.2
+Version: 2.5.3
Release: 0
%define mod_name zeitwerk
%define mod_full_name %{mod_name}-%{version}
++++++ zeitwerk-2.5.2.gem -> zeitwerk-2.5.3.gem ++++++
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/zeitwerk/kernel.rb new/lib/zeitwerk/kernel.rb
--- old/lib/zeitwerk/kernel.rb 2021-12-27 13:00:43.000000000 +0100
+++ new/lib/zeitwerk/kernel.rb 2021-12-30 19:06:32.000000000 +0100
@@ -29,7 +29,6 @@
required
else
loader.on_dir_autoloaded(path)
- $LOADED_FEATURES << path
true
end
else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/zeitwerk/loader.rb new/lib/zeitwerk/loader.rb
--- old/lib/zeitwerk/loader.rb 2021-12-27 13:00:43.000000000 +0100
+++ new/lib/zeitwerk/loader.rb 2021-12-30 19:06:32.000000000 +0100
@@ -123,7 +123,13 @@
# @sig () -> void
def unload
mutex.synchronize do
- abspaths_of_unloaded_crefs = Set.new
+ # We are going to keep track of the files that were required by our
+ # autoloads to later remove them from $LOADED_FEATURES, thus making
them
+ # loadable by Kernel#require again.
+ #
+ # Directories are not stored in $LOADED_FEATURES, keeping track of
files
+ # is enough.
+ unloaded_files = Set.new
autoloads.each do |abspath, (parent, cname)|
if parent.autoload?(cname)
@@ -133,7 +139,7 @@
# and the constant path would escape unloadable_cpath? This is just
# defensive code to clean things up as much as we are able to.
unload_cref(parent, cname)
- abspaths_of_unloaded_crefs.add(abspath)
+ unloaded_files.add(abspath) if ruby?(abspath)
end
end
@@ -144,14 +150,10 @@
end
unload_cref(parent, cname)
- abspaths_of_unloaded_crefs.add(abspath)
+ unloaded_files.add(abspath) if ruby?(abspath)
end
- unless abspaths_of_unloaded_crefs.empty?
- # We remove these abspaths from $LOADED_FEATURES because, otherwise,
- # `require`'s idempotence would prevent newly defined autoloads from
- # loading them again.
- #
+ unless unloaded_files.empty?
# Bootsnap decorates Kernel#require to speed it up using a cache and
# this optimization does not check if $LOADED_FEATURES has the file.
#
@@ -163,7 +165,7 @@
# Rails applications may depend on bootsnap, so for unloading to work
# in that setting it is preferable that we restrict our API choice to
# one of those methods.
- $LOADED_FEATURES.reject! { |file|
abspaths_of_unloaded_crefs.member?(file) }
+ $LOADED_FEATURES.reject! { |file| unloaded_files.member?(file) }
end
autoloads.clear
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/lib/zeitwerk/version.rb new/lib/zeitwerk/version.rb
--- old/lib/zeitwerk/version.rb 2021-12-27 13:00:43.000000000 +0100
+++ new/lib/zeitwerk/version.rb 2021-12-30 19:06:32.000000000 +0100
@@ -1,5 +1,5 @@
# frozen_string_literal: true
module Zeitwerk
- VERSION = "2.5.2"
+ VERSION = "2.5.3"
end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata 2021-12-27 13:00:43.000000000 +0100
+++ new/metadata 2021-12-30 19:06:32.000000000 +0100
@@ -1,14 +1,14 @@
--- !ruby/object:Gem::Specification
name: zeitwerk
version: !ruby/object:Gem::Version
- version: 2.5.2
+ version: 2.5.3
platform: ruby
authors:
- Xavier Noria
autorequire:
bindir: bin
cert_chain: []
-date: 2021-12-27 00:00:00.000000000 Z
+date: 2021-12-30 00:00:00.000000000 Z
dependencies: []
description: |2
Zeitwerk implements constant autoloading with Ruby semantics. Each gem