📜 Journal des modifications
ForeverBlackListed — Changelog
All notable changes to ForeverBlackListed are documented here. The format is based on Keep a Changelog.
[1.2.0]
Added
- Community votes: every entry accepts positive/negative reports per user (right-click menu: "Report positive/negative", "Remove my vote"). Votes are stored per voter with timestamps, merge last-write-wins on sync, and show as a colored +N/-N score in the list column, the entry menu and the tooltip.
- Player entries now store the realm: parsed from "Name-Realm" input, captured from target/mouseover/context-menu adds, defaults to your home realm. Exported/imported with the entry, shown in the tooltip and the entry hover card.
- Entries now carry a "mod" (last-modified) timestamp, bumped on every field change (group/list/note/guild/realm/rating). Imports and the website merge compare it per entry, so older exports can never overwrite newer data. api.md documents the exact merge rules for the homepage import/export flow.
- Homepage updated to https://blacklist.xrl-dev.de/ (about page, TOC X-Website metadata, API docs; a dedicated domain is planned later).
- In-game changelog: "Log" button in the title bar opens a scrollable release-notes panel, localized for all nine client languages.
- Version check: the addon announces its version to sync peers (hidden channel + guild) and prints a notice once when another user runs a newer release, pointing to the homepage.
[1.1.0]
Added
- Good list: entries can be black or good (
/fbl good <name>, picker in the form, "Move to good list" in the entry menu, blacklist/good buttons in player context menus). Good entries show a green name and a green "Good list" line in tooltips. Sidebar filters: Blacklist / Good list. - Sync via addon messages: send the blacklist to the guild or whisper it
to a player; receivers confirm, then it merges (
/fbl sync [name]). - Hidden channel sync: the addon auto-joins its own built-in hidden chat channel on login (hidden from all chat frames) and exchanges the blacklist with every other FBL user world-wide. Incoming lists auto-merge, own changes are rebroadcast automatically.
- Entry rating (1-5 stars): set via the entry right-click menu, shown as a column in the list and in the unit tooltip, synced via JSON/channel.
- Auto-blacklist: players below a configurable level are added on sight (mouseover), into a selectable group. Sidebar options.
/fbl <name>quick-add, tab-completion for/fblarguments (commands and entry names).- Deletion tombstones: removed entries are synced as delete markers, so sync partners delete them too instead of re-adding them on merge (last write wins by timestamp; markers expire after 30 days).
- Contact warnings: chat notice when a blacklisted player whispers or invites you; invites can optionally be auto-declined. Sidebar options.
- Auto-blacklist conditions extended: members of blacklisted guilds and players from a configurable realm can also be auto-added.
- Clickable column headers sort the entry list (name, type, guild, group, rating).
- Content-hash on channel sync so an unchanged list is not re-broadcast on every join.
- Multi-client support: separate flavor TOCs for Midnight/retail
(120000), MoP Classic (50503), TBC Classic (20505) and Classic Era
(11507) next to the Camelot base TOC (16001). Classic clients without
Menu.ModifyMenuget the legacyUnitPopupmenu injection instead, tab-completion wrapsChatEdit_OnTabPressed, and missing APIs (C_Timer,GetUnitName,BackdropTemplate,C_ChatInfo,UnitPopup, secret values) degrade gracefully. - Channel sync now filters
CHAT_MSG_CHANNELby the configured channel name, so unrelated channel traffic is ignored. - Trust filter for channel auto-accept: Everyone / Guild only / Guild + friends (picker in the Channel sync panel). Untrusted senders are ignored with a one-time chat note.
- Last-sync info: the sync panel shows who sent the last merged list and when.
/fbl resetwipes all entries and tombstones after a confirmation.- Clock-skew guard: imported timestamps more than ~5 minutes in the future are clamped, so a wrong sender clock cannot dominate the last-write-wins merge forever.
- New artwork: logorund.png drives the minimap button, addon-list icon and title mark; logobig.png is shown in the new About view.
- About view ("About" button in the title bar): banner logo, author, copyright, website and a note that ratings should be fair.
- Addon-list category: "Social" (+ localized), copyright and website TOC metadata.
- List admin: only the configured admin character's deletions are
applied by sync partners (sender names are server-verified, so they
cannot be faked). A built-in admin name is compiled into the addon
(
FBL.builtinAdminin Core.lua) so protection works out of the box; the "Admin" field in the Channel sync panel overrides it locally. Entries still merge from everyone; manual JSON imports are unaffected.
Changed
- First-login welcome dialog with fair-play rules (rate fairly, only list real bad experiences, contact mail for removals/errors, note about the upcoming external database sync) and a "Don't show this again" checkbox persisted in saved variables.
- The sync channel is now fully stealth: its name is hard-coded
(
FBL.syncChannelin Core.lua), the channel/password fields were removed from the Sync panel, no chat output ever mentions joining, leaving or which channel is used, and the client's own channel notices ("You joined channel ..." / "X has joined ...") are filtered out for the sync channel. This prevents channel-name leaks that could be abused for manipulation and spam.
Fixed
- Channel join polling crashed with "bad argument #2 (number expected,
got string)" because
select(1, ...)passed both return values ofGetChannelNameintotonumber; the channel now actually joins. - Auto-decline no longer calls the protected
DeclineGroup(); the invite popup is hidden viaStaticPopup_Hide("PARTY_INVITE")instead. - The Admin field in the Sync panel now shows the effective admin name (built-in included) instead of staying empty, and admin/trust name matching is now case-insensitive and tolerant to realm suffixes and "First Last" names with spaces.
- The list admin is now fully hard-coded (
FBL.builtinAdmin) - the Admin field and thesync.adminoverride were removed, so no user can ever redirect remote-deletion authority. - Star ratings rendered as empty boxes because the game font has no
star glyph; they now use Blizzard's built-in gold star texture
(
|T...|tescape) in the list, tooltip, rating menu and column header. - Channel sync sends are now hardware-gated:
SendChatMessageto a channel is restricted to hardware events on this client (calling it from a timer producedADDON_ACTION_BLOCKED). Outgoing chunks are queued and flushed on clicks or slash commands instead.
[1.0.0]
Added
- Blacklist window (
/fbl, minimap button, addon compartment) in the Sentinel look for character and guild entries. - Groups with a sidebar (Players / Bots / Other by default, custom groups can be created, renamed and deleted; deleted groups move their entries).
- Per-entry note and optional guild field, search, move/remove via right-click menu.
- Unit tooltip line "Blacklist: yes/no" for hovered players, optional guild-name matching; all configurable in the window.
- "Add to Blacklist" / "Remove from Blacklist" (and a guild variant) in the player context menus: chat names, friends list, world right-click, target and group frames. Minimap right-click blacklists the current target.
- JSON export/import via copy/paste popup (WoW cannot write files, so the
JSON is meant to be saved into a
.jsonfile by hand). - Hover tooltips on all controls (buttons, pickers, checkboxes, group and entry rows) explaining what they do.
- Locales for deDE, frFR, esES/esMX, itIT, ptBR, ruRU, zhCN, zhTW and koKR (English fallback for everything else).