v0.19.53-forever
What's new
0.19.53
- Suspend all
#demandeguild-chat sends again. Keep request synchronization, relay formatting code and local filters intact for compatibility with older clients.
0.19.52
- Install the
/grequest filter as its own startup step and retry immediately before each#demandesend. Do not post a technical request line if the client cannot install that filter. Hide request markers in local guild chat regardless of author formatting, while preserving guild-chat echo diagnostics and J history filtering. Show filter availability in/gsf bridgestatus.
0.19.51
- Enable
#demandeguild-chat events for request creation, claim, withdrawal, completion and cancellation. Keep audit and departure relays disabled; retain filtering in/gand the guild chat under J.
0.19.50
- Hide
#demandetechnical lines unconditionally in the guild chat under J, including history without author metadata. Rebuild existing visible request lines when that window opens. Keep normal guild chat and other communities unchanged; the Discord bridge remains disabled.
0.19.49
- Prepare Discord request events for claim (
TAKE) and claim withdrawal (RELEASE), carrying the responsible player. Add the acting player toDONEandCANCEL; preserve the existingCREATEformat and recognize legacy terminal lines. The guild-chat bridge remains disabled while the Discord bot is configured.
0.19.48
- Reconcile request caches between all guild members, independently of officer availability or freshness, at login, when opening Requests and every two minutes. Use digest offers, paginated snapshots, shared byte limits, retries and responder fallback; keep legacy synchronization compatible.
- Relay requests by their full internal IDs, including closed states and retained deletion markers. Make active claim/withdrawal merging independent of arrival order, keep terminal states closed and deterministically arbitrate conflicting decisions. Include complete records and deletion markers in sync digests. Preserve live sender/assignment checks and local recipe eligibility.
- Accept cache pages only for the expected guild peer, token, page and guild profile. Cache relay trusts members' stored observations and does not authenticate offline authors. Add multi-client regressions for offline recovery, stale officers, permutations, duplicate numbers, pagination, throttling, retries and protocol boundaries.
0.19.47
- Require the current local profession skill and a learned recipe before claiming or completing crafting and enchantment requests, including for officers. Recheck at each action and refresh after skill/recipe events so learning after request creation unlocks it. Persist canonical enchantment names in existing request metadata. Assignees can still withdraw their claim. Guild catalogue overlays and linked/guild profession windows are not evidence of learning. If the client has not exposed local recipe data, open the profession window before handling requests.
0.19.46
- Style the specific request and custom enchantment popup with the shared UIKit: themed panel, header, rounded corners, shadow, flat inputs and buttons, Saira title and theme accent labels. Keep item suggestions, quantity validation, keyboard shortcuts and request creation unchanged.
0.19.45
- Use an ASCII minus for expanded enchantment groups. Add the source effect to each enchantment row and search; align recipe text left while keeping section headings centered. Wrap long effect descriptions and size rows to fit.
0.19.44
- Make enchantment slot headings clickable. Only one slot can be expanded; selecting another closes the previous slot, and clicking the current heading collapses it. New searches open the first matching slot. Required skill labels and custom requests are preserved.
0.19.43
- Replace enchantment request presets with the 165 enchantments listed by ForeverChanges build 1.60.1.70338. Group by target equipment slot, sort by required Enchanting skill within each slot, and display [skill] Enchantment name. Preserve search and custom enchantment requests; provide French and English names. Full details: Data/EnchantingRecipes.json.
0.19.42
- Refresh tailoring from ForeverChanges build 1.60.1.70338: retain 307 of 414 recipes, excluding 107 bind-on-pickup crafted outputs. Sort by required crafting skill, then name, and display [skill] Item name without category prefixes. Full source information and exclusions are in Data/TailoringRecipes.json.
0.19.41
- Refresh leatherworking from ForeverChanges build 1.60.1.70338: retain 385 of the current 511 recipes, excluding 126 bind-on-pickup crafted outputs. Sort by required crafting skill, then name, and display [skill] Item name without category prefixes. Full source information and exclusions are in Data/LeatherworkingRecipes.json.
0.19.40
- Refresh engineering from ForeverChanges build 1.60.1.70338: retain 218 of 241 recipes, excluding 23 bind-on-pickup crafted outputs. Sort by required crafting skill, then name, and display [skill] Item name. Full source information and exclusions are in Data/EngineeringRecipes.json.
0.19.39
- Refresh alchemy from ForeverChanges build 1.60.1.70338: retain 177 of 179 recipes, excluding the bind-on-pickup Philosopher's Stone and Alchemist's Stone. Sort by required crafting skill, then name, and display [skill] Item name as for blacksmithing. Full data and exclusions are in Data/AlchemyRecipes.json.
0.19.38
- Remove category prefixes from craft picker rows. Show only the required crafting skill and item name.
0.19.37
- Prefix recipe names with the required crafting skill in the craft picker, for example [150] Item name, when the requirement is known.
0.19.36
- Sort blacksmithing recipes by the required crafting skill from ForeverChanges, ascending, then by name for equal skill requirements. Item level is not used. The 101 bind-on-pickup outputs remain excluded.
0.19.35
- Refresh the blacksmithing catalogue from ForeverChanges build 1.60.1.70338: 336 recipes retained, 101 recipes producing bind-on-pickup items excluded. Binding is checked on the crafted item, not the plans. Full source information and exclusions are recorded in Data/BlacksmithingRecipes.json. Other professions are unchanged.
0.19.31
- New interface: left sidebar navigation with icons and class portrait, Saira font, rounded cards, slim scrollbars, dashboard overview, theme preview cards, clearer request actions (Take / Complete / Cancel). Pages are built on first open, so login is lighter.
- Options: choose the interface language (game language by default, French or English).
- Stop the "No player named ... is currently playing" spam: allied-guild mail contacts are only whispered while their roster is fresh, never former members, with a growing pause between attempts; the error line caused by the addon itself is hidden.
- Security: over whispers, only a sender's exact full name can act with a member's identity or officer authority (outsiders sharing a first name are ignored). The owner is compared by full name.
- Leaving the adventure works again: it no longer depends on the disabled Discord bridge and asks you to type /gquit (Forever blocks leaving the guild from addons).
- Fixes: profession tags no longer duplicate in public notes; a second bank request no longer refuses the first; no false audit after /reload or a bank deposit; send loops now back off; federation guilds sent by the site are accepted in the whitelist and cannot be removed there; two-word Forever names are recognised.
- Restored the bridge regression tests.
0.19.30
- Add a French and English acknowledgement at the bottom of the FAQ thanking Ss7even for originating the GSF project, with the Twitch channel address.
0.19.29
- List permitted actions first in the FAQ protection list: internal trades and approved guild/alliance mail precede restrictions. External trade exceptions already appear before prohibited actions.
0.19.28
- Keep scrolling dashboard content below the navigation menus by moving the viewport below them, clipping children and adjusting section offsets. Apply clipping to the FAQ viewport as well.
- Show permitted guild and confirmed-alliance mail in green in the FAQ. Keep allowed internal trades and external services green, and blocked auctions, restricted external trades, prohibited items and external gold red.
0.19.27
- Add the same persistent role selector to the Emperor dashboard. Make overview content scrollable to keep status, roles and officer follow-up information accessible.
- Add an Online players only checkbox to Guild, combined with the selected role filter and the displayed member count.
0.19.26
- Make Copy name available to the assignee on active requests in My claims as well as completed requests. Adjust active row action positions to prevent button overlap.
- Update the FAQ and request guide to explain copying before and after completion.
0.19.25
- Show a Copy name button to the assignee on completed requests. Open the requester's full roster name in a focused, selected text field for Ctrl+C copying.
- Reserve row space for the button and hide it on active requests and for other players. The copy popup participates in layered Escape handling.
0.19.24
- Refresh and expand the in-game FAQ in French and English to explain current starter, specific, craft and enchantment visibility and permissions.
- Add dedicated guidance for request filters, descending numbers, claim and completion actions, withdrawal versus cancellation, private messages, synchronization and request limits.
- Explain layered Escape handling and the Adventurer and Emperor menus.
0.19.23
- Restrict physical and magic starter request visibility to their requester and authorized GMs/officers, including recently completed requests. Keep claim and completion permissions restricted to officers.
- Update the French request guide and English documentation to reflect starter visibility.
0.19.22
- Shorten the completed-request countdown to the remaining minutes only, removing the deletion wording while retaining requester assignment and completion details.
0.19.21
- Whisper the online requester when the assignee withdraws their claim, explaining that the request is available again under Requests. Include the request number, assignee, and description in French or English.
- Send withdrawal notifications only after a successful local action and before the UI refresh, with no offline queue or synchronization duplicates.
0.19.20
- Allow every guild member to claim and complete specific item requests. Keep profession checks for crafts and enchantments, and officer permissions for starter requests.
- Let assignees withdraw their claims for all request types, returning the same request to Requests. Requester cancellation still removes the request from visible lists; requester cancellation takes precedence when requester and assignee are the same player.
- Synchronize withdrawal metadata and reject stale claims, old withdrawals, and unauthorized withdrawals. All participants should update together to support the extended request record format.
0.19.19
- Widen the Members version column for the larger interface font. Reduce enrollment button width and label size, and realign the remaining columns and headers without overlap.
0.19.18
- Whisper online requesters when a request is claimed or completed. Whisper the online assignee when the requester cancels a claimed request.
- Send notifications in the local action's click handler, after a successful state change and before refreshing the UI. Skip offline, unknown, and self recipients; never replay notifications during synchronization.
- Include the request number, actor, and description in French or English notifications.
0.19.17
- Replace the condensed Arial Narrow interface font with the wider built-in Friz Quadrata font. Preserve enlarged text, shadows, contrast, and equal menu button dimensions.
0.19.16
- Add Escape support that closes the most recently opened secondary addon window before closing the main panel on the next press. Cover audit details, crafting and enchantment pickers, and specific request forms.
- Route Escape from panel input fields through the same window order. Use a single native special-frame controller so one key press does not close every addon window at once.
0.19.15
- Improve interface readability with a sans serif font, larger text, subtle shadows, and brighter secondary labels. Preserve native client fonts for non-Latin locales.
- Use equal button dimensions within the top menu, page navigation, request creation, and request filter groups. Arrange officer navigation in two rows to keep longer labels readable.
- Increase panel height and adjust content and request spacing for the larger text. Update settings and specific-request popup typography.
0.19.14
- Sort every request tab by descending request number, regardless of request status. For equal numbers, display the newest creation first with a deterministic ID tie-breaker.
0.19.13
- Apply crafting visibility and action permissions to enchantment requests: requester, enchanters, and officers can view them; enchanters and officers can claim and complete them.
- Allow guild members without Enchanting to create and track their own enchantment requests. Preserve assignment ownership and cancellation rules.
- Include enchantment actions in profession broadcasts and missed-action recovery. Recognize both current and legacy enchantment request types as Enchanting, including older records without profession metadata.
0.19.12
- Add My requests between Requests and My assignments to track your own unassigned, claimed, and recently completed requests, including crafting requests when you do not have the requested profession.
- Resolve short and full requester names consistently and retain existing visibility, completion retention, and search behavior. Add the English My requests label.
0.19.11
- Remove the redundant Pending request filter. Keep Requests, My assignments, and Completed, and expand the search field into the available space.
0.19.10
- Rename the All request filter to Requests and show only active unassigned requests in Requests and Pending. Claimed requests leave these lists; completed requests remain in Completed.
- Match My assignments against the resolved local roster identity, including full character names and legacy shortened assignments.
0.19.9
- Resolve live request and profession messages from shortened Forever sender names using the unique online matching guild member. Offline homonyms no longer block these messages; multiple online matches and incompatible realms remain rejected.
- Use the locally resolved full roster name for new request actions and recognize legacy short crafter assignments during synchronization. Keep persistent bank identities unchanged.
- Add a regression test through the actual addon-message dispatcher with multiple Torvi characters.
0.19.8
- Publish the crafter's professions before transmitting a claim or completion, so receivers can authenticate the action even without prior profession synchronization.
- Recover existing crafter assignments and completions during request synchronization, including actions missed by an officer. Accept a signed completion when the earlier claim was missed.
- Prefer newer profession data when short and full character names share a roster identity.
0.19.7
- Allow members with the requested crafting profession to claim and complete matching craft requests. Show their action buttons and accept authenticated crafter updates remotely using synchronized profession data.
- Keep ordinary item requests restricted to officers; crafters cannot complete another player's assignment or cancel another player's request. Officers retain existing permissions.
0.19.6
- Exclude positively identified Forever bank infrastructure containers from audit readiness, bank captures, and comparisons with older references, matching the shared-bank viewer's infrastructure filter.
- Continue blocking real items whose quantities are unavailable; include the item ID in that diagnostic. Do not classify arbitrary zero-count items as infrastructure.
0.19.5
- Handle inconsistent main-bank free-slot counts on Forever by verifying nonempty contents slot by slot against the inventory-slot API. Continue requiring two stable captures before replacing the audit reference.
- Keep blocking incomplete or conflicting reads, equipped bags with unavailable slots, and unverified empty-bank captures.
0.19.4
- Synchronize officer-confirmed legacy bank identity corrections together with their approval state, disabling stale short-name approvals on receiving clients. Preserve existing full-name revocations and resend corrections during approval synchronization.
- Add
/gsf bankname <alias>|<full name>to repair an existing or revoked bank identity. Prefer the resolved local roster identity for bank operations and send the full name in new bank approval requests. - Permit authenticated guild-channel bank nominations with matching ambiguous prefixes for explicit officer review; reject unrelated names and cross-realm nominations. Do not grant bank access from a nomination alone.
- Do not report an approval request as sent when transport fails. Add specific bank readiness diagnostics and try the legacy free-slot API when the modern API returns no count.
0.19.3
- Add an officer-only bank name correction action for ambiguous legacy aliases. Require the exact full roster name, revoke the old approval, approve the corrected owner, and preserve the local snapshot.
- Use canonical identities and both approval stores when advancing local decision timestamps, preventing a newer saved approval from blocking revocation.
0.19.2
- Normalize realm names in guild storage keys and merge existing duplicate profiles. Restore saved adventure enrollment records when the client alternates between spaced and normalized realm names.
- Preserve newer record decisions, prefer retirement/revocation on equal timestamps, and retain original migrated profiles as recovery copies. Do not automatically enroll new guild members.
0.19.1
- Show a single role-specific main menu: Adventurer for members, Emperor for GMs and officers. Include banks, requests, guild roles, and FAQ in Emperor, with compact navigation that fits the panel.
- Recognize the configuration owner's unambiguous shortened roster identity on receiving clients, so request cancellations and other authorized updates are accepted remotely.
0.19.0
- Fix live request publication and peer recovery when Forever supplies a shortened sender name but the request contains the full roster name, or the reverse. Keep sender authorization and combine identity variants for per-player quotas.
- Stop automatically enrolling existing guild members when they first install GSF, including level-30 characters. Remove automatic guild roster seeding and cancel pending legacy auto-enrollment while preserving saved enrollment decisions.
- Enrollment now requires the GSF recruitment flow or an explicit officer decision. Previously auto-enrolled characters remain enrolled until an officer unenrolls them.
- Correct selected bank source and guild-bank tab colors: apply the active theme state instead of dimming the selected button as disabled.
- Include canonical bank identity synchronization fixes and regression checks for first installation, existing enrollment, and selected bank styling.
0.18.0
Bank identity synchronization fix
- Use canonical guild-roster names for bank approvals, personal snapshots, owner authentication, and direct pulls on Forever clients that return shortened character names.
- Merge existing short/full-name duplicates when the roster resolves the identity uniquely, preserving newer decisions and snapshots; revocations win equal timestamps.
- Rescan an open personal bank after approval changes so newly approved characters can publish without reopening it.
In development — local interface redesign
These changes are being prepared locally; this section does not announce a new published release.
- Transfer allied rosters between characters on the same account and realm, then relay them to the active guild. Preserve original timestamps and 72-hour validity; newer complete snapshots replace older lists. Refusals and whitelist removals prevent restoration of outdated agreements.
- Add a scrolling FAQ covering compliance, alliances and synchronization, roles, bank snapshots, requests, audits, and themes, with English translations.
- Add local and whitelisted guild-name filters to Members. Allied lists use cached rosters without network requests when opened or filtered, display snapshot age, and have no local enrollment or version controls. Removing an alliance removes its filter immediately.
- Refresh the whitelist panel after allied roster reception, use the actual 72-hour freshness threshold, and distinguish missing confirmation from a received refusal. Add
/gsf allycheck <character>and/gsf allystatusdiagnostics. - Introduce Adventurer navigation for Overview, Banks, Requests, Guild, and FAQ; Emperor navigation for officer tools; and Options for personal appearance.
- Redesign the panel with an emblem header, dark modules, colored accents, highlighted tabs, consistent fields, and alternating list backgrounds.
- Replace native WoW button styling with themed hover, selection, pressed, and disabled states, including close buttons and secondary windows.
- Display actual enrollment, installed/required versions, protection state, and local compliance in Overview, with distinct states for unenrolled characters, participants outside the guild, outdated clients, inactive protections, and loading rosters.
- Add My roles with up to two choices among Tank, Healer, and DPS, saved per character and realm/guild profile.
- Add the Guild role list with roster levels, online status, and role filters; exclude departed members.
- Synchronize roles through invisible addon messages, including offline members' last known choices supplied by peers. Preserve newer changes and complete deselection; roles grant no authority.
- Add game role icons and persist roles in
/reloadcache V5 while retaining V3/V4 compatibility. Participating clients need the new Roles module. - Add class themes, Classic, and Seven with scrolling previews. Default to the character's class and save manual choices per character; migrate the previous account choice once.
- Replace the guild-window side button with a movable minimap button that saves its position. Open and move the panel independently of the native guild window.
- Update documentation and prepare an English CurseForge description.
- Add checks for navigation, themes, minimap controls, compliance, roles, synchronization, and persistence. The source archive records 18 passing validation files; rendering and client-to-client exchanges still need in-game confirmation.
Bridge and trusted collectors
- Treat site-approved trusted collectors ("vigies") as bridge collectors when
GSF_PushedData.collector == truefor the active guild. Collect links, roster exports, and violations without granting authority or configuration rights. - Add
BRCOL|1guild presence announcements and whisper replies to version requests. Keep historical three-fieldHELLOandVERformats; older clients ignore the unknown command. Track collector peer timestamps throughIsCollectorPeer(). - Include recently seen collector peers running 0.18.0 or later in bridge relay targets, with authorities first and at most five recipients.
- Prefer collector peers as audit carriers when no authority is online.
0.17.59
- Send
/gsf linkcodes exclusively through invisible addon messages to equipped officers, retaining and retrying them when an officer becomes available. Stop publishing#gsflinkin guild chat; continue hiding legacy lines where possible. - Add
/gsf chatdebugto diagnose windows displaying technical messages.
0.17.58
- Hide
#gsflinkand#audithistory before the guild club ID is known and after each server history reload.
0.17.57
- Redraw already displayed guild/community history once to hide technical lines, including windows opened early by Prat. The previous fix only handled lines drawn after GSF loaded.
0.17.56
- Accept bridge-pushed bans for officers on linked realms whose names differ only by a realm number, matching the site's realm handling.
0.17.55
- Restore technical-message filtering on Forever by comparing club IDs as text and ignoring leading spaces or color codes.
0.17.54
- Replace previous ban labels with the removal label in Members and after banned player names in Audits. Remove addon kick buttons because Forever blocks addon-driven guild removal; tooltips explain native guild-window removal.
- Show banned members first and list only current guild members. Retain departed characters' adventure records in the profile.
0.17.53
- Relay unacknowledged audits through two online non-officer GSF members when no officer is connected. Carriers retain reports silently, up to 50 total, 10 per player, for seven days, then forward them to an officer and delete acknowledged copies.
- Validate relayed report membership, size, and format. Mark reports with
relayedByand display them as unverified. Limit officer storage to five per player and 100 total; never forward these copies to Discord. Direct player reports replace relayed copies. - Add relay counters to
/gsf auditstatus. - Export nondecreasing
lastOnlineAtestimates using the server roster. - Add
XRLY,XRLYACK,XRLF, andXRLFACKaddon commands without changingprotocolVersionor adding chat messages.
0.17.52
- Replace silently failing addon kick actions with guidance to remove members through the official guild window.
0.17.51
- Shorten the English banned-member badge to
BANto avoid truncation.
0.17.50
- Add confirmation and full-name removal to the banned-member action, replacing a prefilled
/gkickthat failed with Forever's two-part names.
0.17.49
- Use in-memory bridge-provided bans on equipped officer clients. Refuse banned recruits, warn when they join, show reasons and expiration in Members, and count banned members on the dashboard. No automatic guild removal or changes to other candidates' recruitment.
0.17.48
- Ignore realm-name spaces when matching bridge-pushed guild profile keys.
0.17.47
- Add officer bridge exports without changing existing protections,
protocolVersion, or chat messages. - Save
writerVersionandwriterSavedAton logout. - Export authority-maintained roster snapshots with rank, class, and level; ignore incomplete rows without ranks and purge absent members after 30 days.
- Send Discord link codes through
BRLNKas well as the then-existing#gsflinkchat line. Validate guild membership and retain links for seven days. - Log blocked auction house, trade, mail, and falsified recruit-level attempts; relay through
BRVIOL, retaining up to 500 records for 30 days. - Strictly validate optional
GuildSelfForever_Datainput and keep it only in memory. Receiving authorities need this version; older clients ignore the new messages.
0.17.46
- Extend allied roster validity from 24 to 72 hours to cover long maintenance periods; retain five-minute refreshes.
0.17.45
- Restore the separate GSF panel and native guild-window side button; remove experimental embedding inside the guild window.
- Retain diagnostics, dashboard, filters, freshness indicators, audit summaries, and Shift-click searches.
- Remove redundant Overview navigation buttons and simplify the bank-refresh dashboard label.
0.17.44
- Support Shift-clicking inventory items into active GSF searches: search banks by link and filter requests by item ID, reusing existing specific-item hooks.
0.17.43
- Add
/gsf diagnostic, an officer dashboard with shortcuts, and request filters/search. - Display bank/allied roster age and the latest adventure-register reception for the current session.
- Summarize audit changes and distinguish integrity alerts.
- Add automated metadata, Lua loading, and regression validation with GitHub Actions; update documentation.
0.17.42
- Set interface metadata to
16001for WoW Forever 1.60.1, installed build 70170, to avoid the outdated-addon warning.
0.17.41
- Make audit cleanup reliable across short/full names. Retain decisions for 60 days with author, timestamp, and adventure identity when known.
- Synchronize cleanup privately between officers, recover it at login, and back it up in character/reload data. Limit storage to 1,000 decisions and 24 KB, rejecting additional cleanup explicitly when full. Preserve member queues and future audits.
- Show report identifiers, creation/reception dates, status, and latest cleanup information.
- Require two complete, identical bank readings before comparison; preserve the baseline after incomplete loading, closure, or timeout.
- Require updated officer clients for cleanup sharing; read legacy V3 caches and preserve member report wire formats.
0.17.40
- Resolve Forever bank-search item names through
C_ItemwhenGetItemInfois missing or returns no name.
0.17.39
- Synchronize the full adventure register between officers at login and every two minutes using fingerprints, bounded transfers, and version merging. Prevent stale decisions from replacing recent ones; converge simultaneous decisions and separate presence updates from enrollment.
- Store assignment and completion separately, retain both across saves, and migrate older assignments.
- Add a dedicated Members action column while preserving last-contact information. Updated clients are required for the new synchronized fields.
0.17.38
- Expand external-trade exceptions to 45 confirmed Forever conjured item IDs, including cinnamon rolls, mana gems, soulstones, firestones, and spellstones. Normal game binding restrictions still apply.
0.17.37
- Restrict crafting requests to ForeverChanges recipes for beta 1.60.1.70124, data dated October 1, 2026: 437 Blacksmithing, 179 Alchemy, 241 Engineering, 512 Leatherworking, and 414 Tailoring recipes.
- Filter saved, received, and client-read recipes so enrichment cannot add recipes outside the Forever catalog.
0.17.36
- Show Unenroll only for enrolled adventure members and Enroll for all other states.
0.17.35
- Remove voluntary departure; allow authorized officers to reversibly enroll/unenroll members without leaving the guild.
- Suspend Discord
#demande,#audit, and#leavechat relays, retaining their code. - Add request claiming through P, yellow highlighting, assignee display, and completion validator names.
0.17.34
- Add case/accent-insensitive bank search by name, item link, or ID across approved personal banks and recorded guild-bank tabs.
- Show total quantities and snapshot dates per location; clicking opens and highlights the item, while Clear restores normal browsing.
- Indicate unloaded names and refresh results when names load or bank data synchronizes.
0.17.33
- Allow letters, items, and gold with confirmed members of mutually whitelisted GSF guilds.
- Store full allied rosters per guild profile with an initial 24-hour validity; exchange them through invisible
WHISPERandGUILDmessages. - Discover contacts through targeting, mouseover, trade, or mail attempts; coordinate five-minute refreshes with fingerprints and chunked network transfers.
- Remove departed members on refresh and apply remote revocations after synchronization; expire unrefreshed rosters after 24 hours.
- Keep banks, audits, requests, and other data isolated; continue blocking auction house mail.
0.17.32
- Accept a dedicated audit baseline after its guild key changes when it still belongs to the same character and adventure, avoiding fallback to an older backup.
0.17.31
- Capture tracked characters' audit baselines every 15 seconds as well as on inventory/equipment changes. Checkpoints update the reference only; startup comparisons still create reports when differences exist.
0.17.30
- Add compact learned profession names/ranks to public roster notes, excluding First Aid. Preserve existing text and require sufficient note space and editing permissions.
0.17.29
- Confirm
#leaveechoes only from the local character, preventing another member from triggering retirement by repeating the line. - Preserve
RETIREDduring pending guild departure. - Restore hiding of
#audit,#gsflink, and#demandein guild/community history, including escaped separators. - Remove unused diagnostic and pending-state fields.
0.17.28
- Send
#leave|Name|YYYY-MM-DD HH:MM:SSdirectly from the player's departure action, arming exact echo detection before sending and hiding recognized technical lines. - Mark
RETIREDand leave the guild only after the matchingCHAT_MSG_GUILDecho. Cancel departure on send failure or no confirmation within five seconds. - Hide valid departure lines from other GSF members; leave unrecognized lines visible with a warning.
- Retain
ADVRETIREdelivery to known authorities for participants already outside the guild.
0.17.27
- Make voluntary retirement automatically leave the adventure guild and permanently prevent reenrollment in that guild.
- Reject subsequent invitations and
gsfrecruitment for retired characters; explain disabling GSF to rejoin outside the adventure. - Retain restrictions while automatic departure remains unconfirmed; stop restrictions/new audits after actual departure while preserving the retirement record.
- Allow joining another GSF guild. Update departure confirmation and invitation popups.
0.17.26
- Add voluntary Leave adventure with confirmation, without officer permissions, applying only to the local participant.
- Set
RETIRED, immediately stop restrictions and new audits, and retain a retirement record without leaving the guild in this version. - Notify authorities through persistent, retried
ADVRETIREmessages, including whispers from participants already outside the guild. - Give reenrolled participants a new participation identifier and display retired former participants in Members.
0.17.25
- Apply auction house, external-trade, and mail protections only to enrolled adventure characters, centralizing checks in
IsRuleEnabled(). - Correct the internal version, which had remained at 0.17.23 while the TOC declared 0.17.24.
0.17.24
- Stop configuration-sync modal popups for unenrolled characters while retaining silent background synchronization.
- Preserve relevant feedback for enrolled participants and candidates who just used
gsf.
0.17.23
- Fix mailbox access immediately after recruitment. Install mail wrappers only after
MAIL_SHOW, remove them atMAIL_CLOSED, and avoid repeated installation on inbox updates. - Directly check newly loaded guild rosters before classifying mail players as external; retain debounced roster refreshes.
- Continue blocking auction house/external mail while allowing mail within the configured guild.
0.17.22
- Prevent false unenrolled-character warnings after valid recruitment when Forever reports guild arrival twice. Check persistent enrollment first, preserving participation after leaving/rejoining; continue warning on genuinely unenrolled manual invitations.
0.17.21
- Restore invitation popups with Restrictions OFF, separate recruitment anti-spam by mode, and allow immediate retries after switching ON to OFF.
- Deduplicate
INVSTATresponses using theINVREQnonce. Retain the keyword, handshake, and popup requirements in OFF mode.
0.17.20
- Strengthen audit baseline persistence with a guild-profile backup, newest-valid selection, checksums, and guild/adventure validation.
- Detect stale, corrupted, and partial baselines. Prevent restored old SavedVariables from generating false full audits and incomplete bag snapshots from replacing valid references.
- Expand
/gsf auditstatuspersistence diagnostics.
0.17.19
- Track multiple rapid Discord technical messages concurrently, improving
#demandefiltering and reducing visibleDONElines.
0.17.18
- Remove unused functions, centralize
/gsfcommands, clean up Discord linking/filter initialization, and remove duplicate translations and obsolete comments.
0.17.17
- Replace false full-character audits from missing baselines with dedicated integrity alerts. Avoid treating existing inventory as new or comparing gold to zero; normalize legacy reports marked
N.
0.17.16
- Automatically forward Discord audits received by officers or the Guild Master. Queue blocked sends until valid user interaction and add duplicate prevention.
0.17.15
- Add Discord audit relays using
#audit|BEGIN,DATA, andEND, with a persistent outbox, guild-chat echo acknowledgment, and/gsf auditdiscordand/gsf auditstatus.
0.17.14
- Add the inter-guild Whitelist tab and normal trades between mutually whitelisted GSF guilds. At this version, alliances did not extend mail, bank, audit, request, or configuration permissions.
0.17.13
- Add realm/guild profiles and migrate the former single-guild database. Isolate requests, banks, audits, recipes, professions, adventure registers, alliances, and settings.
0.17.12
- Select French for
frFR, English forenUS/enGB, and English fallback for other locales throughGetLocale(). Keep technical protocols language-independent.
0.17.11
- Fix reactivating Restrictions ON after OFF and rewrite button refresh handling.
0.17.10
- Add persistent adventure enrollment states: enrolled, outside guild, and unenrolled.
- Add Restrictions ON/OFF recruitment, retaining the
gsfwhisper, addon handshake, and GSF invitation in OFF mode. - Correct faction-specific starting inventory whitelists.
0.17.9
- Use canonical two-part player names in audits and migrate reports stored under short aliases.
0.17.8
- Resolve item names in audits instead of displaying only item IDs.
0.17.7
- Merge duplicate short/full-name members such as
GenkiandGenki Danunder canonical roster names.
0.17.6
- Display localized names for specific-item requests while retaining item IDs as technical references.
0.17.5
- Handle
GetItemInfo()returningnilmore reliably on WoW Forever.
0.17.4
- Hide technical
#demandelines in guild chat and improve short/full-name handling.
0.17.3
- Allow new requests while initial request synchronization is in progress.
0.17.2
- Improve detection of Genki Dan, officers, and the Guild Master, reading ranks directly before the roster cache is ready.
0.17.1
- Correct the order of
DONEandCANCELevents sent to Discord.
0.17.0
- Rework network and audit architecture, establishing the technical foundation of the 0.17.x branch.
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include
This mod has no related projects

