From b1f4a85bbe46360a460439e7d7538e6ed751a1a6 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Tue, 8 Jan 2019 00:33:27 +0200 Subject: [PATCH 01/14] README: Iris Starter Kits: add yz124/superstar -- Iris + xorm to implement the star library Former-commit-id: ada9f896462a8c729877b23c16847ce3c5be58ce --- README.md | 19 ++++++++++--------- README_GR.md | 19 ++++++++++--------- README_ID.md | 19 ++++++++++--------- README_JPN.md | 19 ++++++++++--------- README_PT_BR.md | 19 ++++++++++--------- README_RU.md | 19 ++++++++++--------- README_ZH.md | 19 ++++++++++--------- 7 files changed, 70 insertions(+), 63 deletions(-) diff --git a/README.md b/README.md index 8166cc22..30ef094c 100644 --- a/README.md +++ b/README.md @@ -112,15 +112,16 @@ $ go run example.go --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > Did you build something similar? Let us [know](https://github.com/kataras/iris/pulls)! diff --git a/README_GR.md b/README_GR.md index af551b71..5511594a 100644 --- a/README_GR.md +++ b/README_GR.md @@ -183,15 +183,16 @@ _Η τελευταία ενημέρωση έγινε την [Τρίτη, 21 Νο --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > Έχετε χτίσει κάτι παρόμοιο; [Ενημέρωσέ μας](https://github.com/kataras/iris/pulls)! diff --git a/README_ID.md b/README_ID.md index e0f697a9..1fa3814c 100644 --- a/README_ID.md +++ b/README_ID.md @@ -181,15 +181,16 @@ Pertama - tama, cara yang paling tepat untuk memulai dengan web framework adalah --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > Apakah anda membuat hal yang serupa? [Beritahu kami](https://github.com/kataras/iris/pulls)! diff --git a/README_JPN.md b/README_JPN.md index 349e2429..86d7ccbe 100644 --- a/README_JPN.md +++ b/README_JPN.md @@ -181,15 +181,16 @@ Irisプロジェクトに貢献して頂ける方は、[CONTRIBUTING.md](CONTRIB --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > 似たようなものを開発しましたか? [私たちにも教えてください!](https://github.com/kataras/iris/pulls) diff --git a/README_PT_BR.md b/README_PT_BR.md index 9f7f642e..43a4404b 100644 --- a/README_PT_BR.md +++ b/README_PT_BR.md @@ -186,15 +186,16 @@ padrão. Feito isso, você pode seguir as seguintes diretrizes: --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: Web app básico utilizando o Iris](https://github.com/gauravtiwari/go_iris_app) -4. [Uma mini rede social criada com o incrível Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Projeto demo usando react com typescript e Iris](https://github.com/ionutvilie/react-ts) -7. [Plataforma de Gerenciamento de Localização auto hospedada criada com Iris e Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker e Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart do Iris com Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: Um projeto Hasura para iniciantes pronto para o deply com um app Golang hello-world utilizando o IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: Web app básico utilizando o Iris](https://github.com/gauravtiwari/go_iris_app) +5. [Uma mini rede social criada com o incrível Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Projeto demo usando react com typescript e Iris](https://github.com/ionutvilie/react-ts) +8. [Plataforma de Gerenciamento de Localização auto hospedada criada com Iris e Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker e Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart do Iris com Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: Um projeto Hasura para iniciantes pronto para o deply com um app Golang hello-world utilizando o IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > Voce criou algo parecido ? [Informe-nos](https://github.com/kataras/iris/pulls)! diff --git a/README_RU.md b/README_RU.md index b464b3cc..6eca3fd5 100644 --- a/README_RU.md +++ b/README_RU.md @@ -181,15 +181,16 @@ _Обновлено: [Вторник, 21 ноября 2017 г.](_benchmarks/READ --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > Вы построили что-то подобное? Дайте нам [знать](https://github.com/kataras/iris/pulls)! diff --git a/README_ZH.md b/README_ZH.md index 5dd8bb60..abcd05ef 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -176,15 +176,16 @@ _更新于: [2017年11月21日星期二](_benchmarks/README_UNIX.md)_ --> 1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -3. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -4. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -5. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -6. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -7. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -8. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -9. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -10. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) > 如果你有类似的使用经验吗 [请提交给我们](https://github.com/kataras/iris/pulls)! From 55ec53b4167057b8d642123fca137d4da3882709 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Fri, 11 Jan 2019 01:43:22 +0200 Subject: [PATCH 02/14] minor doc fix Former-commit-id: ccacb4275cbdc3285f4c8c3b0f13c8985f69a5be --- context/context.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/context/context.go b/context/context.go index fdb147b5..f437e447 100644 --- a/context/context.go +++ b/context/context.go @@ -154,7 +154,7 @@ type Context interface { // HandlerIndex sets the current index of the // current context's handlers chain. // If -1 passed then it just returns the - // current handler index without change the current index.rns that index, useless return value. + // current handler index without change the current index. // // Look Handlers(), Next() and StopExecution() too. HandlerIndex(n int) (currentIndex int) From ff3f052da1e6ce526bd343609f04ebe7fb596172 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Fri, 11 Jan 2019 02:10:33 +0200 Subject: [PATCH 03/14] push version 11.1.1 Former-commit-id: bf1c6f29a515c8c67cbc95aa7f47ccac2d843987 --- FAQ.md | 1 + HISTORY.md | 32 ++++++++++++++++++++++++++++++++ HISTORY_GR.md | 4 ++++ HISTORY_ID.md | 4 ++++ HISTORY_ZH.md | 4 ++++ README.md | 2 +- README_GR.md | 2 +- README_ID.md | 2 +- README_JPN.md | 2 +- README_PT_BR.md | 2 +- README_RU.md | 2 +- README_ZH.md | 2 +- VERSION | 2 +- doc.go | 2 +- iris.go | 2 +- 15 files changed, 55 insertions(+), 10 deletions(-) diff --git a/FAQ.md b/FAQ.md index 1f5daf7f..15a7b2d2 100644 --- a/FAQ.md +++ b/FAQ.md @@ -28,6 +28,7 @@ go get -u github.com/kataras/iris More than 100 practical examples, tutorials and articles at: +- https://github.com/kataras/iris#iris-starter-kits - https://github.com/kataras/iris/tree/master/_examples - https://github.com/iris-contrib/examples - https://iris-go.com/v11/recipe diff --git a/HISTORY.md b/HISTORY.md index ef56dacc..494f90b2 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -17,6 +17,38 @@ Developers are not forced to upgrade if they don't really need it. Upgrade whene **How to upgrade**: Open your command-line and execute this command: `go get -u github.com/kataras/iris` or let the automatic updater do that for you. +# Fr, 11 January 2019 | v11.1.1 + +Happy new year! This is a minor release, contains mostly bug fixes. + +Strage that we don't have major features in this release, right? Don't worry, I am not out of ideas (at least not yet!). +I have some features in-mind but lately I do not have the time to humanize them for you due to my new position in [Netdata Inc.](https://github.com/netdata/netdata), so be patient and [stay-tuned](https://github.com/kataras/iris/stargazers). Read the current changelog below: + +- session/redis: fix unused service config var. IdleTimeout witch was replaced by default values. [#1140](https://github.com/kataras/iris/pull/1140) ([@d7561985](https://github.com/d7561985)) + +- fix [#1141](https://github.com/kataras/iris/issues/1141) and [#1142](https://github.com/kataras/iris/issues/1142). [2bd7a8e88777766d1f4cac7562feec304112d2b1](https://github.com/kataras/iris/commit/2bd7a8e88777766d1f4cac7562feec304112d2b1) (@kataras) + +- fix cache corruption due to recorder reuse. [#1146](https://github.com/kataras/iris/pull/1146) ([@Slamper](https://github.com/Slamper)) + +- add `StatusTooEarly`, compatible with: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/425#Browser_compatibility. [31b2913447aa9e41e16a3eb33eb0019427e15cea](https://github.com/kataras/iris/commit/31b2913447aa9e41e16a3eb33eb0019427e15cea) (@kataras) + +- fix [#1164](https://github.com/kataras/iris/issues/1164). [701e8e46c20395f87fa34bf9fabd145074c7b78c](https://github.com/kataras/iris/commit/701e8e46c20395f87fa34bf9fabd145074c7b78c) (@kataras) + +- `context#ReadForm` can skip unkown fields by `IsErrPath(err)`, fixes: [#1157](https://github.com/kataras/iris/issues/1157). [1607bb5113568af6a34142f23bfa44903205b314](https://github.com/kataras/iris/commit/1607bb5113568af6a34142f23bfa44903205b314) (@kataras) + + +Doc updates: + +- fix grammar and misspell. [5069e9afd8700d20dfd04cdc008efd671b5d0b40](https://github.com/kataras/iris/commit/5069e9afd8700d20dfd04cdc008efd671b5d0b40) (@kataras) + +- fix link for httpexpect in README. [#1148](https://github.com/kataras/iris/pull/1148) ([@drenel18](https://github.com/drenel18)) + +- translate _examples/README.md into Chinese. [#1156](https://github.com/kataras/iris/pull/1156) ([fduxiao](https://github.com/fduxiao)) + +- add https://github.com/snowlyg/IrisApiProject to starter kits (Chinese). [ea12533871253afc34e40e36ba658b51955ea82d](https://github.com/kataras/iris/commit/ea12533871253afc34e40e36ba658b51955ea82d) + +- add https://github.com/yz124/superstar to starter kits (Chinese). [0e734ff8445f07482c28881347c1e564dc5aab9c](https://github.com/kataras/iris/commit/0e734ff8445f07482c28881347c1e564dc5aab9c) + # Su, 18 November 2018 | v11.1.0 PR: https://github.com/kataras/iris/pull/1130 diff --git a/HISTORY_GR.md b/HISTORY_GR.md index 021ee5ad..34f6a5f2 100644 --- a/HISTORY_GR.md +++ b/HISTORY_GR.md @@ -17,6 +17,10 @@ **Πώς να αναβαθμίσετε**: Ανοίξτε την γραμμή εντολών σας και εκτελέστε αυτήν την εντολή: `go get -u github.com/kataras/iris` ή αφήστε το αυτόματο updater να το κάνει αυτό για σας. +# Fr, 11 January 2019 | v11.1.1 + +Πατήστε [εδώ](https://github.com/kataras/iris/blob/master/HISTORY.md#fr-11-january-2019--v1111) για να διαβάσετε στα αγγλικά. + # Su, 18 November 2018 | v11.1.0 Πατήστε [εδώ](https://github.com/kataras/iris/blob/master/HISTORY.md#su-18-november-2018--v1110) για να διαβάσετε στα αγγλικά για το νέο "versioning" feature. diff --git a/HISTORY_ID.md b/HISTORY_ID.md index 414dc195..f69ea630 100644 --- a/HISTORY_ID.md +++ b/HISTORY_ID.md @@ -17,6 +17,10 @@ Developers tidak diwajibkan untuk melakukan upgrade apabila mereka tidak membutu **Cara Upgrade**: Bukan command-line anda dan eksekuis perintah ini: `go get -u github.com/kataras/iris` atau biarkan updater otomatis melakukannya untuk anda. +# Fr, 11 January 2019 | v11.1.1 + +This history entry is not translated yet to the Indonesian language yet, please refer to the english version of the [HISTORY entry](https://github.com/kataras/iris/blob/master/HISTORY.md#fr-11-january-2019--v1111) instead. + # Su, 18 November 2018 | v11.1.0 This history entry is not translated yet to the Indonesian language yet, please refer to the english version of the [HISTORY entry](https://github.com/kataras/iris/blob/master/HISTORY.md#su-18-november-2018--v1110) instead. diff --git a/HISTORY_ZH.md b/HISTORY_ZH.md index 4b5af7d1..d66a4fcc 100644 --- a/HISTORY_ZH.md +++ b/HISTORY_ZH.md @@ -17,6 +17,10 @@ **如何升级**: 打开命令行执行以下命令: `go get -u github.com/kataras/iris` 或者等待自动更新。 +# Fr, 11 January 2019 | v11.1.1 + +This history entry is not translated yet to the Chinese language yet, please refer to the english version of the [HISTORY entry](https://github.com/kataras/iris/blob/master/HISTORY.md#fr-11-january-2019--v1111) instead. + # Su, 18 November 2018 | v11.1.0 This history entry is not translated yet to the Chinese language yet, please refer to the english version of the [HISTORY entry](https://github.com/kataras/iris/blob/master/HISTORY.md#su-18-november-2018--v1110) instead. diff --git a/README.md b/README.md index 30ef094c..c5f97e9a 100644 --- a/README.md +++ b/README.md @@ -1020,7 +1020,7 @@ Iris, unlike others, is 100% compatible with the standards and that's why the ma ## Support -- [HISTORY](HISTORY.md#su-18-november-2018--v1110) file is your best friend, it contains information about the latest features and changes +- [HISTORY](HISTORY.md#fr-11-january-2019--v1111) file is your best friend, it contains information about the latest features and changes - Did you happen to find a bug? Post it at [github issues](https://github.com/kataras/iris/issues) - Do you have any questions or need to speak with someone experienced to solve a problem at real-time? Join us to the [community chat](https://chat.iris-go.com) - Complete our form-based user experience report by clicking [here](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/README_GR.md b/README_GR.md index 5511594a..19399496 100644 --- a/README_GR.md +++ b/README_GR.md @@ -108,7 +108,7 @@ _Η τελευταία ενημέρωση έγινε την [Τρίτη, 21 Νο ## Υποστήριξη -- To [HISTORY](HISTORY_GR.md#su-18-november-2018--v1110) αρχείο είναι ο καλύτερος σας φίλος, περιέχει πληροφορίες σχετικά με τις τελευταίες λειτουργίες(features) και αλλαγές +- To [HISTORY](HISTORY_GR.md#fr-11-january-2019--v1111) αρχείο είναι ο καλύτερος σας φίλος, περιέχει πληροφορίες σχετικά με τις τελευταίες λειτουργίες(features) και αλλαγές - Μήπως τυχαίνει να βρήκατε κάποιο bug; Δημοσιεύστε το στα [github issues](https://github.com/kataras/iris/issues) - Έχετε οποιεσδήποτε ερωτήσεις ή πρέπει να μιλήσετε με κάποιον έμπειρο για την επίλυση ενός προβλήματος σε πραγματικό χρόνο; Ελάτε μαζί μας στην [συνομιλία κοινότητας](https://chat.iris-go.com) - Συμπληρώστε την αναφορά εμπειρίας χρήστη κάνοντας κλικ [εδώ](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/README_ID.md b/README_ID.md index 1fa3814c..687b4260 100644 --- a/README_ID.md +++ b/README_ID.md @@ -106,7 +106,7 @@ _Diperbarui pada: [Tuesday, 21 November 2017](_benchmarks/README_UNIX.md)_ ## Dukungan -- File [HISTORY](HISTORY_ID.md#su-18-november-2018--v1110) adalah sahabat anda, file tersebut memiliki informasi terkait fitur dan perubahan terbaru +- File [HISTORY](HISTORY_ID.md#fr-11-january-2019--v1111) adalah sahabat anda, file tersebut memiliki informasi terkait fitur dan perubahan terbaru - Apakah anda menemukan bug? Laporkan itu melalui [github issues](https://github.com/kataras/iris/issues) - Apakah anda memiliki pertanyaan atau butuh untuk bicara kepada seseorang yang sudah berpengalaman untuk menyelesaikan masalah secara langsung? Gabung bersama kami di [community chat](https://chat.iris-go.com) - Lengkapi laporan user-experience berbasis formulir kami dengan tekan [disini](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/README_JPN.md b/README_JPN.md index 86d7ccbe..60cd9ff2 100644 --- a/README_JPN.md +++ b/README_JPN.md @@ -106,7 +106,7 @@ _Updated at: [Tuesday, 21 November 2017](_benchmarks/README_UNIX.md)_ ## 支援 -- [HISTORY](HISTORY.md#su-18-november-2018--v1110)ファイルはあなたの友人です。このファイルには、機能に関する最新の情報や変更点が記載されています。 +- [HISTORY](HISTORY.md#fr-11-january-2019--v1111)ファイルはあなたの友人です。このファイルには、機能に関する最新の情報や変更点が記載されています。 - バグを発見しましたか?[github issues](https://github.com/kataras/iris/issues)に投稿をお願い致します。 - 質問がありますか?または問題を即時に解決するため、熟練者に相談する必要がありますか?[community chat](https://chat.iris-go.com)に参加しましょう。 - [here](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link)をクリックしてユーザーとしての体験を報告しましょう。 diff --git a/README_PT_BR.md b/README_PT_BR.md index 43a4404b..e0d34b8a 100644 --- a/README_PT_BR.md +++ b/README_PT_BR.md @@ -106,7 +106,7 @@ _Atualizado em : [Terça, 21 de Novembro de 2017](_benchmarks/README_UNIX.md)_ ## Apoie -- [HISTORY](HISTORY.md#su-18-november-2018--v1110) o arquivo HISTORY é o seu melhor amigo, ele contém informações sobre as últimas features e mudanças. +- [HISTORY](HISTORY.md#fr-11-january-2019--v1111) o arquivo HISTORY é o seu melhor amigo, ele contém informações sobre as últimas features e mudanças. - Econtrou algum bug ? Poste-o nas [issues](https://github.com/kataras/iris/issues) - Possui alguma dúvida ou gostaria de falar com alguém experiente para resolver seu problema em tempo real ? Junte-se ao [chat da nossa comunidade](https://chat.iris-go.com). - Complete nosso formulário de experiência do usuário clicando [aqui](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/README_RU.md b/README_RU.md index 6eca3fd5..8b1baccc 100644 --- a/README_RU.md +++ b/README_RU.md @@ -106,7 +106,7 @@ _Обновлено: [Вторник, 21 ноября 2017 г.](_benchmarks/READ ## Поддержка -- Файл [HISTORY](HISTORY.md#su-18-november-2018--v1110) - ваш лучший друг, он содержит информацию о последних особенностях и всех изменениях +- Файл [HISTORY](HISTORY.md#fr-11-january-2019--v1111) - ваш лучший друг, он содержит информацию о последних особенностях и всех изменениях - Вы случайно обнаружили ошибку? Опубликуйте ее на [Github вопросы](https://github.com/kataras/iris/issues) - У Вас есть какие-либо вопросы или Вам нужно поговорить с кем-то, кто бы смог решить Вашу проблему в режиме реального времени? Присоединяйтесь к нам в [чате сообщества](https://chat.iris-go.com) - Заполните наш отчет о пользовательском опыте на основе формы, нажав [здесь](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/README_ZH.md b/README_ZH.md index abcd05ef..17cbdd62 100644 --- a/README_ZH.md +++ b/README_ZH.md @@ -102,7 +102,7 @@ _更新于: [2017年11月21日星期二](_benchmarks/README_UNIX.md)_ ## 支持 -- [更新记录](HISTORY_ZH.md#su-18-november-2018--v1110) 是您最好的朋友,它包含有关最新功能和更改的信息 +- [更新记录](HISTORY_ZH.md#fr-11-january-2019--v1111) 是您最好的朋友,它包含有关最新功能和更改的信息 - 你碰巧找到了一个错误? 请提交 [github issues](https://github.com/kataras/iris/issues) - 您是否有任何疑问或需要与有经验的人士交谈以实时解决问题? [加入我们的聊天](https://chat.iris-go.com) - [点击这里完成我们基于表单的用户体验报告](https://docs.google.com/forms/d/e/1FAIpQLSdCxZXPANg_xHWil4kVAdhmh7EBBHQZ_4_xSZVDL-oCC_z5pA/viewform?usp=sf_link) diff --git a/VERSION b/VERSION index 59226bc2..27271c12 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -11.1.0:https://github.com/kataras/iris/blob/master/HISTORY.md#su-18-november-2018--v1110 \ No newline at end of file +11.1.1:https://github.com/kataras/iris/blob/master/HISTORY.md#fr-11-january-2019--v1111 \ No newline at end of file diff --git a/doc.go b/doc.go index 81aa5854..8f473373 100644 --- a/doc.go +++ b/doc.go @@ -35,7 +35,7 @@ Source code and other details for the project are available at GitHub: Current Version -11.1.0 +11.1.1 Installation diff --git a/iris.go b/iris.go index 6f589a84..d2e3e0df 100644 --- a/iris.go +++ b/iris.go @@ -33,7 +33,7 @@ import ( var ( // Version is the current version number of the Iris Web Framework. - Version = "11.1.0" + Version = "11.1.1" ) // HTTP status codes as registered with IANA. From 571ef59adfc23d5336e1a2a5786eae551c483eb4 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Wed, 16 Jan 2019 22:46:35 +0200 Subject: [PATCH 04/14] fix minor misspell Former-commit-id: 515763c090184f8ed35f4ee776c3f5b1ea692141 --- HISTORY.md | 6 +++--- go.mod | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 494f90b2..587e1562 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -21,8 +21,8 @@ Developers are not forced to upgrade if they don't really need it. Upgrade whene Happy new year! This is a minor release, contains mostly bug fixes. -Strage that we don't have major features in this release, right? Don't worry, I am not out of ideas (at least not yet!). -I have some features in-mind but lately I do not have the time to humanize them for you due to my new position in [Netdata Inc.](https://github.com/netdata/netdata), so be patient and [stay-tuned](https://github.com/kataras/iris/stargazers). Read the current changelog below: +Strange that we don't have major features in this release, right? Don't worry, I am not out of ideas (at least not yet!). +I have some features in-mind but lately I do not have the time to humanize those ideas for you due to my new position in [Netdata Inc.](https://github.com/netdata/netdata), so be patient and [stay-tuned](https://github.com/kataras/iris/stargazers). Read the current changelog below: - session/redis: fix unused service config var. IdleTimeout witch was replaced by default values. [#1140](https://github.com/kataras/iris/pull/1140) ([@d7561985](https://github.com/d7561985)) @@ -43,7 +43,7 @@ Doc updates: - fix link for httpexpect in README. [#1148](https://github.com/kataras/iris/pull/1148) ([@drenel18](https://github.com/drenel18)) -- translate _examples/README.md into Chinese. [#1156](https://github.com/kataras/iris/pull/1156) ([fduxiao](https://github.com/fduxiao)) +- translate _examples/README.md into Chinese. [#1156](https://github.com/kataras/iris/pull/1156) ([@fduxiao](https://github.com/fduxiao)) - add https://github.com/snowlyg/IrisApiProject to starter kits (Chinese). [ea12533871253afc34e40e36ba658b51955ea82d](https://github.com/kataras/iris/commit/ea12533871253afc34e40e36ba658b51955ea82d) diff --git a/go.mod b/go.mod index e5c854b2..a78a5582 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,7 @@ require ( github.com/hashicorp/go-version v1.0.0 github.com/imkira/go-interpol v1.1.0 // indirect github.com/iris-contrib/blackfriday v2.0.0+incompatible - github.com/iris-contrib/formBinder v0.0.0-20190104093907-fbd5963f41e1 + github.com/iris-contrib/formBinder v0.0.0-20190104093907-fbd5963f41e1 // indirect github.com/iris-contrib/go.uuid v2.0.0+incompatible github.com/iris-contrib/httpexpect v0.0.0-20180314041918-ebe99fcebbce github.com/iris-contrib/i18n v0.0.0-20171121225848-987a633949d0 From 30ae2cb9dd468422fffef94af050dec6a90c91ac Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Fri, 22 Feb 2019 04:24:01 +0200 Subject: [PATCH 05/14] Add new 2019 video course made by J-Secur1ty and add the most important part of our README.md; the support that we provided over the years. Former-commit-id: 7390164a6639a7be949c04a000cef9c347d93968 --- README.md | 134 +++++++++++++++++++++++++++++------------------------- 1 file changed, 73 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index c5f97e9a..de0f30ce 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# ⚡️ Update: community-driven version 11.1.0 +# ⚡️ Stay tuned for updates: upcoming version 11.2.0 -Click [here](HISTORY.md#su-18-november-2018--v1110) to read about the versioning API that the most recent version of Iris brings to you. +Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of the upcoming release and the new features that it brings into game. # Iris Web Framework @@ -16,6 +16,38 @@ Iris offers a complete and decent solution and support for all gophers around th Learn what [others say about Iris](#support) and [star](https://github.com/kataras/iris/stargazers) this github repository to stay [up to date](https://facebook.com/iris.framework). +## Ghost? No More! Support as first class citizen + +Have you bored of waiting weeks or months for someone to respond to your github issue? Yes, **me too**. If you choose Iris for your main backend development you will never be like a ghost again. + +Iris is one of the few public github repositories that offers real support to individuals and collectivities, including companies. Unbeatable **free support**[*](#support) for three years and still counting. Navigate to the issues to see by yourself. + +In these difficult and restless days **we stand beside you**. We **do not judge bad english writing**, no matter who you are, we will be here for you. + +Check below the features and the hard work that we putted to improve how the internet is built. If you really like it and appreciate it, give a star to this github **repository for the public.** + +## Benchmarks + +### Iris vs .NET Core vs Expressjs + +[![Iris vs .NET Core(C#) vs Node.js (Express)](_benchmarks/benchmarks_graph_22_october_2018_gray.png)](_benchmarks/README.md) + +_Updated at: [Monday, 22 October 2018](_benchmarks/README.md)_ + +### Iris vs the rest Go web frameworks and routers vs any other alternative + +[![](_benchmarks/benchmarks_third_party_source_snapshot_go_23_october_2018.png)](https://github.com/the-benchmarker/web-frameworks#full-table) + +As shown in the benchmarks (from a [third-party source](https://github.com/the-benchmarker)), Iris is the fastest open-source Go web framework in the planet. The net/http 100% compatible router [muxie](https://github.com/kataras/muxie) I've created some weeks ago is also trending there with amazing results, fastest net/http router ever created as well. View the results at: + +https://github.com/the-benchmarker/web-frameworks#full-table + +## Philosophy + +The Iris philosophy is to provide robust tooling for HTTP, making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs. Keep note that, so far, iris is the fastest web framework ever created in terms of performance. + +Iris does not force you to use any specific ORM or template engine. With support for the most used template engines, you can quickly craft the perfect application. + ## Installation The only requirement is the [Go Programming Language](https://golang.org/dl/) @@ -45,28 +77,6 @@ import ( -## Benchmarks - -### Iris vs .NET Core vs Expressjs - -[![Iris vs .NET Core(C#) vs Node.js (Express)](_benchmarks/benchmarks_graph_22_october_2018_gray.png)](_benchmarks/README.md) - -_Updated at: [Monday, 22 October 2018](_benchmarks/README.md)_ - -### Iris vs the rest Go web frameworks and routers vs any other alternative - -[![](_benchmarks/benchmarks_third_party_source_snapshot_go_23_october_2018.png)](https://github.com/the-benchmarker/web-frameworks#full-table) - -As shown in the benchmarks (from a [third-party source](https://github.com/the-benchmarker)), Iris is the fastest open-source Go web framework in the planet. The net/http 100% compatible router [muxie](https://github.com/kataras/muxie) I've created some weeks ago is also trending there with amazing results, fastest net/http router ever created as well. View the results at: - -https://github.com/the-benchmarker/web-frameworks#full-table - -## Philosophy - -The Iris philosophy is to provide robust tooling for HTTP, making it a great solution for single page applications, web sites, hybrids, or public HTTP APIs. Keep note that, so far, iris is the fastest web framework ever created in terms of performance. - -Iris does not force you to use any specific ORM or template engine. With support for the most used template engines, you can quickly craft the perfect application. - ## Quick start ```sh @@ -96,35 +106,6 @@ func main() { $ go run example.go ``` -## Iris starter kits - - - -1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** -2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** -3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) -4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) -5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) -6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) -7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) -8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) -9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) -10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) -11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) - -> Did you build something similar? Let us [know](https://github.com/kataras/iris/pulls)! - ## API Examples ### Using Get, Post, Put, Patch, Delete and Options @@ -992,6 +973,15 @@ Iris has a great collection of handlers[[1]](middleware/)[[2]](https://github.co Iris, unlike others, is 100% compatible with the standards and that's why the majority of the big companies that adapt Go to their workflow, like a very famous US Television Network, trust Iris; it's up-to-date and it will be always aligned with the std `net/http` package which is modernized by the Go Authors on each new release of the Go Programming Language. +### Video Courses + +| Description | Link | Author | Year | +| -----------|-------------|-------------|-----| +| Installing Iris | https://www.youtube.com/watch?v=BmOLFQ29J3s | WarnabiruTV | 2018 | +| Iris & Mongo DB Complete | https://www.youtube.com/watch?v=uXiNYhJqh2I&index=1&list=PLMrwI6jIZn-1tzskocnh1pptKhVmWdcbS | Musobar Media | 2018 | +| Quick Start with Iris | https://www.youtube.com/watch?v=x5OSXX9vitU&list=PLJ39kWiJXSizebElabidQeVaKeJuY6b4I | J-Secur1ty | **2019** | +| Getting Started with Iris | https://www.youtube.com/watch?v=rQxRoN6ub78&index=27&list=PLidHThAppdAH4y0DeEf-dGjB-xITVKszL | stephgdesign | 2018 | + ### Articles * [CRUD REST API in Iris (a framework for golang)](https://medium.com/@jebzmos4/crud-rest-api-in-iris-a-framework-for-golang-a5d33652401e) @@ -1008,15 +998,19 @@ Iris, unlike others, is 100% compatible with the standards and that's why the ma * [Deploying a Iris Golang app in hasura](https://medium.com/@HasuraHQ/deploy-an-iris-golang-app-with-backend-apis-in-minutes-25a559bf530b) * [A URL Shortener Service using Go, Iris and Bolt](https://medium.com/@kataras/a-url-shortener-service-using-go-iris-and-bolt-4182f0b00ae7) -### Video Courses +## Iris starter kits -* [Daily Coding - Web Framework Golang: Iris Framework]( https://www.youtube.com/watch?v=BmOLFQ29J3s) by WarnabiruTV, source: youtube, cost: **FREE** -* [Tutorial Golang MVC dengan Iris Framework & Mongo DB](https://www.youtube.com/watch?v=uXiNYhJqh2I&list=PLMrwI6jIZn-1tzskocnh1pptKhVmWdcbS) (19 parts so far) by Musobar Media, source: youtube, cost: **FREE** -* [Go/Golang 27 - Iris framework : Routage de base](https://www.youtube.com/watch?v=rQxRoN6ub78) by stephgdesign, source: youtube, cost: **FREE** -* [Go/Golang 28 - Iris framework : Templating](https://www.youtube.com/watch?v=nOKYV073S2Y) by stephgdesignn, source: youtube, cost: **FREE** -* [Go/Golang 29 - Iris framework : Paramètres](https://www.youtube.com/watch?v=K2FsprfXs1E) by stephgdesign, source: youtube, cost: **FREE** -* [Go/Golang 30 - Iris framework : Les middelwares](https://www.youtube.com/watch?v=BLPy1So6bhE) by stephgdesign, source: youtube, cost: **FREE** -* [Go/Golang 31 - Iris framework : Les sessions](https://www.youtube.com/watch?v=RnBwUrwgEZ8) by stephgdesign, source: youtube, cost: **FREE** +1. [snowlyg/IrisApiProject: Iris + gorm + jwt + sqlite3](https://github.com/snowlyg/IrisApiProject) **NEW-Chinese** +2. [yz124/superstar: Iris + xorm to implement the star library](https://github.com/yz124/superstar) **NEW-Chinese** +3. [jebzmos4/Iris-golang: A basic CRUD API in golang with Iris](https://github.com/jebzmos4/Iris-golang) +4. [gauravtiwari/go_iris_app: A basic web app built in Iris for Go](https://github.com/gauravtiwari/go_iris_app) +5. [A mini social-network created with the awesome Iris💖💖](https://github.com/iris-contrib/Iris-Mini-Social-Network) +6. [Iris isomorphic react/hot reloadable/redux/css-modules starter kit](https://github.com/iris-contrib/iris-starter-kit) +7. [ionutvilie/react-ts: Demo project with react using typescript and Iris](https://github.com/ionutvilie/react-ts) +8. [Self-hosted Localization Management Platform built with Iris and Angular](https://github.com/iris-contrib/parrot) +9. [Iris + Docker and Kubernetes](https://github.com/iris-contrib/cloud-native-go) +10. [nanobox.io: Quickstart for Iris with Nanobox](https://guides.nanobox.io/golang/iris/from-scratch) +11. [hasura.io: A Hasura starter project with a ready to deploy Golang hello-world web app with IRIS](https://hasura.io/hub/project/hasura/hello-golang-iris) ## Support @@ -1077,6 +1071,24 @@ Iris, unlike others, is 100% compatible with the standards and that's why the ma There are many companies and start-ups looking for Go web developers with Iris experience as requirement, we are searching for you every day and we post those information via our [facebook page](https://www.facebook.com/iris.framework), like the page to get notified, we have already posted some of them. +### Author + + + + + +
+ + +Gerasimos Maropoulos + +

+ + + +

+
+ ### Backers Thank you to all our backers! 🙏 [Become a backer](https://iris-go.com/donate) From 01233a3c223b1be8d543834f827300b63f458574 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Fri, 22 Mar 2019 19:34:22 +0200 Subject: [PATCH 06/14] fix https://github.com/kataras/iris/issues/1220 from last updates Former-commit-id: 1932953145c9386053cae28805020e6b6bd956a6 --- macro/macros.go | 1 + 1 file changed, 1 insertion(+) diff --git a/macro/macros.go b/macro/macros.go index 4c6f6416..99637182 100644 --- a/macro/macros.go +++ b/macro/macros.go @@ -419,6 +419,7 @@ var ( Uint64, Bool, Alphabetical, + File, Path, } ) From 486d9350e5669e51878b7ff333b8c82965d26768 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Mon, 8 Apr 2019 06:48:57 +0300 Subject: [PATCH 07/14] update snapshot Former-commit-id: 25fb22a3793282ee0c29b19a4770841145f98e7f --- ...d_party_source_snapshot_go_01_march_2019.png | Bin 0 -> 75793 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 _benchmarks/benchmarks_third_party_source_snapshot_go_01_march_2019.png diff --git a/_benchmarks/benchmarks_third_party_source_snapshot_go_01_march_2019.png b/_benchmarks/benchmarks_third_party_source_snapshot_go_01_march_2019.png new file mode 100644 index 0000000000000000000000000000000000000000..cfab740024d30b80448f73e65f7e3888314905ad GIT binary patch literal 75793 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 Date: Mon, 8 Apr 2019 07:02:15 +0300 Subject: [PATCH 08/14] A message about the new websocket capabilities Former-commit-id: 682cfd729918e570cb506ef7ea25242701f405f6 --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index de0f30ce..66930d3c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # ⚡️ Stay tuned for updates: upcoming version 11.2.0 -Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of the upcoming release and the new features that it brings into game. +Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of the upcoming release and the new features that it brings into game. + +@kataras: I was sick for almost a month, but this wasn't kept me from pushing some progress for the upcoming release. the v11.2.0 will contain a breaking change on the websockets usage, there is no other way to improve it. That one has its own repository for testing and experimentation, click [here](https://github.com/kataras/fastws/tree/master/_examples/advanced/ws) to watch the progress of the new Iris websocket capabilities and features if you can't wait more. # Iris Web Framework @@ -8,7 +10,7 @@ Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of [![build status](https://img.shields.io/travis/kataras/iris/master.svg?style=flat-square)](https://travis-ci.org/kataras/iris) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=flat-square)](http://goreportcard.com/report/kataras/iris) [![vscode-iris](https://img.shields.io/badge/ext%20-vscode-0c77e3.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=kataras2006.iris) [![chat](https://img.shields.io/badge/community-%20chat-00BCD4.svg?style=flat-square)](https://kataras.rocket.chat/channel/iris) [![view examples](https://img.shields.io/badge/routing%20by-example-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/tree/master/_examples/routing) [![release](https://img.shields.io/badge/release%20-v11.1-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/releases) -Iris is a fast, simple yet fully featured and very efficient web framework for Go. +Iris is a fast, simple yet fully featured and very efficient web framework for Go. Routing is powered by the [muxie](https://github.com/kataras/muxie#philosophy) project. Iris provides a beautifully expressive and easy to use foundation for your next website or API. @@ -34,13 +36,11 @@ Check below the features and the hard work that we putted to improve how the int _Updated at: [Monday, 22 October 2018](_benchmarks/README.md)_ -### Iris vs the rest Go web frameworks and routers vs any other alternative +### Third-party -[![](_benchmarks/benchmarks_third_party_source_snapshot_go_23_october_2018.png)](https://github.com/the-benchmarker/web-frameworks#full-table) +[![](_benchmarks/benchmarks_third_party_source_snapshot_go_23_october_2018.png)](https://github.com/iris-contrib/third-party-benchmarks#full-table) -As shown in the benchmarks (from a [third-party source](https://github.com/the-benchmarker)), Iris is the fastest open-source Go web framework in the planet. The net/http 100% compatible router [muxie](https://github.com/kataras/muxie) I've created some weeks ago is also trending there with amazing results, fastest net/http router ever created as well. View the results at: - -https://github.com/the-benchmarker/web-frameworks#full-table +> Last updated at: 01 March of 2019. Click to the image to view all results. You can run this in your own hardware by following the [steps here](https://github.com/iris-contrib/third-party-benchmarks#usage). ## Philosophy From c69bd7193dc110ff5fb4f1bd2f765d7185fa8b7e Mon Sep 17 00:00:00 2001 From: Alexandre Juca Date: Tue, 9 Apr 2019 00:15:23 +0100 Subject: [PATCH 09/14] Improved english documentation Former-commit-id: 318b093489563b85c540388d77b12b63a97ce6e1 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 66930d3c..679b338f 100644 --- a/README.md +++ b/README.md @@ -277,7 +277,7 @@ func main() { The package [hero](hero) contains features for binding any object or functions that `handlers` can use, these are called dependencies. -With Iris you get truly safe bindings thanks to the [hero](_examples/hero) [package](hero). It is blazing-fast, near to raw handlers performance because Iris calculates everything before even server goes online! +With Iris you get truly safe bindings thanks to the [hero](_examples/hero) [package](hero). It is blazing-fast, near to raw handlers performance because Iris calculates everything before the server even goes online! Below you will see some screenshots I prepared for you in order to be easier to understand: From f21e1e7a575b8dc37415fdc8dd2e05068b36a99c Mon Sep 17 00:00:00 2001 From: Alexandre Juca Date: Tue, 9 Apr 2019 00:20:05 +0100 Subject: [PATCH 10/14] Improved english documentation Former-commit-id: 01fe103889432389fd91f4ee497326ff32e50ee3 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 679b338f..dd2ead65 100644 --- a/README.md +++ b/README.md @@ -279,7 +279,7 @@ The package [hero](hero) contains features for binding any object or functions t With Iris you get truly safe bindings thanks to the [hero](_examples/hero) [package](hero). It is blazing-fast, near to raw handlers performance because Iris calculates everything before the server even goes online! -Below you will see some screenshots I prepared for you in order to be easier to understand: +Below you will see some screenshots I prepared to facilitate understanding: #### 1. Path Parameters - Built'n Dependencies From cc713ca1ebbc928132e15bb5f6d59175f4d3cfe1 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Sun, 14 Apr 2019 21:59:24 +0300 Subject: [PATCH 11/14] Add FOSSA license scan Former-commit-id: c56690373ffd968ad08a86285752ed919f286786 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dd2ead65..2ae52c1e 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of -[![build status](https://img.shields.io/travis/kataras/iris/master.svg?style=flat-square)](https://travis-ci.org/kataras/iris) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=flat-square)](http://goreportcard.com/report/kataras/iris) [![vscode-iris](https://img.shields.io/badge/ext%20-vscode-0c77e3.svg?style=flat-square)](https://marketplace.visualstudio.com/items?itemName=kataras2006.iris) [![chat](https://img.shields.io/badge/community-%20chat-00BCD4.svg?style=flat-square)](https://kataras.rocket.chat/channel/iris) [![view examples](https://img.shields.io/badge/routing%20by-example-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/tree/master/_examples/routing) [![release](https://img.shields.io/badge/release%20-v11.1-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/releases) +[![build status](https://img.shields.io/travis/kataras/iris/master.svg?style=flat-square)](https://travis-ci.org/kataras/iris) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkataras%2Firis.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=flat-square)](http://goreportcard.com/report/kataras/iris) [![chat](https://img.shields.io/badge/community-%20chat-00BCD4.svg?style=flat-square)](https://kataras.rocket.chat/channel/iris) [![view examples](https://img.shields.io/badge/routing%20by-example-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/tree/master/_examples/routing) [![release](https://img.shields.io/badge/release%20-v11.1-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/releases) Iris is a fast, simple yet fully featured and very efficient web framework for Go. Routing is powered by the [muxie](https://github.com/kataras/muxie#philosophy) project. From 6da6f80715a7a7cf29308d15f4fe4f7b093c504e Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Thu, 9 May 2019 15:17:48 +0300 Subject: [PATCH 12/14] Update README note for the upcoming websocket module Former-commit-id: f298ae460f3fe79d2d6b9770341a74e72762e6fc --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ae52c1e..f5b5ef6c 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of the upcoming release and the new features that it brings into game. -@kataras: I was sick for almost a month, but this wasn't kept me from pushing some progress for the upcoming release. the v11.2.0 will contain a breaking change on the websockets usage, there is no other way to improve it. That one has its own repository for testing and experimentation, click [here](https://github.com/kataras/fastws/tree/master/_examples/advanced/ws) to watch the progress of the new Iris websocket capabilities and features if you can't wait more. +@kataras: I was sick for almost a month, but this wasn't kept me from pushing some progress for the upcoming release. the v11.2.0 will contain a breaking change on the websockets usage, there is no other way to improve it. That one has its own repository for testing and experimentation to implement a faster and even more higher level websocket server and client written in Go which developers will be able select between [gorilla/websocket](https://github.com/gorilla/websocket) and [gobwas/ws](https://github.com/gobwas/ws) for the underline protocol communication and eventually will live into Iris, click [here](https://github.com/kataras/ws) to watch the progress of the new Iris websocket capabilities and features if you can't wait more. # Iris Web Framework From 4c0c1b3ef7a4bab0e0c716efd43772214cef645f Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Sat, 25 May 2019 22:51:45 +0300 Subject: [PATCH 13/14] Create FUNDING.yml Former-commit-id: 305437f20a5cb69297971a01735018be341beba0 --- .github/FUNDING.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 00000000..85fbf7d4 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,5 @@ +# patreon: # Replace with a single Patreon username +# open_collective: # Replace with a single Open Collective username +# ko_fi: # Replace with a single Ko-fi username +# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +custom: https://iris-go.com/donate # Replace with a single custom sponsorship URL From cd3dced02a0b4397796c3ac53cee7e25572cc0f3 Mon Sep 17 00:00:00 2001 From: "Gerasimos (Makis) Maropoulos" Date: Wed, 29 May 2019 19:39:41 +0300 Subject: [PATCH 14/14] Update README.md Former-commit-id: 97888d121460acc02040934d7aaada320d83b4be --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f5b5ef6c..b4494dc5 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Click [here](https://github.com/kataras/iris/pull/1175) to watch the progress of -[![build status](https://img.shields.io/travis/kataras/iris/master.svg?style=flat-square)](https://travis-ci.org/kataras/iris) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkataras%2Firis.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=flat-square)](http://goreportcard.com/report/kataras/iris) [![chat](https://img.shields.io/badge/community-%20chat-00BCD4.svg?style=flat-square)](https://kataras.rocket.chat/channel/iris) [![view examples](https://img.shields.io/badge/routing%20by-example-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/tree/master/_examples/routing) [![release](https://img.shields.io/badge/release%20-v11.1-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/releases) +[![build status](https://img.shields.io/travis/kataras/iris/master.svg?style=flat-square)](https://travis-ci.org/kataras/iris) [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkataras%2Firis.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkataras%2Firis?ref=badge_shield) [![report card](https://img.shields.io/badge/report%20card-a%2B-ff3333.svg?style=flat-square)](http://goreportcard.com/report/kataras/iris) [![chat](https://img.shields.io/badge/community-%20chat-00BCD4.svg?style=flat-square)](https://chat.iris-go.com) [![view examples](https://img.shields.io/badge/routing%20by-example-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/tree/master/_examples/routing) [![release](https://img.shields.io/badge/release%20-v11.1-0077b3.svg?style=flat-square)](https://github.com/kataras/iris/releases) Iris is a fast, simple yet fully featured and very efficient web framework for Go. Routing is powered by the [muxie](https://github.com/kataras/muxie#philosophy) project.