{"version":"https://jsonfeed.org/version/1.1","title":"microfeed","home_page_url":"https://www.microfeed.org","feed_url":"https://microfeed-org.pages.dev/json/","description":"

#opensource #serverless #free #headless

","icon":"https://microfeed-org.pages.dev/assets/default/channel-image.png","favicon":"https://microfeed-org.pages.dev/assets/default/favicon.png","authors":[{"name":"Listen Notes, Inc."}],"language":"en-us","items":[{"id":"frJLel6J2W-","title":"New release v0.1.5: Upgrade to Wrangler v4 and Tailwind v4","url":"https://www.microfeed.org/i/new-release-v015-upgrade-to-wrangler-v4-and-tai-frJLel6J2W-/","content_html":"

Since the inception of the microfeed project, we've been using Cloudflare Wrangler v2.x. With the recent update, Wrangler now runs on v4, and we've upgraded accordingly. Sticking with the older version would have led to a cascade of breaking changes that would be increasingly difficult to manage over time. By upgrading incrementally now, we reduce future technical debt and ensure a smoother transition for upcoming updates.


Additionally, we've upgraded Tailwind CSS—the framework we use to style the admin UI—to its latest version. This update also introduces breaking changes that we need to address. Upgrading now positions us to avoid more complex challenges down the road.

","content_text":"Since the inception of the microfeed project, we've been using Cloudflare\nWrangler v2.x. With the recent update, Wrangler now runs on v4, and we've\nupgraded accordingly. Sticking with the older version would have led to a\ncascade of breaking changes that would be increasingly difficult to manage over\ntime. By upgrading incrementally now, we reduce future technical debt and ensure\na smoother transition for upcoming updates.\n\n\n\n\nAdditionally, we've upgraded Tailwind CSS—the framework we use to style the\nadmin UI—to its latest version. This update also introduces breaking changes\nthat we need to address. Upgrading now positions us to avoid more complex\nchallenges down the road.","date_published":"2025-03-14T23:39:48.424Z","_microfeed":{"web_url":"https://microfeed-org.pages.dev/i/new-release-v015-upgrade-to-wrangler-v4-and-tai-frJLel6J2W-/","json_url":"https://microfeed-org.pages.dev/i/frJLel6J2W-/json/","rss_url":"https://microfeed-org.pages.dev/i/frJLel6J2W-/rss/","guid":"frJLel6J2W-","status":"published","itunes:episodeType":"full","date_published_short":"Fri Mar 14 2025","date_published_ms":1741995588424}},{"id":"Asz44We3XZP","title":"Migrating Your Microfeed Instance from D1 Alpha to D1 Production","url":"https://www.microfeed.org/i/migrating-your-d1-database-before-cloudflare-depre-Asz44We3XZP/","content_html":"

Microfeed relies on Cloudflare's D1 database to store metadata. If you set up a Microfeed instance last year or earlier, it's likely running on the D1 alpha version. Recently, Cloudflare announced plans to discontinue and eventually delete databases created with D1 alpha. To keep your existing Microfeed instances functioning, migration from the alpha to the production version of D1 is necessary.


This guide will walk you through the process of migrating your Microfeed D1 alpha database to the production version.


Email Notification from Cloudflare


Cloudflare has sent out notifications regarding the depreciation and subsequent deletion of D1 alpha databases. This announcement necessitates action from our users to prevent any loss of functionality.



Migration Steps


Migrating your database involves two primary steps:

  1. Copying your existing D1 database to a new one.
  2. Configuring your Microfeed instance to connect to the new database.


Step 1: Copy Your Existing D1 Database


The migration process begins with creating a copy of your current database:

  1. Export your existing database to SQL: Use the Wrangler CLI to authenticate with wrangler login.
  2. Identify your existing database: Run wrangler d1 list and wrangler d1 info <database_name> to confirm it's an alpha version.
  3. Create a backup: Execute wrangler d1 backup create <database_name> and download the backup with wrangler d1 backup download <database_name> <backup_id> --output db.sqlite3.
  4. Generate an SQL dump: Convert the downloaded SQLite3 database file into an SQL dump using sqlite3 db.sqlite3 .dump > db.sql.


With the SQL dump ready, proceed to set up a new D1 production database:

  1. Create a new database: Run wrangler d1 create <new_database_name>, appending _v1 (or _new) to differentiate from the alpha version.
  2. Restore data: Import your SQL dump into the new database with wrangler d1 execute <new_database_name> --remote --file=./db.sql.
  3. Verify creation: Confirm the new database setup by checking with wrangler d1 info <new_database_name> and manually inspecting data via your Cloudflare dashboard.


Step 2: Update Your Microfeed Instance


Reconfigure your Microfeed instance to connect to the new database:


1) Update your codebase: Ensure your Microfeed fork is up-to-date on GitHub.

