{"id":36,"date":"2019-08-28T10:58:00","date_gmt":"2019-08-28T08:58:00","guid":{"rendered":"https:\/\/blog.keyserv.solutions\/?p=36"},"modified":"2024-01-15T08:24:01","modified_gmt":"2024-01-15T06:24:01","slug":"whats-new-in-keyserv-v1-2-5-versioning","status":"publish","type":"post","link":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/","title":{"rendered":"Versioning, What&#8217;s new in KeyServ v1.2.5"},"content":{"rendered":"\n<p style=\"text-align: justify;\">Well, it&#8217;s an API dude, what were you expecting? Versioning sheesh, public-facing APIs are the one place you should be happy to stick with what you have and not get sparkly-eyed about newer releases. Well unless you REALLY need the service or endpoint v2 has to offer.<\/p>\n\n\n\n<p style=\"text-align: justify;\">Public consumption APIs can&#8217;t really be improved in terms of soft-versioning (i.e minor updates), except in hacky ways like extra headers and query strings. If you screwed up on releasing your v1, well folks, then your off to v2, do not pass go, do not collect $200.<\/p>\n\n\n\n<div style=\"width:100%;height:0;padding-bottom:49%;position:relative;\"><iframe loading=\"lazy\" src=\"https:\/\/giphy.com\/embed\/SUWHc36Fx6itgqELHw\" width=\"100%\" height=\"100%\" style=\"position:absolute\" frameBorder=\"0\" class=\"giphy-embed\" allowFullScreen><\/iframe><\/div><p><a href=\"https:\/\/giphy.com\/gifs\/teamcoco-andy-richter-i-am-so-screwed-SUWHc36Fx6itgqELHw\">via GIPHY<\/a><\/p>\n\n\n<p style=\"text-align: justify;\">That is why you take extra care when releasing an API. It&#8217;s not like the rest of your devOps world with your fancy continuous integration pipelines. You don&#8217;t want to screw this up or potentially all of your users might suffer. So test, test, test before releasing your API.<\/p>\n\n\n<p style=\"text-align: justify;\">In our case it wasn&#8217;t that bad. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant, the difference is before these were accurate to the millisecond. Apparently most people don&#8217;t like precision like that, who knew?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, it&#8217;s an API dude, what were you expecting? Versioning sheesh, public-facing APIs are the one place you should be happy to stick with what you have and not get sparkly-eyed about newer releases. Well unless you REALLY need the service or endpoint v2 has to offer. Public consumption APIs can&#8217;t really be improved in&hellip; <a class=\"more-link\" href=\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\">Continue reading <span class=\"screen-reader-text\">Versioning, What&#8217;s new in KeyServ v1.2.5<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[3,11,12],"class_list":["post-36","post","type-post","status-publish","format-standard","hentry","category-blog-posts","tag-api","tag-v1-2-5","tag-versioning","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\r\n<title>Versioning, What&#039;s new in KeyServ v1.2.5 : KeyServ Blog<\/title>\r\n<meta name=\"description\" content=\"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Versioning, What&#039;s new in KeyServ v1.2.5 : KeyServ Blog\" \/>\r\n<meta property=\"og:description\" content=\"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\" \/>\r\n<meta property=\"og:site_name\" content=\"KeyServ Blog\" \/>\r\n<meta property=\"article:published_time\" content=\"2019-08-28T08:58:00+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2024-01-15T06:24:01+00:00\" \/>\r\n<meta name=\"author\" content=\"admin\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@thetechcomp\" \/>\r\n<meta name=\"twitter:site\" content=\"@thetechcomp\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\"},\"author\":{\"name\":\"admin\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/1bd4ac278de1ca37f6447ccf067f1fd1\"},\"headline\":\"Versioning, What&#8217;s new in KeyServ v1.2.5\",\"datePublished\":\"2019-08-28T08:58:00+00:00\",\"dateModified\":\"2024-01-15T06:24:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\"},\"wordCount\":198,\"publisher\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/#organization\"},\"keywords\":[\"api\",\"v1.2.5\",\"versioning\"],\"articleSection\":[\"Blog Posts\"],\"inLanguage\":\"en-ZA\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\",\"url\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\",\"name\":\"Versioning, What's new in KeyServ v1.2.5 : KeyServ Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/#website\"},\"datePublished\":\"2019-08-28T08:58:00+00:00\",\"dateModified\":\"2024-01-15T06:24:01+00:00\",\"description\":\"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant\",\"breadcrumb\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#breadcrumb\"},\"inLanguage\":\"en-ZA\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blog.keyserv.solutions\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Versioning, What&#8217;s new in KeyServ v1.2.5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#website\",\"url\":\"https:\/\/blog.keyserv.solutions\/\",\"name\":\"KeyServ Blog\",\"description\":\"The Official Blog of KeyServ By SmartQ (Pty) Ltd\",\"publisher\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blog.keyserv.solutions\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-ZA\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#organization\",\"name\":\"SmartQ (Pty) Ltd\",\"url\":\"https:\/\/blog.keyserv.solutions\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.keyserv.solutions\/wp-content\/uploads\/2020\/06\/KSLogo.jpg\",\"contentUrl\":\"https:\/\/blog.keyserv.solutions\/wp-content\/uploads\/2020\/06\/KSLogo.jpg\",\"width\":1280,\"height\":1280,\"caption\":\"SmartQ (Pty) Ltd\"},\"image\":{\"@id\":\"https:\/\/blog.keyserv.solutions\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/thetechcomp\",\"https:\/\/www.youtube.com\/channel\/UCjMrhGWMm70k5gzrTAOJxsA\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/1bd4ac278de1ca37f6447ccf067f1fd1\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-ZA\",\"@id\":\"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/fb3759727df8c056cc0cd9290dc3813bec012cfedac67f320c45cebfafac78c1?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/fb3759727df8c056cc0cd9290dc3813bec012cfedac67f320c45cebfafac78c1?s=96&d=mm&r=g\",\"caption\":\"admin\"},\"sameAs\":[\"https:\/\/blog.keyserv.solutions\"]}]}<\/script>\r\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Versioning, What's new in KeyServ v1.2.5 : KeyServ Blog","description":"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/","og_locale":"en_US","og_type":"article","og_title":"Versioning, What's new in KeyServ v1.2.5 : KeyServ Blog","og_description":"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant","og_url":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/","og_site_name":"KeyServ Blog","article_published_time":"2019-08-28T08:58:00+00:00","article_modified_time":"2024-01-15T06:24:01+00:00","author":"admin","twitter_card":"summary_large_image","twitter_creator":"@thetechcomp","twitter_site":"@thetechcomp","twitter_misc":{"Written by":"admin","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#article","isPartOf":{"@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/"},"author":{"name":"admin","@id":"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/1bd4ac278de1ca37f6447ccf067f1fd1"},"headline":"Versioning, What&#8217;s new in KeyServ v1.2.5","datePublished":"2019-08-28T08:58:00+00:00","dateModified":"2024-01-15T06:24:01+00:00","mainEntityOfPage":{"@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/"},"wordCount":198,"publisher":{"@id":"https:\/\/blog.keyserv.solutions\/#organization"},"keywords":["api","v1.2.5","versioning"],"articleSection":["Blog Posts"],"inLanguage":"en-ZA"},{"@type":"WebPage","@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/","url":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/","name":"Versioning, What's new in KeyServ v1.2.5 : KeyServ Blog","isPartOf":{"@id":"https:\/\/blog.keyserv.solutions\/#website"},"datePublished":"2019-08-28T08:58:00+00:00","dateModified":"2024-01-15T06:24:01+00:00","description":"Versioning. We soft-versioned because nothing really serious changed. We modified the datetime fields in our API, they were already ISO8601 compliant","breadcrumb":{"@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#breadcrumb"},"inLanguage":"en-ZA","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/blog.keyserv.solutions\/index.php\/2019\/08\/28\/whats-new-in-keyserv-v1-2-5-versioning\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blog.keyserv.solutions\/"},{"@type":"ListItem","position":2,"name":"Versioning, What&#8217;s new in KeyServ v1.2.5"}]},{"@type":"WebSite","@id":"https:\/\/blog.keyserv.solutions\/#website","url":"https:\/\/blog.keyserv.solutions\/","name":"KeyServ Blog","description":"The Official Blog of KeyServ By SmartQ (Pty) Ltd","publisher":{"@id":"https:\/\/blog.keyserv.solutions\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blog.keyserv.solutions\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-ZA"},{"@type":"Organization","@id":"https:\/\/blog.keyserv.solutions\/#organization","name":"SmartQ (Pty) Ltd","url":"https:\/\/blog.keyserv.solutions\/","logo":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/blog.keyserv.solutions\/#\/schema\/logo\/image\/","url":"https:\/\/blog.keyserv.solutions\/wp-content\/uploads\/2020\/06\/KSLogo.jpg","contentUrl":"https:\/\/blog.keyserv.solutions\/wp-content\/uploads\/2020\/06\/KSLogo.jpg","width":1280,"height":1280,"caption":"SmartQ (Pty) Ltd"},"image":{"@id":"https:\/\/blog.keyserv.solutions\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/thetechcomp","https:\/\/www.youtube.com\/channel\/UCjMrhGWMm70k5gzrTAOJxsA"]},{"@type":"Person","@id":"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/1bd4ac278de1ca37f6447ccf067f1fd1","name":"admin","image":{"@type":"ImageObject","inLanguage":"en-ZA","@id":"https:\/\/blog.keyserv.solutions\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/fb3759727df8c056cc0cd9290dc3813bec012cfedac67f320c45cebfafac78c1?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/fb3759727df8c056cc0cd9290dc3813bec012cfedac67f320c45cebfafac78c1?s=96&d=mm&r=g","caption":"admin"},"sameAs":["https:\/\/blog.keyserv.solutions"]}]}},"_links":{"self":[{"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/posts\/36","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/comments?post=36"}],"version-history":[{"count":0,"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/posts\/36\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/media?parent=36"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/categories?post=36"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.keyserv.solutions\/index.php\/wp-json\/wp\/v2\/tags?post=36"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}