From 6c653a20d97e4eb529dc2826015c0436051ee4f7 Mon Sep 17 00:00:00 2001 From: Coleary005 Date: Wed, 24 Jun 2026 16:35:19 -0400 Subject: [PATCH 1/2] removing changelog from public docs and into installer --- .github/workflows/update-changelog.yml | 52 --- docs.json | 4 +- features/self-hosted/changelog.mdx | 442 ------------------------- resources/changelog.mdx | 4 - scripts/update-changelog.mjs | 149 --------- 5 files changed, 1 insertion(+), 650 deletions(-) delete mode 100644 .github/workflows/update-changelog.yml delete mode 100644 features/self-hosted/changelog.mdx delete mode 100644 resources/changelog.mdx delete mode 100644 scripts/update-changelog.mjs diff --git a/.github/workflows/update-changelog.yml b/.github/workflows/update-changelog.yml deleted file mode 100644 index 1bbad60..0000000 --- a/.github/workflows/update-changelog.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Update Self-Hosted Changelog - -on: - # Run daily at 06:00 UTC - schedule: - - cron: "0 6 * * *" - # Allow manual runs - workflow_dispatch: - # Allow the monorepo to trigger this via repository_dispatch - # e.g.: gh api repos/tembo-io/docs/dispatches -f event_type=release-published - repository_dispatch: - types: [release-published] - -jobs: - update-changelog: - runs-on: ubuntu-latest - permissions: - contents: write - pull-requests: write - - steps: - - uses: actions/checkout@v4 - - - uses: actions/setup-node@v4 - with: - node-version: "22" - - - name: Regenerate changelog - env: - GITHUB_TOKEN: ${{ secrets.MONOREPO_READ_TOKEN }} - run: node scripts/update-changelog.mjs - - - name: Commit and open PR if changed - env: - GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: | - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git add features/self-hosted/changelog.mdx - if git diff --cached --quiet; then - echo "No changes to commit." - else - BRANCH="chore/changelog-update-$(date +%Y%m%d%H%M%S)" - git checkout -b "$BRANCH" - git commit -m "chore(changelog): update self-hosted release notes" - git push origin "$BRANCH" - gh pr create \ - --title "chore(changelog): update self-hosted release notes" \ - --body "Automated changelog update from the self-hosted release pipeline." \ - --base main \ - --head "$BRANCH" - fi diff --git a/docs.json b/docs.json index ecf43ec..8e94a1e 100644 --- a/docs.json +++ b/docs.json @@ -77,7 +77,6 @@ "features/self-hosted/integrations/slack" ] }, - "features/self-hosted/changelog" ] }, { @@ -126,8 +125,7 @@ "group": "Other", "pages": [ "resources/pwa", - "resources/pricing", - "resources/changelog" + "resources/pricing" ] } ] diff --git a/features/self-hosted/changelog.mdx b/features/self-hosted/changelog.mdx deleted file mode 100644 index 33f7862..0000000 --- a/features/self-hosted/changelog.mdx +++ /dev/null @@ -1,442 +0,0 @@ ---- -title: 'Changelog' -description: 'Release notes for Tembo Self-Hosted.' ---- - -{/* Auto-generated by scripts/update-changelog.mjs — last updated 2026-06-24 */} - -## v0.2.774 - -June 22, 2026 - -- fixing pulling literally every repo instead of just the ones loaded in (#8848) -- feat(admin): support selected golden snapshot sizes (#8849) -- fix(web): preload computer preview iframe (#8850) -- refactor(admin): align golden size picker dropdown (#8851) -- fix(ci): use created launch template version (#8853) -- fix(admin): ensure golden size label is defined (#8855) -- Remove solveIssue/feedbackLoop cli commands (#8797) -- Issue.kind -> Message.type rework (#8812) -- fix(api): harden golden skill prebake (#8854) -- feat(api): add guest server port forwarding to VM metadata (#8845) -- feat(admin): add vm server health check (#8863) -- Redesign auth pages (#8864) -- fix(api): expand tilde paths in shell commands via $HOME (#8867) -- chore: update pnpm deps hash (#8866) -- Rename 'AI provider' to 'LLM subscriptions' in settings (#8868) -- feat(desktop): add notification preference (#8869) -- feat(sandbox): add kasmvnc bottom app dock (#8860) -- chore: agent fallbacks (#8874) -- Github issues: handle agent macros (#8876) -- feat(nix): add bigquery mcp toolbox (#8862) -- chore: centralize entitlements backend (#8835) -- chore(ui): migrate cn helper to cnfast (#8881) -- dock click fix (#8884) -- chore: update pnpm deps hash (#8885) -- feat(cli): show org id in vm list (#8888) -- Allow KasmVNC dock click events (#8889) -- fix(api): hide scheduled snapshot build rows (#8890) -- 0.2.774 - ---- - -## v0.2.773 - -June 19, 2026 - -- feat(aws): AWS agent integration with OIDC web identity federation (#7660) -- chore: centralize entitlements (#8769) -- agent.run: stop building rule file (#8809) -- fix(web): move xxl from large to ultra VM sandbox size category -- chore: change artifact preview header (#8821) -- fix(api): remove custom plan billing route (#8819) -- fix(api): correct desktop notification typo (#8824) -- refactor(api): remove billing report route (#8825) -- feat(admin): show active system goldens (#8827) -- feat(web): add artifact url copy action (#8830) -- docs(workflows): update auto fix ci action guidance (#8831) -- init guest server && public manager api (#8744) -- refactor(api): remove unused integration token route (#8828) -- feat(nix): open port 8743 in firewall for tembo-ts-manager -- chore: update pnpm deps hash (#8826) -- fix(web): hide mcp badge on aws card (#8840) -- fix(web): prevent empty agent page scroll (#8842) -- test(api): complete logger mock in analytics test to fix flaky CI (#8844) -- chore(api): remove unused daemon register route (#8834) -- fix(web): use currentColor for hamster SVG to support dark mode (#8846) -- fix(web): clean up connection modals (#8841) -- 0.2.773 - ---- - -## v0.2.772 - -June 18, 2026 - -- fix(api): validate GCP Vertex AI credentials against multiple models (#8804) -- fix(api): apply oxfmt formatting to models.test.ts (#8808) -- fix(api): use GA model ID for gemini-3.5-flash on Vertex AI (#8810) -- 0.2.772 - ---- - -## v0.2.771 - -June 18, 2026 - -- chore(api): remove unused slack test route (#8795) -- fix(api): add 'google' to RouteProvider to fix typecheck (#8799) -- fix(api): make Vertex AI routing test deterministic across suite order (#8800) -- fix(api): use preview Gemini model IDs for Vertex AI and add validation logging (#8801) -- fix(api): apply oxfmt formatting to ai.ts (#8802) -- 0.2.771 - ---- - -## v0.2.770 - -June 18, 2026 - -- tembo-cli: warn agent about possible shell expansion issues (#8793) -- refactor(api): remove agent model test route (#8791) -- fix(api): allow non-anthropic models to route through GCP Vertex AI (#8798) -- 0.2.770 - ---- - -## v0.2.769 - -June 18, 2026 - -- fix(admin): source active hosts from host manager (#8750) -- feat(web): split ultra sandbox size flag (#8751) -- fix(desktop): pin xmldom below 0.9 (#8753) -- chore: update pnpm deps hash (#8754) -- feat(sandbox): add xxl sandbox size (#8752) -- fix(admin): label system golden sizes (#8757) -- feat(api): add Fireworks GLM 5.2 model (#8755) -- chore: fix slash menu when queue section is open (#8762) -- fix(api): remove unused issue source scan route (#8748) -- Route desktop notification clicks to sessions (#8758) -- docs(workflows): update auto fix ci template (#8767) -- major version update for many deprecated packages (#8766) -- feat(api): validate ai provider credentials (#8724) -- fix(shared): ignore openai annotation stream events (#8771) -- refactor(api): remove code repository settings route (#8764) -- fix: remove legacy session prompt paths (#8725) -- feat: tour mode (#8658) -- feat(mcp): add hamster suggested server (#8772) -- GLM LiteLLM fix (#8773) -- Add model provider selection (#8768) -- feat(api): add dead code cleanup template (#8776) -- fix(api): support bedrock for openai models (#8777) -- fix(web): add overscroll containment, sidebar overflow, and chat padding -- fix: regenerate pnpm lockfile to fix packageExtensionsChecksum mismatch (#8780) -- chore: remove root iam policy files (#8781) -- feat(api): add GCP Vertex AI support for Gemini models (#8786) -- feat(models): add gemini 3.5 flash support (#8790) -- fix(web): show tembo avatar for workflow prompts (#8789) -- Slack PR card: deal with diffs with only removals, add test cases (#8785) -- refactor(api): remove unused artifact fail route (#8774) -- 0.2.769 - ---- - -## v0.2.768 - -June 17, 2026 - -- fix(web): make gcp icon grayscale (#8716) -- feat(api): register host manager hosts (#8686) -- Plan desktop notifications system (#8433) -- fix(web): limit self-hosted version to settings (#8720) -- Add GCP Vertex AI BYOK support (#8527) -- orphaned vm cron tweak -- fixing medium sandbox on sh (#8727) -- UI(sandbox-runs): missing `AgentRun` check (#8730) -- agent_run: fix respond_to_user for GH external PRs responding in new PR (#8732) -- adding new cron for cleaning stale docker images (#8731) -- git skill: tell it to look for PR templates (#8735) -- feat: artifacts tab (#8712) -- Add connected account cards (#8740) -- fix(web): update vm logs sidebar icon (#8746) -- fix(slack): trigger workflows for bot messages (#8733) -- fix(api): improve commit of the day selection (#8747) -- 0.2.768 - ---- - -## v0.2.767 - -June 16, 2026 - -- refactor(terminal): extract xterm setup into reusable runtime module (#8693) -- chore: update pnpm deps hash (#8694) -- cachix busting for stale narinfos (#8695) -- chore(root): pin node 22.x and add zenstack package extension (#8696) -- dry run flag for ci job for sh (#8697) -- fix(github): auto-skip tembo pr workflow failures (#8688) -- New logs to help debug `/sandbox/commit` (#8700) -- Remove composer boundary (#8698) -- chore(nix): upgrade pnpm from v9 to v10 -- docs: add frontend frp override setup (#8701) -- `gitlab.mergeRequestOpened`: send `repoUrl` (#8705) -- updating flake and deps to pnpm-10 (#8699) -- pnpm audit changes (#8703) -- fix(web): show draft pr actions in sessions (#8706) -- `tembo commit` updates (#8704) -- 0.2.767 - ---- - -## v0.2.766 - -June 15, 2026 - -- feat(workflows): add stale pr notifier template (#8685) -- chore(nix): rebuild npm deps hash (#8692) -- 0.2.766 -- revert(root): bump version back to 0.2.765 -- 0.2.766 - ---- - -## v0.2.765 - -June 14, 2026 - -- fix(agents): remove nemotron from opencode and pi (#8682) -- Merge branch 'main' of https://github.com/tembo/monorepo -- 0.2.765 - ---- - -## v0.2.764 - -June 14, 2026 - -- chore: add nvidia icon (#8679) -- chore: rm composer container queries (#8681) -- feat(slack): support mcp message attachments (#8672) -- fix: stabilize sidebar tab selection and memoize VM start callback -- 0.2.764 - ---- - -## v0.2.763 - -June 13, 2026 - -- fix: wrap netrc-file in lib.mkDefault for self-hosted cache config -- fix(agents): disable fable 5 selections (#8670) -- fix(analytics): filter payment pr metrics by artifact (#8675) -- fix(agent-logs): hide response metadata events (#8676) -- feat(api): add missing fireworks models -- fix: restrict commit of the day to primary branch (#8677) -- test(api): type analytics pull request count mock (#8678) -- fix: defer iframe src until measured and simplify PR action slot logic -- 0.2.763 - ---- - -## v0.2.762 - -June 12, 2026 - -- fix: show recent runs without overfetching (#8601) -- chore: add sentry monitoring to composer (#8599) -- fix sandbox repository listing (#8603) -- chore: add coming soon badge to agent selector (#8602) -- Make everything enqueue agent_run (#8510) -- Add branch filter to PR opened trigger (#8606) -- fixing cachix token for self hosted (#8607) -- fix composer vm stop status refresh (#8610) -- fix: match Bitbucket PR author by all identifiers, not just nickname -- fix: replace tint2 launcher with panel buttons in kasmvnc config -- fix: spread overrides before defaults in mock PR payload -- Fix integration icon svgs (#8641) -- Fix Mermaid diagram contrast in markdown (#8632) -- Tembo CLI: helper method to deserialize JSON with better error msgs (#8643) -- fix vm stop migration timeout handling (#8633) -- TEM-7497: Disable split diff option when panel is narrow (#8648) -- getOrgLevelUrl: fix top-level `owner` (#8651) -- agent_run: default semantic commits instructions (#8650) -- fix: resolve git integrations from organization instead of issue (#8652) -- add slack dm utilities for tembo users (#8646) -- fix admin golden invalidation label (#8655) -- Add Tembo logo icon (#8656) -- `agent_run`: `Co-authored-by` + deny `git commit` (#8644) -- fix: simplify Slack DM types with direct type annotations -- `tembo commit`: allow verifying commits for issues with 0 repos linked (#8663) -- 0.2.761 -- Merge branch 'main' of https://github.com/tembo/monorepo -- 0.2.762 - ---- - -## v0.2.760 - -June 11, 2026 - -- fix: restore sidebar active tab and open tabs from local storage on session reopen (#8572) -- chore: fix review approved state (#8391) -- Linear: fallback `createdBy` (#8565) -- Update/nixpkgs (#8573) -- fix: opaque close-button fade on inactive sidebar tabs (#8574) -- Bugfix/sh logs and version check (#8578) -- fix: hide model label for agents without selectable models (amp) (#8575) -- Remove review page max width (#8579) -- Bugfix/sh logs and version check (#8581) -- add draft pr support to cli and mcp (#8584) -- cores update for builder (#8583) -- fix codex default profile config (#8591) -- decoupling the upload (#8592) -- feat: pre-load computer tab for internal users (#8590) -- Codex: deny the "apps" feature (#8588) -- Add sandbox repository listing tool (#8596) -- Merge branch 'main' of https://github.com/tembo/monorepo -- 0.2.760 - ---- - -## v0.2.759 - -June 11, 2026 - -- feat(jira): security/triage/test-coverage workflow templates (#8487) -- Slack: fix :hourglass: -> checkmark conversion (#8521) -- fix tembo dev shell defaults (#8540) -- feat: change agent in slash menu (#8509) -- Remove session reset and retry action (#8544) -- include issue pr urls in agent prompt (#8545) -- chore: fix z index in session page (#8548) -- Update command-menu-actions.tsx -- feat: add system golden build progress tracking to admin dashboard -- fix: format multiline span element in admin dashboard -- fix: add boot timeout and error handling for QEMU VM startup (#8547) -- agent_run Jira (#8533) -- chore: update slash menu styles (#8549) -- Bitbucket final nits (#8550) -- feat: select reasoning in slash menu (#8551) -- Update agent browser skill (#8552) -- fix slash menu dark overlay token (#8553) -- Keep Clerk enabled in sandbox dev shell (#8557) -- feat: select sandbox size in slash menu (#8556) -- Centralize agent run response retry prompt (#8561) -- feat: repo selector in slash menu (#8558) -- feat: add branches to slash menu (#8562) -- add snapshot deactivate action (#8560) -- feat: add attachments to slash menu (#8563) -- fix: add close button to right sidebar on mobile (#8564) -- Use success icon for cancelled tasks (#8567) -- fix: allow restarting the terminal after the session ends (#8569) -- fix: load .env earlier in config init, add prod DB guard, and fix right sidebar icon -- Revert "fix: load .env earlier in config init, add prod DB guard, and fix right sidebar icon" -- 0.2.759 - ---- - -## v0.2.758 - -June 10, 2026 - -- Enqueue `agent_run` for automations (#8481) -- Slack: make sections always expanded (#8508) -- Fix API test isolation failures (#8512) -- Remove session chat top padding (#8516) -- add kasmvnc recording cli command (#8455) -- Add reasoning levels for Claude Fable 5 (#8518) -- Show review sidebar tab behind feature flag (#8520) -- feat: skip code repository processing for inactive orgs (#8519) -- Update stop session modal copy (#8526) -- 0.2.758 - ---- - -## v0.2.757 - -June 9, 2026 - -- Feature/sh gh instance (#8488) -- Feature/sh gh instance (#8490) -- Feature/sh gh instance (#8493) -- Use packaged .NET SDK 10.0.300 in sandbox tools (#8496) -- Feature/sh gh instance (#8499) -- rename logs tab to vm logs (#8500) -- using all unstable to prevent bad packages (#8501) -- Bugfix/gh runner (#8502) -- Skip postClone when resuming from snapshots (#8467) -- fix(api): ensure file handle is closed in uploadObject finally block (#8466) -- `agent_run`: make sure a response is sent if required (#8462) -- chore: move mcps to slash menu (#8489) -- Add Claude Fable 5 pricing override (#8503) -- 0.2.757 - ---- - -## v0.2.756 - -June 9, 2026 - -- Suppress setup complete log for running VMs (#8451) -- fix review comments sidebar height (#8458) -- feat(integrations): snyk service-account install (#8368) -- agent_run: Slack tag user setting (#8457) -- ci: test sandbox cli nix build (#8460) -- Move sandbox logs into header menu (#8459) -- Potential fix for Slack's placeholder problem (#8463) -- Rename sandbox logs UI label (#8464) -- Add Windows desktop release build (#8465) -- add system golden holder invalidation (#8468) -- chore: index repo skill metadata (#8447) -- new runner for the build step of self hosted (#8473) -- `agent_run`: git instructions skill (#8461) -- feat: slash skills (#8410) -- Feature/sh gh instance (#8474) -- fix(db): index SandboxEvent by sandboxSessionId, createdAt (#8475) -- Review/session navigation polish + desktop back-nav fix (#8469) -- chore: pretty skills and better ux (#8479) -- fix api unit test mock leakage (#8483) -- add claude fable 5 model support (#8484) -- feat: add repo skills to slash menu (#8482) -- Feature/sh gh instance (#8485) -- Fix Slack attachment response tests (#8486) -- 0.2.756 - ---- - -## v0.2.755 - -June 8, 2026 - -- fix(qmp): apply consistent timeout to migrate and waitForMigration (#8431) -- Disable gnutls checks in stage2 image (#8432) -- feat(assets): add direct file upload with signed URLs and Slack attachments (#8422) -- support rebuilding all system goldens (#8435) -- refactor(admin): use named capture groups in month parsing regex -- fix sandbox logs icon sizing (#8442) -- fix: decouple sandbox cli startup from server route imports (#8440) -- fix(admin): narrow array access with explicit variable for type safety -- style: inline destructured params in API client functions -- fix(agent): use double assertion for CliSandboxApiClient cast -- Sync clerk membership role updates (#8446) -- fix api lint type definition (#8448) -- fix(snapshots): continue to build step when scheduling and update button labels (#8445) -- test(snapshots): clean up repeated optional chaining in schedule test -- Add drag-close threshold to right sidebar (#8441) -- agent_run: Make sure streaming stops after `send_response` is called (#8443) -- add diff options submenu arrow (#8454) -- `create-pull-request`: `Message.createdBy ?? Issue.createdBy` -- fix user prompt angle bracket rendering (#8452) -- fix: report upload failures to sentry (#8453) -- Move custom MCP card to custom category (#8456) -- 0.2.755 - ---- - -## v0.2.754 - -June 7, 2026 - -- fix(agent): defer setup log emission until sandbox is actually initializing (#8427) -- 0.2.754 diff --git a/resources/changelog.mdx b/resources/changelog.mdx deleted file mode 100644 index da56aec..0000000 --- a/resources/changelog.mdx +++ /dev/null @@ -1,4 +0,0 @@ ---- -title: "Changelog" -url: "https://tembo.io/changelog" ---- diff --git a/scripts/update-changelog.mjs b/scripts/update-changelog.mjs deleted file mode 100644 index 4c905e1..0000000 --- a/scripts/update-changelog.mjs +++ /dev/null @@ -1,149 +0,0 @@ -#!/usr/bin/env node -/** - * Fetches tags from tembo-io/monorepo and regenerates - * features/self-hosted/changelog.mdx. - * - * For each tag it shows the commits between that tag and the previous one. - * - * Requires a GitHub token with read access to the repo: - * GITHUB_TOKEN= node scripts/update-changelog.mjs - */ - -import { writeFileSync, readFileSync, existsSync } from "fs"; -import { join, dirname } from "path"; -import { fileURLToPath } from "url"; - -// Load .env if present (for local use) -const envPath = join(dirname(fileURLToPath(import.meta.url)), "../.env"); -if (existsSync(envPath)) { - for (const line of readFileSync(envPath, "utf8").split("\n")) { - const match = line.match(/^\s*([\w]+)\s*=\s*(.*)$/); - if (match) process.env[match[1]] ??= match[2].replace(/^["']|["']$/g, ""); - } -} - -const OWNER = "tembo"; -const REPO = "monorepo"; -const OUTPUT_PATH = join( - dirname(fileURLToPath(import.meta.url)), - "../features/self-hosted/changelog.mdx" -); -const MAX_TAGS = 20; - -const token = process.env.GITHUB_TOKEN; -const headers = { - Accept: "application/vnd.github+json", - "X-GitHub-Api-Version": "2022-11-28", - ...(token ? { Authorization: `Bearer ${token}` } : {}), -}; - -async function ghFetch(path) { - const res = await fetch(`https://api.github.com${path}`, { headers }); - if (!res.ok) { - throw new Error(`GitHub API error ${res.status} for ${path}: ${await res.text()}`); - } - return res.json(); -} - -async function fetchRecentTags() { - // GitHub returns tags newest-first, so page 1 gives us the most recent - return ghFetch(`/repos/${OWNER}/${REPO}/tags?per_page=${MAX_TAGS}&page=1`); -} - -// Fetch the commit date for a given SHA -async function fetchCommitDate(sha) { - const data = await ghFetch(`/repos/${OWNER}/${REPO}/commits/${sha}`); - return data.commit?.committer?.date ?? data.commit?.author?.date ?? null; -} - -// Get commits between two tags using the compare endpoint -async function fetchCommitsBetween(base, head) { - const data = await ghFetch( - `/repos/${OWNER}/${REPO}/compare/${base}...${head}` - ); - return data.commits ?? []; -} - -function formatDate(iso) { - return new Date(iso).toLocaleDateString("en-US", { - year: "numeric", - month: "long", - day: "numeric", - }); -} - -function escapeForMdx(text) { - return text.replace(/\{/g, "{").replace(/\}/g, "}"); -} - -function formatCommit(commit) { - const message = commit.commit.message.split("\n")[0]; // first line only - return `- ${escapeForMdx(message)}`; -} - -// --- main --- - -// Fetch one extra tag to use as base for the oldest tag's compare -const [tags, extraTags] = await Promise.all([ - fetchRecentTags(), - ghFetch(`/repos/${OWNER}/${REPO}/tags?per_page=1&page=${MAX_TAGS + 1}`), -]); -const olderBase = extraTags[0] ?? null; - -if (tags.length === 0) { - writeFileSync( - OUTPUT_PATH, - `---\ntitle: 'Changelog'\ndescription: 'Release notes for Tembo Self-Hosted.'\n---\n\n_No tags found._\n`, - "utf8" - ); - process.exit(0); -} - -// Fetch commit dates so we can sort tags chronologically -console.log(`Fetching commit dates for ${tags.length} tags...`); -const tagsWithDates = await Promise.all( - tags.map(async (tag) => { - const date = await fetchCommitDate(tag.commit.sha); - return { ...tag, date }; - }) -); - -// Sort newest first -tagsWithDates.sort((a, b) => new Date(b.date) - new Date(a.date)); - -// Build sections: for each tag, compare against the next older tag -console.log("Fetching commit ranges between tags..."); -const sections = await Promise.all( - tagsWithDates.map(async (tag, i) => { - // next in sorted order = older; fall back to the extra tag fetched outside the 20 - const prevTag = tagsWithDates[i + 1] ?? (i === tagsWithDates.length - 1 ? olderBase : null); - const date = tag.date ? formatDate(tag.date) : "Unknown date"; - - let commitLines; - if (prevTag) { - const commits = await fetchCommitsBetween(prevTag.name, tag.name); - commitLines = - commits.length > 0 - ? commits.map(formatCommit).join("\n") - : "_No commits found in this range._"; - } else { - commitLines = "_Initial release._"; - } - - return `## ${tag.name}\n\n${date}\n\n${commitLines}`; - }) -); - -const updatedAt = new Date().toISOString().split("T")[0]; -const mdx = `--- -title: 'Changelog' -description: 'Release notes for Tembo Self-Hosted.' ---- - -{/* Auto-generated by scripts/update-changelog.mjs — last updated ${updatedAt} */} - -${sections.join("\n\n---\n\n")} -`; - -writeFileSync(OUTPUT_PATH, mdx, "utf8"); -console.log(`Wrote ${tagsWithDates.length} tags to ${OUTPUT_PATH}`); From 0b76a613f5dbfe718f0ea5c55af27ebb3633cf03 Mon Sep 17 00:00:00 2001 From: Coleary005 Date: Wed, 24 Jun 2026 16:38:25 -0400 Subject: [PATCH 2/2] quick fix --- docs.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs.json b/docs.json index 8e94a1e..5d6e0e7 100644 --- a/docs.json +++ b/docs.json @@ -76,7 +76,7 @@ "features/self-hosted/integrations/github", "features/self-hosted/integrations/slack" ] - }, + } ] }, {