Token management and a real search engine
This release closes a fourteen-version gap since 1.2.26. The headline items are member-facing token management and a rebuilt search engine.
Members can now manage their own AI tokens
Until now, a member who connected an AI agent had no way to see what they had authorised, or to disconnect it. That is fixed.
Under
AI Connect → My AI Tokens in the account area, members can see every token they hold, when it was last used, from which IP address, and with which client. Revoking is one click.
The menu entry only appears for members who actually hold tokens, so it stays invisible to everyone else.
Six filters keep long lists usable:
Active,
Renewable,
Unused,
Inactive,
Revoked and
All. The
Renewable filter deserves a mention — it surfaces tokens whose access window has expired but whose refresh token is still alive. Those tokens still work, and previously there was no way to tell.
Administrators get the same picture across all users under
Setup → AI Connect → Tokens, including bulk revoke that respects whichever filter is active.
Search that understands what you asked for
Search runs through XenForo's own search engine, which changes both what you can ask for and what comes back.
Both search tools now accept the syntax your members already use on the forum:
- "exact phrase" — quoted terms match as a phrase, not as separate words
- +required — the term must appear
- -excluded — the term must not appear
Results come back ranked by relevance rather than only by date, and responses now carry the total number of matches, the current page, and whether more remain. Previously an agent asking for ten results had no way to know whether ten was all there was.
That also fixes a quiet failure. The old implementation fetched a batch, filtered out whatever the connected member was not allowed to see, and returned whatever survived. On a forum where much of the content is restricted, that returned fewer results than requested
without saying so — an agent could reasonably conclude the content did not exist. Permission filtering now happens inside the search itself, so a full page is a full page.
Matching inside words. A full-text engine matches whole words, which is correct for English but wrong for languages that attach prefixes directly onto a word — searching for a base word would find nothing, because the indexed word carries a prefix the searcher never typed. The tools handle both: the engine runs first, and if it finds nothing the search retries as a substring match, which finds a base word inside its longer forms. A match_mode parameter forces either behaviour when you need it, and the response reports which was used.