Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Binary file removed docs/assets/blocks/docs-blocks-button-appearance.png
Binary file not shown.
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-button-icon-label.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-button-sizes.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-alienblue.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-berrypurple.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-brown.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-coolgray.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-kiwigreen.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-lightblue.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-lime.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-mintgreen.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-orangered.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-periwinkle.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-puregray.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-red.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-sakurapink.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-yellow.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-colors-yelloworange.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-stacks-alignment.png
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-stacks-gap.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-stacks-padding.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-stacks-reverse.png
Binary file not shown.
Binary file removed docs/assets/blocks/docs-blocks-text-size.png
Diff not rendered.
Binary file removed docs/assets/blocks/docs-blocks-text-weights.png
Diff not rendered.
34 changes: 34 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,40 @@ To use the latest version of Devvit:

**Please note**: you may see features available across Devvit packages that are not documented or noted in our changelog. These are experimental features that are not stable and are subject to change, or removal, from the platform. Please use caution when testing or implementing experimental features.

# Release 0.14.0: Node.js v24, Wiki Integration, Devvit Skills (Experimental)
**Release Date: August 10, 2026**

**Node.js Upgrade**

Node.js v24.18.0 is now live across Devvit. All Devvit apps run on Node.js v24, the latest LTS release supported by Devvit, and no action is required. Although this is technically a breaking change, which we’re recognizing with the v0.14.0 minor version bump, we do not expect any negative user impact.

