# 🎯 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

- **1.8.2**: Bursting logic for affixes.
- **1.8.1**: Pull announcements were getting a little loud during boss fights (first boss on NL for example). They will no longer occur during boss fights. This will likely be configurable once this feature is out of beta.

## ⭐ 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))
