{"action":"published","release":{"url":"https://api.github.com/repos/kataras/iris/releases/3144841","assets_url":"https://api.github.com/repos/kataras/iris/releases/3144841/assets","upload_url":"https://uploads.github.com/repos/kataras/iris/releases/3144841/assets{?name,label}","html_url":"https://github.com/kataras/iris/releases/tag/v2.0.0","id":3144841,"tag_name":"v2.0.0","target_commitish":"master","name":"v2.0.0","draft":false,"author":{"login":"kataras","id":2321588,"avatar_url":"https://avatars.githubusercontent.com/u/2321588?v=3","gravatar_id":"","url":"https://api.github.com/users/kataras","html_url":"https://github.com/kataras","followers_url":"https://api.github.com/users/kataras/followers","following_url":"https://api.github.com/users/kataras/following{/other_user}","gists_url":"https://api.github.com/users/kataras/gists{/gist_id}","starred_url":"https://api.github.com/users/kataras/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kataras/subscriptions","organizations_url":"https://api.github.com/users/kataras/orgs","repos_url":"https://api.github.com/users/kataras/repos","events_url":"https://api.github.com/users/kataras/events{/privacy}","received_events_url":"https://api.github.com/users/kataras/received_events","type":"User","site_admin":false},"prerelease":false,"created_at":"2016-05-03T01:56:36Z","published_at":"2016-05-03T01:58:18Z","assets":[],"tarball_url":"https://api.github.com/repos/kataras/iris/tarball/v2.0.0","zipball_url":"https://api.github.com/repos/kataras/iris/zipball/v2.0.0","body":"## Book\r\n\r\nClick [here](https://kataras.gitbooks.io/iris/content/index.html) to read the Iris gitbook.\r\n\r\n## Changelog v1.2.1 -> v2.0.0\r\n\r\nGlobal:\r\n- ```Context.RenderFile(file string, pageContext interface{}) error``` -> - ```Context.Render(file string, pageContext interface{}) error```\r\n- ```.Templates(\"./path/*.html\")``` -> see iris.RenderConfig\r\n- ```.TemplateFuncs(...)``` -> see iris.RenderConfig\r\n- ```.TemplateDelims(\"left\",\"right\")``` -> see iris.RenderConfig\r\n- ```.GetTemplates()``` -> removed\r\n- ```.Plugin(plugin)``` -> ```.Plugins().Add(plugin)```\r\n- ```.StationOptions``` -> ```IrisConfig```\r\n- ```.Custom``` -> ```.New(...IrisConfig)```\r\n- ```.Listen(...string)``` -> ```.Listen(string)```\r\n- ```StationOptions``` -> ```*IrisConfig```\r\n\r\n> IrisConfig and RenderConfig are passed by reference now\r\n\r\nContext:\r\n- ```.AddCookie(*fasthttp.Cookie{})``` -> ```.SetCookie(*fasthttp.Cookie{})```\r\n- ```.SetCookie(string,string)``` -> ```.SetCookieKV(string,string)```\r\n- ```Context.Render(\"mypage.html\",mypage{})``` -> ```Context.Render(\"mypage\",mypage{},\"otherThanConfigLayout\")```\r\n\r\nRender Context's removed:\r\n- ```Context.HTML```\r\n- ```Context.WriteData```\r\n- ```Context.WriteText```\r\n- ```Context.WriteJSON```\r\n- ```Context.WriteXML```\r\n- ```Context.RenderData```\r\n- ```Context.RenderJSON```\r\n- ```Context.RenderXML```\r\n- all these are replaced with ```Context.HTML, Context.Data, Context.Text, Context.JSON, Context.XML```\r\n\r\n### Added\r\n- ```IrisConfig { ... MaxRequestBodySize int }```  MaxRequestBodySize is the only options that can be changed after server listen - using SetMaxRequestBodySize(int)\r\n- ```IrisConfig {...Render: RenderConfig}```  Render can be changed after declaration but before server's listen - using SetRenderConfig(RenderConfig)\r\n- ```.Plugins() []Plugin```\r\n- ```Context.SetCookieKV(string,string)```\r\n- ```JSONP(status int, callback string, v interface{}) error```\r\n\r\n- ```RenderConfig``` defaults:\r\n\r\n```go\r\niris.New(&iris.IrisConfig{\r\nRender: &iris.RenderConfig{\r\n    Directory: \"templates\",\r\n    Asset: nil,\r\n    AssetNames: nil,\r\n    Layout: \"\",\r\n    Extensions: []string{\".html\"},\r\n    Funcs: []template.FuncMap{},\r\n    Delims: iris.Delims{\"{{\", \"}}\"},\r\n    Charset: \"UTF-8\",\r\n    IndentJSON: false,\r\n    IndentXML: false,\r\n    PrefixJSON: []byte(\"\"),\r\n    PrefixXML: []byte(\"\"),\r\n    HTMLContentType: \"text/html\",\r\n    IsDevelopment: false,\r\n    UnEscapeHTML: false,\r\n    StreamingJSON: false,\r\n    RequirePartials: false,\r\n    DisableHTTPErrorRendering: false,\r\n},})\r\n\r\n\r\n```\r\n### Types\r\n\r\n- Station -> Iris\r\n- StationOptions -> Iris.IrisConfig [IrisConfig and not Config because of the iris.Config() func]\r\n- RouterDomain -> Router.serveDomainFunc\r\n- All string and file utils moved to ```utils``` package\r\n- HTTPErrors -> HTTPErrorContainer\r\n- iris.Error -> errors.Error\r\n- iris.Server -> server.Server\r\n- iris.Server.ServerOptions -> server.Config\r\n- much more but are useless for you...\r\n\r\n\r\n------------"}}