BetterQuestLog 1.14.38

1.14.38:
- Fixed the persistent inline-checkmark vertical jump at extreme quest-list widths. The root cause was ordinary leading spaces in checkmark prefixes wrapping onto an empty first line while [##] moved to line two.
- Inline checkmark spacing now uses three non-breaking blank cells (one hidden marker footprint plus two requested gap cells), preserving the same visual spacing without allowing the marker reservation to wrap separately from the quest-level prefix.
- This leaves checkmark positioning on the same logical first line as [##] across 3-line/2-line reflows while dot mode remains unchanged.

1.14.37:
- Reworked inline checkmark placement from first principles: the texture no longer anchors to row.text or to the invisible marker FontString.
- Inline checkmarks now derive their first-line center from the final row height, rendered text height, and the marker glyph line height, eliminating stale region coordinates when a quest changes from three wrapped lines to two.
- Added a generation-safe one-frame post-layout refresh so Classic finishes lazy FontString wrapping before the final checkmark coordinates are copied.
- The invisible bullet remains only as a hidden glyph-metrics helper; it no longer participates in checkmark anchoring.

1.14.36:
- Fixed inline checkmarks drifting vertically during quest-row reflow by anchoring the texture directly from the settled first-line text origin using the invisible marker glyph's measured width/height, instead of anchoring the texture to the proxy region itself.
- Inline checkmark positioning is refreshed after the row receives its final measured height, preventing 3-line to 2-line reflow from leaving a stale texture position.
- Inline checkmark mode now reserves two visible literal spaces between the hidden marker footprint and [##] (three literal spaces total in the prefix: one footprint plus two-gap spaces).

1.14.35:
- Fixed visible bullet glyphs in inline checkmark mode. Classic does not reliably honor alpha in inline text color escapes, so the quest prefix no longer tries to hide a bullet with |c00ffffff.
- Inline checkmark text now reserves the hidden marker footprint with one literal space plus the requested extra literal space before [##].
- The actual bullet remains only in the separate one-glyph proxy FontString, where SetAlpha(0) reliably hides it; the checkmark texture continues to overlay that proxy.

1.14.34:
- Fixed inline checkmark mode so the quest prefix retains the same bullet character-width used by inline dot mode instead of reflowing as though the dot was removed.
- The actual inline checkmark prefix now contains a fully transparent bullet plus one literal space before [##]; the checkmark texture is overlaid on that bullet and remains visual-only.
- This keeps dot/checkmark wrapping geometry consistent while preserving the requested extra space before the level indicator in checkmark mode.

1.14.32:
- Fixed inline checkmark layout so enabling checkmarks while "Position tracker dots left of quest level" is active reserves exactly one literal space before [##].
- The inline dot itself is no longer part of checkmark-mode text; an invisible dot remains only as a zero-layout positioning anchor for the overlaid checkmark texture.
- Checkmark mode therefore adds no width beyond that single prefix space, while regular non-inline checkmark behavior remains unchanged.


1.14.33:
- Fixed inline tracked-quest checkmarks drifting away from the dot position at extreme quest-list widths.
- The invisible dot proxy is now a true single glyph using its natural rendered width/height with wrapping disabled, and the checkmark is centered on that glyph line box.
- Ultra-narrow prefix font shrinking rebuilds the proxy from the final prefix font size.
1.14.31:
- Fixed checkmark mode so it no longer changes quest-text geometry at all. Inline checkmarks now use one fully-transparent bullet glyph in the actual prefix, exactly matching dot-mode width, with the checkmark texture drawn over that dot position.
- Removed the old four-space inline checkmark placeholder and checkmark-specific prefix-spacing path; normal and inline checkmarks now contribute no extra text inset beyond the dot layout they replace.

1.14.30:
- "Always collapse prefix" now fully collapses Questie count separators and temporarily disables/greys the two custom count-spacing controls without changing their saved preferences.
- Prefix-width preflight now measures the manually collapsed prefix when that mode is enabled, so emergency title-line fallback is only used when the collapsed prefix itself cannot fit.
- Changed the Marker Padding default/reset value from 4px to 2px.
- Reworked tracked checkmarks to overlay an invisible dot anchor: checkmarks now inherit the same marker position used by dots in both normal and inline layouts, preventing row/header wrapping from shifting the texture independently.

1.14.29:
- Fixed Show quest list border triggering a stale options-window height change; live pane layout no longer owns options-tab height.
- Fixed the Questie count-spacing checkboxes being overridden by manual Always collapse prefix formatting; unchecked spacing options now restore their separators.
- Added a Marker Padding slider under Quest List Spacing (0-12px, default 4px) for the normal/non-inline tracker gutter.
- Settings profiles now export as BQL16; BQL15 and older profiles remain importable.


1.14.28:

1.14.28:
- Reduced the normal (non-inline) tracker-marker gap before the quest-level prefix by about half and aligned dots/checkmarks to the same compact tracker gutter.
- Reorganized Quest List settings into Questie Counts, Prefix & Level Formatting, Tracking & Layout, Quest Count Display, and Quest List Spacing groups.
- Reduced vertical spacing between Quest List checkbox rows.
- Converted the Quest List options tab to a clipped scrollable page and capped the options-window height for lower-resolution displays, preventing controls from bleeding outside the panel.


1.14.27:
- Reduced tracked-checkmark size and tightened the inline marker-to-level gap.
- Added "Always collapse quest prefixes"; manual compaction tightens prefix spacing without forcing quest titles to a new line.
- Added "Remove space before Questie party counts" independently from the existing purple/blue count spacing option.
- Added optional leading-zero padding for single-digit quest levels, with a dependent option to render the padded zero transparent while preserving alignment width.
- Settings profiles now export as BQL15; BQL14 and older profiles remain importable.


1.14.26:
- Fixed the ultra-narrow divider warning tooltip appearing with an empty backdrop on Classic.
- The warning is now repositioned after sizing without resetting GameTooltip ownership/content.

1.14.25:
- Quest titles now use any remaining room on the prefix line before naturally wrapping.
- Automatic title-to-next-line behavior now occurs only for explicit forced line breaks or the true prefix-compaction fallback.

1.14.24:
- Reworked inline tracked-quest checkmarks to behave like a glyph at the start of the prefix instead of a separate tracker column.
- Inline checkmark mode now reserves several literal spaces before [##] and overlays the checkmark texture on those spaces.
- Wrapped quest-title lines therefore start at the normal quest-text edge instead of inheriting checkmark padding.
- Prefix compaction preserves the inline-checkmark spacer while still removing the normal level/count gaps.

1.14.23:
- Inline tracked-quest checkmarks now use the same first-line layout behavior as tracker dots.
- When "Position tracker dots left of quest level" is active (or the list is narrow enough to force inline markers), the checkmark occupies the reserved character slot immediately before [##] and is anchored to the prefix line instead of the vertical center of the row.
- Wrapped quest titles therefore no longer pull inline checkmarks down between text lines.

1.14.22:
- While actively dragging the quest-list divider in the ultra-narrow range, shows a cursor-adjacent warning that titles can break at extremely narrow margins on some resolutions.
- The "Position tracker dots left of quest level" layout now applies to tracked-status checkmarks too, placing their texture in a compact slot immediately before [##] instead of retaining the normal tracker column.
- Quest-prefix compaction is now list-wide: if any visible prefix cannot fit with normal spacing, every visible quest uses the compact prefix and places its title on the following line for consistent formatting.

1.14.20:
- Changes automatic narrow-row layout order: keep normal prefix spacing, move the quest title to the next line first, and only compact the prefix if the isolated prefix still cannot fit.
- Adds 4px of temporary top breathing room above the first zone heading while the automatic ultra-narrow border-space override is active, without changing the user's saved first-zone padding.

1.14.19:
- Fixes automatic quest-prefix compaction by measuring the natural unwrapped row width before deciding whether the spaced prefix would wrap.
- Lowers the quest-list minimum width from 70 to 50.
- Below the former 70-width minimum, temporarily hides the quest-list border and reclaims its gutter for quest text without changing the user's saved border settings. Expanding back to 70 or wider restores the user's preferences automatically.

1.14.18:
- Compresses tracker/level/party-count prefix spacing before a quest row naturally wraps.
- Adds "Allocate quest list border space to quest list"; available only when the quest-list border is hidden.
- Moves "Hide scroll bars" to Window > Window Behavior.
- Automatically hides the quest-list scrollbar at narrow/compact widths and gives its reserved width back to quest text.

1.14.17:
- The tracked/quest counter now counts the exact per-row tracked state used to paint yellow tracker dots/checkmarks, eliminating disagreement with Classic watch-count APIs.

1.14.16:
- Reworked quest-list row sizing to measure text on an independent, unconstrained FontString. Rows now distinguish genuine wrapping from a single overlong word that is only ellipsized, including cases where wrapped text is also truncated.
- The tracked/quest counter now prefers Blizzard's native GetNumQuestWatches() total (with C_QuestLog and cached fallbacks), preventing a stale per-entry cache from showing 0 tracked quests while the tracker contains watched quests.

BetterQuestLog 1.14.15

1.14.15:
- Fixed ellipsized zone headings and quest names reserving wrapped-row height on Classic clients that report multiple layout lines for truncated FontStrings.
- Row height now checks the FontString truncation state before trusting GetNumLines(), while genuinely wrapped text still receives additional space.

1.14.14:
- Quest-list rows now reserve extra vertical space only when the rendered FontString actually uses multiple lines; one-line ellipsized names no longer create false blank-row spacing.
- Added "Force line break after party counts" under Quest List. When enabled, the quest title starts on a new line after the level and visible party/chain counts.
- Settings profiles now export as BQL13; BQL12 and older profiles remain importable.

BetterQuestLog 1.14.13

1.14.13:
- "Always use compact quest-list formatting" no longer forces tracker dots left of the quest level. Inline dots now engage only when explicitly enabled or when the quest list is actually narrower than the compact-width threshold.
- Added "Hide" to Quest count display; it hides the tracked/quest count and its tooltip hitbox entirely.
- Settings profiles now export as BQL12; BQL11 and older profiles remain importable.

1.14.12:
- "Hide counts if not in party" now suppresses both the purple party quest count and the blue party quest-chain count while solo.
- Added "Position tracker dots left of quest level" under Quest List. In dot mode it renders the tracker bullet inline immediately before [##], eliminating the dedicated tracker column.
- Inline tracker-dot positioning engages automatically whenever compact quest-list formatting is active.
- Settings profiles now export as BQL11; BQL10 and older profiles remain importable.

1.14.11:
- Added Quest List options to hide party counts while solo and hide individual zero-valued counts.
- Settings profiles now export as BQL10; BQL9 and older profiles remain importable.

- Added a Quest List option to always use the ultra-compact row formatting, regardless of quest-list width.
- Renamed the Reading options tab to Reading Pane.
- The tracked/quest count now moves to the bottom-right of the quest-list viewport when it would overlap the first zone heading.

BetterQuestLog 1.14.9

- Reward-item and reading-pane chain quest tooltips now open just above and to the right of the cursor.
- At least 20% of the main title bar remains visible after dragging, resizing, scaling, opening, or restoring the window.
- Lowered the quest-list minimum width to 70.
- Added automatic ultra-compact quest-row formatting below the former 100-width minimum.
- Ultra-compact mode removes the expanded-zone dash and tightens only row-internal tracker icon spacing.
- Quest-list viewport padding is unchanged.

BetterQuestLog 1.14.8

- Restored reliable Show quest-chain list below quest details behavior by avoiding incomplete Questie startup caches and forcing a clean refresh when toggled.
- In parchment mode, uncommon-quality quest reward names now use the same darker green as completed chain quests.

BetterQuestLog 1.14.7

- Fixed a Lua initialization-order error when opening or switching quests with the quest-chain list enabled.
- Hidden scrollbar mode now removes the remaining thumb/grab handle.
- Tracked quest checkmarks use a reliable stock Blizzard checkbox texture.
- Quest-chain rows show purple party counts with per-step member tooltips and no box glyphs.

BetterQuestLog 1.14.1 changes
- Added /wql reset to center the window and restore 100% scale.
- Added accurate non-linear quest-chain positioning ranges from the chain start and to its ending quests.
- Added an optional quest-chain list beneath the reading-pane party progress, including parallel branches and current/completed quest highlighting.
- Added toggles for the single-quest alignment dash, compact party-count spacing, hidden scrollbars, and the reading-pane chain list.
- Hidden scrollbars retain mouse-wheel scrolling and no longer block the expanded content area.
- Added independent reading-pane heading and main-window title font sizes.
- The bottom Exit button now hides automatically whenever it would overlap Share Quest.
- Reorganized settings into Window, Quest List, Reading, Text, Questie, and Profiles pages.
- Settings profiles now use BQL8; older profile versions remain importable.

BetterQuestLog 1.13.2 changes
- Quest-chain tooltips now show separate Chain and Step lines, including total detected chain steps.
- Standalone quests are identified as Single Quest with clearer no-party wording.
- Added an optional light-blue quest-list count for party members anywhere in the same quest chain.
- The existing purple quest-list count remains limited to party members on the exact same quest step.


- Added optional Questie quest-chain graph support.
- Quest-list and Questie tracker hover tooltips now identify the quest chain and party members on earlier, current, later, or branching steps.
- Missed-pickup notifications are suppressed when the target quest is already completed locally or either player is already on an earlier/later step of the same chain.
- BetterQuestLog remains fully functional without Questie.

- Restored tracked-quest counting to Blizzard's per-entry IsQuestWatched() state.
- Added a quest-ID watch-state cache so collapsed zones keep contributing to the tracked count.
- Changed Padding Above First Zone range to -5 through 40.

BetterQuestLog 1.11.6 changes

- Removed the duplicate grey separator beneath the title bar in parchment mode.
- Added consistent internal padding to the quest-list and reading-pane content.
- Increased left padding for quest rows and zone headings.
- Kept both complete scrollbars, including arrow buttons, inside their pane borders.
- Matched the top and bottom bounds of both scrollbars.
- Matched the divider height to the pane-border height.

- Removed the parchment-mode outer border.
- Inset the parchment inside its reading-pane border.
- Moved both scrollbars fully inside their pane borders and aligned their top/bottom bounds.
- Added right padding to the quest count so it cannot sit beneath the quest-list scrollbar.
- Inset the quest-list border within its pane.
- Changed parchment-mode borders from brown/gold to grey.


- Removed the parchment-mode brown fill layers behind the outer frame, quest list, and footer.
- Kept the decorative Blizzard-style borders, title separator, and reading-pane parchment.
- Non-parchment mode remains unchanged.

BetterQuestLog 1.11.2 changes

- Pulled the parchment-mode outer border back inside the actual window bounds.
- Extended the quest-list pane to the left edge of the main content area.
- Removed the redundant "Quest List" heading and moved the list to the top of its pane.
- Tightened the gap between the quest-list and reading panes.
- Centered the divider drag bar in the compact gap between both pane borders.
- Kept the shared pane geometry active in both parchment and normal modes.

BetterQuestLog 1.11.1 changes

- Aligned the quest-list and reading-pane borders to the same top and bottom edges.
- Tightened the gap between the two content panes.
- Centered the divider drag bar between the pane borders.
- Extended the parchment-mode main border from the bottom of the title bar to both lower corners.
- The pane-gap and divider alignment improvements also apply in normal mode.

- Added a parchment-only Blizzard-inspired skin around the reading pane.
- Added a warmer, lighter leather theme to the main window and quest-list area while parchment mode is enabled.
- Added decorative borders around the main interior, quest list, reading pane, and footer controls.
- Disabling parchment mode hides every added skin element and restores the existing normal appearance.

BetterQuestLog 1.10.2

1.10.2 changes

- Tightened the QuestBG texture crop so its internal transparent right padding no longer grows with window width.
- Replaced the right pane's opposing anchors with a deterministic width calculation.
- The reading pane now keeps the same fixed right margin at narrow and wide window sizes.
- Parchment remains anchored to the reading pane with no extra overhang.

1.10.0 changes

- Restored the parchment to the reading pane's exact right edge.
- Made the reading pane's right margin fixed at every window width.
- Removed conflicting width assignment from the right pane layout.

1.9.9 changes

- Extended the parchment background beneath the reading-pane scrollbar.
- Cropped the transparent right and bottom padding baked into Blizzard's QuestBG texture.
- The visible parchment artwork now stretches across the full reading pane from the first open.
- Kept the texture anchored to the reading-pane viewport at every window size.

1.9.7 changes
- Fixed the original QuestBG texture starting at the reading pane's construction size.
- The parchment now uses live top-left and bottom-right anchors, so it follows the pane's final dimensions immediately on first open.
- Manual resizing is no longer required to make the parchment fill the reading pane.

1.9.6 changes
- Restored Blizzard's original QuestBG texture for parchment mode.
- The texture is explicitly stretched to the reading pane after initial layout and on every size change.
- Added a deferred first-open sizing pass so the parchment fills the pane before any manual resize.

1.9.5 changes
- Toggling parchment wallpaper now immediately re-renders the selected quest.
- Disabling parchment restores the original gold headings, white body text, green completion text, and purple party-progress colors.

1.9.4 changes
- Replaced the fixed-size original quest parchment with Blizzard's repeatable UI-Background-Marble texture.
- Parchment mode now covers the entire resizable reading pane using a warm base and tiled texture layer.
- Retains the light parchment palette with dark brown reading-pane text.

Compatibility
-------------
- WoW Classic Era, Hardcore, and Season of Discovery 1.15.9 (Interface 11509)
- Burning Crusade Classic 2.5.6 compatibility/test TOC (Interface 20506)
- Questie is optional.

Install
-------
1. Copy the BetterQuestLog folder into Interface/AddOns.
2. Open the addon with /bql or /betterquestlog. The old /wql and /widequestlog aliases still work.

1.9.0 changes
-------------
- Updated the addon interface target for Classic 1.15.9 and added a 2.5.6 BCC compatibility TOC.
- Selected quests receive a translucent background using their difficulty colour.
- Optional left-side (Complete) labels shorten long titles with an ellipsis without introducing extra wrapping.
- Selected quest names match normal quest-name size by default; the separate selected-size slider disables while matching is enabled.
- Optional texture-based grey/gold tracked-quest checkmarks.
- Optional title-bar-only screen clamping after scale changes.
- Optional title-bar-only window dragging.
- Screen clamping no longer runs after dragging or resizing.
- The selected quest title is now inside the reading pane, which extends to the top of the right column.
- Optional tiled parchment-style reading-pane background using a built-in Blizzard texture.
- Questie tracker tooltip delay now defaults to 0.0 seconds.
- Missed-quest pickup warnings now default to disabled with a 600-second delay.
- Settings profiles now use BQL3 and include all new options; BQL2, WQL2, and WQL1 strings remain importable.
- Increased left padding inside the quest list.
- Reduced the gap around the center divider while preserving an easy drag target.
- Reduced top and bottom dead space around the two main panes.
- Reduced the reading pane's right-side margin.
- Aligned the quest-count text vertically with the first zone header.