v2.5.0
LevelTimer
v2.5.0 (2026-10-02)
Full Changelog Previous Releases
- Note roadmap items released in v2.5.0
- Merge pull request #9 from Noobygames/feature/roadmap-v2.5
Roadmap v2.5: streaming, speedrun, profiles, reminders - Enable CurseForge upload (project 1721235)
Releases tagged v* now also upload to CurseForge through the BigWigs
packager; the CF_API_KEY secret is already set. - Compare against speedrun.com leveling records (roadmap 51)
tools/records (make records) fetches the fastest SSF softcore runs of
WoW Classic: Leveling from the speedrun.com API for 1-10, 1-20 and
1-60, overall and per class, and writes SpeedrunRecords.lua. The addon
compares your /played time when reaching the bracket level (or the
running /played before that) with the record of your class or overall,
in the split list and in a new History > Speedrun > Speedrun records
view. - Add settings profiles (roadmap 50)
Settings can be saved as named profiles; each character remembers its
profile and loads it at login. Switching or logging out writes the
active settings back into the active profile. Profiles can be exported
and imported as text to carry them to other clients or accounts. New
Profiles tab in the settings and /lt profile [name | save | delete |
export | import]. - Share and back up runs as text (roadmap 49)
Shift-click a run to get it as text, "Back up all" exports every run,
"Import" (or /lt runs import) pastes runs from other players or other
clients. Imported runs appear in the runs view and can be chosen as
comparison. Serializer.lua encodes tables as plain text without pipes
or line breaks and parses them without loadstring; imports are checked
before anything is stored. - Add personal records view (roadmap 48)
The Speedrun group gets a records table: fastest time per level over
all own characters, who holds it, your own time on that level and the
difference, colored like the splits. - Add runs view for speedrun comparisons (roadmap 47)
New history group "Speedrun" with a runs table: every own character
(and later imported runs) with class, reached level, recorded levels
and time up to the current level. Click chooses the run as fixed split
comparison, right click marks it as favorite (favorites on top); the
filter box finds runs by name or class. Table views support row clicks
and a toolbar hint. - Freeze the chosen comparison run (roadmap 46)
Choosing a run copies its level times into db.splitReference, so the
comparison stays fixed even if that character keeps leveling. Runs.lua
collects runs (own characters, later imported ones) for the speedrun
features; the comparison mode is now called "run". - Show total /played in the split list (roadmap 45)
- Plan speedrun parity and settings profiles (roadmap 45-50)
- Extend debug mode with logging and test commands (roadmap 44)
/lt debug now logs decisions across the addon (counters, journal,
session start/resume/archive, /played, death cause source, level ups,
announcements, reminders, split references, alerts) via ns.Debug.
/lt debug state | levelup | alert | remind | death | splits
trigger features by hand or print internal state without touching saved
statistics. Alerts are now described in Alerts.KINDS so samples and
real alerts share one definition. - Announce level ups in /say with a click (roadmap 43)
New announcement choice "Say (click)". SAY needs a hardware event in
the open world, so a level up shows a button for 60 seconds and the
click sends the summary. Nothing is sent during chat lockdown. - Split settings into tabs and hide Forever-only options (roadmap 41, 42)
The settings window now has tabs: General (window, compact and
horizontal layout, language, minimap), Statistics, Notifications (level
up chat and announcement, buff reminders) and Stream (stream mode,
background, hidden names, red deaths, alerts, splits). New session,
summary and history stay at the bottom of every tab.
Client.lua detects WoW Forever by its interface version (16xxx). The
camp buff reminder and its toggle only exist there; toggles can declare
available() to be skipped on other clients. - Remind about missing camp benefits (roadmap 40)
Optional reminder when the WoW Forever camp buff (spell 1229741, found
in game) is missing while leveling. BuffReminder now handles a list of
reminders, each with its own setting and pause; due reminders share one
alert. Clients that do not know the camp spell get no reminder. - Remind about a missing food buff (roadmap 39)
Optional reminder (alert plus chat line, at most every 5 minutes) when
"Well Fed" is missing while leveling outside combat and rest areas; in
WoW Forever it gives 5% more kill XP. The buff is matched by the
localized name of spell 19705 via C_Spell.GetSpellName and
C_UnitAuras.GetAuraDataByIndex, both listed for all clients. - Plan food and camp buff reminders (roadmap 39, 40)
- Add split list panel (roadmap 36)
A separate movable panel lists the running level and the last finished
levels with their time and split delta, plus the total, like LiveSplit.
Toggle with /lt splits or the settings, 3-15 levels. It follows the main
window's scale, background and lock; colored deltas and the window
background are now shared helpers (Format.SplitDelta,
TimerWindow.ApplyBackground). - Choose the split comparison run (roadmap 35)
Setting splitComparison selects what the splits compare against: the
best time per level, the personal best (fastest other run up to the
current level, fixed within a level) or a chosen character set with
/lt compare Name. Splits also expose the delta of a finished level. - Add one-command stream mode (roadmap 37)
/lt stream and a settings toggle switch on a stream preset (transparent
window at 150 %, alerts, hidden names) and keep the previous values in
db.streamBackup, so switching off restores them, also after /reload. - Make red death highlight optional (roadmap 38)
Setting highlightDeaths (on by default) controls the red death count,
so every stream-oriented display option can be switched off. - Plan streamer parity items 35-38
- Announce level ups to party or guild (roadmap 34)
Setting levelUpAnnounce (off, party, guild) posts the level summary as
plain text to the guild, the party or the instance chat. Uses
C_ChatInfo.SendChatMessage with the old global as fallback and sends
nothing while Retail's chat messaging lockdown is active, so no blocked
action is triggered. The own chat line stays a separate setting. - Compare level times against best splits (roadmap 26)
New rows "Level split" and "Total split" compare the running level
time with the fastest time any other character needed for that level,
and sum the differences over all levels with a best time, green when
ahead and red when behind, like LiveSplit's sum of best. - Add session summary card (roadmap 30)
/lt recap and a settings button open a small window with the running
session's play time, levels, XP and XP/h, kills, deaths, near deaths,
quests, income, best loot and the most dangerous enemy, ready for a
stream outro or a screenshot. Respects the streamer privacy setting. - Add big on-screen alerts for stream moments (roadmap 29)
Optional alerts for level up, rare and elite kills, epic loot and near
deaths, shown large at the top of the screen and faded out. They come
from ns.OnLevelStarted and the new Journal.OnAdd listener, so no event
is parsed twice. All alert types are off by default. - Add session goal level with progress and forecast (roadmap 28)
/lt goal 30 stores a target level per character; the new row "Goal"
shows progress in percent and the forecast time to reach it, and a chat
message announces when it is reached. Slash commands now receive the
rest of the input as argument; Forecast.SecondsToLevel serves any level. - Hide realm and other characters for streamers (roadmap 33)
Setting streamerPrivacy shows only the logged-in character's name and
lists other characters as "Character N" in the history header, the
compare table, its CSV export and the delete dialog. All names now go
through History.DisplayName. - Add chroma key background for streams (roadmap 27)
Setting windowBackground (default, green, magenta) gives the timer
window a solid background without border, so OBS can key it out.
Options gain a generic addChooser, now also used by the language row. - Show time without death and highlight deaths (roadmap 31)
New stat row "No death for" shows the played time since the last death
across levels and sessions (stored as /played total at death). Death
counts turn red once there is one, so they stand out on stream. - Start a new session on demand (roadmap 32)
/lt newsession and a settings button archive the running session right
away and start a new one, e.g. at the start of a stream, instead of
waiting for the next real login. - Plan roadmap v2.5 with streaming features
- Add vscode launch config