Skip to content

Commit 0bcd1f3

Browse files
authored
V224 (#156)
1 parent 2e85c20 commit 0bcd1f3

File tree

3 files changed

+63
-26
lines changed

3 files changed

+63
-26
lines changed

ChangeLog.md

+7
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
44
This format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
#### [v2.2.4](https://github.com/ergo-services/ergo/releases/tag/v1.999.224) 2023-05-01 [tag version v1.999.224] ####
8+
9+
This release includes fixes:
10+
- Fixed incorrect handling of `gen.SupervisorStrategyRestartTransient` restart strategy in `gen.Supervisor`
11+
- Fixed missing `ServerBehavior` in [`gen.Pool`, `gen.Raft`, `gen.Saga`, `gen.Stage`, `gen.TCP`, `gen.UDP`, `gen.Web`] behavior interfaces
12+
- Introduced the new tool for boilerplate code generation - `ergo` https://github.com/ergo-services/tools. You may read more information about this tool in our article with a great example https://blog.ergo.services/quick-start-1094d56d4e2
13+
714
#### [v2.2.3](https://github.com/ergo-services/ergo/releases/tag/v1.999.223) 2023-04-02 [tag version v1.999.223] ####
815

916
This release includes fixes:

README.md

+55-25
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,57 @@ The goal of this project is to leverage Erlang/OTP experience with Golang perfor
2121

2222
Distributed Cloud is coming. With Ergo Framework you can join your services into a single cluster with transparent networking using our **Cloud Overlay Network** where they can connect to each other smoothly, no matter where they run - AWS, Azure or GCP, or anywhere else. All these connections are secured with end-to-end encryption. Read more in this article [https://blog.ergo.services/cloud-overlay-network-3a133d47efe5](https://blog.ergo.services/cloud-overlay-network-3a133d47efe5).
2323

24+
### Quick start ###
25+
26+
First, you need to install the boilerplate code generation tool `ergo` - https://github.com/ergo-services/tools using command below
27+
28+
`go install ergo.services/tools/ergo@latest`
29+
30+
And then, you can create your project with just one command. Here is example:
31+
32+
Supervision tree
33+
```
34+
mynode
35+
|- myapp
36+
| |
37+
| `- mysup
38+
| |
39+
| `- myactor
40+
|- myweb
41+
`- myactor2
42+
```
43+
44+
To generate project for this design use the following command:
45+
46+
`ergo -init MyNode -with-app MyApp -with-sup MyApp:MySup -with-actor MySup:MyActor -with-web "MyWeb{port:8000,handlers:3}" -with-actor MyActor2`
47+
48+
as a result you will get generated project:
49+
50+
```
51+
mynode/
52+
|-- apps/
53+
| `-- myapp/
54+
| |-- myactor.go
55+
| |-- myapp.go
56+
| `-- mysup.go
57+
|-- cmd/
58+
| |-- myactor2.go
59+
| |-- mynode.go
60+
| |-- myweb.go
61+
| `-- myweb_handler.go
62+
|-- README.md
63+
|-- go.mod
64+
`-- go.sum
65+
```
66+
67+
to try it:
68+
```
69+
$ cd mynode
70+
$ go run ./cmd/
71+
```
72+
73+
You may also read our article about this tool with a great example https://blog.ergo.services/quick-start-1094d56d4e2
74+
2475
### Features ###
2576

2677
![image](https://user-images.githubusercontent.com/118860/113710255-c57d5500-96e3-11eb-9970-20f49008a990.png)
@@ -61,33 +112,12 @@ Golang introduced [v2 rule](https://go.dev/blog/v2-go-modules) a while ago to so
61112

62113
Here are the changes of latest release. For more details see the [ChangeLog](ChangeLog.md)
63114

64-
#### [v2.2.3](https://github.com/ergo-services/ergo/releases/tag/v1.999.223) 2023-04-02 [tag version v1.999.223] ####
115+
#### [v2.2.4](https://github.com/ergo-services/ergo/releases/tag/v1.999.224) 2023-05-01 [tag version v1.999.224] ####
65116

66117
This release includes fixes:
67-
- Improved `gen.TCP`. Issue #152
68-
- Fixed incorrect decoding registered map type using etf.RegisterType
69-
- Fixed race condition on process termination. Issue #153
70-
71-
#### [v2.2.2](https://github.com/ergo-services/ergo/releases/tag/v1.999.222) 2023-03-01 [tag version v1.999.222] ####
72-
73-
* Introduced `gen.Pool`. This behavior implements a basic design pattern with a pool of workers. All messages/requests received by the pool process are forwarded to the workers using the "Round Robin" algorithm. The worker process is automatically restarting on termination. See example here [examples/genpool](https://github.com/ergo-services/examples/tree/master/genpool)
74-
* Removed Erlang RPC support. A while ago Erlang has changed the way of handling this kind of request making this feature more similar to the regular `gen.Server`. So, there is no reason to keep supporting it. Use a regular way of messaging instead - `gen.Server`.
75-
* Fixed issue #130 (`StartType` option in `gen.ApplicationSpec` is ignored for the autostarting applications)
76-
* Fixed issue #143 (incorrect cleaning up the aliases belonging to the terminated process)
77-
78-
#### [v2.2.1](https://github.com/ergo-services/ergo/releases/tag/v1.999.221) 2023-02-01 [tag version v1.999.221] ####
79-
80-
* Now you can join your services made with Ergo Framework into a single cluster with transparent networking using our **Cloud Overlay Network** where they can connect to each other smoothly, no matter where they run - AWS, Azure or GCP, or anywhere else. All these connections are secured with end-to-end encryption. Read more in this article [https://blog.ergo.services/cloud-overlay-network-3a133d47efe5](https://blog.ergo.services/cloud-overlay-network-3a133d47efe5). Here is an example of this feature in action [examples/cloud](https://github.com/ergo-services/examples/tree/master/cloud)
81-
* `examples` moved to https://github.com/ergo-services/examples
82-
* Added support Erlang OTP/25
83-
* Improved handling `nil` values for the registered types using `etf.RegisterType(...)`
84-
* Improved self-signed certificate generation
85-
* Introduced `ergo.debug` option that enables extended debug information for `lib.Log(...)`/`lib.Warning(...)`
86-
* Fixed `gen.TCP` and `gen.UDP` (missing callbacks)
87-
* Fixed ETF registering type with `etf.Pid`, `etf.Alias` or `etf.Ref` value types
88-
* Fixed Cloud client
89-
* Fixed #117 (incorrect hanshake process finalization)
90-
* Fixed #139 (panic of the gen.Stage partition dispatcher)
118+
- Fixed incorrect handling of `gen.SupervisorStrategyRestartTransient` restart strategy in `gen.Supervisor`
119+
- Fixed missing `ServerBehavior` in [`gen.Pool`, `gen.Raft`, `gen.Saga`, `gen.Stage`, `gen.TCP`, `gen.UDP`, `gen.Web`] behavior interfaces
120+
- Introduced the new tool for boilerplate code generation - `ergo` https://github.com/ergo-services/tools. You may read more information about this tool in our article with a great example https://blog.ergo.services/quick-start-1094d56d4e2
91121

92122
### Benchmarks ###
93123

version.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package ergo
22

33
const (
4-
Version = "2.2.3" // Ergo Framework version
4+
Version = "2.2.4" // Ergo Framework version
55
VersionPrefix = "ergo" // Prefix using for the full version name
66
VersionOTP int = 25 // Erlang version support
77
)

0 commit comments

Comments
 (0)