wow-secret-lint 1.4.0 → 1.4.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,35 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.4.2 - 2026-08-31
4
+
5
+ Data only. No rule, message or analysis behaviour changed.
6
+
7
+ ### Changed
8
+
9
+ - Refreshed `data/api-snapshot.json` from `Gethe/wow-ui-source@live` so the published
10
+ package carries the current documentation. Two entries moved out of 10,099:
11
+ `UnitCanAssist` gained `canAssistImmunePC` and `canAssistUninteractable` arguments, and
12
+ `UnitIsPlayerControlledOrGroupMember` was added. Neither carries `SecretReturns`, neither
13
+ is conditionally secret, and neither appears in any 12.1 rule list.
14
+
15
+ Verified inert rather than assumed: the full suite passes against the new snapshot, and the
16
+ 12-addon corpus produces the same 500 findings, identical on file, line, column, rule id and
17
+ severity. No structures changed and no functions were removed.
18
+
19
+ ## 1.4.1 - 2026-08-31
20
+
21
+ ### Changed
22
+
23
+ - **WSL016 now points at the migration, not just the rename.** Reporting the
24
+ `showCountdownFrame` bug to oUF ([#888](https://github.com/oUF-wow/oUF/issues/888)) got
25
+ it closed as not planned, with the reason that private auras are unofficially deprecated
26
+ as of 12.1 and the element is slated for removal. The bug was not disputed. Verified the
27
+ substance of the reply against Blizzard's live source: `Blizzard_AuraContainerSources.lua`
28
+ carries `AuraContainerPrivateAuraSource` and reaches private auras through
29
+ `C_UnitAurasPrivate.GetAllPrivateAuraInstanceIDs`, so an AuraContainer displays them with
30
+ no private aura anchor at all. The message and the README now say to migrate rather than
31
+ rename, and the rule stays a warning because of it.
32
+
3
33
  ## 1.4.0 - 2026-08-31
4
34
 
5
35
  Closes every item that was sitting in PROGRESS as a next step. Nothing in the 12.1 notes
package/README.md CHANGED
@@ -177,7 +177,9 @@ A replacement is named only where the notes state the rename outright, or where
177
177
 
178
178
  `SecureAuraHeaderTemplate` is caught both in a `CreateFrame` template list and in an XML `inherits` attribute, including comma-separated lists. Referencing `UIParentLoadAddOn` without calling it is not flagged, because `if UIParentLoadAddOn then` is how you feature-detect the old client.
179
179
 
180
- **WSL016** exists because this one fails silently: `showCountdownFrame` was renamed `showCooldownFrame` in the private-aura anchor structures, the old field is ignored, and the cooldown swipe just stops appearing with no error to trace. It is caught both inline and through a local args table. oUF's `privateauras.lua` ships this bug today, as do the copies vendored into KkthnxUI and SpartanUI.
180
+ **WSL016** exists because this one fails silently: `showCountdownFrame` was renamed `showCooldownFrame` in the private-aura anchor structures, the old field is ignored, and the cooldown swipe just stops appearing with no error to trace. It is caught both inline and through a local args table.
181
+
182
+ The rename is the minimal fix, but it is probably not the one you want. Reporting this to oUF ([#888](https://github.com/oUF-wow/oUF/issues/888)) produced a useful answer: private auras are unofficially deprecated as of 12.1, the whole element is slated for removal, and existing private auras are now surfaced through aura containers anyway. Blizzard's `Blizzard_AuraContainerSources.lua` carries `AuraContainerPrivateAuraSource` and reaches them via `C_UnitAurasPrivate.GetAllPrivateAuraInstanceIDs`, so a container shows them without a private aura anchor at all. If you are touching this code, migrate rather than rename. The rule reports it as a warning for exactly that reason.
181
183
 
182
184
  **WSL018** is the one that catches code WSL012 cannot. The notes say the by-index, by-slot and by-instance-id aura APIs *"will Lua error when called by addons while auras are secret"*, so the call is the failure, not what you do with the result. It therefore fires even where the result is guarded perfectly. BigWigs is the worked example: it has zero WSL012 findings because it guards every aura it reads, and four WSL018 findings because it still reaches those auras through `GetAuraDataByIndex`. Guarding the result cannot save a call that already threw. The `C_TooltipInfo` aura calls are included, but their returns are not treated as secret vectors, because the notes make no claim about their shape.
183
185