rubyzip 3.0.0.rc2 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a2a18261870066289dfb751472f788cf6cc3cecb119b14ddfe33b982823215e
4
- data.tar.gz: 96db40d3eb0b9bd9ad96ae51c3f9ec0ca1fa290352aefd969c03a558c4f9dbe7
3
+ metadata.gz: 7c2bb6e50eaebd7d5142317949277bb4ff7f38248d87ff16856b5afd428a886c
4
+ data.tar.gz: e2e5ce63d0e2bb370723d4eb642502b8574af322326a971e1222c8e3b696c061
5
5
  SHA512:
6
- metadata.gz: e6dde3c07ee1a5949996cce233db30b51d96b5c3947ce590b1677bf6bb69f62a155253615b2c44d63af77264e0cbaf5c3be7e16996b6ad27674a5ac307fb1d0a
7
- data.tar.gz: bf6b290da9be2332de71fe6ba13ba5491d3c4bdfdd92f67b7276790bce535195950631071ba96d02e0800b030bf8332020b96c93effe35a03287b63ad7f94400
6
+ metadata.gz: eebc2d4fb0fe6bd3632a49f489cb0fc1e9d727cd8867162b419a9851a3d4f95db7614bb171f6bad2418be69ee353c26180b3c7b202602a436e2a20f80eecb613
7
+ data.tar.gz: 4df75a096e8b9e3dfe67e35d6418a4c9cb06945d224d9e09b4082baabfbc01b3a698e737a306c539b29b449a970c290379275b4db95a08fd62cf9a177c616c29
data/Changelog.md CHANGED
@@ -1,4 +1,11 @@
1
- # 3.0.0 (Next)
1
+ # 3.0.1 (2025-08-08)
2
+
3
+ - Restore `Zip::File`'s `Enumerable` status. [#641](https://github.com/rubyzip/rubyzip/issues/641)
4
+ - Escape filename pattern when matching in `Entry#name_safe?`. [#639](https://github.com/rubyzip/rubyzip/pull/639)
5
+ - Eagerly require gem version. [#637](https://github.com/rubyzip/rubyzip/pull/637)
6
+ - Fix direct `require` of `Entry` by requiring `constants`. [#636](https://github.com/rubyzip/rubyzip/pull/636)
7
+
8
+ # 3.0.0 (2025-07-28)
2
9
 
3
10
  - Fix de facto regression for input streams.
4
11
  - Fix `File#write_buffer` to always return the given `io`.
@@ -40,6 +47,7 @@
40
47
 
41
48
  Tooling/internal:
42
49
 
50
+ - No longer test setting `$\` in tests.
43
51
  - Add a test to ensure correct version number format.
44
52
  - Update the README with new Ruby version compatability information.
45
53
  - Fix various issues with JRuby tests.
data/README.md CHANGED
@@ -386,18 +386,18 @@ You can set multiple settings at the same time by using a block:
386
386
 
387
387
  Rubyzip is known to run on a number of platforms and under a number of different Ruby versions.
388
388
 
389
- ### Version 2.3.x
389
+ ### Version 2.4.x
390
390
 
391
- Rubyzip 2.3 is known to work on MRI 2.4 to 3.4 on Linux and Mac, and JRuby and Truffleruby on Linux. There are known issues with Windows which have been fixed on the development branch. Please [let us know](https://github.com/rubyzip/rubyzip/pulls) if you know Rubyzip 2.3 works on a platform/Ruby combination not listed here, or [raise an issue](https://github.com/rubyzip/rubyzip/issues) if you see a failure where we think it should work.
391
+ Rubyzip 2.4 is known to work on MRI 2.4 to 3.4 on Linux and Mac, and JRuby and Truffleruby on Linux. There are known issues with Windows which have been fixed on the development branch. Please [let us know](https://github.com/rubyzip/rubyzip/pulls) if you know Rubyzip 2.4 works on a platform/Ruby combination not listed here, or [raise an issue](https://github.com/rubyzip/rubyzip/issues) if you see a failure where we think it should work.
392
392
 
393
- ### Next (version 3.0.0)
393
+ ### Version 3.x
394
394
 
395
395
  Please see the table below for what we think the current situation is. Note: an empty cell means "unknown", not "does not work".
396
396
 
397
- | OS/Ruby | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | Head | JRuby 9.4.9.0 | JRuby Head | Truffleruby 24.1.1 | Truffleruby Head |
397
+ | OS/Ruby | 3.0 | 3.1 | 3.2 | 3.3 | 3.4 | Head | JRuby 10.0.1.0 | JRuby Head | Truffleruby 24.2.1 | Truffleruby Head |
398
398
  |---------|-----|-----|-----|-----|-----|------|---------------|------------|--------------------|------------------|
399
- |Ubuntu 22.04| CI | CI | CI | CI | CI | ci | CI | ci | CI | ci |
400
- |Mac OS 14.7.2| CI | CI | CI | CI | CI | ci | x | | x | |
399
+ |Ubuntu 24.04| CI | CI | CI | CI | CI | ci | CI | ci | CI | ci |
400
+ |Mac OS 14.7.6| CI | CI | CI | CI | CI | ci | x | | x | |
401
401
  |Windows Server 2022| CI | | | | CI&nbsp;mswin</br>CI&nbsp;ucrt | | | | | |
402
402
 
403
403
  Key: `CI` - tested in CI, should work; `ci` - tested in CI, might fail; `x` - known working; `o` - known failing.
@@ -449,14 +449,3 @@ See https://github.com/rubyzip/rubyzip/graphs/contributors for a comprehensive l
449
449
  ## License
450
450
 
451
451
  Rubyzip is distributed under the same license as Ruby. In practice this means you can use it under the terms of the Ruby License or the 2-Clause BSD License. See https://www.ruby-lang.org/en/about/license.txt and LICENSE.md for details.
452
-
453
- ## Research notice
454
- Please note that this repository is participating in a study into sustainability
455
- of open source projects. Data will be gathered about this repository for
456
- approximately the next 12 months, starting from June 2021.
457
-
458
- Data collected will include number of contributors, number of PRs, time taken to
459
- close/merge these PRs, and issues closed.
460
-
461
- For more information, please visit
462
- [our informational page](https://sustainable-open-science-and-software.github.io/) or download our [participant information sheet](https://sustainable-open-science-and-software.github.io/assets/PIS_sustainable_software.pdf).
data/lib/zip/entry.rb CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  require 'pathname'
4
4
 
5
+ require_relative 'constants'
5
6
  require_relative 'dirtyable'
6
7
 
7
8
  module Zip
@@ -229,7 +230,7 @@ module Zip
229
230
  return false unless cleanpath.relative?
230
231
 
231
232
  root = ::File::SEPARATOR
232
- naive = ::File.join(root, cleanpath.to_s)
233
+ naive = Regexp.escape(::File.join(root, cleanpath.to_s))
233
234
  # Allow for Windows drive mappings at the root.
234
235
  ::File.absolute_path(cleanpath.to_s, root).match?(/([A-Z]:)?#{naive}/i)
235
236
  end
data/lib/zip/file.rb CHANGED
@@ -49,6 +49,7 @@ module Zip
49
49
  # Zip::FileSystem offers an alternative API that emulates ruby's
50
50
  # interface for accessing the filesystem, ie. the ::File and ::Dir classes.
51
51
  class File
52
+ include Enumerable
52
53
  extend Forwardable
53
54
  extend FileSplit
54
55
 
data/lib/zip/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Zip
4
- VERSION = '3.0.0.rc2' # :nodoc:
4
+ VERSION = '3.0.1'
5
5
  end
data/lib/zip.rb CHANGED
@@ -7,6 +7,7 @@ require 'tempfile'
7
7
  require 'fileutils'
8
8
  require 'stringio'
9
9
  require 'zlib'
10
+ require 'zip/version'
10
11
  require 'zip/constants'
11
12
  require 'zip/dos_time'
12
13
  require 'zip/ioextras'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubyzip
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.rc2
4
+ version: 3.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Haines
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2025-02-08 00:00:00.000000000 Z
13
+ date: 2025-08-08 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: minitest
@@ -195,9 +195,9 @@ licenses:
195
195
  - BSD-2-Clause
196
196
  metadata:
197
197
  bug_tracker_uri: https://github.com/rubyzip/rubyzip/issues
198
- changelog_uri: https://github.com/rubyzip/rubyzip/blob/v3.0.0.rc2/Changelog.md
199
- documentation_uri: https://www.rubydoc.info/gems/rubyzip/3.0.0.rc2
200
- source_code_uri: https://github.com/rubyzip/rubyzip/tree/v3.0.0.rc2
198
+ changelog_uri: https://github.com/rubyzip/rubyzip/blob/v3.0.1/Changelog.md
199
+ documentation_uri: https://www.rubydoc.info/gems/rubyzip/3.0.1
200
+ source_code_uri: https://github.com/rubyzip/rubyzip/tree/v3.0.1
201
201
  wiki_uri: https://github.com/rubyzip/rubyzip/wiki
202
202
  rubygems_mfa_required: 'true'
203
203
  post_install_message:
@@ -211,9 +211,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
211
  version: '3.0'
212
212
  required_rubygems_version: !ruby/object:Gem::Requirement
213
213
  requirements:
214
- - - ">"
214
+ - - ">="
215
215
  - !ruby/object:Gem::Version
216
- version: 1.3.1
216
+ version: '0'
217
217
  requirements: []
218
218
  rubygems_version: 3.4.1
219
219
  signing_key: