What's New & Changelog
This page tracks major updates, new PeopleTools object handlers, security features, and configuration enhancements in psLens, grouped by release.
v1.3.3 — November 12, 2026
November 11, 2026 — Interface Fixes
- Query search “Specific User” filter works. Choosing Owner = Specific User and entering a user ID now filters the results. Changing the database also re-runs the search, and Query and Query Access Tree search links now keep their filters when shared or reloaded.
- Scrolling past a failed page keeps your results. If loading the next page of search results fails, the results already shown stay on screen and a warning with a Retry button appears at the bottom. Before, the whole list was replaced by the error.
- Errors now show on App Package PeopleCode, IB Monitor detail, CREF detail, and Message detail pages. These errors were previously dropped, and on IB Monitor detail the contract panels kept spinning.
- Record “Search by Fields” handles field names with
#. Fields such asSEQ#orVOUCHER#used to cut off the search request. - Search links with unusual filter values are handled safely. Filter values from a shared link are now encoded everywhere they are reused to load more results.
November 11, 2026 — Security Fixes
- SSO-only sign-in is enforced. When sign-in is set to single sign-on only, the email-code sign-in endpoints now refuse requests too, so nobody can skip your identity provider’s MFA and group rules by calling them directly.
- Unverified SSO email addresses are refused. If the identity provider marks a user’s email as unverified, psLens no longer matches that address against the authorized users list.
- Generic alerts no longer store password hashes or tokens. Sample rows attached to generic SWS alerts (and shown by the Settings “Test” button) now drop credential columns and mask password properties, as the Record Data panel already did. The Message Catalog Usages report applies the same rule to the tables it scans.
- Integration Broker node tokens are hidden. The node authentication token (
CHECKTOKENID) is now treated as a credential everywhere psLens shows raw rows. - Webhook URLs no longer appear in notification history. A failed Slack, Teams, or Google Chat delivery used to record the full webhook URL, which contains its secret, in the error text.
- Alert mutes from MCP can be removed in the UI, and MCP tokens stay in scope. Unmute on Active Alerts now removes mutes created by MCP clients. An MCP token limited to certain databases can no longer delete mutes on other databases or all-database mutes.
November 11, 2026 — PeopleSoft Metadata Fixes
- Record Field Impact shows queries again. The PSQueries section of Record Field Impact Analysis failed on every field. It now lists the queries, their column numbers, and the record alias (A, B, …) each query uses.
- “Where used” for fields now lists pages. Field dependency lookups in the MCP tools returned no pages. They now find every page that places the field and show the page control type (Edit Box, Drop Down List, and so on).
- File layout field types are correct. Date fields such as
EFFDTshowed as “Time”, and amount fields showed as “Date”. Every type now shows correctly. - DDL parameters on SQL Server and DB2 show the right platform. The record DDL panel looked up Sybase parameters on SQL Server databases. It now uses the correct platform for SQL Server, DB2 for Linux/UNIX/Windows, and DB2 for iSeries.
- Locked-user process alerts no longer fire on finished jobs. The “processes for locked users” alert and health check counted every successful job a locked user had ever run. They now count only requests still waiting to run (Hold, Queued, Pending, Blocked).
- Generic alerts in
config.yamlload as documented. Generic SWS alerts written with the documented keys (recordName,sqlWhereClause) loaded as empty queries. Both those keys and the lowercase keys from older saved files now load. - Record Field Impact no longer shows an empty Prompt Record column in its Pages section. The column read a field PeopleSoft does not have, so it was always blank.
- Components and MCP now show Event Mapping and Related Actions. Component detail pages, Component Markdown exports, MCP
eventmapdefinitions, and the Event Mapping impact prompt now read PeopleTools’ Related Content tables (PSPTCS_SRVCFG,PSPTCSSRVCONF,PSPTCSSRVDEFN) once those three tables are added to the SWS whitelist, listing Pre/Post/Override Event Mapping hooks, Related Action services, and deep links to each handler Application Class.
November 11, 2026 — Alerts Clear When a Database Is Offline
- Offline databases no longer show stale alerts. When a database goes offline, its alerts clear and only the IB Down alert remains. During scheduled downtime, all of its alerts clear. No “resolved” notification is sent, and any problem still present when the database comes back raises a new alert.
v1.3.2 — November 11, 2026
November 11, 2026 — Interface Fixes
- Shared links keep zero-padded IDs. A link with a filter such as operator ID
0012345used to open with12345and search for the wrong value. Filters now come back exactly as they appear in the link. - Recurrence search works from a shared link whose search term is a number. Before, the Search button did nothing.
- Role suggestions in the SSO Password Audit report now appear as you type a role to exclude.
- Rotate Master Key asks for confirmation and shows its warning about updating
PSLENS_MASTER_KEYbefore restart. - Error messages on Active Alerts, Connections, and System Overview now appear at the top of the page. Before, those errors were not shown.
- The record search “Add field” button disables once the maximum number of field rows is reached.
November 10, 2026 — Interface Library Updates
- Live updates recover more cleanly. Switching browser tabs no longer opens duplicate connections or cancels a page’s refreshed connection, and a dropped connection stops retrying at its limit.
- Date and number fields keep what you type. Filter fields bound to dates and numbers no longer change value while you are partway through typing.
- Charts updated to Apache ECharts 6. Line colors on the Integration Broker Monitor chart have changed.
- More icons and syntax highlighting fixes from Bootstrap Icons 1.13 and Highlight.js 11.12.
- Small display fixes. The Query History and File Layout Fields cards show their icons again. Test and save buttons in Settings swap their icon for the spinner while working. Search result headers no longer show a “loaded” count that stopped updating after more results loaded; the count beside it stays current.
v1.3.1 — November 10, 2026
November 10, 2026 — Search Attributes Show the Record and Field
- Record and Field columns on search definitions. The Search Attributes card on a Search Definition page now shows the record and field behind each query field. Before, it showed only the query alias, such as
A.PORTAL_LABEL, and you had to open the query to find the table. - Linked both ways. The record opens its detail page and the field opens its where-used page.
- Stale mappings stand out. A query expression is labelled as one, and a query field that is no longer in the query shows a dash.
- The same two columns are in the Markdown export and in MCP
get_definitionfor a search definition.
November 10, 2026 — Search Framework Alerts
- Real-Time Indexing Backlog. Alerts when a record’s Real-Time Indexing queue holds more than 1,000 index updates or its oldest update has waited 30 minutes. It catches a queue that has stopped draining and a bulk update that flooded it.
- Real-Time Indexing Stuck Off. Alerts when Real-Time Indexing has been switched off for a search definition for an hour and no index build is running, which usually means a job turned it off and ended without turning it back on.
- Search Indexing Errors. Alerts when a search definition’s latest index build reported errors or had requests rejected by the search engine, or when rows failed Real-Time Indexing in the last 24 hours.
- Quiet where search is not used. The three alerts read optional tables. On a database where those tables are not whitelisted they report nothing and do not show as failed checks.
- All three link to the Search Framework Monitor and can be tuned or switched off under Settings > Alerts.
November 10, 2026 — Search Framework Monitor
- New page: Search Framework Monitor. Find it under Monitor > Search Framework. It lists every deployed search definition with its latest index build and Process Scheduler status, whether Real-Time Indexing is on, how many index updates are queued, and how many indexing errors are recorded.
- Queue and error detail. Two panels on the page list the oldest queued Real-Time Indexing updates and the newest indexing errors, with the keys of the affected rows. Keys on the
mcp.maskedFieldslist are masked. - Document counts are no longer shown as zero. PeopleSoft can leave its document counts at zero after a successful build. The Deployment & Index History card on Search Definition pages now shows a dash when no count was recorded.
- New optional tables.
PTSF_RTISTG,PTSF_ES_DT_ERR, andPTSF_INDDATA_ERfeed the queue and error columns. Without them the page shows those columns as n/a.
v1.3.0 — November 10, 2026
November 10, 2026 — Search Framework Security Audit Report
- New report: Search Framework Security Audit. Find it under Reports > Security. It covers four things about the search index, which is a copy of application data held outside the PeopleSoft database.
- Deployed search definitions with no security. Definitions deployed to a search instance with neither document-level nor source-level security.
- Sensitive fields in the index. Indexed fields such as
NATIONAL_IDandBIRTHDATE, using the samemcp.maskedFieldslist that masks MCP query results. - Search administrators. Active users who hold the Search Administrator, Search Server, or Insights Administrator permission list.
- Search callback user. The roles held by the account the search engine signs in with, flagged when it is a PeopleSoft or security administrator.
- Change tracking. Schedule the report with notify mode On change to hear when an unsecured definition is deployed, a sensitive field is indexed, or a user gains search administration access.
- New optional table.
PTSF_SRCH_ENGNis read for the callback user section. Its password columns are never read or shown. - Docs. Search Definitions and Search Categories now have their own pages under Objects, and the Records and Queries pages describe their Search Framework panels.
November 10, 2026 — Search Framework Integrity Audit Report
- New report: Search Framework Integrity Audit. Runs the twelve SYSAUDIT Search Framework checks (
PTSF-1throughPTSF-12) on demand, without a SYSAUDIT run. It finds search definitions, search categories, and search attributes that reference a query, connected query, Application Engine program, application class, field label, or role that does not exist. Find it under Reports > Objects. - Three checks SYSAUDIT does not run. A missing data partitioning Application Engine program, a Real-Time Indexing trigger record that is not a record definition, and a missing Insights dashboard creator role.
- Change tracking. Schedule the report with notify mode On change to hear only about references that broke or were fixed since the last run.
- Skipped is not clean. When a table a check needs is not whitelisted or cannot be read, the check is marked Skipped with the reason instead of reporting no problems.
- New optional tables.
PSCONQRSDEFN,PTSF_KIB_ROLE, andPTSF_KIBCR_ROLEare read only by this report. Add them to the whitelist to run the connected-query and Insights dashboard role checks.
November 10, 2026 — Search Framework: Where-Used on Record and Query Pages
- Record pages show Search Framework usage. A new “Search Framework Usage” card on Record detail pages lists the search definitions that index the record and the queries they reach it through. When the record carries a Real-Time Indexing trigger, the card names the database trigger and warns that bulk SQL and batch loads fire it for every row.
- Query pages show which search definitions use the query. A new “Used by Search Definitions” card on Query detail pages lists each search definition and whether it uses the query as its source query, its delete query, a member of its connected query, or a related-language query.
- Markdown export and MCP. Both cards are available as sections in the Record and Query Markdown exports. MCP
find_dependenciesfor a record andget_definitionfor a query return the same data. - Corrected the Real-Time Indexing trigger name on search definitions. When a search definition’s query reads a temp table, the trigger name was built from the temp table. It now names the record that carries the trigger.
- New optional table.
PTSF_RELLANGQRYis read for related-language queries. Add it to the whitelist to see that role on Query pages.
November 7, 2026 — Search Framework (PTSF): Enriched Search Definitions & Search Categories Browser
- Search definition pages now list their search categories. The Search Categories card on a Search Definition detail page was always empty. It now shows every category the definition belongs to, including categories that have no description in PeopleSoft.
- Enriched Search Definition detail page (
/searchdefinitions/{sdname}). Added execution hooks (delete query, pre/post/data-partitioning Application Engines, staging and temp records), security mode badges, and toggleable cards for Security & Access Control (PSPTSF_SD_DCACL,PSPTSF_SD_DCATR,PSPTSF_GN_DCATR,PSPTSF_SD_SRACL), Records & Component Keyword Search (PSPTSF_RECORDS,PSPTSF_SRCHATTR,PSPTSF_SD_PNLGP), Deployment & Index History (PTSF_DEPLOY_OBJ,PTSF_SCHED_STAT,PTSF_INDEX_STAT), Real-Time & Incremental Indexing (PTSF_INDEX,PTSF_INDEXTRREC,PTSF_INDEXTRFLD,PTSF_RTI_STATUS,PTSF_INC_C_REC), and Included in Projects. - Search Categories browser (
/searchcategories). Browse and inspect Search Categories (PSPTSF_SRCCAT), including member search definitions (PSPTSF_SRCCATAT), facets and bucket rules (PSPTSF_CATFACET,PSPTSF_FACET_DT), advanced/display/sort fields, search context bindings (PTSF_CTX_DET), project memberships, Markdown export, Global Search (⌘K), and MCPget_definition(type="searchcategory"). - Open in PeopleSoft links. Search Definition and Search Category detail pages link to the matching Search Designer page in PIA.
- List incomplete notice. When a search definition or category has more rows in a table than psLens reads at once, the page, the Markdown export, and MCP results name the table that was cut off.
- Duplicates setting on search categories. Shown as Allow Duplicates, Suppress Duplicates, or Use API. It previously always read as No.
- Status badge removed from search definitions. PeopleSoft does not store a status on a search definition, so the “Active” badge said nothing about the definition. The Deployment & Index History card shows where a definition is deployed.
- Related-data cards load their tables together. The Security, Records, Deployment, Real-Time Indexing, and Facets cards request their tables at the same time instead of one after another.
November 6, 2026 — Project Import Markdown Download Fix
- Downloading an uploaded project as markdown works. On the Project Import page, the markdown Download button returned a “404 page not found” error. View failed the same way when “Include deep links” was off. Both now open the export.
v1.2.0 — October 29, 2026
October 29, 2026 — Aggregate Count Fixes
- Process statistics show the top operators, jobs, and servers. On process and job definition pages, the Top Operators, Top Jobs, and Top Servers lists showed the first 10 names alphabetically instead of the 10 with the most runs. They are now ranked by run count.
- Integration Broker summaries list every service operation. The IB Monitor status summaries and the DB Home synchronous-error list stopped after 50 operation and status combinations. They now include all of them, or show an error if the list is incomplete.
- Faster IB Monitor chart. The activity chart now loads with 8 queries instead of 48.
- Sign-in History uses one query on databases with the 2026-10-29 or later psLens PeopleSoft project. Older projects still work.
October 28, 2026 — DB Home Sign-in Cards
- Signed In Now. A new DB Home card shows how many users are signed in to PIA and who they are, with each user’s open sessions and latest sign-in. It counts sign-ins from the last 12 hours with no sign-out recorded in
PSACCESSLOG. - Sign-in History. The Sign-in Activity card is now Sign-in History. It lists PIA sign-ins per day for the last 14 full days and compares yesterday with the day before, the same weekday last week, and the 7-day average. It works on Oracle and SQL Server databases. Failed logins in the last 24 hours are still listed below.
October 27, 2026 — Component Interface Invalid Properties Fix
- Invalid Properties check no longer flags valid properties. On Oracle databases the check on Component Interface pages flagged every property. On all databases it also flagged key fields, fields on subpages, and fields not placed on any page. It now flags a property only when its record is no longer in the component or its field was removed from the record, and a new Reason column says which.
- Record Level Hierarchy includes secondary pages opened by a button or link. On component pages, records that appear only on a secondary page opened from a push button or hyperlink now show in the structure tree at the right scroll level. For example, USERMAINT now lists PSUSEREMAIL (Edit Email Addresses) and RTE_CNTL_USERVW (Route Control).
v1.1.1 — October 22, 2026
October 22, 2026 — DB Home Process Scheduler Statistics
- Process Scheduler statistics on DB Home. The Process Scheduler card on DB Home now shows summary statistics for the last 6 hours (total runs, success, failed, blocked, success rate, average runtime, runs over 30 minutes, average queue wait, delayed starts, and peak hour) alongside server status.
v1.1.0 — October 22, 2026
October 22, 2026 — DB Home
- A home page for each database. Click a database’s name or DB Home on the System Overview (or use the sidebar) to see that database on one page: connection and uptime, health scores, active alerts, Process Scheduler servers and errors, Integration Broker domains and down nodes, sign-in activity, recently changed projects, security report results, and scheduled and recent reports.
- Sign-in history. With
PSACCESSLOGwhitelisted, DB Home lists the latest PIA sign-ins with client address and sign-out reason, and counts sessions opened in the last hour. Add it withINSERT INTO PS_CHG_PSLENS_WL (RECNAME) VALUES ('PSACCESSLOG');. - Fix: the System Overview help page listed the wrong run-status codes for Blocked and error processes.
v1.0.2 — October 21, 2026
October 21, 2026 — NATS Storage & Startup Reliability
- NATS Stream Storage Caps: Reduced JetStream storage limits for system downtime (50MB) and MCP audit (100MB) streams. Prevents startup failures on standard 1GB disks and cloud environments where total JetStream reservation previously exceeded available disk space.
- Stream Creation Diagnostics: Improved JetStream stream initialization error handling to surface root-cause creation failures (such as storage limits exceeded) rather than masking them with “stream not found”.
v1.0.1 — October 21, 2026
October 21, 2026 — Self-Hosted Upgrades
- One-command upgrades and rollbacks.
./upgrade.sh v1.2.0pulls the release, backs up your data, starts the new version, and confirms it is running. Run it with your previous version to roll back. Hosts without internet access use./upgrade.sh --offlineafterdocker load. - Pinned versions. The Docker Compose file now reads the release from
PSLENS_VERSIONin.envand will not start without one, so an install never moves to a new version by accident. - Backups on demand.
./upgrade.sh --backup-onlywrites a backup of the data volume, ready to schedule with cron. - Version in the health check.
GET /healthznow reports the running version and commit. - Documentation fixes. The master key must be generated with
openssl rand -hex 32(the documented base64 command produced a key psLens rejects). Registry access instructions now describe the token type GitHub actually accepts.
v1.0.0 — October 20, 2026
October 20, 2026 — Trace Upload Reliability
- Trace Analyzer no longer reports unreadable trace details when a trace is opened while the same file is being uploaded again.
October 20, 2026 — Settings, Alerts, and Search Fixes
- Settings saves work when required connection credentials come from environment variables. Invalid effective settings are rejected before they are saved.
- Configuration-file changes can restore earlier values without being ignored. Container restarts still preserve settings changed in the UI.
- Active alerts no longer appear twice after upgrading databases whose names contain dots.
- Search retries preserve literal
+,%,#, and&characters instead of changing the search while loading more results. - Credential storage no longer creates an unencrypted startup-settings copy when encryption is enabled. Obsolete copies retained by the application are removed on startup.
October 17, 2026 — Applied Maintenance (Beta)
- Applied Maintenance (
/pum): A new page under Objects > Applied Maintenance shows what has been applied to a database.- The header shows the PeopleTools release, the highest PUM image applied per product (for example “CAMPUS SOLUTIONS 9.2: PUM Image 38”), the application release, and the latest change package.
- Change Packages lists each package applied, newest first, with its PUM image, date, and who applied it. Open a package to see every bug it applied and related projects (such as retrofit projects). Follow the project link to see every object it changed.
- One-off Fixes lists fixes applied outside a change package, such as Oracle proof-of-concept fixes and manually logged patches, with their descriptions.
- Full Log keeps every log row searchable, for questions like “was bug 36621111 applied here?”
- Filters and the selected view are kept in the URL, so filtered views can be shared. Searching the PUM bug catalog stays in PeopleSoft Update Manager.
October 15, 2026 — PeopleSoft Project Downloads & Live Documentation
- PeopleSoft Project Downloads: Added a dedicated page under Settings (
/settings/peoplesoft) allowing administrators to download the delivered PeopleSoft Application Designer project archive (CHG_PSLENS) directly from psLens, alongside an installation checklist and live links to setup documentation.
October 14, 2026 — Permission List Table Access Report
- Permission List Table Access Report:
- Added a new Security report that maps a Permission List to every SQL table and view it can update or read, showing which components, pages, component interfaces, and query access trees grant access to each record.
- Run it from any Permission List page using Run Table Access Report in the sidebar, or from Reports > Security Reports.
October 14, 2026 — More Fixes from Browser Testing
- Downtime rules: A new downtime rule starts disabled, and a rule with no days selected now says it applies every day. Before, clicking Add Rule immediately silenced alerts every night. Date fields show the saved window, and a rejected change no longer stays in the field.
- Settings forms stay open on errors: Adding or editing a connection, email list, webhook, or notification rule keeps the form open when a field is invalid, so you can fix it instead of starting over.
- Better validation: Email lists reject invalid addresses, and negative values are rejected for Max Concurrent Queries and alert thresholds. The alert timing form explains its allowed range.
- Notification rules ask for confirmation before being deleted.
- Email delivery: Alert, report, test, and login-code emails now carry a Date header and their own Message-ID, so mail clients sort them correctly and spam filters are less likely to flag them. Subjects with accented characters display correctly. A test email’s subject is “[psLens] Test notification” instead of naming an unrelated database, and an invalid test address says it is not an email address or a configured list. From Email is now required. Without it psLens sends no email, the Email Server card shows a warning, and the login page says email sign-in is unavailable. Before, the SMTP username was used as the sender.
- System Overview tiles: The Process Scheduler tile now reflects Process Scheduler Down and Stalled Recurrences alerts, and the Process Scheduler and Integration Broker tiles show how many active alerts are behind their health score.
- Daemon Groups: Opening a daemon group that doesn’t exist goes back to the search page instead of showing an empty detail page.
- Scheduled reports keep their settings: The Schedule window now shows the report’s own settings (for example the role or user to compare, or the search term), prefilled from the report card, and scheduled runs use them. A schedule can’t be saved with a required setting left blank.
- Shared search links keep their filters: Opening or reloading a search page link now applies its advanced filters (operator, customized only, date range, record or page types) on the first load, and unchecked type boxes stay unchecked. A link with filters but no search term also runs.
- IB Monitor: Contracts that are still New or Working show how long they have been open instead of “0s”, and an unknown transaction ID returns a proper not-found page.
- Components: Switching databases on a component page keeps its market when the other database has it.
- PeopleTools access reporting: User and role Tools Access panels, their Markdown exports, and the IB Node Security Audit no longer miss PeopleTools access when a permission list has many menu entries. The IB Node Security Audit now checks permission lists granted through roles, not just the primary permission list.
- Components in several markets: Each market of a component (for example NA and NLD) opens its own page with its own pages, search keys, structure, and export. Before, every card opened one market and the page list mixed markets.
- Stalled and failed IB alerts: Excluded service operations are filtered out before the 100-item limit, so they can no longer hide real stalled items. An alert that reaches the limit shows “100+” and links to IB Monitor.
- Change History times: Revision times are shown in UTC as labelled, and restarting psLens no longer adds a new revision when nothing changed.
- Trace Analyzer timing: Total Duration no longer double-counts nested PeopleCode events or SQL that ran inside them, and shows PeopleCode time next to SQL time. Traces uploaded earlier are re-analyzed automatically the next time they are listed or opened.
- Related tables: Counts on detail-page tables (for example a menu’s permission lists) update as more rows load, and a table that fails to load more rows says the list is incomplete.
- Project Import: Upload errors appear above the upload form in plain language, and the size limit shown matches the real limit (25MB).
- Global search (⌘K): An object whose name exactly matches the search appears at the top, under Navigation. Links to objects with spaces or special characters in their names now open correctly.
- Uptime and outage history: Availability now counts outages that were open across a psLens restart, and a database that comes back after a restart gets an “Outage Recovered” entry with the full duration. A database that has been unreachable for weeks no longer shows green days.
- Message Node “Nodes Down” warning: The warning listing nodes in
PSNODESDOWNnow appears on the Message Node search page. - Comparison reports: Running a Role, User, or Permission List Comparison from Reports now fails with a clear message when a name doesn’t exist or when source and target are the same object, instead of saving an empty report. Role names are matched exactly as typed (they are mixed case). The report page no longer shows a block of metadata as a heading.
- Compare pages report missing names in about a second: A user, role, or permission list that doesn’t exist is now reported right away instead of after the full comparison (which took about 45 seconds for a missing user).
- Same-database comparisons: When both sides are in the same database, table columns are labelled with the user, role, or permission list names instead of the database name twice.
- Compare pages: The address bar updates after you run a comparison, so the link can be shared. Linked comparisons open immediately and show progress. Tables with no differences say so. Suggestion lists close when the comparison runs.
- Process Monitor: The +12h and +24h buttons search the next 12 or 24 hours instead of an unbounded range.
- System Overview process counts: Queued, Running, Blocked, and Errors are counted separately, so a busy day of successful runs no longer pushes them out of the count. A count that reaches the query limit shows as “500+”.
- Report History: Parameters are listed in a consistent order, the list says when only the latest 50 runs are shown, and an empty filtered list says no reports match. Comparison report cards label the first database “Source Database”.
- Code & SQL Text Search: If an App Engine lookup fails, the report says which matches are affected instead of dropping them.
- Error messages: Integration Gateway errors read as text (“Integration Gateway Error Http Status 500 …”) instead of raw HTML.
- Compare Reports upload: An upload error appears above the upload form, so you can pick another file without reloading.
October 13, 2026 — Fixes from Browser Testing
- Record Data hides password hashes: The Record Data panel and its Markdown export no longer show password hash, salt, or other credential columns (for example on
PSOPRDEFN), and connector property passwords are masked. - Process Monitor shows active work: Queued, processing, pending, and blocked processes now always appear, even when they were scheduled just ahead of the selected window or started before it. Shared links with a custom date range or a single status keep those filters.
- System Overview process counts: The Queued, Running, and Blocked tiles now count the right run statuses and include work scheduled or started before today. Cancelled processes no longer count as queued.
- Compare pages catch missing names: Comparing a user, role, or permission list that doesn’t exist now says which one wasn’t found, instead of producing a full one-sided comparison and saving it to Reports. The quick filter and “Show differences only” now work on very large comparisons.
- Process Heatmap status filter: The status pills now toggle the filter and show which statuses are selected. Shared heatmap links load with their saved filters.
- Search fixes: Searches containing
#or&now work in the global search and object filters. - Alert timing limits: Check interval and reminder silence are limited to 1440 minutes (24 hours).
- Stalled IB alerts: Durations read as “41d 8h” instead of minutes, and each item shows its transaction ID.
October 13, 2026 — Google Chat Webhook Notifications
- Google Chat Incoming Webhooks:
- Alert rules, database alert delivery settings, and scheduled reports now support Google Chat incoming webhooks (
chat.googleapis.com). psLens automatically detects Google Chat webhook URLs and formats alert findings, deep links, and report run summaries as interactive Google Chat cards.
- Alert rules, database alert delivery settings, and scheduled reports now support Google Chat incoming webhooks (
October 13, 2026 — PeopleCode References & Code Search on SQL Objects
- PeopleCode References Panel (
PSPCMNAME):- SQL Object detail pages now include a PeopleCode References toggle and Markdown export section listing every PeopleCode program that references the SQL object (
SQL.<SQLID>), with one-click source export.
- SQL Object detail pages now include a PeopleCode References toggle and Markdown export section listing every PeopleCode program that references the SQL object (
- Code & SQL Text Search Deep Link:
- Added a Search in Code & SQL shortcut on SQL Object detail pages that opens the Code & SQL Text Search report pre-filled with the SQL ID and database to find string-literal (
SQLExec("%SQL(...)")) or nested%SQL(...)references across PeopleCode, SQL Objects, and Application Engine SQL.
- Added a Search in Code & SQL shortcut on SQL Object detail pages that opens the Code & SQL Text Search report pre-filled with the SQL ID and database to find string-literal (
October 13, 2026 — Menu Search Record Overrides on Component Pages
- Search Record Overrides Flagged:
- Component pages now show when a menu opens the component with a different search record than the one defined on the component. The Search Record row lists each overriding menu item and the record it uses, and the Menus Using Component panel and Markdown export add a Search Record column.
October 13, 2026 — Bidirectional Related Language Record Links
- Related Language For on Record Pages & Exports:
- When viewing a related language table or view (such as
MESSAGE_CAT_LNG), the Record Properties card and Markdown export now include a Related Language For row linking back to every parent record or view whoseRELLANGRECNAMEpoints to it, complementing the existing forward Related Language Record link.
- When viewing a related language table or view (such as
October 5, 2026 — Chrome Extension for PeopleSoft Pages
- Side Panel While You Work in PIA:
- A Chrome extension (download from Tools > Chrome Extension) opens a psLens side panel next to any PeopleSoft component. It shows the component overview, the permission lists that grant access, and the component’s pages.
- Hold Alt (Option on Mac) and click a field to see its record, field type, length, and prompt table.
- The extension signs in with your normal psLens login and asks for your psLens server URL on first install. It reads object names from the PeopleSoft page, never your business data. The one value it reads is the ID of the security or Integration Broker object you have open (see the next item).
- View in psLens From the Object You’re Editing:
- On User Profiles, Roles, Permission Lists, Service Operations and Node Definitions, the panel shows the open object (for example user
PSor rolePeopleSoft User) with a View in psLens button that opens its psLens page in a new tab. - The link follows you as you move between records with Next in List or Return to Search. The search page shows the component link only.
- On User Profiles, Roles, Permission Lists, Service Operations and Node Definitions, the panel shows the open object (for example user
- Automatic Environment Matching:
- The panel works out which database a PeopleSoft tab belongs to from the host and site in its URL. It compares them to each database’s local PIA node URIs (PSNODEURITEXT), so several databases on one web server resolve correctly.
- Hosts the nodes don’t know about (load balancer, VPN name) can be added per database with
extension.hostAliasesin config. - If a site can’t be matched, the panel asks you to pick the environment and remembers the choice. You can switch environments at any time (for example, view production while on a DEV page). An amber notice shows while you’re viewing a different environment from the page’s own.
October 5, 2026 — Model Context Protocol (MCP) Server Hardening & Governance
- Structured Table Queries (
query_table):- Filter and page whitelisted record data using typed operators (
eq,ne,lt,le,gt,ge,like,in,is_null,not_null), date wrapping (%DateIn,%DateTimeIn), ordering, and limit/offset pagination. - Automatic credential stripping and configurable PII column masking (
***) viamcp.maskedFields. - The
fieldsoption now returns only the requested columns (previously every non-credential column came back). Integration Broker node passwords (PSMSGNODEDEFN) are never returned.
- Filter and page whitelisted record data using typed operators (
- Password Properties Hidden Everywhere:
- Password-type connection properties (for example a node connector’s
MCF_Password, a URL definition’sPASSWORD, or anAuthorizationheader) now show as********on node, URL, and app service pages, in markdown exports, and in MCP tool results. An empty value still shows as empty, so you can see whether one is set.
- Password-type connection properties (for example a node connector’s
- Comprehensive Object Coverage (
get_definition):- Direct markdown definitions across 30 PeopleTools object types (including security roles, permission lists, users, pages, components, nodes, queues, and process definitions) with optional section filtering.
- Token Scoping & Access Control:
- Personal access tokens support explicit database restrictions, non-production environment enforcement, and read-only modes.
- Schema Validation & Multi-Database Guardrails:
- Dynamic JSON Schema enum, range, and default validation rejects malformed tool inputs before handler execution.
- Multi-database configurations require explicit
dbtargeting, preventing models from accidentally querying production.
September 29, 2026 — Component Structure Matches Application Designer
- Component Record Level Hierarchy:
- The record tree now matches the Application Designer Structure tab: each scroll level lists its primary record and every record on it, in page order.
- Records from subpages and secondary pages are included. Prompt-table descriptions (related displays) no longer appear as scroll records.
- A Hide Derived/Work checkbox hides work records so only table and view data remains.
- The markdown export includes the same tree.
September 29, 2026 — Faster Reconnect After PeopleSoft Starts
- Connections come online sooner:
- A database shows as connected and becomes searchable as soon as PeopleSoft responds. Background checks (whitelisted tables, PIA URL) finish afterward without holding up search.
- Refreshing the home page retries any offline database immediately instead of waiting for the next scheduled check.
- Offline databases are retried every 5 minutes instead of hourly, and the first check after a PeopleSoft boot allows more time for a slow first response.
September 29, 2026 — Processes Run From a Component
- Component Related Data: Process Definitions:
- See which process definitions can be run from a component, with process type, description, and a link to each process definition.
- Included in the Component markdown export options.
September 17, 2026 — Views Referencing Records in SQL
- Record Related Data: Views Referencing in SQL:
- Discover SQL views and dynamic views whose underlying SQL definitions reference a record or its SQL table.
- View details include view name with direct link, view type badge, description, object owner, and last-updated metadata.
- Included in the Record markdown export options for impact assessments.
September 6, 2026 — PeopleSoft Trace Analyzer
- Trace Analyzer (
/trace):- Upload, inspect, and analyze PeopleSoft trace files (
.tracesql,.trc, and.aet). - Automatically reconstructs execution call hierarchies for PeopleCode methods, functions, and Application Engine steps with timing breakdown.
- Interactive SQL statement analytics with slow query detection, bind variable substitution, and candidate N+1 loop detection.
- Cross-references traced database tables with the live PeopleSoft catalog to display record types (SQL Table, SQL View, Dynamic View) and provide direct one-click links to Record definitions.
- Links Application Package methods and Application Engine steps directly to their object inspectors in psLens.
- Side-by-side execution path diffing to align and compare two trace runs (e.g. Test vs. Production or working vs. failing transactions) to pinpoint where logic branched.
- Quick-reference modal for PeopleTools
TraceSQL,TracePC, andTraceAEbitmask recipes.
- Upload, inspect, and analyze PeopleSoft trace files (
September 4, 2026 — Security Comparisons Saved to Reports & Scheduled Audits
- Automatic Report Persistence for Security Compares:
- Running a security comparison for Permission Lists, Roles, or User Profiles now automatically saves the complete comparison results and Markdown report to the Reports repository.
- Interactive comparison results now include a “View in Reports” button for easy navigation to stored comparison runs and historical review.
- Scheduled Security Comparison Reports:
- Added on-demand and scheduled reports for Permission List Comparison, Role Comparison, and User Profile Comparison under the Security reports category.
- Run or schedule comparisons across environments (such as Production vs. Test) to detect security configuration changes and drift over time.
September 4, 2026 — Markdown Viewer Tool
- Markdown Viewer (
/markdown-viewer):- Open, inspect, format, and print PeopleSoft markdown exports directly in the browser.
- Supports drag-and-drop file upload, file browsing, and direct text pasting for
.md,.markdown, and.txtfiles. - Formats tables with spreadsheet styling, highlights code fences (PeopleCode, SQL, HTML, XML), and renders PeopleSoft alert callouts (
[!NOTE],[!TIP],[!IMPORTANT],[!WARNING],[!CAUTION]). - Displays document reading metrics (word count, reading time, file size, table counts).
- One-click toggle between rendered preview and raw markdown source.
- One-click copy for markdown content and clean browser printing / PDF export.
- Direct helper link added to all object definition “Export as Markdown” sidebar cards.
v0.2.0 and earlier
September 2, 2026 — Public Software Bill of Materials (SBOM) & License Compliance
- Public Software Bill of Materials (SBOM): Automated CycloneDX v1.6 SBOM generation (
/sbom.json) integrated directly into the documentation build and deployment pipeline. - License & Dependency Inventory: Published a dedicated SBOM & Licenses page detailing all compiled runtime packages and frontend asset licenses.
September 1, 2026 — Record/Field Reference Finder & Impact Analysis
- Record/Field Reference Finder (
/records/{recname}/fields/{fieldname}):- Launched directly from any record’s field listing or field detail record usage tables.
- Full cross-object impact analysis across 7 PeopleTools metadata dimensions:
- Pages (
PSPNLFIELD): Lists all page definitions containing the record field, with page type and control type badges. - Components (
PSPNLGROUP): Lists components hosting pages with the record field, including item name, search record, and marketplace info. - Component Interfaces (
PSBCITEM): Lists CIs exposing the record field with property names and access modes. - PeopleCode Programs (
PSPCMPROG&PSPCMNAME): Identifies direct record field events, component record field events, and where-used code references. - PSQueries (
PSQRYFIELD): Finds queries selecting or filtering on the record field with column headings and criteria. - File Layouts (
PSFLDFIELDDEFN): Finds file layout definitions and segments mapping the record field. - Search Definitions (
PSPTSF_SD_DCATR): Identifies Search Framework definitions indexing the record field as search or display attributes.
- Pages (
- Real-time parallel metrics summary badges and asynchronous SSE loading for high-scale databases.
- Markdown report export (
/records/{recname}/fields/{fieldname}.md) and MCP toolanalyze_record_field_impact. - Permission List Query Tree Deep Links: Query Access Tree nodes on the Permission List detail page now link directly to the tree definition (
/querytrees/{tree_name}).
August 31, 2026 — PeopleSoft Compare Report Analyzer
- Compare Report Analyzer (
/compare-reports):- Upload and analyze PeopleSoft Application Designer binary compare reports (
.idxand.prtfiles). - Supports uploading a single
.ziparchive containing compare report files or multi-file drag-and-drop. - Generates compare summaries showing project metadata, source database, target database, release, run date, and total changed object counts across definition types.
- Interactive definition diff viewer for 17-column definition reports (Records, Pages, Components, Menus, Roles, Permission Lists, Portal Registry, Routings, and Documents) with before/after attribute value comparisons.
- Line-level PeopleCode diff viewer with unified diff formatting and side-by-side code comparisons for Application Package PeopleCode (
Upg58). - Downloadable Markdown summary reports and CSV exports for definition differences.
- Upload and analyze PeopleSoft Application Designer binary compare reports (
August 30, 2026 — Cross-Database Security Object Compare (Roles & User Profiles)
- Cross-Database Role Comparison (
/roles/compare):- Expanded the cross-database security comparison toolset to diff PeopleSoft Role definitions (
PSROLEDEFN) across environments (e.g.,DEVvs.PROD) or within the same database. - Compares assigned permission lists (
PSROLECLASS), assigned users (PSROLEUSER) with dynamic rule assignment flags (DYNAMIC_SW), Process Scheduler job notifications and distribution lists, and aggregate effective access across Pages, Web Libraries, Service Operations, and Component Interfaces. - Real-time SSE comparison stream with summary metric cards, deep links to detail pages in both databases, and full Markdown report export (
/roles/compare/export). - Added “Compare Tool” header actions and “Compare” detail page shortcut buttons on Role browsing views.
- Expanded the cross-database security comparison toolset to diff PeopleSoft Role definitions (
- Cross-Database User Profile Comparison (
/users/compare):- Added full cross-database User Profile (
PSOPRDEFN) diffing across environments or within the same database. - Field-by-field profile attribute comparison (description, emplID, account status, symbolic ID, language/currency, primary, row-security, process profile, default homepage, and password configuration).
- Assigned roles comparison (
PSROLEUSER), composite effective permission lists with back-references to granting roles, authorized Service Operations (PSAUTHWS), email accounts (PSUSEREMAIL), portal favorites (PSPRUFDEFN), and system Special Use bindings (Message Node default user and signon PeopleCode execution). - Real-time SSE comparison stream with summary metric cards, deep links to user and security detail views in both databases, and Markdown report export (
/users/compare/export). - Added “Compare Tool” header actions and “Compare” detail page shortcut buttons on User browsing views.
- Added full cross-database User Profile (
- Cross-Database Permission List Comparison (
/permissionlists/compare):- Added multi-environment diffing for PeopleSoft Permission Lists (
PSCLASSDEFN). - Comprehensive comparison across Component Authorizations, Web Libraries, Component Interfaces, Process Groups, Application Services, and Query Profiles with Markdown export.
- Added multi-environment diffing for PeopleSoft Permission Lists (
- OpenID Connect (OIDC) SSO & Discovery:
- Native OIDC authentication mode supporting automated provider discovery, PKCE authorization flow, group-based authorization claims, and encrypted client secret storage.
- Client IP Allowlist Security Enforcement:
- Restrict access to psLens web interface and API endpoints by CIDR block or client IP address with fail-closed enforcement policies.
- 30-Day Connection Uptime & Incident History:
- Interactive 30-day availability timeline bars and incident history recording scheduled maintenance and unexpected connection outages.
- PeopleTools Change Control & Object Lock Visibility:
- Direct visibility into database Change Control status and active checkout locks (
PSCHGCTLLOCK) across object detail views.
- Direct visibility into database Change Control status and active checkout locks (
- Live Notification Delivery Testing:
- Interactive delivery testing modals in Settings to verify webhook endpoints (Slack, Microsoft Teams, generic JSON) and SMTP email dispatch in real-time.
- In-App Database Credential Management:
- Update PeopleSoft connection credentials securely from the Settings UI with encryption at rest and optional password changes.
August 21, 2026 — MCP Operation Audit Logging & Live Activity Stream
- MCP Operations Audit Stream: All MCP tool calls and operations executed by AI coding assistants (Google Antigravity, VS Code, Claude Desktop, Claude Code) are now recorded to an append-only persistent audit stream with automatic 30-day retention and storage protection.
- Live Activity Feed in Settings: Added a real-time MCP Operations Audit Log table to the MCP Settings page (
/settings/mcp) showing timestamps, caller identity, tools executed, target databases, arguments, duration, and execution status with refresh and log clearing capabilities.
August 18, 2026 — MCP Setup Guides for Google Antigravity and VS Code
- Google Antigravity & VS Code Setup Guides: Added tabbed configuration guides and ready-to-paste JSON snippets for Google Antigravity (
~/.gemini/config/mcp_config.json) and VS Code (.vscode/mcp.jsonand MCP extensions) on the MCP Settings page (/settings/mcp) and documentation. - Pre-Populated Token Configuration Modal: Token generation modal now displays copyable configuration snippets with personal access tokens pre-populated for Google Antigravity, VS Code, Claude Desktop, and Claude Code CLI.
- Agent Skill Installation: Added setup commands for installing the
pslensagent skill directly into Google Antigravity global and project skill directories.
August 17, 2026 — MCP Server v2: Cohesive 20-Tool Surface, Sizing Tiers & Embedded Agent Skills
- Consolidated 20-Tool Surface: Redesigned the MCP tool suite from 27 dispersed tools into a cohesive 20-tool domain architecture (18 domain tools + 2 developer tools) with clear sizing tiers (
Summary,Structured,Full). - Batch Record Introspection (
batch_records_summary): Inspect schemas, primary keys, and prompt table relationships for up to 25 records in a single round-trip call, eliminating multi-turn join loops during SQL authoring. - Record Schema Consolidation (
get_record_schema): Unified record field listings, subrecord flattening (expand_subrecords), DDL parameters (format='ddl'), and markdown documentation (format='markdown') into a single endpoint. - Embedded Agent Skills Distribution:
- Embedded
pslensAgent Skill package served at/skills/pslens.zipcontaining PeopleSoft naming conventions, status code decoders, and step-by-step diagnostic workflows. - Implemented Agent Skills Discovery specification (
/.well-known/agent-skills/index.json) for discovery and auto-installation by autonomous agents. - Added Skill Download Card to the psLens MCP Settings page (
/settings/mcp).
- Embedded
- Unified Environment Comparison (
compare_environments): Merged disparate comparison tools into a multi-modal comparison endpoint supportingproject,single_object,recurrences, andmissing_projects. - Integrated Operations Triage (
triage_operations): Consolidated Process Scheduler queue analysis and Integration Broker contract diagnostics into a single call. - Automated DDL & DMS Generation (
generate_dms_script,lint_dms_script): Tools for generating and linting PeopleSoft Data Mover export/import scripts. - Streamable HTTP endpoint works with sign-in enabled:
https://<your-pslens>/mcpno longer redirects MCP clients to the login page when psLens authentication is turned on. Claude Code should be registered withclaude mcp add --transport http pslens https://<your-pslens>/mcp --header "Authorization: Bearer <token>"; the older/mcp/sseendpoint still works but is deprecated by the MCP specification. - Token generation keeps your label and expiry: tokens created from Settings → MCP Tokens now record the label and expiration you chose. Revoke and delete require a POST.
- More accurate tool results for AI agents:
- Public PSQueries are found by
get_object_definitionandget_psquery_definition; mixed-case role names work inexport_object_markdownandcompare_object. include_*options that document a default of true now default to true when omitted.compare_objectno longer reports a connectivity failure as “missing in the target”; existence is reported as unknown and the result carriescomparisonCompleteandwarnings. Permission lists, App Engines, components, and pages are compared by content, not by counts.compare_recurring_processesnow diffs the two environments (only in source, only in target, matched with differences) instead of returning two raw lists.get_system_health,export_health_snapshot, and thepslens://system/health/{db}resource share one health calculation; query failures surface aswarningsand degrade the verdict instead of reading as healthy.- Capped lists (
who_has_access,user_access_summary,get_object_dependencies,get_security_matrix,triage_process_scheduler) reporthasMore/limitso an agent knows when a list is incomplete.get_security_matrixhonorsmenu_name. list_active_alertsandget_alert_historywork for a configured database even while its PeopleSoft connection is down; database names match case-insensitively everywhere.- Very large tool results are cut at a fixed size with an explicit truncation marker instead of being rejected by the client.
- Public PSQueries are found by
- Alert mutes created through MCP are attributed to the token owner and capped at 7 days.
- Server hygiene: idle MCP sessions expire after 30 minutes; tools carry a display title; server instructions describe database discovery, name casing, pagination, and output limits.
August 15, 2026 — MCP Server Enhancements: Proactive Health Sensor & Priority Intelligence Tools
Expanded the native embedded Model Context Protocol (MCP) Server with real-time proactive health sensor telemetry and deep diagnostic tooling for autonomous AI agents and pair-programming workflows:
- Proactive System Health Sensor & Telemetry:
- Enhanced
get_system_healthinto a real-time health sensor evaluating Process Scheduler heartbeats (PSSERVERSTAT), Integration Broker domain dispatchers (PSAPMSGDOMSTAT), blocked message nodes (PSNODESDOWN), stalled/overdue process requests, locked-user process blockers, recent errors, and active firing alerts with automaticHEALTHY,DEGRADED, orCRITICALcategorization. - Added real-time passive resources
pslens://alerts/activeandpslens://system/health/{db}. - Introduced
proactive_system_monitorprompt for autonomous AI agents monitoring production PeopleSoft instances.
- Enhanced
- Universal Markdown Export (
export_object_markdown):- Export any of the 32+ PeopleSoft object types directly into LLM-optimized and structured Markdown with optional recursive PeopleCode reference resolution (
recursive_pc: true).
- Export any of the 32+ PeopleSoft object types directly into LLM-optimized and structured Markdown with optional recursive PeopleCode reference resolution (
- Point-to-Point Object Comparison (
compare_object):- Compare individual objects (records, SQL objects, PeopleCode programs, roles, permission lists, App Engines, components, pages, file layouts, messages, and service operations) cross-environment without requiring an Application Designer project definition.
- Process Request Runtime Drilldown (
get_process_request_details):- Inspect full runtime parameters, automatically discovered run control table parameters, and parent/child job trees for any Process Scheduler instance.
- Portal Structure & Navigation Inspection (
get_portal_structure):- Inspect Content References (CREFs), portal folder trees (
PSPRSMDEFN), Fluid tiles, target URLs, breadcrumb ancestry, child items, and authorized permission lists.
- Inspect Content References (CREFs), portal folder trees (
- Granular Component Security Matrix (
get_security_matrix):- Breakdown component/menu action authorizations (
Add,Update/Display,Update/Display All,Correction,Data Entry) across permission lists, roles, and user accounts.
- Breakdown component/menu action authorizations (
- DBA Storage & Index Inspection (
get_record_ddl_and_indexes):- Inspect low-level table DDL parameters (
PSRECDDLPARM), index structures (PSKEYDEFNprimary and alternate keys), and tablespace assignments (PSRECTBLSPC).
- Inspect low-level table DDL parameters (
- Search Framework & OpenSearch Inspection (
inspect_search_framework):- Deep inspection of PeopleSoft Search Framework definitions (
PSPTSF_SD), source queries, mapped attributes (PSPTSF_SD_ATTR), facets, and parent categories.
- Deep inspection of PeopleSoft Search Framework definitions (
- Alert Execution History & Triage (
get_alert_history):- Review historical background alert check runs, check durations, failure errors, and active firing incidents across databases.
- Dynamic Alert Muting Rules (
manage_alert_mute):- Enable agents to list, create, or remove temporary alert silences in NATS KV during planned maintenance or active incident triage without database modifications.
- On-Demand Connection & Latency Probe (
ping_database_connection):- Probe database SWS endpoints on demand, returning round-trip latency (ms), PIA responsiveness, database metadata, and PeopleTools release.
- Markdown Operational Health Digest (
export_health_snapshot):- Generate comprehensive Markdown health reports with comparative environment tables, Process Scheduler heartbeats, and active alert summaries formatted for Slack/Teams alerts or incident briefs.
- PSQuery Definition & Schema Introspection (
get_psquery_definition):- Inspect PeopleSoft Query definitions (
PSQRYDEFN), participating records, output fields, WHERE criteria, custom expressions, bind prompts, and execution statistics.
- Inspect PeopleSoft Query definitions (
- Application Engine Execution Hierarchy (
get_app_engine_structure):- Retrieve the full execution hierarchy of an Application Engine program (
PSAEAPPLDEFN), state records, temp tables, section flow, and step action breakdown.
- Retrieve the full execution hierarchy of an Application Engine program (
- PeopleTools Event Mapping Discovery (
inspect_event_mapping):- Inspect PeopleTools Event Mapping configurations (
PSEVMAPLINK,PSEVMAPDATA) to discover custom Application Classes injected into standard Component, Page, and Record events.
- Inspect PeopleTools Event Mapping configurations (
- Service Operation & Routing Graph (
get_service_operation_routing):- Inspect Integration Broker Service Operations, Operation Versions, Handlers (with App Classes), Sender/Receiver Nodes, and transformation programs.
- Specialized Multi-Step MCP Prompts:
- Added
security_compliance_auditandevent_mapping_impact_analysisguided workflows for autonomous security and upgrade impact analysis.
- Added
- Data Mover Script Linter & Parser (
lint_dms_script):- Parse, lint, and validate PeopleSoft Data Mover scripts (
.dms) checking command sequences, syntax validity,%DateTimeInmacros, and table references.
- Parse, lint, and validate PeopleSoft Data Mover scripts (
- Application Designer Project Inspector (
inspect_project_definition):- Deep inspection of Project definitions (
PSPROJECTDEFN,PSPROJECTITEM) with object type groupings and upgrade action flags (UPGRADEACTION,TAKEACTION,COPYDONE).
- Deep inspection of Project definitions (
- Message Catalog Deep Search (
search_message_catalog):- Query message catalog error codes and explanations (
PSMSGCATDEFN) by set number, message number, or full text search.
- Query message catalog error codes and explanations (
- Web Object & HTML Asset Explorer (
get_web_object):- Fetch raw HTML definitions (
PSHTMLDEFN), stylesheets (PSSTYLEDEFN), and freeform web assets.
- Fetch raw HTML definitions (
- DMS Migration Generator Workflow Prompt (
dms_migration_generator):- Guided multi-step prompt for generating and validating Data Mover scripts.
August 14, 2026 — Embedded Model Context Protocol (MCP) Server & AI Assistant Integration
Added a native, high-performance embedded Model Context Protocol (MCP) Server running directly inside the psLens Go server process over HTTP/SSE, allowing AI assistants like Claude Desktop, Claude Code CLI, and Cursor to query, inspect, and analyze PeopleSoft metadata and runtime operations in real time.
- Embedded Architecture: Zero external dependencies, python bridges, or local daemons to install. The MCP server runs natively inside the psLens binary alongside the web UI.
- Personal Access Token Authentication: Built-in token engine under Settings → MCP Tokens (
/settings/mcp) allowing users to generate revocable API tokens (psl_mcp_...) with configurable expiration windows and automatic last-used tracking. - One-Click AI Client Setup: Settings page provides copy-ready configuration snippets for Claude Desktop (
claude_desktop_config.json) and Claude Code CLI (claude mcp add ...). - 20+ PeopleSoft Intelligence Tools:
- Metadata & PeopleCode: Universal object search (
search_objects), structured schema exploration with recursive subrecord flattening (get_object_definition), PeopleCode source retrieval across all event types (get_peoplecode), forward and reverse dependency where-used graph (get_object_dependencies), full-text SQL/PeopleCode search (search_code_sql), and safe table data sampling (get_table_sample_and_count). - Security & Access: Complete 360-degree user access profile (
user_access_summary), reverse security path traversal (who_has_access), high-risk grant auditing (audit_dangerous_access), Query Security Tree authorizations (query_tree_access), and authentication history audit (user_login_audit). - Operational Triage: Multi-point system health check (
get_system_health), Process Scheduler triage with human-readable run statuses (triage_process_scheduler), Integration Broker transaction triage (triage_integration_broker), and active alert review (list_active_alerts). - Cross-Database Comparison & Reports: Cross-environment project comparisons with PeopleCode diffs (
compare_project), recurring schedule drift detection (compare_recurring_processes), missing projects detection (find_missing_projects), report catalog discovery (list_available_reports), and on-demand report execution (run_report).
- Metadata & PeopleCode: Universal object search (
- Agent Ergonomics & Context Preservation: Built-in tool safety annotations to eliminate permission prompts, human-readable enum descriptors alongside numeric constants, and credential column protection for safe table inspection.
- Guided Workflow Prompts & Passive Resources: Standardized prompts for post-migration verification, on-call incident triage, user security audits, and change impact analysis, plus passive context resources for connected databases and object catalogs. See MCP Server.
August 13, 2026 — Live Field Alias Discovery & Field Pages Pagination
Added live field alias discovery and pagination support to Field detail pages (/fields/{fieldname}).
- Field Alias Discovery: Automatically inspects SWS prompt tables and record metadata to check if a field is an alias of a canonical entity, or to discover all alternative field names that act as aliases (e.g.
AV_EMPLID,PARTNER_EMPLID, orINSTRUCTOR_IDas aliases forEMPLID). - Likely vs Confirmed Aliases: Softens the verdict to “Likely Field Alias Identified” and flags ambiguity when multiple matching keys are found on a prompt table.
- Ambiguity Softening: Displays candidate canonical fields sorted deterministically by key priority.
- Field Pages Pagination: Replaced the previous 200-item hard limit on the “Pages using field” list with infinite scroll offset-based pagination.
- Markdown Export Integration: Extends the field exporter to include the aliases details in the generated Markdown file.
- Optimized Performance: Reuses SWS client helpers to collapse sequential query calls by orders of magnitude.
Added native OpenID Connect (OIDC) authentication support for enterprise Single Sign-On (SSO).
- Native OIDC Integration: Added native OIDC authentication (
auth.mode: oidc), allowing direct integration with enterprise Identity Providers such as Microsoft Entra ID, Okta, Keycloak, Auth0, and Google Workspace without requiring a reverse proxy. - Automated OpenID Discovery & Token Verification: Uses standard OpenID Connect discovery (
.well-known/openid-configuration), OAuth 2.0 PKCE, and automated JWKS key signature verification to validate user identity claims. - Group Claim Verification & User Authorization: Supports optional group claim enforcement (
allowedGroups) and user allowlist matching (authorizedUsers). - 1Password Secret Resolution: Integrated
op://reference resolution for OIDC client ID (clientId) and client secret (clientSecret) settings. - Environment Overrides & Schema Update: Supported configuration via
PSLENS_AUTH_MODEandPSLENS_OIDC_*environment variables. Updated configuration JSON schema verification. See Authentication & Access and Configuration.
August 8, 2026 — Code & SQL Text Search & Auth Configuration
Added full-text search capabilities across SQL and PeopleCode and refined authentication configuration.
- Code & SQL Text Search Report: Introduced a new report (
code-sql-search) that allows searching for specific text strings across all stored SQL statements and PeopleCode in the database. Added to the navigation sidebar under Definitions and in the command palette.
August 6, 2026 — Campus Solutions Row-Level Security Integration
Added support for Campus Solutions (CS) application-level security tables, user defaults inspection, responsive sidebar toggling, Markdown export integration, and Full User Access Report inclusion.
- Campus Solutions Security Integration: Added discovery and inspection for 9 Campus Solutions security tables:
OPR_DEF_TBL_CS: User Defaults (Institution, Career, Program, Plan, Term, Aid Year, Business Unit, SetID, Campus, Admission Application/Recruiter Center)SCRTY_TBL_INST: Academic Institution SecuritySCRTY_TBL_CAR: Academic Career SecuritySCRTY_TBL_PROG: Academic Program SecuritySCRTY_TBL_PLAN: Academic Plan SecuritySCRTY_TBL_ACAD: Academic Organization SecuritySCRTY_TBL_STGP: Student Group SecuritySCRTY_TBL_SRVC: Service Indicator SecurityOPR_GRP_3C_TBL: 3C Group Security
- User Detail Page Integration: Added a dedicated Campus Solutions Security panel on User detail pages (
/users/{oprid}), accessible via an optional toggle switch under Related Data in the right sidebar. - Dynamic Direct Querying & Graceful Degradation: Direct SWS endpoint querying fetches active security grants in parallel without requiring upfront connection status cache updates. If no CS security tables are whitelisted for a database, an informative guidance card displays candidate table whitelist instructions.
- Full User Access Report Integration: Extended
SecurityUserAccessReportto concurrently query and include Campus Solutions row-level security grants in generated Full Access Reports. - Markdown Export: Integrated Campus Solutions Security tables into User detail Markdown exports (
/users/{oprid}/export). - Documentation & Whitelist Tables: Updated Whitelist Tables documentation with Campus Solutions security table requirements. See Campus Solutions Security.
August 1, 2026 — COBOL SQL Statements (SQLSTMT_TBL)
Added COBOL SQL statement discovery and inspection to Record detail pages (/records/{recname}).
- COBOL SQL Statements Panel: Sourced from
SQLSTMT_TBL, this panel displays stored SQL statements (PGM_NAME,STMT_TYPE,STMT_NAME) used by COBOL programs that reference the record in statement text, program names, or statement names. - Syntax Highlighting & Type Badges: Displays formatted SQL statement text with syntax highlighting alongside color-coded badges for statement types (
Select,Update,Insert,Delete). - Markdown Export: Integrated COBOL SQL statements into Record Markdown exports for documentation and offline review.
- Whitelist Table Requirements: Added
SQLSTMT_TBLto system table requirements and Whitelist Tables. See Records.
August 1, 2026 — Process Definition Recurrence History & Schedule Variance
Added recurrence execution history analysis and start delay variance visualization to Process Definitions (PRCSDEFN).
- Recurrence History & Variance Panel: Automatically analyzes process requests in
PSPRCSRQSTexecuted via recurrence schedules (RECURNAME <> ' '). - Start Delay Variance (
BEGINDTTM - RUNDTTM): Calculates and displays schedule latency, comparing target scheduled run times against actual execution start times. - Aggregate KPI Metrics: Displays summary metrics for Total Recurring Runs, Average Start Delay, Maximum Start Delay (with instance reference), and On-Time Rate percentage.
- Visual Delay Breakdown: Progress bar categorizing runs into On-Time (≤ 1m), Minor Delay (1-5m), and Significant Delay (> 5m).
- Historical Run Log: Detailed table listing process instance numbers, recurrence schedule links (
/recurrences/{recurname}), scheduled run times, actual start times, color-coded variance badges, execution durations, run statuses, and executing servers. - Markdown Export: Integrated recurrence history summary metrics and recent recurring run logs into Process Definition Markdown exports. See Process Definitions.
August 1, 2026 — File Layout Definitions (PSFLDDEFN)
Added full metadata browsing, definition hierarchy visualization, and Markdown export for PeopleSoft File Layout definitions.
- New Object Handler: Dedicated File Layouts browser at
/filelayoutsand detail page at/filelayouts/{flname}. - Definition Hierarchy (App Designer View): Visual tree representation mapping parent-child segment hierarchies (
PSFLDSEGDEFNviaFLDSEGPARENT), field data types (PSFLDFIELDDEFN), start positions, lengths, and date formatting masks. - Related Data Sidebar Toggles: On-demand SSE toggles for Application Designer Projects (
PSPROJECTITEMwhereOBJECTTYPE = 31) and PeopleCode Cross-References (PSPCMNAME). - PeopleCode Cross-References: Discovery of all PeopleCode programs referencing the File Layout via
PSPCMNAME. - Markdown Export: One-click Markdown export (
/filelayouts/{flname}/export) generating structured documentation with ASCII definition hierarchy trees, projects, and PeopleCode references. - Global Search & Navigation: Integrated into the
⌘Kcommand palette and sidebar under Definitions. - Whitelist Table Requirements: Added
PSFLDDEFN,PSFLDSEGDEFN, andPSFLDFIELDDEFNto system table requirements and Whitelist Tables. See File Layouts.
July 31, 2026 — Hot-Reload Configuration & SWS Whitelist Management
Enhanced live NATS KV configuration management and database connection synchronization.
- Live Config Hot-Reload: Real-time NATS KV configuration updates for database connections, alert thresholds, and notification rules without restarting the server.
- Air Hot-Reload File Guard: Excluded
config.yamlfrom live-reload file watchers to prevent infinite build loops during automated config sync. - Report Link Generation: Standardized deep-link URL generation across security and object comparison reports using
appBaseURL. - SWS Whitelist Discovery: Updated
CHG_PSLENS_WLruntime discovery to validate table authorizations on startup. See Configuration.
July 28, 2026 — Component Record Hierarchy & Menu Market Metadata
Expanded component data hierarchy analysis and menu item metadata inspection.
- Component Record Hierarchy: Enhanced the
/components/{compname}record hierarchy panel with scroll levels, page access types, and updatable record identification. See Components. - Menu Market Metadata: Added Market metadata parsing to menu item detail views for cross-market navigation analysis.
July 27, 2026 — Search Definitions, DDL Parameters & Granular Page Security
Introduced Search Definitions browsing, database DDL parameter inspection, 1Password secret resolution, and granular item-level security grants.
- Search Definitions (
PSPTSF_SD): New metadata browser for Search Framework definitions, document category attributes (PSPTSF_SD_DCATR), search categories (PSPTSF_SRCCAT), and OpenSearch/Elasticsearch index mappings. - Database DDL Storage Parameters: Added DDL parameter inspection (
PSRECDDLPARM,PSIDXDDLPARM,PSSPCDDLPARM) to record detail pages (/records/{recname}) for Oracle, SQL Server, and DB2 table storage verification. - Item-Level Page Security (
PNLITEMNAME): AddedPNLITEMNAMEfield resolution acrossPSAUTHITEMsecurity queries to detect page-item-level authorization overrides in Permission Lists. See Permission Lists. - 1Password Secret Resolution: Native resolution of
op://secret references in database credentials and SMTP notification settings.
July 22 - 23, 2026 — Infrastructure Enhancements
Optimized container deployment options and background notification delivery.
- SMTP Notification Pipeline: Upgraded background notification delivery and retry logic for scheduled audit report distribution.