confium 0.3.1 → 0.3.2
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 +4 -4
- data/CHANGELOG.md +34 -3
- data/Cargo.lock +1 -0
- data/Rakefile +18 -5
- data/confium.gemspec +1 -1
- data/lib/confium/version.rb +1 -1
- data/lib/confium.rb +13 -1
- metadata +8 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c8445c7b4b7f4fdea4740a5f22874c5a97eda59e75ebe5cf327dbc84b67ff6f2
|
|
4
|
+
data.tar.gz: 68381a40a3a7f21b5f4330611bbe86e7abbf9223602288f105f611553e86cd21
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 00cf2dd64ba0bce3897db2d5f026818ccc5f90cc1ad1f27a65869827f530811df1a60c50e6fefeb9c83183859bccce81194b0e031e2fbff5b8213d53bb3cb4cb
|
|
7
|
+
data.tar.gz: a2f6509125418022a2aa3d98d86b724cc841f7f3067884c482d345f2f3b28a0adb63b51dbba34d48dd5d64aa1c827a42d8bf86be273160feb631d5e8a68b72b9
|
data/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,41 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.3.2] — 2026-08-22
|
|
4
|
+
|
|
5
|
+
Native platform gems (linux x86_64/aarch64, macOS x86_64/arm64) ship
|
|
6
|
+
alongside the source gem — `gem install` no longer needs a Rust
|
|
7
|
+
toolchain on those platforms.
|
|
8
|
+
|
|
9
|
+
The 0.3.0/0.3.1 native-gem builds never actually produced platform
|
|
10
|
+
gems: the cross-compile task targeted a nonexistent rake task inside
|
|
11
|
+
a container whose shell swallowed the failure, and the fallback
|
|
12
|
+
`gem build` stamped platform=ruby. RubyGems blocks re-pushing a
|
|
13
|
+
version that ever existed, so the native gems first appear here.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- Platform gems now build on native-arch runners (one per target
|
|
18
|
+
platform). Cross-compilation via rake-compiler-dock is impossible
|
|
19
|
+
for this gem: the dock images are Ubuntu 20.04 (gcc 9.4) while the
|
|
20
|
+
vendored RNP stack needs Botan 3.12, which requires gcc 11+.
|
|
21
|
+
- Each platform gem carries one extension per C-ABI window — exact
|
|
22
|
+
minors 3.1 and 3.2, plus 3.3 (loads on 3.3+) — because Ruby 3.2
|
|
23
|
+
broke the 3.1 ABI (a 3.1-built extension segfaults on 3.2) and
|
|
24
|
+
rb-sys references `ruby_current_vm_ptr` when built against
|
|
25
|
+
Ruby <= 3.2, which libruby stopped exporting in 3.3.
|
|
26
|
+
`lib/confium.rb` picks the window for the running Ruby; source
|
|
27
|
+
builds keep the flat extension path.
|
|
28
|
+
- The release workflow no longer builds a source gem (that burned
|
|
29
|
+
the 0.3.1 version slots against test-and-release.yml's publish),
|
|
30
|
+
refuses to push any gem stamped platform=ruby, and installs each
|
|
31
|
+
packaged gem on Ruby 3.1 through 3.4 before publishing.
|
|
32
|
+
- Windows remains unsupported: the vendored RNP (json-c + botan)
|
|
33
|
+
build has no MSVC/mingw story.
|
|
34
|
+
|
|
3
35
|
## [0.3.1] — 2026-08-21
|
|
4
36
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
no longer needs a Rust toolchain on those platforms.
|
|
37
|
+
Shipped as a source gem only (the intended native platform gems
|
|
38
|
+
failed to materialize; see 0.3.2).
|
|
8
39
|
|
|
9
40
|
### Added
|
|
10
41
|
|
data/Cargo.lock
CHANGED
data/Rakefile
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'rake/clean'
|
|
3
4
|
require 'bundler/gem_tasks'
|
|
4
|
-
require 'rspec/core/rake_task'
|
|
5
|
-
RSpec::Core::RakeTask.new(:spec)
|
|
6
|
-
|
|
7
|
-
require 'rubocop/rake_task'
|
|
8
|
-
RuboCop::RakeTask.new
|
|
9
5
|
|
|
10
6
|
require 'rb_sys/extensiontask'
|
|
11
7
|
gemspec = Gem::Specification.load('confium.gemspec')
|
|
@@ -13,5 +9,22 @@ RbSys::ExtensionTask.new('confium_native', gemspec) do |ext|
|
|
|
13
9
|
ext.lib_dir = 'lib/confium_native'
|
|
14
10
|
end
|
|
15
11
|
|
|
12
|
+
# Tooling tasks are dev-only and are not needed to build the
|
|
13
|
+
# extension. Guard the requires so minimal environments (e.g. release
|
|
14
|
+
# tooling containers) can still load this Rakefile.
|
|
15
|
+
begin
|
|
16
|
+
require 'rspec/core/rake_task'
|
|
17
|
+
RSpec::Core::RakeTask.new(:spec)
|
|
18
|
+
rescue LoadError
|
|
19
|
+
nil
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
begin
|
|
23
|
+
require 'rubocop/rake_task'
|
|
24
|
+
RuboCop::RakeTask.new
|
|
25
|
+
rescue LoadError
|
|
26
|
+
nil
|
|
27
|
+
end
|
|
28
|
+
|
|
16
29
|
task compile: :clean
|
|
17
30
|
task default: %i[compile spec rubocop]
|
data/confium.gemspec
CHANGED
|
@@ -48,7 +48,7 @@ Gem::Specification.new do |spec|
|
|
|
48
48
|
spec.add_dependency 'rb_sys', '~> 0.9.39'
|
|
49
49
|
|
|
50
50
|
spec.add_development_dependency 'rake', '~> 13.0'
|
|
51
|
-
spec.add_development_dependency 'rake-compiler', '~> 1.
|
|
51
|
+
spec.add_development_dependency 'rake-compiler', '~> 1.3.0'
|
|
52
52
|
spec.add_development_dependency 'rake-compiler-dock', '~> 1.3'
|
|
53
53
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
54
54
|
spec.add_development_dependency 'rubocop', '~> 1.0'
|
data/lib/confium/version.rb
CHANGED
data/lib/confium.rb
CHANGED
|
@@ -12,7 +12,19 @@
|
|
|
12
12
|
require_relative 'confium/version'
|
|
13
13
|
|
|
14
14
|
begin
|
|
15
|
-
|
|
15
|
+
# Pre-built platform gems ship one extension per C-ABI window
|
|
16
|
+
# (Ruby 3.2 broke the 3.1 ABI — object shapes — and rb-sys
|
|
17
|
+
# references the VM pointer libruby stopped exporting in 3.3, so
|
|
18
|
+
# 3.1 and 3.2 get exact-minor builds while 3.3 covers 3.3+).
|
|
19
|
+
# Source builds install the extension flat, without a version
|
|
20
|
+
# directory.
|
|
21
|
+
major, minor = RUBY_VERSION.split('.').first(2).map(&:to_i)
|
|
22
|
+
window = major > 3 || minor >= 3 ? '3.3' : "#{major}.#{minor}"
|
|
23
|
+
begin
|
|
24
|
+
require_relative "confium_native/#{window}/confium_native"
|
|
25
|
+
rescue LoadError
|
|
26
|
+
require_relative 'confium_native/confium_native'
|
|
27
|
+
end
|
|
16
28
|
rescue LoadError => e
|
|
17
29
|
warn 'confium: native extension not built — run `bundle exec rake compile`'
|
|
18
30
|
raise e
|
metadata
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: confium
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.3.
|
|
4
|
+
version: 0.3.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ribose Open
|
|
8
|
+
autorequire:
|
|
8
9
|
bindir: bin
|
|
9
10
|
cert_chain: []
|
|
10
|
-
date:
|
|
11
|
+
date: 2026-08-22 00:00:00.000000000 Z
|
|
11
12
|
dependencies:
|
|
12
13
|
- !ruby/object:Gem::Dependency
|
|
13
14
|
name: rb_sys
|
|
@@ -43,14 +44,14 @@ dependencies:
|
|
|
43
44
|
requirements:
|
|
44
45
|
- - "~>"
|
|
45
46
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 1.
|
|
47
|
+
version: 1.3.0
|
|
47
48
|
type: :development
|
|
48
49
|
prerelease: false
|
|
49
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
51
|
requirements:
|
|
51
52
|
- - "~>"
|
|
52
53
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 1.
|
|
54
|
+
version: 1.3.0
|
|
54
55
|
- !ruby/object:Gem::Dependency
|
|
55
56
|
name: rake-compiler-dock
|
|
56
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -182,6 +183,7 @@ metadata:
|
|
|
182
183
|
homepage_uri: https://www.confium.org
|
|
183
184
|
source_code_uri: https://github.com/confium/confium-ruby
|
|
184
185
|
rubygems_mfa_required: 'true'
|
|
186
|
+
post_install_message:
|
|
185
187
|
rdoc_options: []
|
|
186
188
|
require_paths:
|
|
187
189
|
- lib
|
|
@@ -196,7 +198,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
196
198
|
- !ruby/object:Gem::Version
|
|
197
199
|
version: '0'
|
|
198
200
|
requirements: []
|
|
199
|
-
rubygems_version:
|
|
201
|
+
rubygems_version: 3.5.22
|
|
202
|
+
signing_key:
|
|
200
203
|
specification_version: 4
|
|
201
204
|
summary: Ruby bindings for the Confium multi-stakeholder threshold cryptography framework.
|
|
202
205
|
test_files: []
|