activeadmin-graphql 0.4.0 → 0.4.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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -3
  3. data/README.md +2 -2
  4. data/docs/changelogs/20260818111600_rfc-0002-problems.md +1 -1
  5. data/docs/changelogs/20260818114000_rfc-as-built-coverage.md +1 -1
  6. data/docs/changelogs/20260818114700_rfc-design-not-version.md +1 -1
  7. data/docs/changelogs/20260907141000_advisory-lockfile-refresh.md +1 -1
  8. data/docs/changelogs/20260921103000_mutation-attribute-allowlists.md +1 -1
  9. data/docs/changelogs/20260921111000_release-0-3-0.md +1 -1
  10. data/docs/changelogs/20260921112800_drop-standard-rubocop-direct.md +1 -1
  11. data/docs/changelogs/20260921120000_graphql-floor-and-activeadmin-4.md +1 -1
  12. data/docs/changelogs/20261010091415_graphql-resource-enabled-default.md +1 -1
  13. data/docs/changelogs/20261010103800_release-0-3-1.md +1 -1
  14. data/docs/changelogs/20261010110600_graphql-identity-dsl.md +4 -0
  15. data/docs/changelogs/20261010111800_release-0-3-2.md +1 -1
  16. data/docs/changelogs/20261012050051_graphql-surface-toggles.md +1 -1
  17. data/docs/changelogs/20261012064500_graphql-capabilities.md +1 -1
  18. data/docs/changelogs/20261012113500_release-0-3-3.md +1 -1
  19. data/docs/changelogs/20261012200000_host-customization-hooks.md +5 -1
  20. data/docs/changelogs/20261013080000_release-0-4-0.md +1 -1
  21. data/docs/changelogs/20261103145000_release-0-4-1.md +26 -0
  22. data/docs/graphql-api.md +107 -102
  23. data/docs/issues/20260907141000_engineering-and-dependency-audit.md +1 -1
  24. data/docs/issues/20260917123253_ci-drop-automatic-dependency-audit.md +1 -1
  25. data/docs/issues/20260921103000_mutation-attribute-allowlists.md +1 -1
  26. data/docs/issues/20260921104400_convention-alignment-audit.md +7 -7
  27. data/docs/issues/20260921114500_dependency-audit.md +13 -13
  28. data/docs/issues/20260921115500_file-length-metrics.md +1 -1
  29. data/docs/issues/20261010111159_rails-composite-primary-keys-alignment.md +13 -13
  30. data/docs/issues/20261010111300_partitions-and-shards-support.md +3 -3
  31. data/docs/issues/20261010111500_graphql-federation-support.md +3 -3
  32. data/docs/issues/20261012200000_host-customization-gaps.md +6 -2
  33. data/docs/issues/20261103145000_engineering-prose-release-audit.md +39 -0
  34. data/docs/plan/20260817201500_rfc-starter.md +1 -1
  35. data/docs/reviews/20261028_engineering-audit-release-preparation.md +24 -0
  36. data/docs/reviews/20261103145000_engineering-prose-release-audit.md +38 -0
  37. data/lib/active_admin/graphql/schema_builder/mutation_create.rb +20 -20
  38. data/lib/active_admin/graphql/schema_builder/mutation_update_destroy.rb +2 -4
  39. data/lib/active_admin/graphql/schema_builder/query_type_member.rb +1 -4
  40. data/lib/active_admin/graphql/schema_builder/query_type_registered.rb +1 -4
  41. data/lib/active_admin/graphql/version.rb +1 -1
  42. metadata +5 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c03a6abe474dea238c1dec40f75bb03b2f3203e4874d4639e2327a0562c9a9ce
4
- data.tar.gz: 3bb9bd9cf8b55e796cf87cf8f51dca817b41b5ae9a515132ff0e56a218afe6db
3
+ metadata.gz: e0aa72556d0c931c7ad67f5e1ed0dea17865d0ca6ce09a0456b6f77a8b8ddf8f
4
+ data.tar.gz: 30ee1796f2fc10d7b5be67c353d049ff76608b872d4f07d00119fd8957ddd2a3
5
5
  SHA512:
