v5.4.0
What's Changed
- docs: add guide for running iHub Apps with SSL/HTTPS by @manzke in #1532
- fix(iFinder): prevent OS service account leaking into JWT sub via env var collision by @manzke in #1536
- Fix settings dialog translation issue in Outlook by @manzke with @claude in #1547
- Update email pane to always show 'Add this mail' when collapsed by @manzke with @claude in #1549
- Fix translation for Show Task Pane in Outlook by @manzke with @claude in #1550
- Fix issue with deleting username attribute in LDAP provider by @manzke with @claude in #1538
- feat(auth): autofocus login fields and add Remember me by @manzke in #1540
- fix(office365): avoid Entra ID admin consent for personal-OneDrive-only setups by @manzke in #1539
- fix(outlook): consolidate email pin controls into one "Add email(s)" button (#1553) by @manzke in #1554
- Fix local login issue after fresh installation on Linux and Windows by @manzke with @claude in #1552
- build(deps-dev): bump the all-minors group across 1 directory with 6 updates by @dependabot[bot] in #1529
- build(deps-dev): bump qs from 6.15.0 to 6.15.2 by @dependabot[bot] in #1528
- build(deps-dev): bump tmp from 0.2.5 to 0.2.7 by @dependabot[bot] in #1534
- build(deps): bump the npm_and_yarn group across 3 directories with 2 updates by @dependabot[bot] in #1535
- feat(admin): admin UI redesign — sidebar, dashboard, tables, forms (5.4.0) by @manzke in #1533
- feat(mcp): integrate MCP client + gateway (#1460, #1461) by @manzke in #1518
- feat(a11y): WCAG 2.2 AA tooling and remediation (#1505) by @manzke in #1559
- Fix spurious "unsaved changes" prompt after clicking Save by @manzke in #1561
- fix: data table kebab menu hidden behind row action icons by @manzke in #1560
- Fix chat PDF/HTML export to render markdown properly by @manzke in #1563
- Collapsible AttachedFilesList: fix file upload list pushing chat input off-screen by @manzke in #1564
- Improve MCP implementation: dialog fixes, in-dialog testing, app-editor MCP tools by @manzke in #1562
- Show which file triggers the document size warning on upload by @manzke in #1565
- Fix MCP/JSON Schema tools failing on Google Gemini (400 INVALID_REQUEST) by @manzke in #1566
- build(deps-dev): bump the all-minors group with 2 updates by @dependabot[bot] in #1558
- build(deps): bump axios from 1.15.2 to 1.16.0 in /client in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1556
- build(deps): bump the all-patches group across 1 directory with 7 updates by @dependabot[bot] in #1570
- build(deps): bump react-router from 6.30.3 to 6.30.4 in /client in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1569
- Fix chat downloads not rendering tables by @manzke with @claude in #1578
- Fix chat responses marked based on AI knowledge by @manzke with @claude in #1575
- Add support for downloading messages in additional formats by @manzke with @claude in #1577
- Add automatic collapse of attachments when sending message by @manzke with @claude in #1580
- Fix download PDF via print dialog buttons by @manzke with @claude in #1585
- fix(workflows): trim state bloat, fix Gemini grounding-URL feedback, polish admin runs table by @manzke in #1586
- fix(export): make export dialog robust in Outlook and responsive mode by @manzke in #1587
- fix(outlook): make Office task pane resolution-aware on small/high-DPI laptops by @manzke in #1588
- feat(agents): deterministic memory finalize + plan-and-review loop by @manzke in #1589
- Add standard iHub Documentation knowledge source by @manzke in #1591
- feat(workflows): Stellungnahmen review from iFinder + admin-driven corpus discovery by @manzke in #1590
- build(deps): bump @grpc/grpc-js from 1.14.3 to 1.14.4 in /server in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1594
- Fix SSRF bypass in workflow HTTP node via IPv4-mapped IPv6 (GHSA-fp9c-pq7w-vr34) by @manzke in #1593
- build(deps): bump shell-quote and concurrently by @dependabot[bot] in #1592
- Unify login UI on the auth gate as the single dialog by @manzke in #1595
- feat(branding): admin-configurable favicon (#1502) by @manzke in #1601
- build(deps): bump the all-minors group with 5 updates by @dependabot[bot] in #1600
- build(deps): bump esbuild from 0.25.12 to removed in /client in the npm_and_yarn group across 1 directory by @dependabot[bot] in #1597
- Split model token limit into contextWindow and maxOutputTokens by @manzke in #1596
- build(deps-dev): bump the all-patches group across 1 directory with 3 updates by @dependabot[bot] in #1599
- docs: add standalone OpenAI-compatible API guide by @manzke in #1605
- docs: Tiptap editor integration research & plan by @manzke in #1608
- feat(audit): expand audit logging to auth, OAuth, and user events by @manzke in #1607
- docs: detailed Tiptap editor implementation plan (#1609) by @manzke in #1611
- Add thinking/reasoning support for OpenAI and vLLM adapters by @manzke in #1612
- Fix high idle GPU usage in chat by scoping layer promotion to streaming by @manzke in #1614
- feat(tools): Generic OpenAPI HTTP tool runner + central credential store by @manzke in #1613
- feat(admin): global SSRF allowlist for internal services by @manzke in #1617
- feat(privacy): IP anonymization, rollup & feedback retention by @manzke in #1618
- Stop audit log spam from session start (POST /api/session/start) by @manzke in #1621
- Remove Tavily web search implementation by @manzke in #1623
- docs: add vLLM server start parameters guide (tools, images, audio) by @manzke in #1622
- [WIP] Fix 5.4.0-RC2 won't start due to missing package by @manzke with @claude in #1627
- fix: use
github.event.release.tag_nameinstead ofGITHUB_REFfor release version sync by @manzke with @Copilot in #1628 - fix: pass explicit tag_name to action-gh-release to prevent "requires a tag" failure by @manzke with @Copilot in #1629
- fix: "Attach to Release" job failing with "GitHub Releases requires a tag" by @manzke with @Copilot in #1630
Full Changelog: v5.3.21...v5.4.0