Changelogs
XLQP Gen1 additions, updates, fixes, and complete element inventory.
Changelogs
Follow new elements, improved behavior, documentation updates, and fixes across XLQP Gen1.
Full key-system UI rewrite and new AI agent
Fully rewrote the key-system UI, added the new AI agent, and introduced nested tabs, option grids, element grids, and custom sliders. The source, full example, and documentation are updated.
Fully rewritten key-system UI
Replaced the old key window with a complete new interface, including themed layouts, customizable branding, get-key menus, Discord and website cards, information panels, a draggable window, and five notification styles.
New key validation and saving
Added function-based validation, custom checks, optional case-sensitive matching, and support for checking hashes alongside raw keys. Entered keys are trimmed, and saved keys are checked again when the UI launches.
Key providers and multiple get-key methods
Added integrated support for Platoboost, Panda, Jnkie, and custom providers. The get-key menu supports multiple destinations with their own names and icons.
AI agent workspace and task system
Added an agent interface with task planning, live context inspection, activity updates, tool results, question prompts, and task tracking. The assistant can use information visible to the client instead of relying only on the conversation.
Agent permission modes
Added Read only, Ask first, Auto (ask for dangerous), and Allow everything. Users can review action requests and approve an action once, change their permission mode, or deny it.
Agent tools and effort controls
Added workspace inspection and instance-search tools, along with permission-controlled actions. Instant, Balanced, and Deep effort options control planning and context. The agent also supports multiline input, response callbacks, and script-side task and tool controls.
AI textbox and companion chat
Connected AddTextbox and CreateTextbox AI mode to the new agent system. AddXLQPGen1AI uses the same chat interface while keeping its optional companion configuration.
AddSubTabs and AddSubTab
Added nested horizontal tab pages with per-tab colors and backgrounds, automatic fill sizing, selection controllers, and an automatic shared-manager shortcut.
AddOptionGrid
Added selectable option cards with single or multiple selection, images, embedded controls, custom builders, a settings popover, saved flags, and runtime layout methods.
AddElementGrid and widget-grid aliases
Added responsive columns of normal controls, automatic height limits, cell sizing, dynamic insertion/removal, and the CreateElementGrid, AddWidgetGrid, CreateWidgetGrid, ElementGrid, and WidgetGrid aliases.
AddCustomSlider and named stops
Added compact custom sliders and named stops, so sliders can choose values such as Instant, Balanced, and Deep. Stops support descriptions, dots, arrows, colors, and selection callbacks.
Slider styling and plugin hooks
Added custom appearance tables, compact presets, configurable handles, formatted parameters, Build/Changed/DragStart/DragEnd hooks, and runtime UsePlugin and ApplyStyle methods.
Bytebeat rendering options
Expanded bytebeat configuration with looping, caching, frame-budget and write-block controls, plus per-preset renderer settings.
Macro and runtime helpers
Added methods for recording, listing, playing, and deleting runtime macros, plus a runtime-health summary for connection, popup, and library state.
Music-title helpers
Added cached music-title cleanup and queued title callbacks for media interfaces.
Current full example
Replaced the old full example with the current AI Agent example, including the new controls, grids, nested tabs, media, and optional key system. The existing loadstring URL still works.
Public source and compatibility aliases
Published the updated UI source and added the new Create, Add, and short-name compatibility forms. The published source and example remain free of code comments.
Outdated AI key-system advice
Updated Ask AI and owner ticket-response guidance so neither repeats the previous hash precedence, case-sensitive-by-default matching, or old saved-key layout.
Documentation navigation and discovery
Added dedicated AI agent and key-system guides, five new constructor references, and a current API additions page. Updated the element catalog, parameter lists, controller methods, and search content.
XLQP Gen1 public source release
Published the official XLQP Gen1 UI source and full example, then connected every documentation loader to the live GitHub source.
Official public loader
XLQP Gen1 can now be loaded from the public josediaz765/XLQP-UIS repository with the verified raw GitHub URL shown throughout the documentation.
Public XLQP Gen1 UI source
Published the current XLQPGen1_UI_Source.luau build as xlqp gen1. The uploaded file is byte-for-byte identical to the supplied source and is now the source used by the official loadstring.
Complete comment-free example
Added xlqp example full to the source repository with the current APIs and elements, a working public loader, and no Luau comments.
Full API and element coverage
The public example includes the current window systems, navigation, standard controls, advanced data and media elements, widgets, dialogs, admin tools, private tabs, dynamic-island notifications, and runtime configuration references from the latest source.
GitHub repository presentation
Rebuilt the repository README with the XLQP preview image, documentation, website and Discord badges, a working quick-start loader, a repository file guide, creator credits, resource links, and license access.
Every loader example is live
Replaced the release placeholder across the home page, Installation, Full Example, and Secure Mode pages. Each sample now points to the same official raw GitHub source.
Installation and quick start
Installation now begins with the released source, includes working Standard and Protected loader paths, and directs users to the verified repository instead of asking them to wait for release.
Green public-release design
Changed the amber locked-source panel into a green available-now release card with updated copy, release icons, a GitHub button, and matching light and dark theme colors.
Secure Mode loader order
Updated every Secure Mode example to use the live loader while preserving the required order: set XLQP_SECURE first, then load the library.
Release status and AI guidance
Replaced the pre-release warning with a green available-now notice and taught Ask AI to use the exact official loader instead of reporting that the source is unavailable.
Outdated source-unavailable messages
Removed stale “not out,” “not public,” and “coming soon” text from the active documentation and chat instructions so users are no longer told that the released source is unavailable.
One canonical loader URL
Standardized all active documentation and Ask AI output on https://raw.githubusercontent.com/josediaz765/XLQP-UIS/main/xlqp%20gen1 to prevent broken, unofficial, or inconsistent loader links.
New runtime APIs and complete example refresh
Synchronized the public documentation with the latest XLQP UI source and full example before the public source release.
Three new canonical elements
Added complete Simple and Full references for AddDebugConsole, AddKeyPicker, and AddLoadoutGroup, including their supported fields, return controllers, and compatibility aliases.
Window-level systems documented
Added widgets, admin tabs, dialogs, private tabs, dynamic-island notifications, media-center helpers, tab-button styling, and runtime parameter introspection to the reference.
Window properties and full example synchronized
Documented SaveUIPosition, SaveUISize, TabButtonsStyle, TopBarQuickPanels, PrivateTabs, Widgets, setup welcome fields, shared Style and LockedTo properties, and replaced the Full example with the supplied current version.
New elements and refreshed full example
Added reference pages for the newest XLQP elements and synchronized the complete example with the latest UI source and example file.
New element reference tabs
Added dedicated Simple and Full tabs for AddCards, AddChangelogParagraph, AddCountdown, AddLeftSidebarMenu, AddMiniTab, AddProfileCards, AddRadioGroup, AddRating, AddRightSidebarMenu, AddSegmentedControl, and AddTabbox.
Controller helpers documented
Added reference pages for AddItem and AddTag, including their supported fields and controller behavior, so the new list and tag helpers are discoverable without changing the API.
Full example synchronized
Updated the Full example page from the latest XLQPGen1_UI_Source.luau and XLQPGen1_Example.luau inputs available at that time.
Colorful element text
Element constructors now accept one consistent TextColor option for readable, theme-safe accent text.
TextColor on every control
Buttons, paragraphs, labels, toggles, sliders, textboxes, text areas, dropdowns, and other registered elements can now set TextColor with a named color, hex string, RGB table, or Color3 value.
Theme-safe overrides
Custom text colors persist through theme changes, font changes, and dynamically-created dropdown option rows. Dropdown option tables may also set their own TextColor.
Consistent element naming
Button, toggle, slider, dropdown, textbox, and text-area configs now accept Title as an alias for Name, matching the documented constructor style.
Reliable report limits and report availability
Bug-report limits now persist correctly after refreshes, and the owner can temporarily close new reports without hiding existing tickets.
Persistent daily report count
The three-report daily allowance is now enforced atomically by Supabase with a salted server-side connection key, so changing browsers or clearing browser storage does not reset it. The displayed amount still updates immediately and remains accurate after refresh.
Owner report switch
The ticket dashboard now lets the owner enable or disable new bug reports. This setting is stored in Supabase and applies to every visitor without a deployment.
Disabled report contact card
When reports are disabled, visitors see an Itsjose4 Discord contact card and profile button instead of the submission form. Their existing saved ticket history remains available.
Bug tickets and KeySystem support
Users can now report issues from the docs and track owner updates, while Ask AI gives more precise KeySystem troubleshooting.
Persistent bug tickets
Added the Bug tickets page with a three-reports-per-day browser limit, saved report history, owner-only reporter details, responses, status updates, and ETA tracking.
Owner ticket replies
The owner can draft a response with AI, edit it, set an ETA, and mark a ticket open, investigating, or fixed. Each change is added to the reporter-visible log.
Ticket ownership controls
The owner and the original reporter can now permanently delete a ticket stored under that reporter's saved browser identity. Reporters can edit their own ticket but cannot change another reporter's ticket.
Better ticket triage and AI drafts
Ticket reports now include ready-to-fill templates for KeySystem, elements, and mobile layout issues. Owners get ticket IDs, status totals, search, filters, and a stronger structured AI draft that uses the configured XLQP model before the anonymous fallback ladder.
KeySystem diagnosis
Ask AI and Window configuration now cover exact raw key matching, Keys versus Hashes, saved-key invalidation after a key-set change, and the required KeySystem = { Enabled = true } shape.
Ask AI backup model ladder
Ask AI now tries additional free anonymous models before falling back to the official documentation, so provider outages do not interrupt help.
Multiple backup models
Added a server-side fallback ladder using free openai, qwen-coder, and llama text models when the primary provider is unavailable. No extra browser key is required.
Grounded backup prompts
Backup requests receive the relevant XLQP documentation excerpts and the same case-sensitive API and no-invention rules as the primary assistant.
Raw documentation markup in fallback answers
Cleaned Fumadocs anchor labels and MDX tags before displaying model or documentation fallback responses.
Adaptive window sizing
Windows now fit the available screen, respond to orientation changes, and remain usable on smaller mobile displays.
Viewport-aware windows
Main, settings, plugins, Config Cloud, media, and custom panel windows now clamp their size and position to the current camera viewport. The layout refreshes when the screen size or orientation changes during a session.
Mobile minimum sizes
Reduced minimum window dimensions for touch screens while preserving existing dragging, resizing, minimizing, and styling behavior.
Adaptive sizing controls
Window configuration now supports AdaptiveSizing (enabled by default) and AdaptiveSizingMargin (6–32 pixels, default 12) for opting out or adjusting safe edge spacing.
Orientation and resize layout issues
Auxiliary windows no longer remain oversized or drift off-screen after a viewport resize, device rotation, or mobile layout change.
Mute Global Sounds
A new settings toggle silences the game's audio while every sound XLQP owns keeps playing.
Mute Global Sounds toggle
Added the toggle to the built-in Settings tab, saved under the XLQPMuteGlobalSounds flag, and to Quick Controls on the settings GUI overview page. Both surfaces stay in sync whichever one is used.
Global sound methods
Added SetGlobalSoundsMuted, GetGlobalSoundsMuted, and ToggleGlobalSounds for controlling the mute from a script.
Interface audio whitelist
Added RegisterUIAudio and IsUIAudio. The media player, disc player, bytebeat lab, intro sound, typewriter clicks, AI panel sounds, and interface feedback are registered automatically, including the sounds parented to SoundService and Workspace instead of the XLQP GUI.
Volume restore behavior
Added per-sound volume tracking so unmuting restores what each sound was actually set to. Audio created while the toggle is on is muted as it appears, and a volume the game raises mid-mute is re-zeroed and then restored on unmute.
BuiltInTabs reference
Updated Window configuration with a Mute Global Sounds section covering both toggle locations, the five methods, the covered services, and how to whitelist a script's own sound.
Loader, loading controller, and watermark fixes
GetLoading can no longer return nil, the Discord auth profile is restored by MakeWindow, and the full example drops every defensive shim it no longer needs.
GetLoading returning nil
Fixed Library:GetLoading() returning nil whenever no loading screen was active, which made Loading:SetStage(...) error. It now returns an idle controller with the same methods, so the result is safe to use unguarded.
LoadDiscordAuthProfile before MakeWindow
Fixed scripts erroring with attempt to call missing method 'LoadDiscordAuthProfile' of table. The method only exists once the window is built, so MakeWindow now restores the saved profile itself and scripts no longer call it.
Watermark controller missing Destroy
Fixed the AddDraggableLabel controller having no way to remove itself. It now exposes Destroy (with a Remove alias) which unregisters the label from the FPS and ping refresh loop before deleting the frame.
Misleading loader error
Fixed the loader failure surfacing as attempt to index nil with 'GetLoading' on an unrelated line. Added both that error and the missing-method error to Installation troubleshooting with the real cause.
Draggable label reference
Added the Text table form with Text and fps (plus their Name, FPS, and ShowStats aliases), the SetText, SetStatsVisible, SetVisible, and Destroy controller methods, the AddLabelGui alias, and a note that the label may be created before MakeWindow.
Idle loading controller reference
Added the full idle-controller method list to Window configuration so AutoInit = false scripts know which calls stay valid after the loading screen closes.
Full example simplified
Updated the full example to drop the XLQPEmptyLoading table, the GetLoading patch, the five stubbed library methods, the pcall around the watermark, and the LoadDiscordAuthProfile call. The watermark is now a single AddDraggableLabel call and GetLoading is used directly.
Discord auth guidance
Updated the Discord window group to document automatic profile restoration and to point at Library.DiscordAuthProfile and getgenv().XLQPDiscordAuth for reading the result.
Secure Mode and anti-detection reference
Secure Mode, Anti Logger, and the spoofers are now documented as three separate systems, matching the current UI source.
Anti Logger reference
Added the BlockWebhooks and BlockIPLoggers sub-toggles, the blocked pattern list, per-mode request coverage, blocked-response shapes, the automatically whitelisted endpoints, and the WhitelistLoggerUrl, IsLoggerWhitelisted, LoggerReason, CheckLoggerUrl, InstallAntiLogger, and RefreshAntiLoggerHooks methods.
Spoofer documentation
Added ExecutorSpoofer, PlatformSpoofer, HWIDSpoofer, ClientSpoofer, and PlayerSpoofer with their executor requirements, plus SecurityHookSupported and SecuritySet.
Built-in Security tab
Added the BuiltInTabs.Security panel contents and a warning that its controls let users lower the configured protection.
Loader header globals
Added XLQP_SECURE, XLQP_ASSET_ID, and XLQP_ASSET_IDS to the loader header, with the two asset globals marked reserved because the current source does not read them.
Secure Mode asset policy
Updated the protected property lists, the descendant watcher coverage per instance type, and the recognized asset identifier formats.
Full example security section
Updated the full example with the Secure Mode check, Anti Logger configuration, and spoofer setup behind an executor support check.
Per-system limits
Replaced the single Secure Mode limitations list with separate limits for Secure Mode, Anti Logger, and the spoofers.
Anti Logger default state
Fixed Secure Mode documenting Anti Logger as opt-in. It is enabled unless Security.AntiLogger is set to false.
Whitelist matching guidance
Fixed the whitelist advice to explain that matching is bidirectional, so a short entry such as a bare domain allows every URL beneath it.
Secure Mode troubleshooting
Fixed missing troubleshooting cases for the asset caching notification, requests returning empty data instead of failing, protection lost mid-session, and spoofer toggles refusing to enable.
Beta buttons list, status bar, and startup fixes
A new floating dock and window status bar, drop shadows, tab spacing, and fixes for scrolling, the key system, and the media centre.
Beta buttons list
New betabuttonslist window option draws a floating pill dock at the bottom of the screen with launcher, nav, tools, user, collapse, and clock groups. It lives in its own ScreenGui, so it stays visible whether the interface is open or closed. Adds SetBetaButtonsList, IsBetaButtonsListEnabled, and a Settings toggle saved under XLQPBetaButtonsList.
Window status bar
New statusbar option adds a bar across the bottom of the window with error and warning indicators plus live memory, ping, FPS, and region readouts. Clicking either indicator raises a notification with the recorded details.
UI shadow support
New uishadow option applies a configurable drop shadow to the main window, settings window, and detached tab list, off by default. The shadow is created as a sibling of its target so ClipsDescendants cannot cut it off, and it tracks position, size, anchor point, visibility, and ZIndex. ApplyUIShadow and RemoveUIShadow accept any GuiObject for use on custom elements.
Beta dock collapse animation
The dock tray snapped open and shut with no transition. It now clips its contents and tweens its width, with the launcher giving a short press response and the collapse arrow flipping to match.
Tab list spacing
New tablistspacing option sets the gap between sidebar tabs.
Game collection
Rebuilt the Home game collection as a titled panel of large thumbnail-first cards with a gradient scrim, overlaid title and player count, and a play button that grows on hover.
Tab content could not be scrolled
The library's mouse-wheel handler was wired to every scrollable region except the tab element containers, so tabs only became scrollable after a window resize forced a relayout. Element containers now get the same handler, plus engine-managed AutomaticCanvasSize.
Key system never appeared
A modern KeySystem = { Enabled = true } block normalised its fields onto the config root, but the runtime gate only read them from SearchBar, so the gate was skipped entirely. Settings are now resolved once from either shape.
Key and warning prompts were invisible
The loading card disables the root ScreenGui, which also hid the warning and key prompts parented to it. They could never be dismissed, so startup waited on them forever. The card is now hidden for the duration of a gate.
Loading card could hang forever
Added a bounded Complete(), an Init() backstop, and an independent supervisor so the loading card can no longer outlive startup regardless of the flag handshake between MakeWindow, Init, and ShowIntro.
Foreign errors failed the load
Errors raised by other scripts in the place could trip the "We couldn't run the UI" card during startup. Only errors attributable to the library may now fail the load, and none are considered while a key or warning prompt is open.
Media centre would not reopen
Minimising the interface disabled every popup ScreenGui without recording state, so reopening the media centre set a window visible inside a dead ScreenGui. State is now restored on reopen and the media ScreenGui is force-enabled when opened.
Key system close button
The close button left the hub in a half-torn-down state. It now runs a full unload that clears floating labels, the watermark, every library ScreenGui, leftover blur effects, and the global handles.
Key system avatar and backdrops
The key prompt used a retired www.roblox.com headshot URL that no longer loads as an Image; it now uses rbxthumb://. The full-screen dimming frames behind the key and warning prompts were removed.
Public release status
Recorded the pre-release documentation status that applied on July 30, 2026. The source and loader are now public.
Prominent source status notice
Added the pre-release status notice used before the XLQP Gen1 UI source became public.
Loader examples
Restored the complete Library loadstring shape across Installation, Examples, Secure Mode, and the home page before the official URL was available.
Ask AI release guidance
Prevented the documentation assistant from inventing a source URL before release. Ask AI now uses the exact official GitHub loader.
Animated window backgrounds
Window appearance gained animated GIF support, runtime controls, and complete compatibility guidance.
Animated GIF backgrounds
Added GifBackgroundEnabled, GifBackgroundUrl, and GifBackgroundTransparency to the Window Appearance configuration.
Runtime GIF controls
Added SetGifBackground, RemoveGifBackground, and IsGifBackgroundSupported to the Window controller reference.
Window and full-script examples
Updated MakeWindow, CreateWindow, the complete Window configuration, and the full example with safe placeholder values and executor requirements.
Smarter documentation assistant
Ask AI now gives practical XLQP reviews, diagnoses pasted Luau, and handles vague questions more naturally.
Naga-powered Ask AI
Added a streaming assistant powered by the free Llama 3.3 70B model while keeping documentation search and copy-ready Luau answers.
Code review and troubleshooting
Updated the assistant to inspect supplied code, identify exact option or callback problems, explain the cause, and return corrected examples.
Empty and oversized searches
Fixed vague questions producing unhelpful zero-result answers, reduced search payloads, and improved natural-language query fallback.
Complete element reference
Every XLQP constructor received an organized reference page with examples, accepted fields, and compatibility mappings.
Individual element tabs
Added dedicated Fumadocs pages for controls, content, data, media, navigation, advanced features, library utilities, and compatibility aliases.
Complete examples and option details
Replaced placeholder snippets with practical configurations based on the current UI source and full example.
Missing and obsolete options
Fixed empty optional-field comments, removed obsolete Global Chat URL settings, and corrected Window and Secure Mode explanations.
Documentation experience overhaul
The site moved to a cleaner Fumadocs layout with working navigation, themes, code actions, and deployment.
Structured Fumadocs navigation
Added organized sidebar categories, search, on-page navigation, mobile behavior, and light/dark mode support.
Custom XLQP visual design
Updated branding, surfaces, spacing, responsive behavior, and documentation organization for a more focused reading experience.
Code and AI actions
Fixed broken Copy Markdown and Open in AI routes, improved prompts, and added clearer request error reporting.