{"action":"published","release":{"url":"https://api.github.com/repos/shlinkio/shlink/releases/3787265","assets_url":"https://api.github.com/repos/shlinkio/shlink/releases/3787265/assets","upload_url":"https://uploads.github.com/repos/shlinkio/shlink/releases/3787265/assets{?name,label}","html_url":"https://github.com/shlinkio/shlink/releases/tag/v1.0.0","id":3787265,"tag_name":"v1.0.0","target_commitish":"master","name":"","draft":false,"author":{"login":"acelaya","id":2719332,"avatar_url":"https://avatars.githubusercontent.com/u/2719332?v=3","gravatar_id":"","url":"https://api.github.com/users/acelaya","html_url":"https://github.com/acelaya","followers_url":"https://api.github.com/users/acelaya/followers","following_url":"https://api.github.com/users/acelaya/following{/other_user}","gists_url":"https://api.github.com/users/acelaya/gists{/gist_id}","starred_url":"https://api.github.com/users/acelaya/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/acelaya/subscriptions","organizations_url":"https://api.github.com/users/acelaya/orgs","repos_url":"https://api.github.com/users/acelaya/repos","events_url":"https://api.github.com/users/acelaya/events{/privacy}","received_events_url":"https://api.github.com/users/acelaya/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2016-08-01T19:31:08Z","published_at":"2016-08-01T19:37:03Z","assets":[],"tarball_url":"https://api.github.com/repos/shlinkio/shlink/tarball/v1.0.0","zipball_url":"https://api.github.com/repos/shlinkio/shlink/zipball/v1.0.0","body":"**Enhancements:**\r\n\r\n* [33: Create a command to generate a short code charset by randomizing the default one](https://github.com/acelaya/url-shortener/issues/33)\r\n* [15: Return JSON/HTML responses for errors (4xx and 5xx) based on accept header (content negotiation)](https://github.com/acelaya/url-shortener/issues/15)\r\n* [23: Translate application literals](https://github.com/acelaya/url-shortener/issues/23)\r\n* [21: Allow to filter visits by date range](https://github.com/acelaya/url-shortener/issues/21)\r\n* [22: Save visits locations data on a visit_locations table](https://github.com/acelaya/url-shortener/issues/22)\r\n* [20: Inject cross domain headers in response only if the Origin header is present in the request](https://github.com/acelaya/url-shortener/issues/20)\r\n* [11: Separate code into multiple modules](https://github.com/acelaya/url-shortener/issues/11)\r\n* [18: Group routable middleware in an Action namespace](https://github.com/acelaya/url-shortener/issues/18)\r\n\r\n**Tasks**\r\n\r\n* [36: Remove hhvm from the CI matrix since it doesn't support array constants and will fail](https://github.com/acelaya/url-shortener/issues/36)\r\n* [4: Installation steps](https://github.com/acelaya/url-shortener/issues/4)\r\n* [6: Remove dependency on expressive helpers package](https://github.com/acelaya/url-shortener/issues/6)\r\n* [30: Replace the \"services\" first level config entry by \"dependencies\", in order to fulfill default Expressive name](https://github.com/acelaya/url-shortener/issues/30)\r\n* [12: Improve code coverage](https://github.com/acelaya/url-shortener/issues/12)\r\n* [25: Replace \"Middleware\" suffix on routable middlewares by \"Action\"](https://github.com/acelaya/url-shortener/issues/25)\r\n* [19: Update the vendor and app namespace from Acelaya\\UrlShortener to Shlinkio\\Shlink](https://github.com/acelaya/url-shortener/issues/19)\r\n\r\n**Bugs**\r\n\r\n* [24: Prevent duplicated shortcodes errors because of the case insensitive behavior on MySQL](https://github.com/acelaya/url-shortener/issues/24)"}}
{"actor":{"display_login":"acelaya"}}