{"id":1149,"date":"2013-11-22T22:04:59","date_gmt":"2013-11-22T21:04:59","guid":{"rendered":"https:\/\/www.entropywins.wtf\/blog\/?p=1149"},"modified":"2014-03-17T23:26:04","modified_gmt":"2014-03-17T22:26:04","slug":"paramprocessor-1-0-released","status":"publish","type":"post","link":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/","title":{"rendered":"ParamProcessor 1.0 released"},"content":{"rendered":"<div id=\"pN7RmhDXItdrT10z52+dK7YPKS3O1B0IIL9sfNM3k3w=_1427dafa839:1721ca0:b67f877b_entryContent\" itemprop=\"description\">\n<p>I\u2019m happy to announce the first release of the <a href=\"https:\/\/github.com\/JeroenDeDauw\/ParamProcessor\" target=\"_blank\">ParamProcessor library<\/a>.<\/p>\n<p>ParamProcessor is a parameter processing library that provides a way to decoratively define a set of parameters and how they should be processed. It can take such declarations together with a list of raw parameters and provide the processed values. For example, if one defines a parameter to be an integer, in the range [0, 100], then ParamProcessor will verify the\u00a0input is an integer, in the specified range, and return it as an actual integer variable.<\/p>\n<p>Sounds familiar? It should if you\u2019ve used my <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension:Validator\" target=\"_blank\">Validator MediaWiki extension<\/a>. This new library is essentially the guts of the Validator extension, separated, dusted off and made independent of MediaWiki.<\/p>\n<p>Quite a few changes have been made since the Validator 0.5 release, which are currently detailed in the <a href=\"https:\/\/github.com\/wikimedia\/mediawiki-extensions-Validator\/#version-10-2013-11-21\" target=\"_blank\">Validator release notes<\/a>. The changes mainly focused on cleaning up the code and tackling a number of design issues. Perhaps the most important one being the lack of clear public interfaces. Thus a big goal of this release is to prevent exposing internal details to consumers, which causes tight coupling and fragility. Another area of focus was stability. For this, a lot of tests where added. Like with the other quality issues in the library, there is still quite some room for improvement in the area of tests. ParamProcessor is currently at 47% unit test coverage, which is up from 0% at the point of the Validator 0.5 release. The next releases are likely to be smaller, more frequent, and largely continue in the spirit of this one.<\/p>\n<p>More frequent releases are now made a lot easier, as the bulk of the code is in a library, rather than a MediaWiki extension, is well tested, and typically <a href=\"https:\/\/github.com\/JeroenDeDauw\/ParamProcessor\/blob\/master\/README.md#installation\" target=\"_blank\">consumed via Composer<\/a>. The Composer package is named param-processor\/param-processor, and has currently over 3000 downloads <a href=\"https:\/\/packagist.org\/packages\/param-processor\/param-processor\" target=\"_blank\">on Packagist<\/a>.<\/p>\n<p>There is <a href=\"https:\/\/github.com\/JeroenDeDauw\/ParamProcessor\/blob\/master\/README.md\" target=\"_blank\">some documentation<\/a> on how to use it, though at this point it is really insufficient. This has been the case since I changed how parameters are defined, many months back. I\u2019m planning to at least improve upon the current state of the documentation before the SMW 1.9 release, which is scheduled for next month.<\/p>\n<p>The main reason I\u2019m releasing this library now is that the lack of any recent releases was blocking releases of its consumers, in particular those of <a href=\"https:\/\/semantic-mediawiki.org\/wiki\/\" target=\"_blank\">Semantic MediaWiki<\/a> and <a href=\"https:\/\/www.mediawiki.org\/wiki\/Extension:Maps\" target=\"_blank\">Maps<\/a>. A second factor is that in very similar fashion, the ParamProcessor library itself was blocked from being released due to the lack of any stable release of the <a href=\"https:\/\/github.com\/DataValues\/\" target=\"_blank\">DataValues library<\/a>, which finally got solved last weekend. This means that for the next releases of Maps and SMW, which will be Composer based, you\u2019ll be using version 1.0 (or later) of this library.<\/p>\n<p>Fun fact: this release has been made exactly one year after the previous release of Validator (0.5.1).<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>I\u2019m happy to announce the first release of the ParamProcessor library. ParamProcessor is a parameter processing library that provides a&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-1149","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>ParamProcessor 1.0 released - Blog of Jeroen De Dauw<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ParamProcessor 1.0 released - Blog of Jeroen De Dauw\" \/>\n<meta property=\"og:description\" content=\"I\u2019m happy to announce the first release of the ParamProcessor library. ParamProcessor is a parameter processing library that provides a&hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog of Jeroen De Dauw\" \/>\n<meta property=\"article:published_time\" content=\"2013-11-22T21:04:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2014-03-17T22:26:04+00:00\" \/>\n<meta name=\"author\" content=\"Jeroen\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@https:\/\/twitter.com\/JeroenDeDauw\" \/>\n<meta name=\"twitter:site\" content=\"@JeroenDeDauw\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeroen\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/\"},\"author\":{\"name\":\"Jeroen\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"headline\":\"ParamProcessor 1.0 released\",\"datePublished\":\"2013-11-22T21:04:59+00:00\",\"dateModified\":\"2014-03-17T22:26:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/\"},\"wordCount\":473,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/\",\"name\":\"ParamProcessor 1.0 released - Blog of Jeroen De Dauw\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\"},\"datePublished\":\"2013-11-22T21:04:59+00:00\",\"dateModified\":\"2014-03-17T22:26:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/2013\\\/11\\\/22\\\/paramprocessor-1-0-released\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ParamProcessor 1.0 released\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/\",\"name\":\"Entropy Wins\",\"description\":\"A blog on Software Architecture, Design and Craftsmanship\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.entropywins.wtf\\\/blog\\\/#\\\/schema\\\/person\\\/4e2ef14f2ca7dc3a0ac137d1692b66b7\",\"name\":\"Jeroen\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\",\"caption\":\"Jeroen\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/jeroendedauw\\\/\",\"https:\\\/\\\/x.com\\\/https:\\\/\\\/twitter.com\\\/JeroenDeDauw\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"ParamProcessor 1.0 released - Blog of Jeroen De Dauw","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:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/","og_locale":"en_US","og_type":"article","og_title":"ParamProcessor 1.0 released - Blog of Jeroen De Dauw","og_description":"I\u2019m happy to announce the first release of the ParamProcessor library. ParamProcessor is a parameter processing library that provides a&hellip;","og_url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/","og_site_name":"Blog of Jeroen De Dauw","article_published_time":"2013-11-22T21:04:59+00:00","article_modified_time":"2014-03-17T22:26:04+00:00","author":"Jeroen","twitter_card":"summary_large_image","twitter_creator":"@https:\/\/twitter.com\/JeroenDeDauw","twitter_site":"@JeroenDeDauw","twitter_misc":{"Written by":"Jeroen","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/#article","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/"},"author":{"name":"Jeroen","@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"headline":"ParamProcessor 1.0 released","datePublished":"2013-11-22T21:04:59+00:00","dateModified":"2014-03-17T22:26:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/"},"wordCount":473,"commentCount":0,"publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/","url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/","name":"ParamProcessor 1.0 released - Blog of Jeroen De Dauw","isPartOf":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#website"},"datePublished":"2013-11-22T21:04:59+00:00","dateModified":"2014-03-17T22:26:04+00:00","breadcrumb":{"@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/22\/paramprocessor-1-0-released\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.entropywins.wtf\/blog\/"},{"@type":"ListItem","position":2,"name":"ParamProcessor 1.0 released"}]},{"@type":"WebSite","@id":"https:\/\/www.entropywins.wtf\/blog\/#website","url":"https:\/\/www.entropywins.wtf\/blog\/","name":"Entropy Wins","description":"A blog on Software Architecture, Design and Craftsmanship","publisher":{"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.entropywins.wtf\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.entropywins.wtf\/blog\/#\/schema\/person\/4e2ef14f2ca7dc3a0ac137d1692b66b7","name":"Jeroen","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g","caption":"Jeroen"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/d62e6b5b8e332335cf17854fac850d9c70ba367c4692872613c3110ebd4e009b?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/jeroendedauw\/","https:\/\/x.com\/https:\/\/twitter.com\/JeroenDeDauw"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p74TBF-ix","jetpack-related-posts":[{"id":1127,"url":"https:\/\/www.entropywins.wtf\/blog\/2013\/07\/14\/parserhooks-declarative-oop-api-for-mediawiki-released\/","url_meta":{"origin":1149,"position":0},"title":"ParserHooks declarative OOP API for MediaWiki released","author":"Jeroen","date":"2013-07-14","format":false,"excerpt":"Yes, there now is a nice OOP API that allows you to create MediaWiki parser hooks in declarative fashion! A few years back, I was sitting in c-base after the 27th Chaos Communication Congress had ended. I decided to quickly hack up a decent SubPageList extension for MediaWiki on top\u2026","rel":"","context":"With 1 comment","block_context":{"text":"With 1 comment","link":"https:\/\/www.entropywins.wtf\/blog\/2013\/07\/14\/parserhooks-declarative-oop-api-for-mediawiki-released\/#comments"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1143,"url":"https:\/\/www.entropywins.wtf\/blog\/2013\/11\/13\/maps-moved-to-github\/","url_meta":{"origin":1149,"position":1},"title":"Maps moved to GitHub","author":"Jeroen","date":"2013-11-13","format":false,"excerpt":"I just spend some time moving the Maps extension for MediaWiki to GitHub. The reason for this is that it simplifies development workflow and allows for easier integration with services such as Travis CI, coveralls.io, Packagist and Scrutinizer CI. And yes, Maps now makes use of all these services! As\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":579,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/12\/12\/you-will-be-validated-resistance-is-futile\/","url_meta":{"origin":1149,"position":2},"title":"You will be validated. Resistance is futile.","author":"Jeroen","date":"2009-12-12","format":false,"excerpt":"It has been over a week since I posted about any MediaWiki stuff, which can very well be a record since I started my blog. The reason for this is cause I've been busy with a lot of projects. You'll hear about them all later on, but now I just\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1056,"url":"https:\/\/www.entropywins.wtf\/blog\/2011\/01\/11\/validator-0-4-3introducing-auto-documentation\/","url_meta":{"origin":1149,"position":3},"title":"Validator 0.4.3:introducing auto-documentation","author":"Jeroen","date":"2011-01-11","format":false,"excerpt":"It's been a while since the previous release of Validator, but this minor update includes some cool new functionality. As I was creating the SubPageList extension and it's documentation (at 27c3!), it occurred to me that to document the usage of the <subpages \/> parser hook, all the info I\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Some documentation (for the coordinates parser function) generated using the describe parser hook","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/01\/describe-coordinates-table.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/01\/describe-coordinates-table.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/01\/describe-coordinates-table.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2011\/01\/describe-coordinates-table.png?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":625,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/12\/26\/validator-0-2-released\/","url_meta":{"origin":1149,"position":4},"title":"Validator 0.2 released","author":"Jeroen","date":"2009-12-26","format":false,"excerpt":"Today I released Validator version 0.2, on which I've been working the last 2 days. It features massive rewriting to make it more flexible, and has some added functionality. Let's have a look at what changed. The most important change is, without any doubt, the new list support. Validator 0.1\u2026","rel":"","context":"In &quot;Programming&quot;","block_context":{"text":"Programming","link":"https:\/\/www.entropywins.wtf\/blog\/category\/programming\/"},"img":{"alt_text":"Error feedback in the form of a list for Validator_ERRORS_SHOW or Validator_ERRORS_STRICT.","src":"https:\/\/i0.wp.com\/www.entropywins.wtf\/blog\/wp-content\/uploads\/2009\/12\/validator-0.2-error-list.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":616,"url":"https:\/\/www.entropywins.wtf\/blog\/2009\/12\/17\/maps-and-semantic-maps-0-5-released\/","url_meta":{"origin":1149,"position":5},"title":"Maps and Semantic Maps 0.5 released","author":"Jeroen","date":"2009-12-17","format":false,"excerpt":"Earlier today, versions 0.5 of Maps and Semantic Maps where released. Some mayor new features where added, and a whole bunch of things have been refactored. I also did some effort to improve the documentation by adding some screencasts and revising the developer docs. Version 0.4.2 proved to be pretty\u2026","rel":"","context":"In \"Geocoding\"","block_context":{"text":"Geocoding","link":"https:\/\/www.entropywins.wtf\/blog\/tag\/geocoding\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1149","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/comments?post=1149"}],"version-history":[{"count":2,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1149\/revisions"}],"predecessor-version":[{"id":1262,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/posts\/1149\/revisions\/1262"}],"wp:attachment":[{"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/media?parent=1149"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/categories?post=1149"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.entropywins.wtf\/blog\/wp-json\/wp\/v2\/tags?post=1149"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}