{
  "entries": [
    {
      "version": "1.5.52",
      "date": "2026-09-18",
      "severity": "normal",
      "body": "### PriestAI 1.5.52\n## An agent that checks its own work, and a loop that does not wait\n\n**The agent is checked before it says done - by the folder, not by its word.** When you ask for a rename by name, the edit must change the name and nothing else: if it changed more, the agent is told exactly what, told to keep the new name, and given the exact text the edit should have produced. A function whose whole body is a call to itself is flagged as one that can never return. A test file the turn created that `python -m unittest discover` would never find (its name does not start with `test`) is said, with a name every runner finds. When you ask for tests to pass, or the turn touched a test file, the project's tests are run once before the turn is accepted. Each finding is a fact about the files with a file and line; the agent is asked again at most twice, and a turn that still fails is marked unverified, never passed off as finished.\n\n**It acts instead of announcing.** A reply that says \"I'll use read_file\" and makes no tool call is asked once to make the call. Tool calls a small model writes as JSON in its prose are taken up as calls when they fit exactly one tool. Several calls in one step are accepted, and consecutive read-only calls run together.\n\n**Edits that land.** edit_file now finds its text when only line endings, trailing spaces or indentation differ - each looser rung is accepted only for a unique match, and the reply says which rung matched. A missed edit shows the two nearest lines with their numbers. The file's own line endings and byte-order mark are kept, and the write is atomic with the original restored on any failure.\n\n**A loop that does not wait in silence.** The local loop streams: words arrive as the model writes them, Stop closes the socket mid-answer, and a stalled model is said after 180 seconds with no first token or 60 seconds of silence instead of a quiet wait of up to fifteen minutes. A model runner that dies mid-step is asked once more. A stopped engine is said in about a second again. Long tool results keep their end as well as their start, with a marker saying how much was cut. The conversation folds in one batch down to a low-water mark, keeping the first turn and the latest turns whole.\n\n**The window fits the graphics card.** After a model loads, the app checks that it is fully on the GPU; if it spilled, the window steps down one size, once, says so in the transcript, and remembers it for that model.\n\n**Cloud seats fail over honestly.** A pinned cloud model that fails with a retryable error gets one attempt on its declared runner-up, announced, never silently; rate limits and server errors honour the provider's Retry-After up to thirty seconds.\n\n**Forethought.** `priest forethought triage` reads a refused release's own log and lays out the work: one reader per failing test, one fixer per cause in its own worktree, the neighbouring tests, a review, and the relaunch - sized to a budget that is known before it starts, with a stop line, a handoff it writes itself, and a one-time wake-up to resume. It never edits a gate, an assertion or the baseline to pass.\n\n**Background tasks show everything that is running.** A workflow, and now a release, appears as a card with its steps: a box per stage with done out of total, a row per step with its time, and the release's own sentence when a gate says no. A release has no stop button. The docked Task panel adds a place for plugins; the music player is the first. `priest usage --by-key` prints what Settings says about each API key.\n\n**Every moving part is the same glass.** The band, the buttons, the dock and the window are drawn one way now: jewel panes with the set as light, in each theme's own colours. A visit keeps one view and breathes slowly instead of touring the whole set, and the crackle is calmer.\n\n**Housekeeping that matters.** Forty-three bundled skills from three authors shipped without their licence text; each now carries its author's own MIT licence. A pattern that detects vision models held a stray control character since early September and could never match a model named \"-vl\"; it does now. The status mirror is republished after every release. The measured comparison on the site is unchanged: it was taken on 1.5.49 and will be re-measured, with every rival in the same session, before any new number is published."
    },
    {
      "version": "1.5.51",
      "date": "2026-09-18",
      "severity": "normal",
      "body": "### PriestAI 1.5.51\n## The window, an agent that checks its own work, and workflows\n\n**The site stands in front of a window.** Behind every page there is now a gothic stained-glass window: pointed lancets and round oculi for tracery, a crackle mosaic of small panes coloured by lancet, and the Mandelbrot set moving through all of it. The light follows the pointer. It is drawn from each theme's own colours, so every theme has its own window. It moves on the display's own frame clock, where 1.5.50's glass waited 33 ms between frames and its background wash was a still refreshed every 2.4 seconds; that wash is gone, and the page stands in front of real panes. The pointer's light is now the theme's own accent and brightens each pane in its own colour instead of washing it pale. One fractal frame is rendered per tick and everything else is three cached layers, so it stays cheap; reduced-motion shows one still frame and high-contrast modes show none.\n\n**A short front page.** The long sections now fold: five cards under the hero instead of a wall to scroll. About 370 words are visible on arrival where there were 1,300, and a phone reaches the footer in a few swipes. Nothing was removed; a menu link into a folded section opens it.\n\n**A menu in groups.** Start, Product and Proof, then the six pages, in place of seventeen stacked rows.\n\n**Feast Your Eyes, and a smaller dock.** The dock opens with Mastodon's Feast Your Eyes. On a phone it arrives as a small pill with the track already loaded and opens to a compact player when tapped. The fractals in the glass move by default; the dock's switch holds them still, the choice is remembered, and reduced motion still means still. Signed in to Spotify in the same browser, the player plays the whole song from the start; signed out, Spotify plays its own 30-second preview.\n\n**API keys in Settings.** Settings > Connect > API keys takes a key for any provider by name - featherless, groq, gemini, openrouter, or an OpenAI-compatible address of your own, which becomes a seat the router can use. The field empties the moment you press Save and the panel only ever shows the last four characters. Keys are entered on the computer that runs PriestAI, so one never crosses a network on its way in.\n\n**Two live sessions, side by side.** The split view's second pane can now be worked in: press Work here too and the pane becomes a second live session on that conversation, with its own composer and its own permission prompts. Each side adopts what the other saved before it saves, so neither can erase the other's words, and a conversation deleted on one side is not brought back by the other.\n\n**What each key has been used for.** Under every key in Settings > Connect > API keys there is now one sentence: calls this month, tokens in and out, the cost where the provider bills it in its reply, and how much of the provider's own rate limit is left and when it resets. The figures come from the provider's reply and headers only; a reply that reports no usage is shown as tokens not reported, never as zero. The key itself is never read for this.\n\n**A mark for every theme.** The logo and the tab icon now change with the theme, drawn from that theme's own colours.\n\n**The agent finishes what it starts.** Before a turn is accepted as done, the app now checks the folder instead of taking the model's word: a request that asked for a change and produced no write, a changed Python file that no longer compiles, or a renamed name still in use somewhere is sent back to the model with the file and line, at most twice, and a turn that still fails is marked unverified rather than passed off as finished. A write that was refused no longer counts as having acted, and an empty reply is asked again once.\n\n**Edits that take fewer steps.** edit_file can replace every occurrence (replace_all) or apply a list of edits to one file, all or nothing: if any edit in the list cannot be made, the file is left byte for byte as it was. A refused edit now says how many times the text appears and on which lines.\n\n**Tool calls that nearly worked now work.** A model that sends file_path for path, old_string for find or cmd for command is understood; a call with a missing or wrong-typed argument is refused before it runs with the argument's name, its type and what was sent; an unknown tool name is answered with the nearest real one. None of this adds a word to what the model is offered.\n\n**The window fits the turn.** The context window a local model is asked for is now the smallest standard size that holds the conversation (8,192, 16,384, 32,768 or 65,536), chosen once per turn and never above what the computer can hold, because a model reloads whenever the size changes. A model is warmed at that exact size when a workspace is bound or the model is changed.\n\n**Workflows.** `priest workflow run` runs a script that fans work out to many agents at once - in parallel, in pipelines, in named phases - with typed results, one guided retry when a reply does not fit, a journal so a stopped run resumes where it left off, and a queue per engine so a fan-out of twenty becomes work the hardware can actually serve. Every run records, per agent, the model that served it, tokens as reported, tool uses and time. A running workflow shows in Background tasks like everything else that is running: a card with its name, how many agents, the tokens they reported and its description, a box per phase with done out of total and one square per agent, the Agent / Model / Tokens / Time table, and a stop button that ends the run cleanly. `priest workflow show` prints the same facts in a terminal.\n\n**Measurement that can be checked.** Every benchmark row now carries per-step timing and token counts; the invalid-call rate is published beside two new figures that separate malformed calls from honest failed runs; a rival that exits without changing anything is recorded as not run rather than scored zero; a pinned benchmark warms its model first, publishes the load time as its own figure, and never scores the pinned model on another model's answer. No published number changed with this release: the next measured run will use these instruments.\n\n**One moving banner.** The tools, records and sign-in pages now carry the same Mandelbrot glass as the chat, from the one renderer.\n\n**DevAd runs again.** A custody guard added on 16 September refused every round and every campaign tick because it could only be satisfied by a worker running under a second OS identity, which does not exist yet. It can now be satisfied one other way: the machine's owner accepts, in an exact written sentence kept in local state, that workers run under their own account. Without that sentence the answer is still no, release admission is never waived by it, and every use is written to the ledger.\n\n**PulseStatus is live.** The status mirror reads the published manifest every time it opens, checks that the download answers at its published size, and is republished after each release."
    },
    {
      "version": "1.5.50",
      "date": "2026-09-17",
      "severity": "normal",
      "body": "### PriestAI 1.5.50\n## The glass is real, the room is docked, the app and the site are one theme\n\n**A live Mandelbrot in the stained glass.** The fractal is rendered on the graphics card every frame and drawn through each leaded pane: the hero's edges, the header band, the Download button, the DevAd support widget and the listening room's head. It breathes between six points of the set, cycles the theme's own three glass colours, and moves faster while the song plays. Reduced-motion draws one still frame; forced colours draw nothing. (1.5.48's fractal was a 160x112 texture at 1-4% opacity: technically present, invisible.)\n\n**Tread Lightly, up when you arrive.** The listening room is a dock in the corner with Mastodon's Tread Lightly loaded; press play. Close it and it stays closed on that browser; Menu > Music brings it back. Playback state comes from Spotify's embed API, which is why the site's script policy now names open.spotify.com.\n\n**One theme, every surface.** The dashboard shows the site's seven palettes (night, ember, moss, paper, vigil, reliquary, sunward) generated from the site's own stylesheet, with text nudged to WCAG AA; older \"dark\" and \"light\" choices map to night and paper. The dashboard's type is the site's: monospace body and headings, Priest Leadlight for the wordmark.\n\n**A shorter home page.** 1,810 words to 1,087: the guide finder, the pilot path and every folded paragraph went to the pages that own them. Menu labels are one word where one word says it.\n\n**385 more skills, licensed item by item.** ECC (292), SkillSpector (26), Comp AI's CRM (34), open-seo (22), ponytail (6), video-use (2), humanizer, i-have-adhd and phone-harness, each carried unchanged under its own MIT, Apache-2.0 or BSD licence inside the product's plugin wrapper, validated by the same checker as 1.5.49's 188.\n\n**DevAd carries the rest.** Scrapling, archify, openshorts, presenton, context-mode and dify are queued as campaigns with their licence verdicts as acceptance criteria; the queue runs on the owner's standing order."
    },
    {
      "version": "1.5.49",
      "date": "2026-09-17",
      "severity": "normal",
      "body": "### PriestAI 1.5.49\n## 188 skills from the wider ecosystem, each on its own licence\n\n- **188 skills, carried in the product's own wrapper.** Skill collections published as `SKILL.md` install as ordinary plugin bundles: the markdown travels unchanged so it stays updatable from upstream, and the manifest around it declares the narrowest surface the format allows - no commands, no tools, no network destinations, no filesystem scopes, no secret references - with file digests and attribution. Every bundle passes the same checker any other plugin passes.\n- **Licensed item by item, not repository by repository.** The OpenAI collections carry no top-level licence; each skill carries its own. So each was taken only where its own licence permits (MIT, Apache-2.0 or BSD) and that licence text ships inside the bundle. 36 of 44 OpenAI skills and 110 OpenAI plugin skills qualified; the 8 Figma skills are under Figma's Developer Terms and 413 plugin items carry no licence at all, so they were not taken. The others are humanlayer/skills, mattpocock/skills and petergyang/no-ai-slop, all MIT.\n- **The benchmark named a wrapper, not a command.** The published comparison disclosed Claude Code's route as a one-line script that only cleared two environment variables. It now names the command that was measured.\n- **DevAd can carry a campaign to publication on a standing order.** Campaigns paused at merge and publish for a per-campaign approval. The owner may now record a standing approval; every use of it is written to the ledger by name and date, and it can be withdrawn by deleting the file.\n\n**Rehearsals declare their world.** A local account created on the development copy, and a machine-specific marker beside the code, made nine tests and the palette smoke run measure the machine instead of the product. Tests now redirect the account store, and a rehearsal can say it is a customer copy (`PRIESTAI_CUSTOMER_COPY=1`, `PRIESTAI_ACCOUNTS_FILE`); nothing on a real install sets either."
    },
    {
      "version": "1.5.48",
      "date": "2026-09-16",
      "severity": "normal",
      "body": "### PriestAI 1.5.48\n## Stained glass everywhere, a faster local model, and Featherless\n\n- **The whole theme is one piece of glass now.** The home page's edge panels were twelve flat shapes; they are 158 irregular panes cut along the same Mandelbrot the site already renders, held in thin lead, so the pointer light sweeps across them individually. The rainbow strip under the header and the border on the support card were the same six colours in different shapes, and are now cut from that fractal too.\n- **Sunward, repainted.** The seventh theme was a violet sunset. It is now taken from the reference artwork: a near-black ground, cream text, and glass in scarlet, indigo and gold.\n- **The link preview was showing an older product.** Sharing the site in Messages produced a card with a headline and tagline the site had stopped using. It now carries the same wordmark, the current tagline and the fractal glass.\n- **The installer's band** used twenty-four identical chevrons on a nine-pixel strip, which at that height is mostly outline. It draws the leaded fractal, and falls back to the old strip where an image cannot be built.\n- **Your graphics card is no longer invisible.** On Windows the product read the card's memory from a field that reports 8 GB as 4, so it planned as though there were no GPU and asked for a 65,536-token window. On an 8 GB card that window's cache alone claimed the whole card and pushed 19 of the model's 33 layers onto the processor. The card is now measured properly and the window sized to fit it.\n- **Featherless is a first-class seat.** Models are addressed as `featherless/<model>`, usable anywhere a model is, measured by the same benchmark as everything else, and gated by the Money panel's budget like any other paid door.\n- **The menu was a document.** Sixteen entries each carried a sentence explaining a label that already said it. The descriptions moved to hover.\n"
    },
    {
      "version": "1.5.47",
      "date": "2026-09-16",
      "severity": "normal",
      "body": "### PriestAI 1.5.47\n## Security fixes, task controls and desktop improvements\n\n- **Owner protection.** Invited accounts cannot replace the owner through sign-in consent. First-time setup requires direct access on the computer, including when an HTTPS proxy is present.\n- **Encrypted remote access.** Network access requires HTTPS. Existing plaintext network settings fall back to local access. Configure a trusted certificate or a local HTTPS reverse proxy using the included secure-panel guide; local-only access continues to work.\n- **Bounded sign-in work.** Oversized credentials are rejected before password hashing. Expiring attempt records, request limits and hashing concurrency limits protect panel availability.\n- **Safer web reading.** Automatic page reads reject local, private and metadata addresses, validate redirects, and connect only to checked public addresses.\n- **Task and tool controls.** The combined update includes task permission inheritance, workspace and tool-approval improvements, and expanded agent and integration controls.\n- **Desktop and credentials.** Includes the prepared launcher, native credential-dialog, credential-cleanup and import-safety improvements, plus Linux launcher and portability updates.\n- **Accessible conversation controls.** Attachment and send controls remain reachable on narrow, zoomed screens. New conversations wait for confirmed storage before requesting their task activity.\n- **Apple builds and installation.** Corrected native iOS build configuration and macOS service startup so the model server stays managed after setup.\n- **Work visibility.** Employee activity and task views expose available status without claiming that unmeasured work has completed.\n- **Clearer product information.** Updated layouts, documentation and status pages distinguish measured behavior from work still being developed.\n\nThe new DevAd production-commissioning requirements are deferred until after this release. This manual release uses the existing test, packaging, installer and public-download verification process. It does not claim production authority commissioning or an external security certification.\n"
    },
    {
      "version": "1.5.46",
      "date": "2026-09-15",
      "severity": "normal",
      "body": "### PriestAI 1.5.46\n## A clearer interface, support tools and stronger request checks\n\n- **Website support.** Ask DevAd Support a question and check its source links. To contact a person, review the recipient and confirm an email to DevAd Support. Sharing your transcript is optional.\n- **Searchable handbook.** Find and preview articles, ask about selected sources, and copy or download their text for app chat or a plan-only CLI task.\n- **Updated appearance.** The website, app, shortcuts and installer use the stained-glass peacock mark. The terminal keeps its Leviathan cross. Shared themes, visible keyboard focus and layouts for phones make the controls easier to use.\n- **Adjust the homepage preview.** Change daylight, light angle and palette with a mouse or keyboard. Reduced motion is supported, and the download button stays visible on compact desktop screens.\n- **Find a page quickly.** Open page search or press Ctrl/Cmd+K to find documentation, downloads, support, measured results and console setup.\n- **Compare recorded results.** Charts on the homepage, results page and DevAd desk show measurements by category. Select a bar to inspect its evidence. Advantage bars appear only for comparable results; missing and old measurements are labeled. These task results are not an overall market ranking.\n- **Separate local comparisons.** The rival runners use the same configured local Qwen model, five tasks, one trial per task and a 75-second limit with file tools. Failed setup and unobserved metrics stay unmeasured. These results are kept separate from the older cloud comparison.\n- **Ongoing local measurements.** The DevAd loop can compare PriestAI with the configured local model in bounded runs. New local results stay in their own comparison group. This checkout enables the schedule; other installations can opt in.\n- **Broader maintenance coverage.** DevAd can propose improvements when tied competitors both outperform PriestAI. New Viriditas modules join the existing review and test process automatically.\n- **Stronger request checks.** Foreign browser origins and ambiguous HTTP requests are rejected before sensitive actions. Viriditas distinguishes unavailable or stale protection evidence and includes both high and critical findings.\n- **Open the installed console.** Menu > Open PriestAI offers a fixed link to the Windows console. Setup registers it; links cannot submit tasks or commands. Existing users can rerun Setup or use the console shortcut.\n- **Clearer terminal controls.** Search /menu, choose a numbered command and switch among six shared themes. An activity indicator supports reduced motion. Streamed answers cannot issue terminal escape commands.\n- **Defined security scope.** Engagements require a named authority and an expiry within seven days. Domains are exact unless subdomains are explicitly included. Exclusions and revocation are checked before scoped commands start. These command-text checks are not an OS or network sandbox.\n- **Restricted public assistants and scripts.** Public assistants use the reviewed support model. Website scripts must come from the same origin or match an approved inline-script hash.\n- Includes reviewed maintenance fixes since 1.5.45.\n\nBefore publication, the release process checks the repository tests, packaged files and installer startup. Download hashes are verified after deployment. These checks are not a completed Codex Security repository scan.\n"
    },
    {
      "version": "1.5.45",
      "date": "2026-09-10",
      "severity": "normal",
      "body": "### PriestAI 1.5.45\nMaintenance release, cut and gated automatically.\n\n- **The launcher-acts claim is now proven.** A proof drives the palette the way a person does, and each action is judged by its effect on the page.\n- **The site menu now contracts correctly.** Clicking outside, pressing Escape, or a second click on the button now closes the menu as intended.\n- **The certification gym now measures find-rate.** DevAd's ability to locate planted defects is now measured, providing a baseline for reviewer quality.\n- **Nightly snapshots and recovery keys.** Fixed a bug where nightly snapshots ran git add -A on patterns, and moved recovery keys to a never-commit lane.\n\nEvery release is gated on the same evidence before it is cut: the full test suite with nothing newly broken, a preflight of the built tree, and a scan for anything that should not ship. The suite travels with the product - run `python run-tests.py` and see for yourself."
    },
    {
      "version": "1.5.44",
      "date": "2026-09-09",
      "severity": "normal",
      "body": "### PriestAI 1.5.44\nMaintenance release, cut and gated automatically.\n\n- **47 file(s) updated** across START-HERE.md, TERMS.md, altar, app, dashboard, devad.\n\nEvery release is gated on the same evidence before it is cut: the full test suite with nothing newly broken, a preflight of the built tree, and a scan for anything that should not ship. The suite travels with the product - run `python run-tests.py` and see for yourself."
    },
    {
      "version": "1.5.43",
      "date": "2026-09-05",
      "severity": "normal",
      "body": "### PriestAI 1.5.43\nMaintenance release, cut and gated automatically.\n\n- **5 file(s) updated** across dashboard.\n\nEvery release is gated on the same evidence before it is cut: the full test suite with nothing newly broken, a preflight of the built tree, and a scan for anything that should not ship. The suite travels with the product - run `python run-tests.py` and see for yourself."
    },
    {
      "version": "1.5.42",
      "date": "2026-09-05",
      "severity": "normal",
      "body": "### PriestAI 1.5.42\n## Documents, voice, add-on tools, your data in one file, and an installer that explains itself\n\n- **Ask about a document.** Drop a PDF, Word, Excel or PowerPoint file into the chat and ask about it. It is read page by page (the chip says \"read as 12 pages\"), the assistant can quote a page number, and a scanned or protected PDF says so instead of returning nothing. Plain text files work as before.\n- **Talk, and listen.** Press and speak in the message box, and have any reply read aloud. Both are switches under Settings > Appearance, off for reading aloud by default. They use your browser's own speech features; Edge and Chrome have them, and a browser without them says so.\n- **Add-on tool packs.** Connect tool servers that speak the Model Context Protocol (the same packs other AI apps use) under Settings > Add-on tool packs, by program or by address. Every tool from a pack asks for permission the same way built-in tools do, and a pack that fails to start says why.\n- **Take everything with you.** Settings > Your data exports every conversation, attachment, remembered fact, instruction and note as one zip, and brings it back on another copy without overwriting newer work. Your data now lives in PriestAI's own folder under your profile rather than inside the program folder, so an upgrade or reinstall never touches it; existing data is copied over and the original is left where it was.\n- **Runs on any graphics card.** Hardware fit now works on AMD, Intel and Apple machines, not only NVIDIA, and every model gets one of four plain verdicts: runs well, runs acceptably, runs with limitations, or cannot run, with the reason in words. The installer recommends models by what it measured, with one sentence each, and never sits in silence: after twenty seconds it says you can press Next.\n- **The installer explains itself.** A \"Preparing Priest AI\" window with a real progress bar while it unpacks; a second double-click is ignored instead of starting twice; running Setup while Priest AI is open tells you to close it and try again; upgrades check every file by hash and move anything no longer needed aside rather than deleting it; every screen is in plain words. Uninstall can also remove the program folder (your conversations and models stay), and offers to move your conversations aside, never deleting them.\n- **The Models panel.** When the model engine is not running, a card says so with a Start button; when nothing is installed, \"Install a starter model\". Rows carry local / remote / free / paid / installed badges, a star for favourites, sorting and a hardware-fit filter, a measured line (\"34 words/s here\"), badges for models that see pictures or use tools, and \"Recommended because: ...\" in words. A new \"Allow premium models\" switch keeps automatic model choice away from paid providers unless you say otherwise; your own picks are never limited. Settings > Tools now names every tool in plain words.\n- **One reply per conversation.** Sending in one conversation no longer stops a reply in another; busy conversations show \"answering...\"; Stop stops only the one you are looking at. Conversations can be pinned to the top. When you attach a picture and no model can see it, one button offers to install one that can.\n- **First run on this computer needs no sign-in.** A fresh copy opened on the computer it is installed on just works; add a passphrase in Settings if other people use the computer. New installs answer only this computer until you switch on \"reachable from other computers\" (installs already set up keep their current setting).\n- **Errors are sentences.** \"Ollama is not running on this computer. Open the Ollama app and ask again.\" instead of a stack trace; a model that is not installed is named; a paid provider that refused says whether the key, the credit or the rate was the problem. Stop halts a reply immediately. Content fetched from the web or a file is labelled as such before the assistant reads it.\n- **God's Eye.** Six new layers that need no key: weather alerts, active hazards, air quality with a 24-hour forecast, nearby places, disasters, and space weather, each with its source and licence on every answer. The globe card can check for and install updates, install and stop are honest about what they did, and the cost line comes from one source.\n- **DevAd, the built-in developer.** It now renders every page a change touches in a real browser at phone and desktop sizes and refuses a merge that breaks one, starts the product end to end before merging engine changes, reads the callers and history of the code it argues about, and every proposal card carries who made it, the evidence, a confidence number and how to roll it back. The long-task quality bar is measured again nightly.\n- Also: a release build is the only thing that moves the release scan's vocabulary budget; the website's menu fix from 1.5.41 is included.\n"
    },
    {
      "version": "1.5.41",
      "date": "2026-09-05",
      "severity": "normal",
      "body": "### PriestAI 1.5.41\n## The website's menu, fixed and renamed\n\n- **The Product menu on the website opens on top.** The colour band under the navigation was drawn across the open menu on every screen size. The menu now sits above it, and on a phone it opens below the whole navigation bar instead of over its second row. The website's automated browser check now opens the menu at phone and desktop sizes and fails if anything is painted over it.\n- **Plainer names in the menu.** The options are now Chat, Agents, Spending limits, and Updates & support, and the navigation link to the download page says Download.\n- **Build check.** Re-running the release scan on an existing build no longer changes the release's vocabulary budget file; only a real release build does.\n"
    }
  ]
}