Secret structured tables
APIs that return structured tables as secrets no longer make the entire table secret - just the values inside.
This doesn't apply to events or APIs that return vectors of data (specific cases where this is problematic are being evaluated).
Text to Speech
The C_VoiceChat.SpeakText can now be called with secrets.
Spells
Numerous spell APIs (IsSpellImportant, IsSpellHarmful, IsSpellInRange, etc) can now be called with secrets.
SpellCooldownInfo now contains an end time value.
Added a new GetAuraDurationRemainingByAuraInstanceID API.
Textures
SetRotation can now be called with secrets (this applies a new Rotation Secret Aspect).
SetSpriteSheetCell now only accepts secret cell values up to 256. Yeah, we saw that clever scheming going on 😉
Curve objects
Added a new "curve" Lua object type that will allow various addon functionality with secrets that is not currently possible (see the health bar colors section below for the first use of it).
Health bar colors
Addons can now control the color of health bars using a color curve to specify which percentages to set each color at.
Debug tools
/dump will now print the contents of secret values to the chat frame.
Documentation
Auto-generated documentation for events now includes information on security restrictions for registrations and availability of use with the RegisterEventCallback API.
Coming soon (Alpha 5 and beyond)
String formatting
Various numeric formatting APIs - including AbbreviateNumbers - will be made callable with secrets by tainted code (returned strings will inherit secret state).
Unit identity access
Access to creature unit names, GUIDs, and IDs will be made secret while in an instance and no longer be based off combat state.
Gossips
We are removing the interactive action requirement on various C_GossipInfo APIs.
Factions
We are adding a new FACTION_STANDING_CHANGED event which passes down a non-secret faction ID and updated standing amount.
Secret mixins
APIs that return mixins (e.g. Color, Vector2) will no longer make the entire table secret - just the values inside.
Textures
SetTexture will no longer accept secret strings.
Action bars
We are moving various global ActionBar APIs into C_ActionBar.
Raid target API
SetRaidTarget will be made usable via SecureActionButtonTemplate.
Action buttons
We will be making various improvements to action button APIs, including (but not limited to) ActionButton_UpdateCooldown.
Aura tracking
We will be making various improvements to aura APIs, including (but not limited to) allowing aura vectors to be non-secret (but contain secrets) so they can be iterated.
Unit power
We will be making improvements to addon capability using unit power APIs (UnitPowerDisplayMod, etc).
UnitHealthMax and UnitPowerMax will no longer return secrets for player units.
Spellcasts
UNIT_SPELLCAST will be adjusted to allow the player's own spellcasts to be non-secret when outside combat.
Unit death
We will be adding an event that gets sent down when a unit dies. The GUID payload will be secret in the same cases cooldowns & auras are secret.