Back
The Elder Scrolls Online

LibStub

Overview

LibStub was replaced by features in the game and won't be updated anymore!

LibStub was replaced by features in the game and won't be updated anymore!
[img_left]https://cdn-eso.mmoui.com/images/style_esoui/icons/icon4.gif[/img_left]If you are using an addon which still relies on LibStub, either ask the author to remove it or you just need to live with it.[img_right]https://cdn-eso.mmoui.com/images/style_esoui/icons/icon4.gif[/img_right]

Addon Authors: LibStub is no longer needed if you plan to write a new library.
The game can manage the versioning itself, so just write your library like you would any other addon and make sure you add the "IsLibrary" and "AddOnVersion" directive.

Check the wiki for more more details about the directives.

In order to encourage moving away from LibStub, starting with r7 it will print a deprecation warning in chat in case any of the installed addons uses LibStub to reference a library. This message can be disabled with "/libstubwarning off". Authors can install LibDebugLogger and the DebugLogViewer in order to see where offending calls to LibStub come from. Simply enable stack trace logging via "/debuglogger stack on", reload the UI and click on the warnings in the log.

LibStub was written for World of Warcraft by Kaelten, Cladhaire, ckknight, Mikk, Ammo, Nevcairiel and joshborke. It was ported to Elder Scrolls Online by Seerah. The below description was copied from WowAce with a few minor revisions.

LibStub is a minimalistic versioning library that allows other libraries to easily register themselves and upgrade. It is meant to be a cross-community library sharing system.

LibStub is hereby placed in the Public Domain

LibStub-1.0 API

:GetLibrary(major [, silent])

Returns

The table instance of a registered library or nil if not found and the minor version of the library as the second return value.

Arguments

major
The name of the library you are requesting
silent
(Optional) Suppresses errors when the library is not found. You can pass LibStub.SILENT for better readability

:IterateLibraries()

Returns

An iterator over the registered major libraries.

:NewLibrary(major , minor)

Returns

The table to be used by the library as well as the minor version of the previously registered library, if any.

Arguments

major
The name of the library you are requesting
minor
The minor for the registering library

Who uses LibStub?

LibAddonMenu-1.0
... and hopefully many more to come!

How to include LibStub in a library or addon

Library

- get a copy of the current version
- copy LibStub.lua into your library's folder
- set up your .txt file to load LibStub.lua (in case your library supports being installed standalone)
- don't set LibStub as OptionalDependsOn

AddOn

- get a copy of the current version
- copy LibStub.lua into your addon's folder or a subfolder of it
- set up your .txt file to load LibStub.lua
- don't set LibStub as OptionalDependsOn

Basic Example

ABOUT THIS LISTING

This page describes LibStub by sirinsidiator. The description and screenshots are the author's own, imported from their listing on ESOUI on 3 October 2026: https://www.esoui.com/downloads/info44-LibStub.html

Mythiq.net hosts no files for it. The download button goes straight to the release file on cdn.esoui.com, so you are downloading from the author's own host, not from a copy of ours.

The download count, rating and comments on this page start at zero and count Mythiq.net only. The source's own figures are not copied here — they measure a different site, and a number that cannot be checked against our own ledger is not worth printing.

Requirements

Game versions
  • 5.3.5
  • 5.2.5
  • 5.1.5
  • 5.0.5
API VERSION

Built for ESO API version 5.3.5, 5.2.5, 5.1.5, 5.0.5. After a patch the game marks add-ons built for the previous API as out of date; the "Allow out of date add-ons" checkbox in the add-on menu loads them anyway, and most work.

LIBRARIES

Many ESO add-ons depend on a shared library — LibAddonMenu-2.0 above all — which is installed separately, exactly like an add-on. A dependency that is missing shows as the add-on simply not appearing in the list.

CONSOLE

Add-ons are PC and Mac only. There is no way to load them on console.

Installation

1. Download the archive with the button on this page and unzip it.

2. Move the unzipped folder into your add-ons directory:

Windows — Documents\Elder Scrolls Online\live\AddOns

macOS — ~/Documents/Elder Scrolls Online/live/AddOns

3. Start the game, and at the character select screen click Add-Ons.

4. Tick the add-on. If it is greyed out and marked out of date, tick "Allow out of date add-ons" at the top of the same panel.

5. Log in. Most add-ons need a /reloadui after they are first enabled.

UPDATING

Delete the old folder first. ESO loads everything it finds, and two copies of one add-on is the usual cause of "an add-on has produced an error" on login.

This release downloads from cdn.esoui.com, not from us, so there is no checksum to compare against. Scan the archive before you unpack it.

Version history

  1. v1.0 r7 Latest 24 Feb 2020 · 2.1 KB via cdn.esoui.com · 0 downloads Download
    1.0 r7
    - added deprecation chat warning
    - added LibDebugLogger support
    - api bump

    1.0 r6
    - added IsLibrary flag to manifest
    - api bump (see below)

    1.0 r5
    - api bump (for all the poor people who don't like to check a checkbox)

    1.0 r4
    - added a named constant for the silent flag as proposed by merlight

    1.0 r3
    - added support for fractional numbers in minor library version as proposed by merlight

    1.0 r2
    - fixed error handling

    1.0 r1
    - updated version number in LibStub.txt to match internal Major, minor revisions (1.0 r1 instead of 1.0.1)

    Off-site on cdn.esoui.com — no checksum, because we never held this file. Link checked by our review team on 3 Oct 2026.

Comments

No comments yet.

Sign in to leave a comment.

Report this mod

Tell us if something is wrong — a file that will not work, content taken from someone else, or anything that looks unsafe. Reports go to our review team, not to the author.

Sign in to report this mod.

We use cookies to ensure that we give you the best experience on our website and improve your experience. By continuing to use this site you consent to such use of cookies.

Learn More