{"id":215,"date":"2025-08-22T21:10:33","date_gmt":"2025-08-22T19:10:33","guid":{"rendered":"https:\/\/www.patrickphang.nl\/?p=215"},"modified":"2025-08-22T21:30:27","modified_gmt":"2025-08-22T19:30:27","slug":"a-complete-guide-to-upgrading-your-raspberry-pi-software","status":"publish","type":"post","link":"https:\/\/www.patrickphang.nl\/index.php\/2025\/08\/22\/a-complete-guide-to-upgrading-your-raspberry-pi-software\/","title":{"rendered":"A Complete Guide to Upgrading Your Raspberry Pi Software"},"content":{"rendered":"\n<p class=\"has-accent-background-color has-background\">Keeping your Raspberry Pi&#8217;s software up to date is crucial for security, performance, and accessing new features. Whether you&#8217;re running a simple home project or a complex IoT system, regular updates ensure your Pi runs smoothly and stays protected against vulnerabilities.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n<h2 class=\"simpletoc-title\">Topics<\/h2>\n<style>html { scroll-behavior: smooth; }<\/style><ol class=\"simpletoc-list\">\n<li><a href=\"#bppb-heading-anchor-2\">Why Upgrade Your Raspberry Pi Software?<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-2\">Understanding Raspberry Pi Software Components<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-3\">Pre-Upgrade Checklist<\/a>\n\n\n<li><a href=\"#bppb-heading-anchor-8\">Step-by-Step Upgrade Process<\/a>\n\n\n<\/li>\n\n<\/li>\n\n<\/li>\n\n<\/li>\n\n<\/li>\n\n<\/li>\n\n<\/li>\n\n<li><a href=\"#bppb-heading-anchor-12\">Advanced Configuration and Optimization<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-15\">Best Practices and Tips<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-20\">Troubleshooting Common Update Problems<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-24\">Security Considerations<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-27\">Maintaining Your Updated System<\/a>\n\n<\/li>\n<li><a href=\"#bppb-heading-anchor-29\">Conclusion<\/a>\n<\/li><\/ol>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"why-upgrade-your-raspberry-pi-software\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-2\"><\/span>Why Upgrade Your Raspberry Pi Software?<\/h2>\n\n\n\n<p>Before diving into the how-to, let&#8217;s understand the why:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Security patches<\/strong>: Critical fixes for vulnerabilities<\/li>\n\n\n\n<li><strong>Bug fixes<\/strong>: Resolved issues that improve stability<\/li>\n\n\n\n<li><strong>New features<\/strong>: Access to latest functionality and improvements<\/li>\n\n\n\n<li><strong>Hardware support<\/strong>: Better compatibility with newer Pi models and peripherals<\/li>\n\n\n\n<li><strong>Performance improvements<\/strong>: Optimizations that make your Pi run faster<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"understanding-raspberry-pi-software-components\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-2\"><\/span>Understanding Raspberry Pi Software Components<\/h2>\n\n\n\n<p>Your Raspberry Pi&#8217;s software stack consists of several layers:<\/p>\n\n\n\n<p><strong>Raspberry Pi OS (Operating System)<\/strong>: The main Linux distribution, formerly called Raspbian. This is what most users interact with directly.<\/p>\n\n\n\n<p><strong>Kernel<\/strong>: The core system that manages hardware and system resources. Updates here can improve hardware support and performance.<\/p>\n\n\n\n<p><strong>Firmware<\/strong>: Low-level software that initializes your Pi&#8217;s hardware. Critical for boot process and hardware functionality.<\/p>\n\n\n\n<p><strong>Applications and Packages<\/strong>: Individual programs installed through apt package manager or other methods.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"preupgrade-checklist\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-3\"><\/span>Pre-Upgrade Checklist<\/h2>\n\n\n\n<h3 id=\"before-starting-any-upgrade-follow-these-essential-preparation-steps\" class=\"wp-block-heading\">Before starting any upgrade, follow these essential preparation steps:<\/h3>\n\n\n\n<p><strong>For beginners<\/strong>: Use the built-in SD Card Copier tool found in Accessories menu to create a complete backup of your SD card.<\/p>\n\n\n\n<p><strong>For advanced users<\/strong>: Create image backups using <code>dd<\/code> command:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>sudo dd if=\/dev\/mmcblk0 of=~\/backup-$(date +%Y%m%d).img bs=4M status=progress<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\"><span id=\"bppb-heading-anchor-5\"><\/span><strong>2. Check Available Space<\/strong><\/p>\n\n\n\n<p>Ensure you have sufficient free space for updates:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>df -h<\/code><\/pre>\n\n\n\n<p>You should have at least 1GB free space for major updates.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><span id=\"bppb-heading-anchor-6\"><\/span><strong>3. Verify Network Connection<\/strong><\/p>\n\n\n\n<p>Updates require internet connectivity. Test with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>ping -c 4 8.8.8.8<\/code><\/pre>\n\n\n\n<p class=\"has-medium-font-size\"><span id=\"bppb-heading-anchor-7\"><\/span><strong>4. Note Current System Version<\/strong><\/p>\n\n\n\n<p>Record your current versions for reference:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cat \/etc\/os-release\nuname -r\nvcgencmd version<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"stepbystep-upgrade-process\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-8\"><\/span>Step-by-Step Upgrade Process<\/h2>\n\n\n\n<p>This method updates individual packages while maintaining your current OS version.<\/p>\n\n\n\n<h4 id=\"step-1-update-package-lists\" class=\"wp-block-heading\">Step 1: Update Package Lists<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update<\/code><\/pre>\n\n\n\n<p>This refreshes the list of available packages and their versions.<\/p>\n\n\n\n<h4 id=\"step-2-upgrade-installed-packages\" class=\"wp-block-heading\">Step 2: Upgrade Installed Packages<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt upgrade -y<\/code><\/pre>\n\n\n\n<p>The <code>-y<\/code> flag automatically answers &#8220;yes&#8221; to prompts. Remove it if you want to review changes first.<\/p>\n\n\n\n<h4 id=\"step-3-handle-held-packages-if-any\" class=\"wp-block-heading\">Step 3: Handle Held Packages (If Any)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt full-upgrade -y<\/code><\/pre>\n\n\n\n<p>This resolves dependency conflicts and installs packages that were held back.<\/p>\n\n\n\n<h4 id=\"step-4-update-firmware-optional\" class=\"wp-block-heading\">Step 4: Update Firmware (Optional)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo rpi-update<\/code><\/pre>\n\n\n\n<p><strong>Caution<\/strong>: Only use this if you need bleeding-edge firmware. It can occasionally cause instability.<\/p>\n\n\n\n<p><strong>Understanding &#8220;Bleeding-Edge&#8221;<\/strong>: This term describes technology that&#8217;s at the very forefront of development &#8211; so new and advanced that it&#8217;s potentially unstable or risky to use. The name comes from &#8220;cutting edge&#8221; taken a step further: if cutting-edge technology is like a sharp knife that works well, bleeding-edge is so sharp it might cut you.<\/p>\n\n\n\n<p>Bleeding-edge firmware characteristics:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Extremely recent<\/strong>: Often released within days, minimal real-world testing<\/li>\n\n\n\n<li><strong>High risk<\/strong>: May contain bugs or cause system instability<\/li>\n\n\n\n<li><strong>Advanced features<\/strong>: Includes the newest capabilities and hardware support<\/li>\n\n\n\n<li><strong>Frequent changes<\/strong>: Updates released rapidly, sometimes daily<\/li>\n<\/ul>\n\n\n\n<p><strong>When to use <code>rpi-update<\/code><\/strong>: Only when you need specific hardware support, are fixing known issues, or are comfortable troubleshooting problems. Avoid on production systems or when stability is critical.<\/p>\n\n\n\n<h4 id=\"step-5-clean-up\" class=\"wp-block-heading\">Step 5: Clean Up<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt autoremove -y\nsudo apt autoclean<\/code><\/pre>\n\n\n\n<p>This removes unnecessary packages and clears the package cache.<\/p>\n\n\n\n<p class=\"has-large-font-size\"><span id=\"bppb-heading-anchor-10\"><\/span><strong>Method 2: Major Version Upgrade<\/strong><\/p>\n\n\n\n<p>For upgrading between major OS versions (e.g., Bullseye to Bookworm).<\/p>\n\n\n\n<h4 id=\"step-1-edit-sources-list\" class=\"wp-block-heading\">Step 1: Edit Sources List<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/apt\/sources.list<\/code><\/pre>\n\n\n\n<p>Replace the old codename with the new one (e.g., change &#8220;bullseye&#8221; to &#8220;bookworm&#8221;).<\/p>\n\n\n\n<h4 id=\"step-2-update-and-upgrade\" class=\"wp-block-heading\">Step 2: Update and Upgrade<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt full-upgrade -y<\/code><\/pre>\n\n\n\n<h4 id=\"step-3-reboot-and-verify\" class=\"wp-block-heading\">Step 3: Reboot and Verify<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo reboot<\/code><\/pre>\n\n\n\n<p class=\"has-large-font-size\"><span id=\"bppb-heading-anchor-11\"><\/span><strong>Method 3: Complete OS Reinstallation<\/strong><\/p>\n\n\n\n<p>For major upgrades or when starting fresh, consider using Raspberry Pi Imager to install the latest OS version.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"advanced-configuration-and-optimization\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-12\"><\/span>Advanced Configuration and Optimization<\/h2>\n\n\n\n<p><span id=\"bppb-heading-anchor-13\"><\/span><strong>Enable Automatic Updates<\/strong>:<\/p>\n\n\n\n<p>For hands-off maintenance, configure automatic security updates:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install unattended-upgrades -y\nsudo dpkg-reconfigure unattended-upgrades<\/code><\/pre>\n\n\n\n<p><span id=\"bppb-heading-anchor-14\"><\/span><strong>Performance Tuning Post-Upgrade<\/strong>:<\/p>\n\n\n\n<p>After major updates, optimize your system:<\/p>\n\n\n\n<p><strong>GPU Memory Split<\/strong> (adjust based on your use case):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo raspi-config\n<em># Navigate to Advanced Options &gt; Memory Split<\/em><\/code><\/pre>\n\n\n\n<p><strong>Enable SSH<\/strong> (if needed):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl enable ssh\nsudo systemctl start ssh<\/code><\/pre>\n\n\n\n<p><strong>Update Boot Configuration<\/strong> (if running headless):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/boot\/config.txt<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"best-practices-and-tips\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-15\"><\/span>Best Practices and Tips<\/h2>\n\n\n\n<p><span id=\"bppb-heading-anchor-16\"><\/span><strong>Timing Your Updates<\/strong>:<\/p>\n\n\n\n<p><strong>For beginners<\/strong>: Update monthly during low-usage periods. Avoid updating before important projects or demos.<\/p>\n\n\n\n<p><strong>For production systems<\/strong>: Test updates in a staging environment first. Schedule maintenance windows for critical systems.<\/p>\n\n\n\n<p><span id=\"bppb-heading-anchor-17\"><\/span><strong>Monitoring Update Success<\/strong>:<\/p>\n\n\n\n<p>Always verify updates completed successfully:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><em># Check for failed services<\/em>\nsudo systemctl --failed\n\n<em># Review recent logs<\/em>\nsudo journalctl -p err -n 50\n\n<em># Verify critical services<\/em>\nsudo systemctl status ssh\n\n<em># Check which network service is running (try these in order):<\/em>\nsudo systemctl status dhcpcd 2&gt;\/dev\/null || \\\nsudo systemctl status NetworkManager 2&gt;\/dev\/null || \\\nsudo systemctl status systemd-networkd 2&gt;\/dev\/null || \\\necho \"Using alternative network configuration\"\n\n<em># For WiFi (if applicable):<\/em>\nsudo systemctl status wpa_supplicant 2&gt;\/dev\/null || echo \"WiFi service not found or not needed\"<\/code><\/pre>\n\n\n\n<p><span id=\"bppb-heading-anchor-18\"><\/span><strong>Handling Common Issues<\/strong>:<\/p>\n\n\n\n<p><strong>Boot problems after update<\/strong>: Keep a backup SD card with working system. If Pi won&#8217;t boot, swap cards and investigate.<\/p>\n\n\n\n<p><strong>Network connectivity issues<\/strong>: Check <code>\/etc\/dhcpcd.conf<\/code> and <code>\/etc\/wpa_supplicant\/wpa_supplicant.conf<\/code> for configuration changes.<\/p>\n\n\n\n<p><strong>&#8220;networking.service not found&#8221; or &#8220;dhcpcd.service not found&#8221; errors<\/strong>: This is normal &#8211; different Raspberry Pi OS versions use different network managers. To identify which one your system uses:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><em># Check what network services are running<\/em>\nsudo systemctl list-units --type=service --state=running | grep -E \"(network|dhcp|wpa)\"\n\n<em># Or try these individually:<\/em>\nsudo systemctl status dhcpcd          <em># Traditional Raspberry Pi OS<\/em>\nsudo systemctl status NetworkManager  <em># Some newer installations  <\/em>\nsudo systemctl status systemd-networkd <em># Alternative network manager<\/em>\nsudo systemctl status wpa_supplicant  <em># WiFi authentication<\/em><\/code><\/pre>\n\n\n\n<p>Your system will use one of these depending on your OS version and configuration method.<\/p>\n\n\n\n<p><strong>Permission problems<\/strong>: Some updates may reset file permissions. Document any custom permissions before updating.<\/p>\n\n\n\n<p><span id=\"bppb-heading-anchor-19\"><\/span><strong>Advanced Users: Custom Kernel Updates<\/strong>:<\/p>\n\n\n\n<p>For specialized hardware or performance needs:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em># Install kernel headers for module compilation<\/em>\nsudo apt install raspberrypi-kernel-headers\n\n<em># Check available kernel versions<\/em>\napt list --installed | grep raspberrypi-kernel<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"troubleshooting-common-update-problems\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-20\"><\/span>Troubleshooting Common Update Problems<\/h2>\n\n\n\n<p><span id=\"bppb-heading-anchor-21\"><\/span><strong>Insufficient Space Errors<\/strong>:<\/p>\n\n\n\n<p>If you encounter space issues:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em># Clear package cache<\/em>\nsudo apt clean\n\n<em># Remove old kernels (keep 2-3 recent versions)<\/em>\nsudo apt autoremove --purge\n\n<em># Check for large log files<\/em>\nsudo du -sh \/var\/log\/*<\/code><\/pre>\n\n\n\n<p><span id=\"bppb-heading-anchor-22\"><\/span><strong>Broken Dependencies<\/strong>:<\/p>\n\n\n\n<p>When packages have dependency conflicts:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><em># Force package reconfiguration<\/em>\nsudo dpkg --configure -a\n\n<em># Fix broken installations<\/em>\nsudo apt --fix-broken install<\/code><\/pre>\n\n\n\n<p><span id=\"bppb-heading-anchor-23\"><\/span><strong>Network Timeout Issues<\/strong>:<\/p>\n\n\n\n<p>For slow or unreliable connections:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code><em># Use different mirror<\/em>\nsudo nano \/etc\/apt\/sources.list\n<em># Change archive.raspberrypi.org to a local mirror<\/em>\n\n<em># Increase timeout values<\/em>\necho 'Acquire::http::Timeout \"300\";' | sudo tee \/etc\/apt\/apt.conf.d\/99timeout<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"security-considerations\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-24\"><\/span>Security Considerations<\/h2>\n\n\n\n<p><span id=\"bppb-heading-anchor-25\"><\/span><strong>Post-Update Security Checks<\/strong>:<\/p>\n\n\n\n<p>After each update:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Change default passwords<\/strong> if you haven&#8217;t already<\/li>\n\n\n\n<li><strong>Review enabled services<\/strong>: <code>sudo systemctl list-units --type=service --state=running<\/code><\/li>\n\n\n\n<li><strong>Check open ports<\/strong>: <code>sudo netstat -tulpn<\/code><\/li>\n\n\n\n<li><strong>Update SSH keys<\/strong> if SSH was updated<\/li>\n\n\n\n<li><strong>Review firewall rules<\/strong> if using ufw or iptables<\/li>\n<\/ol>\n\n\n\n<p><span id=\"bppb-heading-anchor-26\"><\/span><strong>Automated Security Monitoring<\/strong>:<\/p>\n\n\n\n<p>Set up basic intrusion detection:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt install fail2ban -y\nsudo systemctl enable fail2ban<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"maintaining-your-updated-system\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-27\"><\/span>Maintaining Your Updated System<\/h2>\n\n\n\n<p><span id=\"bppb-heading-anchor-28\"><\/span><strong>Regular Maintenance Schedule<\/strong>:<\/p>\n\n\n\n<p><strong>Weekly<\/strong>: Check for security updates<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; apt list --upgradable<\/code><\/pre>\n\n\n\n<p><strong>Monthly<\/strong>: Full system upgrade and cleanup<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update &amp;&amp; sudo apt full-upgrade -y &amp;&amp; sudo apt autoremove -y<\/code><\/pre>\n\n\n\n<p><strong>Quarterly<\/strong>: Review installed packages and remove unused software<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>apt list --installed | wc -l  <em># Count installed packages<\/em>\nsudo apt list --installed | grep -v \"automatic\" | less  <em># Review manual installs<\/em><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<h2 id=\"conclusion\" class=\"wp-block-heading alignfull has-text-align-center\"><span id=\"bppb-heading-anchor-29\"><\/span>Conclusion<\/h2>\n\n\n\n<p>Regular software updates are essential for maintaining a secure, stable, and performant Raspberry Pi. By following these guidelines and establishing a regular update routine, you&#8217;ll ensure your Pi continues to serve your projects reliably.<\/p>\n\n\n\n<p>Remember that patience is key during updates, especially on older Pi models. Never interrupt the update process, and always maintain current backups. With proper preparation and these best practices, upgrading your Raspberry Pi software becomes a straightforward maintenance task rather than a stressful ordeal.<\/p>\n\n\n\n<p>Whether you&#8217;re running a simple weather station or a complex home automation system, keeping your Pi updated ensures you can focus on your projects rather than troubleshooting preventable issues.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Keeping your Raspberry Pi&#8217;s software up to date is crucial for security, performance, and accessing new features. Whether you&#8217;re running a simple home project or a complex IoT system, regular updates ensure your Pi runs smoothly and stays protected against vulnerabilities. Why Upgrade Your Raspberry Pi Software? Before diving into the how-to, let&#8217;s understand the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":216,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"A Complete Guide to Upgrading Your Raspberry Pi Software","jetpack_seo_html_title":"Complete Guide to Upgrading Your Raspberry Pi","jetpack_seo_noindex":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[11,7],"tags":[],"class_list":["post-215","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hobby","category-tech"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.patrickphang.nl\/wp-content\/uploads\/2025\/08\/patraspupdate.jpg?fit=1536%2C1024&ssl=1","jetpack_sharing_enabled":true,"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/posts\/215","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/comments?post=215"}],"version-history":[{"count":9,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/posts\/215\/revisions"}],"predecessor-version":[{"id":226,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/posts\/215\/revisions\/226"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/media\/216"}],"wp:attachment":[{"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/media?parent=215"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/categories?post=215"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.patrickphang.nl\/index.php\/wp-json\/wp\/v2\/tags?post=215"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}