superset 0.5.0 → 0.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59ab63d9f8d51f73e9ca6606a0a559c75def26e9c69ab09eeeb59fd91cf24447
4
- data.tar.gz: c7ae83dfa2a5b5f0e100d6cce0d38e7badf04e20d174c661207223493179f851
3
+ metadata.gz: 063136fe3a4d039c48ce40c5cf060f212af35a3833c6d24ce9315f5465931c5d
4
+ data.tar.gz: 4310dc351ea932247d997ac2c2a48078c900ca7023845a1859140e4372d1cd8c
5
5
  SHA512:
6
- metadata.gz: 9f0f70518ea7bc2f9e19ba9c115bdb1c2c44f05abc0e887fcfb0de1934499847841e601ec0d5e8aabb957c368196873cad0bae6ccb300ce55fe8d9eedd3c4e29
7
- data.tar.gz: 3a90c54aca065f2187bf971912dc2993f25034f6c1880fb4d973a90da3b2a1d63188871acfe64d7448abd431f27a2ea52ecc91d1c9c55194f9815016b8872b61
6
+ metadata.gz: e21a7c945bfc292fe86e444b65c14c90dc6a2090554dfe3e2a9a01dd7810a4e3dcaf05aaee39a958523a2343797277163ebcc60d6ff1e3e1e6933fd0355e4a2b
7
+ data.tar.gz: ad56b23990af5c6823c098bcc4798bcb0dff1e2d2a02ee3f41bdec46e7ca637bf57811d0dcee2938ded9ef55c1efc5fd44cda860c9feb649f2cd39db5c941dd4
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  ## Changelog
2
2
 
3
+ ## 0.5.2 - 2026-08-28
4
+
5
+ * Add tag-triggered release workflow (`.github/workflows/release.yml`) that publishes to RubyGems.org via OIDC trusted publishing and to GitHub Packages via the Actions `GITHUB_TOKEN` — no long-lived credentials stored anywhere. Refuses to publish unless the pushed tag's commit is reachable from `develop`. See `RELEASING.md` for the release steps and one-time RubyGems.org Trusted Publisher setup
6
+ * Loosen the `faraday` dependency from `~> 1.10` to `>= 1.10` so consumers aren't held back from newer Faraday releases
7
+
8
+ ## 0.5.1 - 2026-08-27
9
+
10
+ * **Fix:** `Superset::Client` and `Superset::GuestToken` raised `NameError: uninitialized constant FaradayMiddleware::ParseJson` on every request. Both connections used `FaradayMiddleware::ParseJson`, but this gem has never declared or required `faraday_middleware` — the constant only reached the bundle transitively via happi, and happi 1.0.0 dropped it. Replaced with Faraday's own `f.response :json`, which is equivalent (same `content_type:` option, same `respond_to?(:to_str)` guard, same `Faraday::ParsingError` on bad bodies)
11
+ * Raise the `faraday` floor from `~> 1.0` to `~> 1.10` — `Faraday::Response::Json` only ships from 1.10
12
+ * Pin the development `happi` to v1.0.0 so `faraday_middleware` is absent from this gem's own bundle and CI catches any reintroduction
13
+ * Add `#connection` specs to both classes asserting the handler stack, which the previous suite never exercised
14
+
3
15
  ## 0.5.0 - 2026-07-21
4
16
 
5
17
  * Decouple from Rollbar — remove the `Rollbar.error(...) if defined?(Rollbar)` call in `WarmUpCache`; exceptions now propagate to the caller so consumers' own error handling can react
