blog: announce default deployment retention on Appwrite Cloud by atharvadeosthale · Pull Request #14725 · appwrite/appwrite · GitHub
Skip to content

blog: announce default deployment retention on Appwrite Cloud - #14725

Open
atharvadeosthale wants to merge 3 commits into
mainfrom
blog/default-deployment-retention
Open

atharvadeosthale wants to merge 3 commits into
mainfrom
blog/default-deployment-retention

Conversation

@atharvadeosthale

@atharvadeosthale atharvadeosthale commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

Announces default deployment retention for Functions and Sites on Appwrite Cloud, effective November 5, 2026. Dated today, so users get two weeks of notice.

  • Blog post default-deployment-retention: what changes on each plan, what Appwrite always keeps, how existing settings carry over, how to keep deployments for longer, and that self-hosted Appwrite is unchanged.
  • Changelog entry 2026-10-21-1, linking to the post and reusing its cover.
  • Cover: hand-built 2920x1644 cover, converted with generate:content-images. Manifests regenerated.

The post leads with storage: inactive deployments fill project storage, and many Free organizations reach their 2GB storage limit because of them. It says early and plainly that only inactive deployments are affected and that the active deployment is never deleted.

Plan values in the post

Plan Default Longest you can set Inactive deployments kept per function or site
Free and Education 30 days 90 days 100
Start and Pro 30 days 3 years No limit

Enterprise starts from the Pro values, with a contact link for longer retention or a custom policy.

Behavior described

  • The active deployment and any deployment a custom domain points to are never deleted.
  • Functions and sites set to keep deployments forever move to the 30-day default.
  • A retention window above the plan maximum is shortened to the maximum, and new values above it are rejected with deployment_retention_exceeded.
  • A Server SDK update that leaves out deploymentRetention sets it back to 0, so the post tells readers to pass it on every update, and to use 1095 for the full 3 years (the Console presets stop at 2 years).
  • On Free and Education, the 100 newest inactive deployments are kept; builds in progress and deployments behind a custom domain don't count.
  • Age counts from when a deployment was created, so a long-running deployment is past the window as soon as a newer one replaces it. The post tells readers to set a longer window if they roll back to deployments like that.
  • Deleting a deployment removes its source code, build output, and preview URL.
  • Self-hosted Appwrite keeps retention off by default (0 to 36500 days).

Before merging

  • Confirm November 5 is the enforcement date for every plan.
  • The deployment retention sections in products/functions/deployments and products/sites/deployments still describe 0 as keeping deployments forever on every deployment. They also name an older Console path (Settings > Deployment retention; the card is now under Settings > Build > Retention). Update them on November 5, when enforcement starts, not before. The May announcement (announcing-deployment-retention) also says deployments can be kept forever; the new post doesn't link to it.

Test plan

  • Rendered /blog/post/default-deployment-retention and /changelog on a local Console dev server: the table, carry-over list, FAQs, cover, and changelog card render correctly.
  • bun run lint:content and bun run lint:removed-blog-links pass.
  • Every internal link resolves in this branch.

@tenki-reviewer

tenki-reviewer Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

Review complete. No issues found — approved ✅.


Content-only change to the console app introducing a product announcement for default deployment retention. All cross-references (changelog arrow link, cover paths, author file, manifest ordering) were checked and are consistent.

Files Change
apps/console/src/content/blog/posts/default-deployment-retention.markdoc New blog post with frontmatter, body, and FAQ covering the Nov 5 2026 retention rollout
apps/console/src/content/changelog/entries/2026-10-21-1.markdoc New changelog entry linking to the blog post
apps/console/src/lib/blog/generated/manifest.ts Regenerated manifest including the new post in date order
apps/console/src/lib/seo/cover-dimensions.json Adds dimensions for the new cover image
apps/console/public/images/blog/default-deployment-retention/cover.avif New blog cover image asset

Reviewed commit: 33409ac

@appwrite

appwrite Bot commented Oct 21, 2026 •

Copy link
Copy Markdown

New Console

Project ID: new-console

Sites (1)
Site Status Logs Preview QR
 New Console
new-console
Ready Ready View Logs Preview URL QR Code

Tip

Our Discord community has grown to 24K developers, and counting

@hansi-codes

hansi-codes Bot commented Oct 21, 2026 •

Copy link
Copy Markdown
Contributor

🟢 Tier S · Ready to merge

Adds a dated blog announcement explaining Appwrite Cloud’s default deployment-retention policy, plan limits, migration of existing settings, and self-hosted behavior. Adds a matching changelog entry and includes the generated cover image and metadata updates.

Latest changes: The latest commits clarify that Free and Education plans keep up to 100 deployments, explain that omitted Server SDK update settings reset deploymentRetention to 0, and change the storage-limit wording from projects to organizations.

Verdict New comments Fixed Still open
✅ Approved 0 0 0
📂 Walkthrough · 5
File Change
apps/console/src/content/blog/posts/default-deployment-retention.markdoc Adds the retention announcement, plan details, FAQs, and guidance for configuring retention.
apps/console/src/content/changelog/entries/2026-10-21-1.markdoc Announces the Cloud retention change and links to the blog post.
apps/console/src/lib/blog/generated/manifest.ts Registers the new post in the generated blog manifest.
apps/console/src/lib/seo/cover-dimensions.json Records the generated cover image dimensions.
apps/console/public/images/blog/default-deployment-retention/cover.avif Adds the announcement cover image.
🔇 Filtered out · 1

Findings Hansi considered but did not post.

Finding Why
Keep the storage limit scoped to projects Verifier: The changed sentence specifically concerns Free organizations. The existing Free-plan documentation (apps/console/src/content/docs/advanced/billing/free/index.markdoc:13, identical at base) explicitly states that Free-plan resources are shared across projects, whereas paid plans have dedicated per-project resources. The Education changelog describes Pro-equivalent allocations and does not establish Free-plan storage scope. The broadly worded pricing-blog FAQ therefore does not justify changing this Free-specific statement back to projects.

Reviewed the commits since 33409ac · Details · Comment @hansi-codes review to re-run, or mention @hansi-codes with a question.

@hansi-codes hansi-codes Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Tier S · Looks good to merge. Summary

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant