mirror of
https://github.com/kataras/iris.git
synced 2025-03-13 21:36:28 +01:00
Format HISTORY.md for V4 LTS
This commit is contained in:
parent
5c896b39a5
commit
0f096b49a5
51
HISTORY.md
51
HISTORY.md
|
@ -2,7 +2,7 @@
|
|||
|
||||
**How to upgrade**: remove your `$GOPATH/src/github.com/kataras` folder, open your command-line and execute this command: `go get -u github.com/kataras/iris/iris`.
|
||||
|
||||
## 4.6.0 -> 4.6.1
|
||||
## v3 -> v4 long term support
|
||||
|
||||
- **NEW**: `iris.StaticEmbedded`/`app := iris.New(); app.StaticEmbedded` - Embed static assets into your executable with [go-bindata](https://github.com/jteeuwen/go-bindata) and serve them.
|
||||
|
||||
|
@ -74,10 +74,6 @@ func main() {
|
|||
```
|
||||
|
||||
|
||||
## 4.5.2/.3 -> 4.6.0
|
||||
|
||||
### This update affects only testers who used `iris.Tester` at the past.
|
||||
|
||||
- **FIX**: httptest flags caused by httpexpect which used to help you with tests inside **old** func `iris.Tester` as reported [here]( https://github.com/kataras/iris/issues/337#issuecomment-253429976)
|
||||
|
||||
- **NEW**: `iris.ResetDefault()` func which resets the default iris instance which is the station for the most part of the public/package API
|
||||
|
@ -147,8 +143,6 @@ Finally, some plugins container's additions:
|
|||
- **NEW**: `iris.Plugins.PreDownloadFired() bool` func which returns true if `PreDownload` fired at least one time
|
||||
|
||||
|
||||
## 4.5.1 -> 4.5.2
|
||||
|
||||
- **Feature request**: I never though that it will be easier for users to catch 405 instead of simple 404, I though that will make your life harder, but it's requested by the Community [here](https://github.com/kataras/iris/issues/469), so I did my duty. Enable firing Status Method Not Allowed (405) with a simple configuration field: `iris.Config.FireMethodNotAllowed=true` or `iris.Set(iris.OptionFireMethodNotAllowed(true))` or `app := iris.New(iris.Configuration{FireMethodNotAllowed:true})`. A trivial, test example can be shown here:
|
||||
|
||||
```go
|
||||
|
@ -178,13 +172,11 @@ func TestMuxFireMethodNotAllowed(t *testing.T) {
|
|||
}
|
||||
```
|
||||
|
||||
## 4.5.0 -> 4.5.1
|
||||
|
||||
- **NEW**: `PreBuild` plugin type, raises before `.Build`. Used by third-party plugins to register any runtime routes or make any changes to the iris main configuration, example of this usage is the [OAuth/OAuth2 Plugin](https://github.com/iris-contrib/plugin/tree/master/oauth).
|
||||
|
||||
- **FIX**: The [OAuth example](https://github.com/iris-contrib/examples/tree/master/plugin_oauth_oauth2).
|
||||
|
||||
## 4.4.9 -> 4.5.0
|
||||
|
||||
- **NEW**: Websocket configuration fields:
|
||||
- `Error func(ctx *Context, status int, reason string)`. Manually catch any handshake errors. Default calls the `ctx.EmitError(status)` with a stored error message in the `WsError` key(`ctx.Set("WsError", reason)`), as before.
|
||||
|
@ -242,11 +234,9 @@ type WebsocketConfiguration struct {
|
|||
[Examples](https://github.com/iris-contrib/examples), [Book](https://github.com/iris-contrib/gitbook) are up-to-date, just new configuration fields.
|
||||
|
||||
|
||||
## 4.4.8 -> 4.4.9
|
||||
|
||||
- **FIX**: Previous CORS fix wasn't enough and produces error before server's startup[*](https://github.com/kataras/iris/issues/461) if many paths were trying to auto-register an `.OPTIONS` route, now this is fixed in combined with some improvements on the [cors middleware](https://github.com/iris-contrib/middleware/tree/master/cors) too.
|
||||
|
||||
## 4.4.7 -> 4.4.8
|
||||
|
||||
- **NEW**: `BodyDecoder` gives the ability to set a custom decoder **per passed object** when `context.ReadJSON` and `context.ReadXML`
|
||||
|
||||
|
@ -274,18 +264,15 @@ type BodyDecoder interface {
|
|||
|
||||
> for a usage example go to https://github.com/kataras/iris/blob/master/context_test.go#L262
|
||||
|
||||
## 4.4.6 -> 4.4.7
|
||||
|
||||
- **small fix**: websocket server is nil when more than the default websocket station tries to be registered before `OnConnection` called[*](https://github.com/kataras/iris/issues/460)
|
||||
|
||||
## 4.4.1 -> 4.4.6
|
||||
|
||||
- **FIX**: CORS not worked for all http methods
|
||||
- **FIX**: Unexpected Party root's route slash when `DisablePathCorrection` is false(default), as reported [here](https://github.com/kataras/iris/issues/453)
|
||||
- **small fix**: DisablePathEscape not affects the uri string
|
||||
- **small fix**: when Path Correction on POST redirect to the GET instead of POST
|
||||
|
||||
## 4.4.0 -> 4.4.1
|
||||
|
||||
- **NEW**: Template PreRenders, as requested [here](https://github.com/kataras/iris/issues/412).
|
||||
|
||||
|
@ -312,8 +299,6 @@ iris.Get("/", func(ctx *Context) {
|
|||
|
||||
|
||||
|
||||
## 4.3.0 -> 4.4.0
|
||||
|
||||
**NOTE**: For normal users this update offers nothing, read that only if you run Iris behind a proxy or balancer like `nginx` or you need to serve using a custom `net.Listener`.
|
||||
|
||||
This update implements the [support of using native servers and net.Listener instead of Iris' defined](https://github.com/kataras/iris/issues/438).
|
||||
|
@ -363,19 +348,15 @@ To test subdomains or a custom domain just set the `iris.Config.VHost` and `iris
|
|||
|
||||
**Finally**, I have to notify you that [examples](https://github.com/iris-contrib/examples), [plugins](https://github.com/iris-contrib/plugin), [middleware](https://github.com/iris-contrib/middleware) and [book](https://github.com/iris-contrib/gitbook) have been updated.
|
||||
|
||||
## 4.2.9 -> 4.3.0
|
||||
|
||||
- Align with the latest version of [go-websocket](https://github.com/kataras/go-websocket), remove vendoring for compression on [go-fs](https://github.com/kataras/go-fs) which produced errors on sqllite and gorm(mysql and mongo worked fine before too) as reported [here](https://github.com/kataras/go-fs/issues/1).
|
||||
|
||||
## 4.2.7 -> 4.2.8 & 4.2.9
|
||||
|
||||
- **External FIX**: [template syntax error causes a "template doesn't exist"](https://github.com/kataras/iris/issues/415)
|
||||
|
||||
## 4.2.6 -> 4.2.7
|
||||
|
||||
- **ADDED**: You are now able to use a raw fasthttp handler as the router instead of the default Iris' one. Example [here](https://github.com/iris-contrib/examples/blob/master/custom_fasthttp_router/main.go). But remember that I'm always recommending to use the Iris' default which supports subdomains, group of routes(parties), auto path correction and many other built'n features. This exists for specific users who told me that they need a feature like that inside Iris, we have no performance cost at all so that's ok to exists.
|
||||
|
||||
## 4.2.5 -> 4.2.6
|
||||
|
||||
- **CHANGE**: Updater (See 4.2.4 and 4.2.3) runs in its own goroutine now, unless the `iris.Config.CheckForUpdatesSync` is true.
|
||||
- **ADDED**: To align with fasthttp server's configuration, iris has these new Server Configuration's fields, which allows you to set a type of rate limit:
|
||||
|
@ -400,11 +381,8 @@ MaxRequestsPerConn int
|
|||
// iris.AddServer(iris.ServerConfiguration{ListeningAddr: ":9090", MaxConnsPerIP: 300, MaxRequestsPerConn:100})
|
||||
```
|
||||
|
||||
## 4.2.4 -> 4.2.5
|
||||
|
||||
- **ADDED**: `iris.CheckForUpdates(force bool)` which can run the updater(look 4.2.4) at runtime too, updater is tested and worked at dev machine.
|
||||
|
||||
## 4.2.3 -> 4.2.4
|
||||
|
||||
- **NEW Experimental feature**: Updater with a `CheckForUpdates` [configuration](https://github.com/kataras/iris/blob/master/configuration.go) field, as requested [here](https://github.com/kataras/iris/issues/401)
|
||||
```go
|
||||
|
@ -425,15 +403,11 @@ MaxRequestsPerConn int
|
|||
CheckForUpdates bool
|
||||
```
|
||||
|
||||
## 4.2.2 -> 4.2.3
|
||||
|
||||
- [Add IsAjax() convenience method](https://github.com/kataras/iris/issues/423)
|
||||
|
||||
## 4.2.1 -> 4.2.2
|
||||
|
||||
- Fix [sessiondb issue 416](https://github.com/kataras/iris/issues/416)
|
||||
|
||||
## 4.2.0 -> 4.2.1
|
||||
|
||||
- **CHANGE**: No front-end changes if you used the default response engines before. Response Engines to Serializers, `iris.ResponseEngine` `serializer.Serializer`, comes from `kataras/go-serializer` which is installed automatically when you upgrade iris with `-u` flag.
|
||||
|
||||
|
@ -446,8 +420,6 @@ CheckForUpdates bool
|
|||
[Serializer examples](https://github.com/iris-contrib/examples/tree/master/serialize_engines) and [Book section](https://kataras.gitbooks.io/iris/content/serialize-engines.html) updated.
|
||||
|
||||
|
||||
## 4.1.7 -> 4.2.0
|
||||
|
||||
- **ADDED**: `iris.TemplateSourceString(src string, binding interface{}) string` this will parse the src raw contents to the template engine and return the string result & `context.RenderTemplateSource(status int, src string, binding interface{}, options ...map[string]interface{}) error` this will parse the src raw contents to the template engine and render the result to the client, as requseted [here](https://github.com/kataras/iris/issues/409).
|
||||
|
||||
|
||||
|
@ -726,7 +698,6 @@ View all configuration fields and options by navigating to the [kataras/iris/con
|
|||
|
||||
[Book](https://kataras.gitbooks.io/iris/content/configuration.html) & [Examples](https://github.com/iris-contrib/examples) are updated (website docs will be updated soon).
|
||||
|
||||
## 4.1.6 -> 4.1.7
|
||||
|
||||
- **CHANGED**: Use of the standard `log.Logger` instead of the `iris-contrib/logger`(colorful logger), these changes are reflects some middleware, examples and plugins, I updated all of them, so don't worry.
|
||||
|
||||
|
@ -734,15 +705,12 @@ So, [iris-contrib/middleware/logger](https://github.com/iris-contrib/middleware/
|
|||
|
||||
- **ADDED**: `context.Framework()` which returns your Iris instance (typeof `*iris.Framework`), useful for the future(Iris will give you, soon, the ability to pass custom options inside an iris instance).
|
||||
|
||||
## 4.1.5 -> 4.1.6
|
||||
|
||||
- Align with [go-sessions](https://github.com/kataras/go-sessions), no front-end changes, however I think that the best time to make an upgrade to your local Iris is right now.
|
||||
|
||||
## 4.1.4 -> 4.1.5
|
||||
|
||||
- Remove unused Plugin's custom callbacks, if you still need them in your project use this instead: https://github.com/kataras/go-events
|
||||
|
||||
## 4.1.3 -> 4.1.4
|
||||
|
||||
Zero front-end changes. No real improvements, developers can ignore this update.
|
||||
|
||||
|
@ -751,20 +719,17 @@ Zero front-end changes. No real improvements, developers can ignore this update.
|
|||
- `GzipWriter` is taken, now, from the `kataras/go-fs` package which has improvements versus the previous implementation.
|
||||
|
||||
|
||||
## 4.1.2 -> 4.1.3
|
||||
|
||||
Zero front-end changes. No real improvements, developers can ignore this update.
|
||||
|
||||
- Replace the template engines with a new cross-framework package, [go-template](https://github.com/kataras/go-websocket). Same front-end API, examples and iris-contrib/template are compatible.
|
||||
|
||||
## 4.1.1 -> 4.1.2
|
||||
|
||||
Zero front-end changes. No real improvements, developers can ignore this update.
|
||||
|
||||
- Replace the main and underline websocket implementation with [go-websocket](https://github.com/kataras/go-websocket). Note that we still need the [ris-contrib/websocket](https://github.com/iris-contrib/websocket) package.
|
||||
- Replace the use of iris-contrib/errors with [go-errors](https://github.com/kataras/go-errors), which has more features
|
||||
|
||||
## 4.0.0 -> 4.1.1
|
||||
|
||||
- **NEW FEATURE**: Basic remote control through SSH, example [here](https://github.com/iris-contrib/examples/blob/master/ssh/main.go)
|
||||
- **NEW FEATURE**: Optionally `OnError` foreach Party (by prefix, use it with your own risk), example [here](https://github.com/iris-contrib/examples/blob/master/httperrors/main.go#L37)
|
||||
|
@ -774,8 +739,6 @@ Zero front-end changes. No real improvements, developers can ignore this update.
|
|||
- Better gzip response managment
|
||||
|
||||
|
||||
## 4.0.0-alpha.5 -> 4.0.0
|
||||
|
||||
- **Feature request has been implemented**: Add layout support for Pug/Jade, example [here](https://github.com/iris-contrib/examples/tree/master/template_engines/template_pug_2).
|
||||
- **Feature request has been implemented**: Forcefully closing a Websocket connection, `WebsocketConnection.Disconnect() error`.
|
||||
|
||||
|
@ -785,8 +748,6 @@ Zero front-end changes. No real improvements, developers can ignore this update.
|
|||
Notes: if you compare it with previous releases (13+ versions before v3 stable), the v4 stable release was fast, now we had only 6 versions before stable, that was happened because many of bugs have been already fixed and we hadn't new bug reports and secondly, and most important for me, some third-party features are implemented mostly by third-party packages via other developers!
|
||||
|
||||
|
||||
## 4.0.0-alpha.4 -> 4.0.0-alpha.5
|
||||
|
||||
- **NEW FEATURE**: Letsencrypt.org integration[*](https://github.com/kataras/iris/issues/220)
|
||||
- example [here](https://github.com/iris-contrib/examples/blob/master/letsencrypt/main.go)
|
||||
- **FIX**: (ListenUNIX adds :80 to filename)[https://github.com/kataras/iris/issues/321]
|
||||
|
@ -794,7 +755,6 @@ Notes: if you compare it with previous releases (13+ versions before v3 stable),
|
|||
- **FIX** (auto-gzip doesn't really compress data in latest code)[https://github.com/kataras/iris/issues/312]
|
||||
|
||||
|
||||
## 4.0.0-alpha.3 -> 4.0.0-alpha.4
|
||||
|
||||
|
||||
**The important** , is that the [book](https://kataras.gitbooks.io/iris/content/) is finally updated!
|
||||
|
@ -815,9 +775,6 @@ If you're **willing to donate** click [here](DONATIONS.md)!
|
|||
|
||||
- `iris.Config.Sessions.Expires` it was time.Time, changed to time.Duration, which defaults to 0, means unlimited session life duration, if you change it then the correct date is setted on client's cookie but also server destroys the session automatically when the duration passed, this is better approach, see [here](https://github.com/kataras/iris/issues/301)
|
||||
|
||||
|
||||
## 4.0.0-alpha.2 -> 4.0.0-alpha.3
|
||||
|
||||
**New**
|
||||
|
||||
A **Response Engine** gives you the freedom to create/change the render/response writer for
|
||||
|
@ -853,7 +810,6 @@ Generally, no other changes on the 'frontend API', for response engines examples
|
|||
|
||||
**BAD SIDE**: E-Book is still pointing on the v3 release, but will be updated soon.
|
||||
|
||||
## 4.0.0-alpha.1 -> 4.0.0-alpha.2
|
||||
|
||||
**Sessions were re-written **
|
||||
|
||||
|
@ -866,7 +822,7 @@ Generally, no other changes on the 'frontend API', for response engines examples
|
|||
- Examples (master branch) were updated.
|
||||
|
||||
```sh
|
||||
$ go get github.com/iris-contrib/sessiondb/$DATABASE
|
||||
$ go get github.com/kataras/go-sessions/sessiondb/$DATABASE
|
||||
```
|
||||
|
||||
```go
|
||||
|
@ -875,9 +831,6 @@ iris.UseSessionDB(db)
|
|||
```
|
||||
|
||||
|
||||
> Note: Book is not updated yet, examples are up-to-date as always.
|
||||
|
||||
|
||||
## 3.0.0 -> 4.0.0-alpha.1
|
||||
|
||||
[logger](https://github.com/iris-contrib/logger), [rest](https://github.com/iris-contrib/rest) and all [template engines](https://github.com/iris-contrib/template) **moved** to the [iris-contrib](https://github.com/iris-contrib).
|
||||
|
|
Loading…
Reference in New Issue
Block a user