valkyrie 3.5.0 → 3.5.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: 7ba113a4df1fa120076006223d629be9d186f96736fbb363781bc78f6c038013
4
- data.tar.gz: 89e485a082def7836f884354b136c081496b5a9f36e98c2f9f31127dc053ab28
3
+ metadata.gz: '019ff2935ad45b095aa1a480fa630b3acd45486ba398fcc33b881c76f94856c9'
4
+ data.tar.gz: 6d5be6b5d178daaef17769f561fd2d3bc2d6795ea8d33bd76ccf038772b290c5
5
5
  SHA512:
6
- metadata.gz: 3d3537379fb136ec2ca843e2dd13d85a22c46a9c74d94f1ca3cfb1ab32f4a193394ab1ff9deae649939e3260b0ba9e9d8f423f3fb87d40043d107ff646fb74bc
7
- data.tar.gz: 4a908d4d2574d5017bc81af1683d714b028b5d1ab17e086ff0f8ea6d0a764348f3efd3f308aeedac4623956ccfce915a5c5d611ab84d7e9e2d08c22d5afe623a
6
+ metadata.gz: '08ca3c0f78259f19bbf327363177c0560926d791e832cff00a6707540f00051ee02b1e2aade681104aa90140e1aa5c268a43686df6d49cc6d2545381362c9088'
7
+ data.tar.gz: 7edd93eb4e765b35f458cf1c6d372103249d191bd580f78e96f4a7e5c2f7012071371eb5bfc4315121d448fa17ecb7b09a76c58cf0658a0859a4ca654b6d2c3a
data/.circleci/config.yml CHANGED
@@ -24,10 +24,6 @@ jobs:
24
24
  environment:
25
25
  CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
26
26
  JAVA_OPTIONS: "-Djetty.http.port=8988"
27
- - image: samvera/fcrepo4:5.1.0
28
- environment:
29
- CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
30
- JAVA_OPTIONS: "-Djetty.http.port=8998 -Dfcrepo.dynamic.jms.port=61618 -Dfcrepo.dynamic.stomp.port=61614"
31
27
  - image: fcrepo/fcrepo:6.5.1-RC3-tomcat9
32
28
  environment:
33
29
  CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
@@ -65,7 +61,7 @@ jobs:
65
61
  - run: gem install bundler -v '~> 2.0'
66
62
  - restore_cache:
67
63
  keys:
68
- - bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6
64
+ - bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-7
69
65
  - run: sudo apt update -y && sudo apt-get install -y libpq-dev lsof
70
66
  - run:
71
67
  name: Set BUNDLE_GEMFILE
@@ -75,7 +71,7 @@ jobs:
75
71
  name: Install dependencies
76
72
  command: bundle install --path=vendor/bundle --jobs 4 --retry 3
77
73
  - save_cache:
78
- key: bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-6
74
+ key: bundle-{{ checksum "<< parameters.gemfile >>" }}-{{ checksum "valkyrie.gemspec" }}-<< parameters.ruby >>-7
79
75
  paths:
80
76
  - "vendor/bundle"
81
77
  - "gemfiles/vendor/bundle"
@@ -103,10 +99,6 @@ workflows:
103
99
  gemfile: "gemfiles/activerecord_7_1.gemfile"
104
100
  ruby: 3.3.5
105
101
  name: "Ruby3-3_rails7-1"
106
- - build:
107
- gemfile: "gemfiles/activerecord_7_0.gemfile"
108
- ruby: 3.3.5
109
- name: "Ruby3-3_rails7-0"
110
102
  - build:
111
103
  gemfile: "gemfiles/activerecord_7_2.gemfile"
112
104
  ruby: 3.2.5
@@ -115,10 +107,6 @@ workflows:
115
107
  gemfile: "gemfiles/activerecord_7_1.gemfile"
116
108
  ruby: 3.2.5
117
109
  name: "Ruby3-2_rails7-1"
118
- - build:
119
- gemfile: "gemfiles/activerecord_7_0.gemfile"
120
- ruby: 3.2.5
121
- name: "Ruby3-2_rails7-0"
122
110
  - build:
