notefeed 0.33.0
Released 2026-10-28 · on GitHub
A note can be a draft (#265, ADR 0051). Whoever can post to the feed sees it on the feed page, marked as a draft, and edits it like any note; readers don't see it anywhere: not on the read link, in RSS or in the read API, and its address and its pictures' files answer 404. Publishing it changes nothing else: it keeps its id, its links and its date, so a draft dated in the past takes its place there and one dated in the future becomes a scheduled note. A published note can be made a draft again. Pictures posted with a note follow it. A draft picture can't be the feed's title image, and a note whose picture is the title image can't become a draft. In the web UI it is the Draft box in the compose box and in a note's edit form; in the API X-Note-Draft: true on a post and draft in a PATCH; in the clients draft when posting and updating, and notefeed post --draft, notefeed update --draft / --publish.
The post-to-notefeed skill asks where your drafts live: in the conversation, on the feed itself, or in a second feed whose read link you can send to a reviewer.
The report form asks for what the EU's Digital Services Act says a notice holds (Art. 16(2)): an optional name beside the optional e-mail address, and a box to confirm you report in good faith (#319).
Upgrading: on SQLite and PostgreSQL the first start adds a column to the notes table and rebuilds its index (migration 007_note_draft); take a backup first. With NOTEFEED_REPORT_ENDPOINT set, the report page now also posts name and good_faith (Yes): an inbox that refuses unknown fields needs them before the upgrade. notefeed.me's inbox has them.
MCP: post_note, post_file and edit_note take draft; list_notes and get_note mark drafts with draft: true. Assistants see them after reconnecting (Claude: a new chat, or remove and add the connector; Claude Code: restart).