data/RELEASING.md ADDED
@@ -0,0 +1,32 @@
1
+ # Releasing superset
2
+
3
+ Publishing is only ever done by GitHub Actions (`.github/workflows/release.yml`), triggered by
4
+ a `vX.Y.Z` tag whose commit is reachable from `develop`. Tags on any other branch are rejected by
5
+ the workflow before anything is built. No one needs local publishing credentials — the workflow
6
+ authenticates to RubyGems.org via OIDC trusted publishing and to GitHub Packages via the
7
+ Actions-provided `GITHUB_TOKEN`.
8
+
9
+ ## Cutting a release
10
+
11
+ 1. Bump `Superset::VERSION` in `lib/superset/version.rb`.
12
+ 2. Add a new `## X.Y.Z - YYYY-MM-DD` entry to the top of `CHANGELOG.md` describing the changes.
13
+ 3. Commit both changes and get them onto `develop` (PR + merge, as normal).
14
+ 4. From an up-to-date `develop`, tag the commit and push the tag:
15
+
16
+ ```bash
17
+ git tag vX.Y.Z
18
+ git push origin vX.Y.Z
19
+ ```
20
+
21
+ 5. Watch the "Release" workflow run in the Actions tab.
22
+ 6. Confirm the new version shows up on [rubygems.org](https://rubygems.org/gems/superset) and on
23
+ [GitHub Packages](https://github.com/rdytech/superset-client/pkgs/rubygems/superset).
24
+
25
+ ## One-time setup
26
+
27
+ - **RubyGems.org**: an existing owner of the `superset` gem must add a Trusted Publisher for
28
+ `rdytech/superset-client`, workflow `release.yml` (no environment). See
29
+ [Trusted Publishing: adding a publisher](https://guides.rubygems.org/trusted-publishing/adding-a-publisher/).
30
+ Until this is done, the "Publish to RubyGems.org" step will fail.
31
+ - **GitHub Packages**: nothing to configure — the workflow's `packages: write` permission is
32
+ sufficient.
@@ -77,7 +77,7 @@ module Superset
77
77
  @connection ||= Faraday.new(superset_host) do |f|
78
78
  f.authorization :Bearer, access_token
79
79
  f.use :cookie_jar # persist the Flask session cookie across the csrf_token GET and the write
80
- f.use FaradayMiddleware::ParseJson, content_type: 'application/json'
80
+ f.response :json, content_type: 'application/json'
81
81
 
82
82
  if self.config.use_json
83
83
  f.request :json
@@ -75,7 +75,7 @@ module Superset
75
75
  @connection ||= Faraday.new(authenticator.superset_host) do |f|
76
76
  f.authorization :Bearer, access_token
77
77
  f.use :cookie_jar # replay the Flask session cookie from the csrf_token GET on the POST
78
- f.use FaradayMiddleware::ParseJson, content_type: 'application/json'
78
+ f.response :json, content_type: 'application/json'
79
79
  f.request :json
80
80
  f.adapter :net_http
81
81
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Superset
4
- VERSION = "0.5.0"
4
+ VERSION = "0.5.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: superset
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - jbat
@@ -55,16 +55,16 @@ dependencies:
55
55
  name: faraday
56
56
  requirement: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '1.0'
60
+ version: '1.10'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '1.0'
67
+ version: '1.10'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: faraday-multipart
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -207,6 +207,7 @@ files:
207
207
  - Dockerfile
208
208
  - LICENSE
209
209
  - README.md
210
+ - RELEASING.md
210
211
  - Rakefile
211
212
  - doc/duplicate_dashboards.md
212
213
  - doc/migrating_dashboards_across_environments.md
@@ -290,7 +291,6 @@ files:
290
291
  - lib/superset/tag/list.rb
291
292
  - lib/superset/version.rb
292
293
  - log/README.md
293
- - superset.gemspec
294
294
  homepage: https://github.com/rdytech/superset-client
295
295
  licenses:
296
296
  - MIT
@@ -309,7 +309,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
309
309
  - !ruby/object:Gem::Version
310
310
  version: '0'
311
311
  requirements: []
312
- rubygems_version: 3.6.7
312
+ rubygems_version: 3.6.9
313
313
  specification_version: 4
314
314
  summary: A Ruby Client for Apache Superset API
315
315
  test_files: []
data/superset.gemspec DELETED
@@ -1,59 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "lib/superset/version"
4
-
5
- Gem::Specification.new do |spec|
6
- spec.name = "superset"
7
- spec.version = Superset::VERSION
8
- spec.authors = ["jbat"]
9
- spec.email = ["jonathon.batson@gmail.com"]
10
-
11
- spec.summary = "A Ruby Client for Apache Superset API"
12
- spec.homepage = "https://github.com/rdytech/superset-client"
13
- spec.license = "MIT"
14
- spec.required_ruby_version = ">= 3"
15
-
16
- #spec.metadata["allowed_push_host"] = ""
17
-
18
- #spec.metadata["homepage_uri"] = spec.homepage
19
- #spec.metadata["source_code_uri"] = ""
20
- #spec.metadata["changelog_uri"] = ""
21
-
22
- # Specify which files should be added to the gem when it is released.
23
- # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(__dir__) do
25
- `git ls-files -z`.split("\x0").reject do |f|
26
- (File.expand_path(f) == __FILE__) ||
27
- f.start_with?(*%w[bin/ test/ spec/ features/ .git appveyor Gemfile])
28
- end
29
- end
30
-
31
- #spec.bindir = "exe"
32
- #spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
33
- spec.require_paths = [
34
- "lib"
35
- ]
36
-
37
- spec.add_dependency "json", ">= 2.0"
38
- spec.add_dependency "terminal-table", "~> 4.0"
39
- spec.add_dependency "require_all", ">= 3.0"
40
- spec.add_dependency "faraday", "~> 1.0"
41
- spec.add_dependency "faraday-multipart", "~> 1.0"
42
- spec.add_dependency "faraday-cookie_jar", "~> 0.0.7" # replay the Flask session cookie for CSRF
43
- spec.add_dependency "enumerate_it", ">= 1.7"
44
-
45
- # rubyzip is only needed by the dashboard import/export feature, which lazily
46
- # `require 'zip'` at call time. Kept as a dev dependency so those specs run here,
47
- # but NOT a runtime dependency — consumers that don't import/export (embedders,
48
- # read/write API clients) shouldn't inherit its rubyzip >= 3 pin.
49
- # Apps that DO use import/export must declare rubyzip (>= 3.0) themselves.
50
- spec.add_development_dependency "rubyzip", ">= 3.0"
51
- spec.add_development_dependency "dotenv", ">= 2.0"
52
- spec.add_development_dependency "rake", ">= 13.0"
53
- spec.add_development_dependency "rspec", ">= 3.0"
54
- spec.add_development_dependency "rubocop", ">= 1.0"
55
- spec.add_development_dependency "pry", ">= 0.14"
56
-
57
- # For more information and examples about making a new gem, check out our
58
- # guide at: https://bundler.io/guides/creating_gem.html
59
- end