# 🎯 Key Changes

## 📢 Summary

**1.8.x**: Things are spicing up with M+ leaver detection and low performer detection! 

**1.7.x**: Hazardous Pull reporting? Neglected Heals reporting? Yes please! Oh, and more replacement tags, revamped reports config, new off-heals report, etc!

**1.6.x**: Lots of new replacement tags and condition subjects. Added a `Flag Friends as Nemeses` option -- if anyone in your group is on your friends list, they'll be flagged as a Nemesis.

## 🩹 Patches

None yet, 1.8.0 is fresh!

## ⭐ Latest Versions

### 1.8.0

- Nemesis prioritization for scenarios where more than one message is retrieved for an event.
- Beta features: hardening and optimization -- they're very close to full release state!
- Enable / disable messages for APIs.
- M+ early leaver storage and sync
   - Leavers will now be logged in a persistent DB.
   - Leavers will be synced between players in-game.
- M+ low performers storage and sync
   - Low performers will now be logged in a persistent DB.
   - Low performers will be synced between players in-game.
   - Low performers are currently defined as:
      - At least 2 spots in the bottom (bottom affixes / DPS (non-DPS exempt) / offheals, most pulls (tank exempt) / deaths / avoidable damage).
         - Deaths are taken fairly lightly, as that can be due to any number of reasons. Deaths are primarily examined base on how much avoidable damage was taken.
      - Within those spots on the bottom, there must be a difference of >= 30% between them and the top for said metric.
- Fix for dungeon keystone level.
- Lots of new stuff behind the scenes, paving the way for some really awesome future features!

### 1.7.0

- New `Flag Guildmates as Nemeses` option
- Two new conditions, `is guildmate` and `NOT guildmate`
- More enhancements across the configuration screen
- New Off-Heals reports
- New dungeon completion Deaths report
   - Includes the amount of avoidable damage they took throughout the dungeon
   - If the amount of avoidable damage taken is excessive, the report will also include an amount relative to their life ("*6.25M avoidable damage (10.88x their max health)*") 😈
- Report channel selection in configuration
- Revamped all segments, normalized all data, and exposed a few more replacements in the process
- **(Beta) pull reporting**: This feature will announce seemingly unintentional / hazardous pulls
   - Tanks are not included
   - This is not precise as Blizzard does not expose great ways of doing this
   - It currently only reports in real-time, and as a yell
   - More options to come as this feature matures
- **(Beta) neglected heals reporting**: This feature will announce when (non-healer) players have been at or below 60% health without receiving a (non-self) heal
   - This feature also only reports in real-time, and as a yell
   - Once again, more options to come as this feature matures
- **(Beta) affix tracking and reporting**: This feature contains both announcements and reports:
   - Announce when affix mobs begin casting (if enabled)
   - Announce when affix mobs successfully cast (if enabled)
   - Announce when affix mobs are interrupted **but not incapacitated/dead** (if enabled)
   - Top and bottom affixes handled reporting for boss fights and end of dungeon (if enabled)

### 1.6.0

- Added new option, `Flag Friends as Nemeses`: When enabled, anyone in your group who is on your friends list will be flagged as a Nemesis.
- Normalized all replacement tags by adding missing Bystander replacement tags
- New condition subjects
   - Nemesis
   - Bystander
   - Boss Name
   - Keystone Level
- New condition operators:
   - Is friend (currently only available on Bystander, Nemesis, and Spell Target)
   - NOT friend (currently only available on Bystander, Nemesis, and Spell Target)
- Migration from hardcoded core functionality to new API flow
- UI clean up

# ⏱️ Coming Soon

## ✅ Confirmed

- Nemesis configuration within reports (more work was done on this in 1.7.0, it's close):
   - Exclude Nemeses from shout-outs 😈
   - Replacements for Nemeses; Example, your Nemesis would get a shout-out for lowest damage dealt -- instead, you set a message that reads, `Shout out to [NEMESIS], who sat around doing nothing and consequently took 0 avoidable damage. Yaaaay.`

## 💭 Under Consideration

> **Note:** If you think any of the following features would be beneficial, *please* reach out in Discord and voice your opinion! I am a solo developer, and there is no possible way I can think of all scenarios. Your input would be greatly appreciated 😁

- Player context menu -- `Add Nemesis` and `Remove Nemesis`:
   - Major considerations are ensuring this does not break anything else, as hooking into the context menu has a high propensity for this.
   - One prospective downside is NC is not designed for setting a PUG player as a Nemesis and this could potentially lead to abuse.
   - On the flip side, the addon itself could always be abused anyway, and one can only realistically provide guard rails for prevention of abuse.
- UI element for tracking Interrupts and Avoidable Damage.
   - This will need to be non-intrusive, and configurable / disableable.
   - Clicking on one would allow sending (customizable) reports.
- Other potential "leaderboard-esque" UI elements
   - Same as above -- non-intrusive, etc.
- AI configuration screen
   - Granular control over which (praise | taunt) messages to send based on whether it's a Bystander or Nemesis, and based on event.
   - Custom overrides
   - More AI choices (possibly a scale, 1-10, from taunt (1) to praise (10))