For the officially supported local development experience, we encourage users to upgrade their local Node version to v24.18.0. Devvit templates have also been updated so new apps start with the latest Node version by default ([example upgrade](https://github.com/reddit/devvit-template-bare/pull/52/changes)).

This upgrade also unlocks Node features added since Devvit’s previous runtime version, Node.js v22.5.1. You can read the full list in the [Node.js v24.18.0 changelog](https://nodejs.org/en/blog/release/v24.18.0), including newer platform APIs such as URLPattern. While Devvit still requires server code to be bundled to JavaScript, local unit tests and scripts can now take advantage of native Node.js TypeScript support without a separate compilation step ([example](https://github.com/reddit/devvit-template-bare/blob/main/src/server/server.test.ts)).

**Wiki Integration**

Devvit apps can now access the newer wiki pages available on Reddit web and mobile. Wiki-related methods now accept an optional `WikiVersion` parameter so you can choose which wiki system to target: `v1` for existing old Reddit wikis, which remains the default, or `v2` for the newer wiki experience.

Not all subreddits are enrolled in v2 wikis yet, so this release also adds `reddit.isWikiV2Enabled()` to check whether a subreddit supports them. Calling a v2 wiki operation for a subreddit that is not enrolled will result in an error.

Note that v1 and v2 wikis operate independently. A subreddit can have pages with the same title in both versions, but those pages can contain different content, and edits to one version will not affect the other.

**Deprecations**

The `reddit.getWikiPage(subredditName, page, revisionId)` signature has been deprecated in favor of `reddit.getWikiPage(subredditName, page, options)`, which allows multiple optional parameters.

The `WikiPage.revisionAuthor` and `WikiPageRevision.author` fields have been deprecated in favor of `WikiPage.revisionAuthorId` and `WikiPageRevision`.authorId. Use `reddit.getUserById()` with those IDs when you need to fetch the full user object.

**Devvit Skills (Experimental)**

We’re announcing the [devvit-skills](https://github.com/reddit/devvit-skills) repository for Devvit. Use it to give AI coding agents access to Devvit docs and other Devvit-specific guidance. This is experimental, and we plan to add more useful skills in the future.

The first available skill, `devvit-docs`, helps agents answer Devvit questions using the official [reddit/devvit-docs](https://github.com/reddit/devvit-docs) repository as the source of truth. It detects the Devvit version in your project, searches the matching docs when available, and cites the files and sections used in its answer.

**Devvit Test Redis Changes**

Comment thread
galactic-magpie marked this conversation as resolved.
We’ve migrated to a JS only implementation of Redis inside of [Devvit test](https://developers.reddit.com/docs/guides/tools/devvit_test). This should make it easier to install and work with. While not a breaking change, it's possible the new Redis mock behaves differently compared to the previous version. If you run into any issues, please [let us know on Github](https://github.com/reddit/devvit)!
## Release 0.13.11: Behind-the-Scenes Improvements
**Release Date: August 3, 2026***

Expand Down
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[**@devvit/public-api v0.14.0-dev**](../../../README.md)

***

# Devvit

## Type Aliases

- [~~Context~~](type-aliases/Context.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Type Alias: ~~Context~~

> **Context** = [`ContextAPIClients`](../../../../type-aliases/ContextAPIClients.md) & [`BaseContext`](../../../../type-aliases/BaseContext.md)

The current app context of the event or render.

## Deprecated

- Please switch to the `Context` type exported by public-api.
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
[**@devvit/public-api v0.14.0-dev**](../../../README.md)

***

# EventTypes

#events.ts

Code generated by ts-proto. DO NOT EDIT.

## Enumerations

- [DeletionReason](enumerations/DeletionReason.md)
- [EventSource](enumerations/EventSource.md)

## Interfaces

- [AccountDelete](interfaces/AccountDelete.md)
- [AppInstall](interfaces/AppInstall.md)
- [AppUpgrade](interfaces/AppUpgrade.md)
- [AutomoderatorFilterComment](interfaces/AutomoderatorFilterComment.md)
- [AutomoderatorFilterPost](interfaces/AutomoderatorFilterPost.md)
- [CommentApprove](interfaces/CommentApprove.md)
- [CommentCreate](interfaces/CommentCreate.md)
- [CommentDelete](interfaces/CommentDelete.md)
- [CommentReport](interfaces/CommentReport.md)
- [CommentSubmit](interfaces/CommentSubmit.md)
- [CommentUpdate](interfaces/CommentUpdate.md)
- [MentionInCommentCreate](interfaces/MentionInCommentCreate.md)
- [PostApprove](interfaces/PostApprove.md)
- [PostCreate](interfaces/PostCreate.md)
- [PostDelete](interfaces/PostDelete.md)
- [PostFlairUpdate](interfaces/PostFlairUpdate.md)
- [PostNsfwUpdate](interfaces/PostNsfwUpdate.md)
- [PostReport](interfaces/PostReport.md)
- [PostSpoilerUpdate](interfaces/PostSpoilerUpdate.md)
- [PostSubmit](interfaces/PostSubmit.md)
- [PostUpdate](interfaces/PostUpdate.md)
- [SubredditSubscribe](interfaces/SubredditSubscribe.md)
- [Vote](interfaces/Vote.md)

## Variables

- [AccountDelete](variables/AccountDelete.md)
- [AppInstall](variables/AppInstall.md)
- [AppUpgrade](variables/AppUpgrade.md)
- [AutomoderatorFilterComment](variables/AutomoderatorFilterComment.md)
- [AutomoderatorFilterPost](variables/AutomoderatorFilterPost.md)
- [CommentApprove](variables/CommentApprove.md)
- [CommentCreate](variables/CommentCreate.md)
- [CommentDelete](variables/CommentDelete.md)
- [CommentReport](variables/CommentReport.md)
- [CommentSubmit](variables/CommentSubmit.md)
- [CommentUpdate](variables/CommentUpdate.md)
- [MentionInCommentCreate](variables/MentionInCommentCreate.md)
- [PostApprove](variables/PostApprove.md)
- [PostCreate](variables/PostCreate.md)
- [PostDelete](variables/PostDelete.md)
- [PostFlairUpdate](variables/PostFlairUpdate.md)
- [PostNsfwUpdate](variables/PostNsfwUpdate.md)
- [PostReport](variables/PostReport.md)
- [PostSpoilerUpdate](variables/PostSpoilerUpdate.md)
- [PostSubmit](variables/PostSubmit.md)
- [PostUpdate](variables/PostUpdate.md)
- [SubredditSubscribe](variables/SubredditSubscribe.md)
- [Vote](variables/Vote.md)

## Functions

- [deletionReasonFromJSON](functions/deletionReasonFromJSON.md)
- [deletionReasonToJSON](functions/deletionReasonToJSON.md)
- [eventSourceFromJSON](functions/eventSourceFromJSON.md)
- [eventSourceToJSON](functions/eventSourceToJSON.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Enumeration: DeletionReason

## Enumeration Members

<a id="explicit_content"></a>

### EXPLICIT\_CONTENT

> **EXPLICIT\_CONTENT**: `5`

***

<a id="legal"></a>

### LEGAL

> **LEGAL**: `2`

***

<a id="other"></a>

### OTHER

> **OTHER**: `3`

***

<a id="spam"></a>

### SPAM

> **SPAM**: `1`

***

<a id="unknown"></a>

### UNKNOWN

> **UNKNOWN**: `4`

***

<a id="unrecognized"></a>

### UNRECOGNIZED

> **UNRECOGNIZED**: `-1`

***

<a id="unspecified_deletion_reason"></a>

### UNSPECIFIED\_DELETION\_REASON

> **UNSPECIFIED\_DELETION\_REASON**: `0`
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Enumeration: EventSource

## Enumeration Members

<a id="admin"></a>

### ADMIN

> **ADMIN**: `2`

***

<a id="moderator"></a>

### MODERATOR

> **MODERATOR**: `3`

***

<a id="unknown_event_source"></a>

### UNKNOWN\_EVENT\_SOURCE

> **UNKNOWN\_EVENT\_SOURCE**: `0`

***

<a id="unrecognized"></a>

### UNRECOGNIZED

> **UNRECOGNIZED**: `-1`

***

<a id="user"></a>

### USER

> **USER**: `1`
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Function: deletionReasonFromJSON()

> **deletionReasonFromJSON**(`object`): [`DeletionReason`](../enumerations/DeletionReason.md)

## Parameters

### object

`any`

## Returns

[`DeletionReason`](../enumerations/DeletionReason.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Function: deletionReasonToJSON()

> **deletionReasonToJSON**(`object`): `number`

## Parameters

### object

[`DeletionReason`](../enumerations/DeletionReason.md)

## Returns

`number`
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Function: eventSourceFromJSON()

> **eventSourceFromJSON**(`object`): [`EventSource`](../enumerations/EventSource.md)

## Parameters

### object

`any`

## Returns

[`EventSource`](../enumerations/EventSource.md)
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Function: eventSourceToJSON()

> **eventSourceToJSON**(`object`): `number`

## Parameters

### object

[`EventSource`](../enumerations/EventSource.md)

## Returns

`number`
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Interface: AccountDelete

## Properties

<a id="deletedat"></a>

### deletedAt?

> `optional` **deletedAt**: `Date`

***

<a id="user"></a>

### user?

> `optional` **user**: `UserV2`

***

<a id="userid"></a>

### userId

> **userId**: `string`
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Interface: AppInstall

## Properties

<a id="installer"></a>

### installer?

> `optional` **installer**: `UserV2`

***

<a id="subreddit"></a>

### subreddit?

> `optional` **subreddit**: `SubredditV2`
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[**@devvit/public-api v0.14.0-dev**](../../../../README.md)

***

# Interface: AppUpgrade

## Properties

<a id="installer"></a>

### installer?

> `optional` **installer**: `UserV2`

***

<a id="subreddit"></a>

### subreddit?

> `optional` **subreddit**: `SubredditV2`
Loading
Loading