123
111
  gemfile: "gemfiles/activerecord_7_2.gemfile"
124
112
  ruby: 3.1.6
@@ -127,10 +115,6 @@ workflows:
127
115
  gemfile: "gemfiles/activerecord_7_1.gemfile"
128
116
  ruby: 3.1.6
129
117
  name: "Ruby3-1_rails7-1"
130
- - build:
131
- gemfile: "gemfiles/activerecord_7_0.gemfile"
132
- ruby: 3.1.6
133
- name: "Ruby3-1_rails7-0"
134
118
  - build:
135
119
  gemfile: "gemfiles/faraday_1.gemfile"
136
120
  ruby: 3.1.6
@@ -145,6 +129,10 @@ workflows:
145
129
  only:
146
130
  - master
147
131
  jobs:
132
+ - build:
133
+ gemfile: "gemfiles/activerecord_8_0.gemfile"
134
+ ruby: 3.3.5
135
+ name: "Ruby3-3_rails8-0"
148
136
  - build:
149
137
  gemfile: "gemfiles/activerecord_7_2.gemfile"
150
138
  ruby: 3.3.5
@@ -153,10 +141,6 @@ workflows:
153
141
  gemfile: "gemfiles/activerecord_7_1.gemfile"
154
142
  ruby: 3.3.5
155
143
  name: "Ruby3-3_rails7-1"
156
- - build:
157
- gemfile: "gemfiles/activerecord_7_0.gemfile"
158
- ruby: 3.3.5
159
- name: "Ruby3-3_rails7-0"
160
144
  - build:
161
145
  gemfile: "gemfiles/activerecord_7_2.gemfile"
162
146
  ruby: 3.2.5
@@ -177,10 +161,6 @@ workflows:
177
161
  gemfile: "gemfiles/activerecord_7_1.gemfile"
178
162
  ruby: 3.1.6
179
163
  name: "Ruby3-1_rails7-1"
180
- - build:
181
- gemfile: "gemfiles/activerecord_7_0.gemfile"
182
- ruby: 3.1.6
183
- name: "Ruby3-1_rails7-0"
184
164
  - build:
185
165
  gemfile: "gemfiles/faraday_1.gemfile"
