@simplysf/simply-gitlab 0.9.0 → 0.10.0

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.
@@ -29,6 +29,45 @@ The output is deliberately verbose — every supported key, not a curated subset
29
29
  line is easier than discovering that a key exists. Variables come out as metadata only: keys,
30
30
  scopes, and flags, never values.
31
31
 
32
+ ### Feature visibility
33
+
34
+ Project features are exported as access levels rather than on/off booleans:
35
+
36
+ | Feature | Key |
37
+ | ----------------------- | -------------------------------------- |
38
+ | Analytics | `analytics_access_level` |
39
+ | Environments | `environments_access_level` |
40
+ | Feature flags | `feature_flags_access_level` |
41
+ | Infrastructure | `infrastructure_access_level` |
42
+ | Issues | `issues_access_level` |
43
+ | Merge requests | `merge_requests_access_level` |
44
+ | Model experiments | `model_experiments_access_level` |
45
+ | Model registry | `model_registry_access_level` |
46
+ | Monitor | `monitor_access_level` |
47
+ | Package registry | `package_registry_access_level` |
48
+ | Pages | `pages_access_level` |
49
+ | Pipelines | `builds_access_level` |
50
+ | Releases | `releases_access_level` |
51
+ | Repository | `repository_access_level` |
52
+ | Requirements | `requirements_access_level` |
53
+ | Security and compliance | `security_and_compliance_access_level` |
54
+ | Snippets | `snippets_access_level` |
55
+ | Wiki | `wiki_access_level` |
56
+
57
+ Each takes `disabled`, `private` (project members only), or `enabled` (everyone with access to the
58
+ project). `package_registry_access_level` and `pages_access_level` also take `public`.
59
+
60
+ Export no longer writes `issues_enabled`, `wiki_enabled`, or `packages_enabled`, which GitLab has
61
+ deprecated. A baseline that declares them still works, but replace them rather than declaring both,
62
+ since each pair controls the same feature.
63
+
64
+ GitLab refuses a `repository_access_level` lower than `merge_requests_access_level` or
65
+ `builds_access_level`. Keep the three together when you trim an export: a baseline that tightens the
66
+ repository alone can fail on a project where the other two are still open.
67
+
68
+ A key the instance does not report is left out of the export. Written in by hand, the same key shows
69
+ as a change on every `plan`, because there is nothing on the instance to compare it with.
70
+
32
71
  ## Point it at the rest
33
72
 
34
73
  The exported file targets only the project it came from. Widen it on purpose:
@@ -68,7 +68,7 @@
68
68
  "properties": {
69
69
  "settings": {
70
70
  "type": "object",
71
- "description": "Attributes for PUT /projects/:id — merge method, CI config path, build timeout, and the rest. Names are GitLab's own; only what you declare is compared."
71
+ "description": "Attributes for PUT /projects/:id — merge method, CI config path, build timeout, feature access levels, and the rest. Names are GitLab's own; only what you declare is compared."
72
72
  },
73
73
  "protectedBranches": {
74
74
  "$ref": "#/$defs/section",