6
- metadata.gz: 9e0a6930217123a83432a072410be640d618371c062eb83e27c86786461218f4d48d524edd9a7c00749914ac3c216d015d565fbc60a7f5fcdf7fc0d2f57d48b7
7
- data.tar.gz: 639363956ab8b19349df04e7a5c5f9f6610705206b3d7d8f82838cde74b4dc10ab5e7b53f993def3c2de016885d1a1ecd267698252b877f655c87b49ef1a8f9f
6
+ metadata.gz: e899e659b91eaf7a9ad101b682f62c8d7d7f5f3626158c2bbbfabf92f6eeb9fffa6428c50223a7a2ce1b04d9da8c9bfe52ae3d187f4611d39cefca655f8e7ae8
7
+ data.tar.gz: 2feaf624f3bb2f3784f4256b41211ff6b2e2864b1d10d68941c2793c284ea4aacf25b64459b54858b0d57bdc1533d18b2c99462f3ab7a15c88bd35629d94f04b
data/CHANGELOG.md CHANGED
@@ -1,10 +1,22 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.1 (2026-11-03)
4
+
5
+ - Return `null` for member and `registered_resource` queries when the record
6
+ exists but instance read is denied (same shape as a missing id).
7
+ - Return `not found` for update and destroy when instance authorization fails
8
+ (same message as a missing id).
9
+ - Roll back a `resolve_create` hook persist when instance create is denied
10
+ (nested transaction around the hook).
11
+ - Fail closed when release confirmation input reaches EOF.
12
+ - Require a matching `CHANGELOG.md` version heading before `gem push`.
13
+ - Run the test workflow on pull requests targeting `main`.
14
+
3
15
  ## 0.4.0 (2026-10-13)
4
16
 
5
17
  - Add field `capability_mode` (`:omit` / `:null`) and namespace hooks
6
18
  `graphql_field_capability_mode_default` and `graphql_field_visible` (RFC 0009).
7
- - Add `member_action_mutation … dry_run: true` with `preview`, `extra_params`,
19
+ - Add `member_action_mutation ... dry_run: true` with `preview`, `extra_params`,
8
20
  `ok` / `refuse`, and optional `graphql_run_action_audit` (RFC 0010).
9
21
  - Add `graphql_collection_query_policy` and
10
22
  `CollectionQueryPolicy.require_visible_fields!`, inferring filter grants from
@@ -48,7 +60,7 @@
48
60
  - Put ActiveRecord validation messages on GraphQL error `extensions.errors` when create or update fails.
49
61
  - Log GraphQL execute with namespace, operation name, and error count.
50
62
  - Test ActiveAdmin 4.0.0.beta23 on Rails 8. Keep ActiveAdmin 3.5 on Rails 7.2.
51
- - Add `rfcs/` starter pack: process (RFC 0001), positioning (RFC 0002), and Standards Track design RFCs 0003–0005 for HTTP endpoint, schema DSL, and authorization.
63
+ - Add `rfcs/` starter pack: process (RFC 0001), positioning (RFC 0002), and Standards Track design RFCs 0003-0005 for HTTP endpoint, schema DSL, and authorization.
52
64
 
53
65
  ## 0.2.1 (2026-07-14)
54
66
 
@@ -80,4 +92,4 @@
80
92
  ## 0.1.0 (2026-03-30)
81
93
 
82
94
  - Initial release: GraphQL API for ActiveAdmin extracted from the `activeadmin` fork, usable as `gem "activeadmin-graphql"` alongside `activeadmin` and `graphql`.
83
- - Docs: full guide in [`docs/graphql-api.md`](docs/graphql-api.md), including a “Migrating GraphQL clients” section (enum names, typed CRUD inputs, `ActiveAdminKeyValuePair` lists). Links from an optional ActiveAdmin fork or doc site are mainly for discovery.
95
+ - Docs: full guide in [`docs/graphql-api.md`](docs/graphql-api.md), including a "Migrating GraphQL clients" section (enum names, typed CRUD inputs, `ActiveAdminKeyValuePair` lists). Links from an optional ActiveAdmin fork or doc site are mainly for discovery.
data/README.md CHANGED
@@ -26,7 +26,7 @@ end
26
26
 
27
27
  Bundler loads this gem as usual; that requires `graphql-ruby` and wires ActiveAdmin routing and DSL for GraphQL.
