{"version":"1.0","provider_name":"Pragmatic Software Engineering","provider_url":"https:\/\/blog.adonlon.org","author_name":"alastair","author_url":"https:\/\/blog.adonlon.org\/index.php\/author\/alastair\/","title":"API Versioning - Pragmatic Software Engineering","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"GlYaVmiF2T\"><a href=\"https:\/\/blog.adonlon.org\/index.php\/2018\/01\/18\/api-versioning\/\">API Versioning<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/blog.adonlon.org\/index.php\/2018\/01\/18\/api-versioning\/embed\/#?secret=GlYaVmiF2T\" width=\"600\" height=\"338\" title=\"&#8220;API Versioning&#8221; &#8212; Pragmatic Software Engineering\" data-secret=\"GlYaVmiF2T\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"One of the most common pieces of over-the-counter advice with assumed universal applicability of Restful APIs is that you should version your APIs. There are differences of opinion over the best approach to versioning but it seems that there\u2019s universal acceptance that it\u2019s a GoodThing(\u2122). I\u2019d like to suggest a slightly more nuanced attitude towards [&hellip;]"}