pr_01m47d15m3e54sn21z27rpy5n9/apps/web/app/lib/changelog.ts

114 lines5,165 bytesCodeBlame
1/**
2 * What is new on g1t, newest first, for the corner of mission control that
3 * says so. Short and specific: what changed, and where to see it. Add an
4 * entry in the same change that ships the feature.
5 */
6export type ChangelogEntry = {
7 /** `YYYY-MM-DD`. */
8 date: string;
9 title: string;
10 about: string;
11 /** Docs, or a page on g1t; `{workspace}` and `{project}` are filled in where known. */
12 href: string;
13};
14
15export const CHANGELOG: ChangelogEntry[] = [
16 {
17 date: "2026-10-05",
18 title: "Invites",
19 about:
20 "g1t is invite-only while we open it up. You have 5 invites: make one for anyone with the link or for one email address, copy it, and revoke it until it is used; an unused one comes back when it expires. Owners can invite an email address straight into a workspace, and it makes the account and joins in one step.",
21 href: "/settings#invites",
22 },
23 {
24 date: "2026-10-05",
25 title: "Status, security and policies",
26 about:
27 "g1t.sh/status checks every public part of g1t each minute and says plainly what it can't check yet; the dot beside Status in the footer and your account menu follows it. Security describes what protects your code and how to report a vulnerability, Support says who to write to, and Policies has the terms, privacy policy, acceptable use, refunds and subprocessors, with every change listed.",
28 href: "/status",
29 },
30 {
31 date: "2026-10-05",
32 title: "One plan, and limits you control",
33 about:
34 "The forge stays free. The g1t plan is $20 a month per workspace, with $10 of usage included and deployments part of it. Billing now has the $5 trial after a card check, your spend limit with how far you can raise it yourself, Raise my limit, Prepay, caps per run and per issue, and Keep going or Stop when spending spikes.",
35 href: "/{workspace}/-/billing",
36 },
37 {
38 date: "2026-10-05",
39 title: "A project overview that shows the way to production",
40 about:
41 "Production shows a screenshot of the live site, taken on each deploy. A checklist counts the steps to production, from first push to a first issue for g1t-agent, each linking to where it is done. Active branches show how far each has moved from main, with its pull request and preview.",
42 href: "https://docs.g1t.sh/guides/projects/#the-overview",
43 },
44 {
45 date: "2026-10-05",
46 title: "Setup for Claude Code, Codex, OpenCode and Cursor",
47 about:
48 "Wherever g1t shows how to connect your coding agent, pick yours: the command or config for it, with a copy button. Every block on the page follows your choice, and it is remembered.",
49 href: "https://docs.g1t.sh/guides/bring-your-own-agent/",
50 },
51 {
52 date: "2026-10-05",
53 title: "Browse public projects in the sidebar",
54 about:
55 "Public projects, Explore, Search and profiles use the sidebar whether you are signed in or not. A page you cannot see says so plainly, the same for private and missing, with a way to sign in or switch account.",
56 href: "https://docs.g1t.sh/guides/git/#browsing-without-an-account",
57 },
58 {
59 date: "2026-10-05",
60 title: "Cost plus 20%, on everything",
61 about:
62 "Sandbox time is charged at cost plus 20% from the first second, with no free minutes. Runs on your own model provider no longer carry a $0.10 fee: they pay only their sandbox time.",
63 href: "/pricing",
64 },
65 {
66 date: "2026-10-05",
67 title: "Catch up in seconds",
68 about:
69 "Catch up with main merges it in at once when the two changed different files. When they overlap, the merge box shows g1t-agent at work, step by step.",
70 href: "https://docs.g1t.sh/guides/pull-requests/#catching-up",
71 },
72 {
73 date: "2026-10-04",
74 title: "Agents and memory",
75 about: "Watch every agent run live, stop or message it, and see what agents learned about each project.",
76 href: "/{workspace}/-/agents",
77 },
78 {
79 date: "2026-10-04",
80 title: "Checks and conflicts",
81 about: "Workflow statuses on every pull request, and conflicts found before you press merge.",
82 href: "https://docs.g1t.sh/guides/pull-requests/",
83 },
84 {
85 date: "2026-10-04",
86 title: "Profiles",
87 about: "Your name, bio and everything you opened, in one place.",
88 href: "/settings",
89 },
90 {
91 date: "2026-10-04",
92 title: "Custom domains",
93 about: "Serve production on your own domain, with its certificate handled for you.",
94 href: "https://docs.g1t.sh/guides/deployments/",
95 },
96 {
97 date: "2026-10-04",
98 title: "Rename a workspace",
99 about: "Old addresses redirect for 90 days, so links and clones keep working.",
100 href: "/{workspace}/-/settings",
101 },
102 {
103 date: "2026-10-04",
104 title: "Workspace names and icons",
105 about: "Give a workspace a display name and an icon of its own.",
106 href: "/{workspace}/-/settings",
107 },
108];
109
110/** An entry's link, with the workspace filled in; null when it needs one and there is none. */
111export function changelogHref(entry: ChangelogEntry, workspace: string | null): string | null {
112 if (!entry.href.includes("{workspace}")) return entry.href;
113 return workspace ? entry.href.replaceAll("{workspace}", workspace) : null;
114}