28
28
 
29
- Documentation: [docs/graphql-api.md](docs/graphql-api.md) covers the endpoint, schema, `graphql do … end`, authorization, composite PKs, visibility, and dataloaders. For an older GraphQL integration, see “Migrating GraphQL clients” in that guide (enum type names, typed mutation inputs, key/value lists vs JSON).
29
+ Documentation: [docs/graphql-api.md](docs/graphql-api.md) covers the endpoint, schema, `graphql do ... end`, authorization, composite PKs, visibility, and dataloaders. For an older GraphQL integration, see "Migrating GraphQL clients" in that guide (enum type names, typed mutation inputs, key/value lists vs JSON).
30
30
 
31
31
  ## Development
32
32
 
@@ -63,4 +63,4 @@ No local ActiveAdmin checkout is required; the dummy app depends on the publishe
63
63
 
64
64
  ## License
65
65
 
66
- MIT — see [LICENSE.md](LICENSE.md).
66
+ MIT - see [LICENSE.md](LICENSE.md).
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -1,6 +1,6 @@
1
1
  ## Participants
2
2
 
3
- - amkisko
3
+ Andrei Makarov (@amkisko)
4
4
 
5
5
  ## Decisions
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -1,6 +1,6 @@
1
1
  ## Participants
2
2
 
3
- Andrei Makarov
3
+ Andrei Makarov (@amkisko)
4
4
 
5
5
  ## Decisions
6
6
 
@@ -1,6 +1,6 @@
1
1
  ## Participants
2
2
 
3
- Andrei Makarov
3
+ Andrei Makarov (@amkisko)
4
4
 
5
5
  ## Decisions
6
6
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -1,5 +1,9 @@
1
1
  # GraphQL identity DSL (RFC 0007)
2
2
 
3
+ ## Participants
4
+
5
+ Andrei Makarov (@amkisko)
6
+
3
7
  ## Decisions
4
8
 
5
9
  Ship `graphql { identity *columns, separator:, encode:, decode: }` so resources
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -1,5 +1,9 @@
1
1
  # Host customization hooks
2
2
 
3
+ ## Participants
4
+
5
+ Andrei Makarov (@amkisko)
6
+
3
7
  ## Decisions
4
8
 
5
9
  Ship generic namespace hooks and DSL for field capability null mode, member-action
@@ -21,7 +25,7 @@ duplicated these mechanics after upgrading.
21
25
 
22
26
  ## Source
23
27
 
24
- RFCs 0009–0013. Specs under spec/requests/graphql_capability_mode_spec.rb,
28
+ RFCs 0009-0013. Specs under spec/requests/graphql_capability_mode_spec.rb,
25
29
  graphql_member_action_dry_run_spec.rb, graphql_collection_query_policy_spec.rb,
26
30
  graphql_run_action_capability_default_spec.rb,
27
31
  graphql_run_action_confirm_spec.rb.
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Participants
4
4
 
5
- Andrei Makarov
5
+ Andrei Makarov (@amkisko)
6
6
 
7
7
  ## Decisions
8
8
 
@@ -0,0 +1,26 @@
1
+ # Release 0.4.1 metadata
2
+
3
+ ## Participants
4
+
5
+ Andrei Makarov (@amkisko)
6
+
7
+ ## Decisions
8
+
9
+ Cut 0.4.1 on 2026-11-03. Ship the auth oracle alignment, resolve_create rollback, and release tooling gates in one patch. Leave make release to create the tag and publish the gem after the tree is clean.
10
+
11
+ ## Effects
12
+
13
+ lib/active_admin/graphql/version.rb VERSION is 0.4.1.
14
+
15
+ CHANGELOG.md section 0.4.1 names the auth shape, create hook transaction, EOF confirmation, changelog heading gate, and pull_request CI.
16
+
17
+ ## Next
18
+
19
+ Run make release from a clean tree when ready to push the gem and tag 0.4.1.
20
+
21
+ ## Source
22
+
23
+ docs/issues/20261103145000_engineering-prose-release-audit.md
24
+ docs/reviews/20261103145000_engineering-prose-release-audit.md
25
+ usr/bin/release.rb
26
+ usr/lib/release_version_check.rb