2) Set a new environment secret: Add the D1_DATABASE_NAME secret on GitHub with the name of your new D1 database (<new_database_name>).


3) Deploy changes: Re-deploy your Microfeed instance by triggering the deploy GitHub action.



Testing and Validation


After migration, create an unlisted item in your Microfeed admin panel to verify that the new item appears in the new D1 database. This test confirms that the migration was successful.


Conclusion


Unfortunately, Cloudflare does not provide a one-click solution for this migration. However, following these detailed steps should guide you through the process smoothly. If you encounter any issues or have questions, please reach out to us at support@microfeed.com. We're here to help ensure your transition is as seamless as possible.

","content_text":"Microfeed relies on Cloudflare's D1 database to store metadata. If you set up a\nMicrofeed instance last year or earlier, it's likely running on the D1 alpha\nversion. Recently, Cloudflare announced plans to discontinue and eventually\ndelete databases created with D1 alpha. To keep your existing Microfeed\ninstances functioning, migration from the alpha to the production version of D1\nis necessary.\n\n\n\n\nThis guide will walk you through the process of migrating your Microfeed D1\nalpha database to the production version.\n\n\n\n\n\nEMAIL NOTIFICATION FROM CLOUDFLARE\n\n\n\n\nCloudflare has sent out notifications regarding the depreciation and subsequent\ndeletion of D1 alpha databases. This announcement necessitates action from our\nusers to prevent any loss of functionality.\n\n\n\n\n[https://media-cdn.microfeed.org/microfeed-org/production/media/rich-editor/items/Asz44We3XZP/image-97339ae28bc966fa30f7b22424ab6ae7.png]\n\n\n\n\n\nMIGRATION STEPS\n\n\n\n\nMigrating your database involves two primary steps:\n\n 1. Copying your existing D1 database to a new one.\n 2. Configuring your Microfeed instance to connect to the new database.\n\n\n\n\n\nSTEP 1: COPY YOUR EXISTING D1 DATABASE\n\n\n\n\nThe migration process begins with creating a copy of your current database:\n\n 1. Export your existing database to SQL: Use the Wrangler CLI to authenticate\n with wrangler login.\n 2. Identify your existing database: Run wrangler d1 list and wrangler d1 info\n to confirm it's an alpha version.\n 3. Create a backup: Execute wrangler d1 backup create and\n download the backup with wrangler d1 backup download \n --output db.sqlite3.\n 4. Generate an SQL dump: Convert the downloaded SQLite3 database file into an\n SQL dump using sqlite3 db.sqlite3 .dump > db.sql.\n\n\n\n\nWith the SQL dump ready, proceed to set up a new D1 production database:\n\n 1. Create a new database: Run wrangler d1 create , appending\n _v1 (or _new) to differentiate from the alpha version.\n 2. Restore data: Import your SQL dump into the new database with wrangler d1\n execute --remote --file=./db.sql.\n 3. Verify creation: Confirm the new database setup by checking with wrangler d1\n info and manually inspecting data via your Cloudflare\n dashboard.\n\n\n\n\n\nSTEP 2: UPDATE YOUR MICROFEED INSTANCE\n\n\n\n\nReconfigure your Microfeed instance to connect to the new database:\n\n\n\n\n1) Update your codebase: Ensure your Microfeed fork is up-to-date on GitHub.\n\n[https://media-cdn.microfeed.org/microfeed-org/production/media/rich-editor/items/Asz44We3XZP/image-fc704755e3b2d7990cc80c128becec9c.png]\n\n2) Set a new environment secret: Add the D1_DATABASE_NAME secret on GitHub with\nthe name of your new D1 database ().\n\n\n\n\n[https://media-cdn.microfeed.org/microfeed-org/production/media/rich-editor/items/Asz44We3XZP/image-372ae0af69c70a7e05c0382bdef12a9f.png]\n\n3) Deploy changes: Re-deploy your Microfeed instance by triggering the deploy\nGitHub action.\n\n\n\n\n[https://media-cdn.microfeed.org/microfeed-org/production/media/rich-editor/items/Asz44We3XZP/image-c7e2e6be9f8211cebd8850b84bce7b68.png]\n\n\n\n\n\n\nTESTING AND VALIDATION\n\n\n\n\nAfter migration, create an unlisted item in your Microfeed admin panel to verify\nthat the new item appears in the new D1 database. This test confirms that the\nmigration was successful.\n\n\n\n\n\nCONCLUSION\n\n\n\n\nUnfortunately, Cloudflare does not provide a one-click solution for this\nmigration. However, following these detailed steps should guide you through the\nprocess smoothly. If you encounter any issues or have questions, please reach\nout to us at support@microfeed.com. We're here to help ensure your transition is\nas seamless as possible.","date_published":"2024-05-10T19:14:55.210Z","_microfeed":{"web_url":"https://microfeed-org.pages.dev/i/migrating-your-microfeed-instance-from-d1-alpha-to-Asz44We3XZP/","json_url":"https://microfeed-org.pages.dev/i/Asz44We3XZP/json/","rss_url":"https://microfeed-org.pages.dev/i/Asz44We3XZP/rss/","guid":"Asz44We3XZP","status":"published","itunes:episodeType":"full","date_published_short":"Fri May 10 2024","date_published_ms":1715368495210}},{"id":"ZQxgQnG71PC","title":"New release v0.1.2: Introducing Microfeed's Powerful CRUD API for Effortless Content Management","attachments":[{"url":"https://media-cdn.microfeed.org/microfeed-org/production/media/audio-752acc9ce423516370bb4883b12e2321.mp3","mime_type":"audio/mpeg","size_in_byte":874118,"duration_in_seconds":92}],"url":"https://www.microfeed.org/i/new-release-v012-microfeed-api-ZQxgQnG71PC/","content_html":"

We are pleased to announce the release of microfeed v0.1.2.

With the introduction of a comprehensive CRUD API in this new release, microfeed empowers users to seamlessly create, update, and delete content programmatically.

To harness the power of the new CRUD API, users must navigate to the /admin/settings/ page in their microfeed dashboard. Here, a simple toggle option allows you to enable the API, unlocking a world of possibilities for content management automation. Once enabled, you can begin integrating microfeed into your existing workflows or build entirely new applications that interact with the platform.


To ensure a smooth integration process, microfeed has provided a comprehensive documentation page for the new API release. Accessible at /json/openapi on a microfeed instance (e.g., https://www.microfeed.org/json/openapi), the documentation guides users through the various endpoints, request structures, and response formats supported by the API.

We encourage all users to update their forked repo to the latest version of microfeed and re-deploy to Cloudflare. Thank you for your continued support, and we look forward to hearing your feedback on the latest release of microfeed: support@microfeed.org

","content_text":"We are pleased to announce the release of microfeed v0.1.2.\n\nWith the introduction of a comprehensive CRUD API in this new release, microfeed\nempowers users to seamlessly create, update, and delete content\nprogrammatically.\n\nTo harness the power of the new CRUD API, users must navigate to the\n/admin/settings/ page in their microfeed dashboard. Here, a simple toggle option\nallows you to enable the API, unlocking a world of possibilities for content\nmanagement automation. Once enabled, you can begin integrating microfeed into\nyour existing workflows or build entirely new applications that interact with\nthe platform.\n\n[https://media-cdn.microfeed.org/microfeed-org/production/media/rich-editor/items/ZQxgQnG71PC/image-05caf1d8f526c0e964db776e91fd2634.png]\n\n\n\n\nTo ensure a smooth integration process, microfeed has provided a comprehensive\ndocumentation page for the new API release. Accessible at /json/openapi on a\nmicrofeed instance (e.g., https://www.microfeed.org/json/openapi), the\ndocumentation guides users through the various endpoints, request structures,\nand response formats supported by the API.\n\nWe encourage all users to update their forked repo to the latest version of\nmicrofeed and re-deploy to Cloudflare. Thank you for your continued support, and\nwe look forward to hearing your feedback on the latest release of\nmicrofeed: support@microfeed.org","date_published":"2023-05-15T02:42:00.081Z","_microfeed":{"is_audio":true,"is_document":false,"is_external_url":false,"is_video":false,"is_image":false,"web_url":"https://microfeed-org.pages.dev/i/new-release-v012-introducing-microfeeds-powerf-ZQxgQnG71PC/","json_url":"https://microfeed-org.pages.dev/i/ZQxgQnG71PC/json/","rss_url":"https://microfeed-org.pages.dev/i/ZQxgQnG71PC/rss/","guid":"ZQxgQnG71PC","status":"published","duration_hhmmss":"00:01:32","itunes:episodeType":"full","date_published_short":"Sun May 14 2023","date_published_ms":1684118520081}},{"id":"BprBswbLr1y","title":"New release v0.1.1: Follow-up improvements after the initial launch of v0.1.0","attachments":[{"url":"https://media-cdn.microfeed.org/microfeed-org/production/media/audio-bd99c7997f0e181e3c4ad411a1160292.mp3","mime_type":"audio/mpeg","size_in_byte":1014845,"duration_in_seconds":89}],"url":"https://www.microfeed.org/i/new-release-v011-followup-improvements-after-th-BprBswbLr1y/","content_html":"

We are pleased to announce the release of microfeed v0.1.1.


We launched the first version of microfeed (v0.1.0) around 50 days ago, and since then, we've received numerous bug reports, feature requests, and other useful feedbacks . We would like to express our gratitude to all our users for their valuable contributions.


This latest release (v0.1.1) brings three main categories of changes, which include bug fixes, DevOps-related improvements, and adding the OpenAPI spec for json feed. Specifically, we have added the OpenAPI spec in YAML and HTML, which will provide greater clarity and ease of use for our users.


One notable use case of microfeed is as a headless CMS. With our admin dashboard, human editors can easily publish content, while custom code (such as scripts or mobile apps) or third-party software (such as Zapier or Hugo) can consume content via microfeed's JSON feed. For example, you can find our website's JSON feed at microfeed.org/json.


We encourage all users to update their forked repo to the latest version of microfeed and re-deploy to Cloudflare. Thank you for your continued support, and we look forward to hearing your feedback on the latest release of microfeed: support@microfeed.org

","content_text":"We are pleased to announce the release of microfeed v0.1.1.\n\n\n\n\nWe launched the first version of microfeed (v0.1.0) around 50 days ago, and\nsince then, we've received numerous bug reports, feature requests, and other\nuseful feedbacks . We would like to express our gratitude to all our users for\ntheir valuable contributions.\n\n\n\n\nThis latest release (v0.1.1) brings three main categories of changes, which\ninclude bug fixes, DevOps-related improvements, and adding the OpenAPI spec for\njson feed. Specifically, we have added the OpenAPI spec in YAML and HTML, which\nwill provide greater clarity and ease of use for our users.\n\n\n\n\nOne notable use case of microfeed is as a headless CMS. With our admin\ndashboard, human editors can easily publish content, while custom code (such as\nscripts or mobile apps) or third-party software (such as Zapier or Hugo) can\nconsume content via microfeed's JSON feed. For example, you can find our\nwebsite's JSON feed at microfeed.org/json.\n\n\n\n\nWe encourage all users to update their forked repo to the latest version of\nmicrofeed and re-deploy to Cloudflare. Thank you for your continued support, and\nwe look forward to hearing your feedback on the latest release of microfeed:\nsupport@microfeed.org","date_published":"2023-02-17T23:21:28.106Z","_microfeed":{"is_audio":true,"is_document":false,"is_external_url":false,"is_video":false,"is_image":false,"web_url":"https://microfeed-org.pages.dev/i/new-release-v011-follow-up-improvements-after-t-BprBswbLr1y/","json_url":"https://microfeed-org.pages.dev/i/BprBswbLr1y/json/","rss_url":"https://microfeed-org.pages.dev/i/BprBswbLr1y/rss/","guid":"BprBswbLr1y","status":"published","duration_hhmmss":"00:01:29","itunes:episodeType":"full","date_published_short":"Fri Feb 17 2023","date_published_ms":1676676088106}},{"id":"uhbQEmArlC2","title":"Introducing microfeed: A Self-Hosted, Open-Source CMS on Cloudflare (open alpha)","attachments":[{"url":"https://media-cdn.microfeed.org/microfeed-org/production/media/audio-ae5b0090a232669a014b073b3c793501.mp3","mime_type":"audio/mpeg","size_in_byte":1512767,"duration_in_seconds":160}],"url":"https://www.microfeed.org/i/ntroducing-microfeed-uhbQEmArlC2/","content_html":"

In today's digital world, feeds play a vital role in the way we consume and share information. Whether it's a podcast feed of audio content, a YouTube channel full of videos, or a social media account with tweets or photos, feeds have become a cornerstone of the internet.


However, with the increasing importance of freedom of speech, it's easy to get de-platformed from centralized hosting services like YouTube, Twitter, and Instagram. These services have the power to delete your account and all of your content, leaving you with no way to share your message.


That's where microfeed comes in. As a self-hosted, open-source CMS on Cloudflare, microfeed allows you to create your own feed of content (text, audio, video, images, etc.) and host it under your own custom domain. This way, you can own your data and your domain name, reducing the risk of being de-platformed and giving you the ability to migrate your data to a different platform if needed.


microfeed is currently in open alpha, so use it at your own risk. However, it's already a powerful tool that makes it easy to create and manage your own feed. The self-hosted microfeed instance is deployed via GitHub Actions and runs on Cloudflare's serverless platform, taking advantage of products like Pages, R2, D1, and Zero Trust.


Your microfeed instance can distribute content through a customizable website, an RSS feed (compatible with podcast RSS), and a JSON feed. And with the simple, yet powerful admin dashboard, adding new content to your feed is a breeze.


To get started with microfeed, you'll need to fork the repository to your personal or organizational GitHub account and set up Cloudflare API tokens as secrets. From there, you can use a predefined GitHub Action to deploy the code to Cloudflare Pages and set up custom domains and security settings in the Cloudflare dashboard.


While the initial setup may sound complex, future deployments are as easy as clicking a button on GitHub Actions. In the future, we hope to see Cloudflare offer a \"Login with Cloudflare\" OAuth feature to make the process even easier for users.


For detailed installation instructions, visit the microfeed repository on GitHub:



If you have any questions or feedback, don't hesitate to reach out to us at support@microfeed.org. We're excited to see what you create with microfeed!

","content_text":"In today's digital world, feeds play a vital role in the way we consume and\nshare information. Whether it's a podcast feed of audio content, a YouTube\nchannel full of videos, or a social media account with tweets or photos, feeds\nhave become a cornerstone of the internet.\n\n\n\n\nHowever, with the increasing importance of freedom of speech, it's easy to get\nde-platformed from centralized hosting services like YouTube, Twitter, and\nInstagram. These services have the power to delete your account and all of your\ncontent, leaving you with no way to share your message.\n\n\n\n\nThat's where microfeed comes in. As a self-hosted, open-source CMS on\nCloudflare, microfeed allows you to create your own feed of content (text,\naudio, video, images, etc.) and host it under your own custom domain. This way,\nyou can own your data and your domain name, reducing the risk of being\nde-platformed and giving you the ability to migrate your data to a different\nplatform if needed.\n\n\n\n\nmicrofeed is currently in open alpha, so use it at your own risk. However, it's\nalready a powerful tool that makes it easy to create and manage your own feed.\nThe self-hosted microfeed instance is deployed via GitHub Actions and runs on\nCloudflare's serverless platform, taking advantage of products like Pages, R2,\nD1, and Zero Trust.\n\n\n\n\nYour microfeed instance can distribute content through a customizable website,\nan RSS feed (compatible with podcast RSS), and a JSON feed. And with the simple,\nyet powerful admin dashboard, adding new content to your feed is a breeze.\n\n\n\n\nTo get started with microfeed, you'll need to fork the repository to your\npersonal or organizational GitHub account and set up Cloudflare API tokens as\nsecrets. From there, you can use a predefined GitHub Action to deploy the code\nto Cloudflare Pages and set up custom domains and security settings in the\nCloudflare dashboard.\n\n\n\n\nWhile the initial setup may sound complex, future deployments are as easy as\nclicking a button on GitHub Actions. In the future, we hope to see Cloudflare\noffer a \"Login with Cloudflare\" OAuth feature to make the process even easier\nfor users.\n\n\n\n\nFor detailed installation instructions, visit the microfeed repository on\nGitHub:\n\n\n\n\n[https://opengraph.githubassets.com/7eaca2f6313298d926997983e282b39102a36a56071f950e35c69a8591588dd4/microfeed/microfeed]\n\n\n\n\nIf you have any questions or feedback, don't hesitate to reach out to us at\nsupport@microfeed.org. We're excited to see what you create with microfeed!","date_published":"2022-12-27T08:25:00.000Z","_microfeed":{"is_audio":true,"is_document":false,"is_external_url":false,"is_video":false,"is_image":false,"web_url":"https://microfeed-org.pages.dev/i/introducing-microfeed-a-self-hosted-open-source-uhbQEmArlC2/","json_url":"https://microfeed-org.pages.dev/i/uhbQEmArlC2/json/","rss_url":"https://microfeed-org.pages.dev/i/uhbQEmArlC2/rss/","guid":"uhbQEmArlC2","status":"published","duration_hhmmss":"00:02:40","itunes:episodeType":"full","date_published_short":"Tue Dec 27 2022","date_published_ms":1672129500000}}],"_microfeed":{"microfeed_version":"0.1.5","base_url":"https://microfeed-org.pages.dev","categories":[{"name":"Technology"}],"subscribe_methods":[{"name":"RSS","type":"rss","url":"https://microfeed-org.pages.dev/rss/","image":"https://microfeed-org.pages.dev/assets/brands/subscribe/rss.png","enabled":true,"editable":false,"id":"eeYmI-JX4Xp"},{"name":"JSON","type":"json","url":"https://microfeed-org.pages.dev/json/","image":"https://microfeed-org.pages.dev/assets/brands/subscribe/json.png","enabled":true,"editable":false,"id":"xIyGLXyRTdt"}],"description_text":"#opensource #serverless #free #headless","copyright":"©2026 Listen Notes, Inc.","itunes:type":"episodic","itunes:email":"support@microfeed.org","items_sort_order":"newest_first"}}