186
166
  ruby: 3.1.6
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  /vendor
11
11
  /gemfiles/*.lock
12
+ .byebug_history
data/.lando.yml CHANGED
@@ -27,24 +27,6 @@ services:
27
27
  environment:
28
28
  CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC"
29
29
  portforward: 8988
30
- valkyrie_fedora_5:
31
- type: compose
32
- app_mount: false
33
- volumes:
34
- fedora5:
35
- services:
36
- image: fcrepo/fcrepo:5.1.1-multiplatform
37
- command:
38
- - "catalina.sh"
39
- - "run"
40
- volumes:
41
- - fedora5:/data
42
- ports:
43
- - 8998:8080
44
- environment:
45
- CATALINA_OPTS: "-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms512m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:+DisableExplicitGC -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
46
- JAVA_OPTS: "-Dfcrepo.dynamic.jms.port=61620 -Dfcrepo.dynamic.stomp.port=61617 -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true"
47
- portforward: true
48
30
  valkyrie_fedora_6:
49
31
  type: compose
50
32
  app_mount: false
data/Appraisals CHANGED
@@ -1,5 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ appraise "activerecord-8-0" do
4
+ gem "activerecord", "~> 8.0.0"
5
+ end
6
+
3
7
  appraise "activerecord-7-2" do
4
8
  gem "activerecord", "~> 7.2.0"
5
9
  end
@@ -8,11 +12,7 @@ appraise "activerecord-7-1" do
8
12
  gem "activerecord", "~> 7.1.0"
9
13
  end
10
14
 
11
- appraise "activerecord-7-0" do
12
- gem "activerecord", "~> 7.0.0"
13
- end
14
-
15
15
  appraise "faraday-1" do
16
16
  gem "faraday", "~> 1.0"
17
- gem "activerecord", "~> 7.0.0"
17
+ gem "activerecord", "~> 7.1.0"
18
18
  end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ # v3.5.1 2026-01-16
2
+
3
+ * Remove Fedora 5. ([tpendragon](https://github.com/tpendragon))
4
+ * Limit LSOF command to the current process ID ([hackartisan](https://github.com/hackartisan))
5
+
1
6
  # v3.5.0 2024-12-10
2
7
 
3
8
  * Provides new boolean configuration setting `auto_cast_iso8601_as_datetime` ([dchandekstark](https://github.com/dchandekstark))
data/README.md CHANGED
@@ -224,14 +224,14 @@ custom adapters, but your application will still work.
224
224
  Using the shared specs in your own models is described in more detail on the [Shared Specs Wiki
225
225
  page](https://github.com/samvera/valkyrie/wiki/Shared-Specs).
226
226
 
227
- ### Fedora 5/6 Compatibility
227
+ ### Fedora 6 Compatibility
228
228
  When configuring your adapter, include the `fedora_version` parameter in your metadata or storage adapter
229
229
  config. If Fedora requires auth, you can also include that in the URL, e.g.:
230
230
 
231
231
  ```
232
232
  Valkyrie::Storage::Fedora.new(
233
233
  connection: Ldp::Client.new("http://fedoraAdmin:fedoraAdmin@localhost:8988/rest"),
234
- fedora_version: 5
234
+ fedora_version: 6
235
235
  )
236
236
  ```
237
237
  #### Pairtree paths in Fedora 4/6
@@ -3,7 +3,7 @@
3
3
 
4
4
  source "https://rubygems.org"
5
5
 
6
- gem "activerecord", "~> 7.0.0"
6
+ gem "activerecord", "~> 8.0.0"
7
7
  gem "ldp"
8
8
  gem "pg"
9
9
  gem "rsolr"
@@ -3,7 +3,7 @@
3
3
 
4
4
  source "https://rubygems.org"
5
5
 
6
- gem "activerecord", "~> 7.0.0"
6
+ gem "activerecord", "~> 7.1.0"
7
7
  gem "ldp"
8
8
  gem "pg"
9
9
  gem "rsolr"
@@ -20,6 +20,6 @@ module Valkyrie::Persistence
20
20
  require 'valkyrie/persistence/fedora/ordered_reader'
21
21
  require 'valkyrie/persistence/fedora/list_node'
22
22
 
23
- DEFAULT_FEDORA_VERSION = 5
23
+ DEFAULT_FEDORA_VERSION = 6
24
24
  end
25
25
  end
@@ -9,12 +9,12 @@ module Valkyrie::Persistence::Postgres
9
9
  #
10
10
  # @see https://github.com/samvera-labs/valkyrie/wiki/Set-up-Valkyrie-database-in-a-Rails-Application
11
11
  class MetadataAdapter
12
- # @return [Class] {Valkyrie::Persistence::Postgres::Persister}
12
+ # @return [Valkyrie::Persistence::Postgres::Persister]
13
13
  def persister
14
14
  Valkyrie::Persistence::Postgres::Persister.new(adapter: self)
15
15
  end
16
16
 
17
- # @return [Class] {Valkyrie::Persistence::Postgres::QueryService}
17
+ # @return [Valkyrie::Persistence::Postgres::QueryService]
18
18
  def query_service
19
19
  @query_service ||= Valkyrie::Persistence::Postgres::QueryService.new(
20
20
  resource_factory: resource_factory,
@@ -22,7 +22,7 @@ module Valkyrie::Persistence::Postgres
22
22
  )
23
23
  end
24
24
 
25
- # @return [Class] {Valkyrie::Persistence::Postgres::ResourceFactory}
25
+ # @return [Valkyrie::Persistence::Postgres::ResourceFactory]
26
26
  def resource_factory
27
27
  @resource_factory ||= Valkyrie::Persistence::Postgres::ResourceFactory.new(adapter: self)
28
28
  end
@@ -64,11 +64,12 @@ RSpec.shared_examples 'a Valkyrie::StorageAdapter' do
64
64
  pre_open_files = open_files
65
65
  the_file = storage_adapter.find_by(id: uploaded_file.id)
66
66
  expect(the_file).to be_kind_of Valkyrie::StorageAdapter::File
67
- expect(pre_open_files.size).to eq open_files.size
67
+ expect(pre_open_files.size).to be <= open_files.size
68
68
  end
69
69
 
70
70
  def open_files
71
- `lsof +D .`.split("\n").map { |r| r.split("\t").last }
71
+ GC.start
72
+ `lsof -p #{Process.pid}`.split("\n").map { |r| r.split(/\s+/).last }
72
73
  end
73
74
 
74
75
  it "can upload, validate, re-fetch, and delete a file" do
@@ -41,7 +41,7 @@ module Valkyrie::Storage
41
41
  end
42
42
 
43
43
  def file_path(id)
44
- id.to_s.gsub(/^#{Regexp.escape(protocol)}/, '')
44
+ id.to_s.delete_prefix(protocol)
45
45
  end
46
46
 
47
47
  # Return the file associated with the given identifier
@@ -116,7 +116,7 @@ module Valkyrie::Storage
116
116
  if fedora_version == 4
117
117
  version_graph&.fetch("http://fedora.info/definitions/v4/repository#hasVersion", [])
118
118
  else
119
- # Fedora 5/6 use Memento.
119
+ # Fedora 6 uses Memento.
120
120
  version_graph&.fetch("http://www.w3.org/ns/ldp#contains", [])&.sort_by { |x| x["@id"] }&.reverse
121
121
  end
122
122
  end
@@ -176,12 +176,6 @@ module Valkyrie::Storage
176
176
  end
177
177
  # If there's a deletion marker, don't return anything. (Fedora 4)
178
178
  return nil if response.status == 410
179
- # This is awful, but versioning is locked to per-second increments,
180
- # returns a 409 in Fedora 5 if there's a conflict.
181
- if response.status == 409
182
- sleep(0.5)
183
- return mint_version(identifier, version_name)
184
- end
185
179
  raise "Version unable to be created" unless response.status == 201
186
180
  valkyrie_identifier(uri: response.headers["location"].gsub("/fcr:metadata", ""))
187
181
  end
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Valkyrie
3
- VERSION = "3.5.0"
3
+ VERSION = "3.5.1"
4
4
  end
data/valkyrie.gemspec CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
25
25
  spec.add_dependency 'dry-struct'
26
26
  spec.add_dependency 'activemodel'
27
27
  spec.add_dependency 'dry-types', '~> 1.0'
28
- spec.add_dependency 'rdf', '~> 3.0', '>= 3.0.10'
28
+ spec.add_dependency 'rdf', '~> 3.0', '>= 3.3.2'
29
29
  spec.add_dependency 'activesupport'
30
30
  spec.add_dependency 'railties' # To use generators and engines
31
31
  spec.add_dependency 'reform', '~> 2.2'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valkyrie
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.5.0
4
+ version: 3.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Trey Pendragon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
11
+ date: 2026-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct
@@ -61,7 +61,7 @@ dependencies:
61
61
  version: '3.0'
62
62
  - - ">="
63
63
  - !ruby/object:Gem::Version
64
- version: 3.0.10
64
+ version: 3.3.2
65
65
  type: :runtime
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -71,7 +71,7 @@ dependencies:
71
71
  version: '3.0'
72
72
  - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 3.0.10
74
+ version: 3.3.2
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: activesupport
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -452,9 +452,9 @@ files:
452
452
  - db/migrate/20180212092225_create_updated_at_index.rb
453
453
  - db/migrate/20180802220739_add_optimistic_locking_to_orm_resources.rb
454
454
  - db/schema.rb
455
- - gemfiles/activerecord_7_0.gemfile
456
455
  - gemfiles/activerecord_7_1.gemfile
457
456
  - gemfiles/activerecord_7_2.gemfile
457
+ - gemfiles/activerecord_8_0.gemfile
458
458
  - gemfiles/faraday_1.gemfile
459
459
  - lib/valkyrie.rb
460
460
  - lib/valkyrie/adapter_container.rb