{"id":1386,"date":"2010-03-05T19:06:11","date_gmt":"2010-03-05T17:06:11","guid":{"rendered":"http:\/\/planetozh.com\/blog\/?p=1386"},"modified":"2010-03-05T19:06:11","modified_gmt":"2010-03-05T17:06:11","slug":"yourls-today-tomorrow","status":"publish","type":"post","link":"https:\/\/planetozh.com\/blog\/2010\/03\/yourls-today-tomorrow\/","title":{"rendered":"YOURLS: Today, Tomorrow"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" width=\"201\" height=\"90\" class=\"alignright size-full wp-image-1276\" title=\"yourls-logo\" alt=\"yourls-logo\" src=\"http:\/\/planetozh.com\/blog\/wp-content\/uploads\/2009\/06\/yourls-logo.png\"> Straight from the Shrink-Your-URLS-With-A-Custom-Branded-Self-Hosted-Solution Department: if you&#39;re following <a href=\"http:\/\/twitter.com\/ozh\">my tweets<\/a>, you already know that I released <a href=\"http:\/\/yourls.org\/\">YOURLS<\/a> 1.4.1 yesterday. What&#39;s in there? Good stuff for sure, but even better stuff are on their way :)<br \/>\n<!--more--><\/p>\n<h2>YOURLS, now<\/h2>\n<p>YOURLS 1.4.1 brings several little stuff, minor cosmetic tweaks and invisible fixes, but also a few exciting things. The main improvements and features of this version are:<\/p>\n<ul>\n<li>A very cool <a href=\"http:\/\/code.google.com\/p\/yourls\/wiki\/PasswordlessAPI\">passwordless authentication<\/a> for API requests, so that you don&#39;t have to send your login and password in the wild if you&#39;re using YOURLS with third party sites or services.<br \/>\nIn short, instead of crafting requests with <tt>login=joe&username=p4ssw0rd<\/tt>, you can use a parameter <tt>signature<\/tt> which can be time limited (think &quot;nonce&quot; as in WordPress)<\/li>\n<li>MiXeD CaSe short URLs now fully working. It used to be a <del>crap<\/del> <del>broken<\/del> beta feature, it&#39;s now completely reliable<\/li>\n<\/ul>\n<p>Check the short <a href=\"http:\/\/code.google.com\/p\/yourls\/source\/browse\/trunk\/changelog.txt\">changelog<\/a> for most of the details, or if you&#39;re brave enough the complete <a href=\"http:\/\/code.google.com\/p\/yourls\/source\/list\">commit log<\/a>. Then obviously <a href=\"http:\/\/code.google.com\/p\/yourls\/downloads\/list\">download<\/a> the new YOURLS and upgrade or start playing with it.<\/p>\n<h2>YOURLS, tomorrow<\/h2>\n<p>Another improvement in this project is that I published a <a href=\"http:\/\/code.google.com\/p\/yourls\/wiki\/RoadMap\">Road map<\/a> to give users &#8212; and definitely myself &#8212; a clearer vision of where we&#39;re going.<\/p>\n<p>I&#39;d like the next iteration of YOURLS to introduce two major changes<\/p>\n<ul>\n<li><strong>A plugin API<\/strong>. Just like in WordPress because we all love this and it&#39;s so cool :) There is a number of features I&#39;m reluctant to put in core because I find them useless or stupid (like, random short URL generation instead of sequential) but they would be trivial to implement as a plugin. A real plugin API and architecture would make it easy to enhance your own YOURLS with custom spam protection, 404 checks, alternative geolocation provider, anything you&#39;d like. It should also make my core coding task easier (and more fun)<\/li>\n<li><strong>A proper database structure<\/strong>. When it started, YOURLS was a simple table with few info stored, and it wouldn&#39;t grow beyond this. But then I added a table to save options and settings, but it wouldn&#39;t grow beyond this. But then I added a table to save logs and stats. And I&#39;m starting to suspect it might grow beyond this :)<br \/>\nI&#39;m definitely guilty of not having aimed high from the beginning, and having a decent DB schema will allow faster implementation of pretty cool features: tagging URLs, annotate them, why not manage users, and so on.<\/li>\n<\/ul>\n<p>The complete <a href=\"http:\/\/code.google.com\/p\/yourls\/wiki\/RoadMap\">future feature set<\/a> I&#39;m willing to bring into YOURLS 1.5 is quite significant, so instead of waiting another twelve years between versions till everything is implemented, I think I&#39;ll start to <a href=\"http:\/\/en.wikipedia.org\/wiki\/Release_early,_release_often\">Release Early, Release Often<\/a> and progressively ship versions 1.5.1, 1.5.2 etc&#8230; with a few new stuff each time. In other words: either follow me on Twitter or this blog so you don&#39;t miss the fun :)<\/p>\n<p>Happy URL shortening!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Straight from the Shrink-Your-URLS-With-A-Custom-Branded-Self-Hosted-Solution Department: if you&#39;re following my tweets, you already know that I released YOURLS 1.4.1 yesterday. What&#39;s in there? Good stuff for sure, but even better stuff are on their way :)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[21],"tags":[359],"class_list":["post-1386","post","type-post","status-publish","format-standard","hentry","category-published","tag-yourls"],"_links":{"self":[{"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/posts\/1386","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/comments?post=1386"}],"version-history":[{"count":0,"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/posts\/1386\/revisions"}],"wp:attachment":[{"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/media?parent=1386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/categories?post=1386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/planetozh.com\/blog\/wp-json\/wp\/v2\/tags?post=1386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}