You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33-21Lines changed: 33 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ To inspect the node, network stack, running applications, and processes, you can
47
47
To install the Observer tool, you need to have the Go compiler version 1.20 or higher. Run the following command:
48
48
49
49
```
50
-
$ go install ergo.services/tools/observer@latest
50
+
$ go install ergo.tools/observer@latest
51
51
```
52
52
53
53
You can also embed the [Observer application](https://docs.ergo.services/extra-library/applications/observer) into your node. To see it in action, see example `demo` at https://github.com/ergo-services/examples. For more information https://docs.ergo.services/tools/observer
@@ -61,7 +61,7 @@ For a quick start, use the [`ergo`](https://docs.ergo.services/tools/ergo) tool
61
61
To install use the following command:
62
62
63
63
```
64
-
$ go install ergo.services/tools/ergo@latest
64
+
$ go install ergo.tools/ergo@latest
65
65
```
66
66
67
67
Now, you can create your project with just one command. Here is example:
@@ -121,7 +121,7 @@ Since we included Observer application, open http://localhost:9911 to inspect yo
121
121
122
122
### Erlang support ###
123
123
124
-
Starting from version 3.0.0, support for the Erlang network stack has been moved to a separate module and is distributed under the BSL 1.1 license - https://github.com/ergo-services/proto. You can find detailed information on using this module in the documentation at https://docs.ergo.services/extra-library/network-protocols/erlang.
124
+
Starting from version 3.0.0, support for the Erlang network stack has been moved to a separate module - https://github.com/ergo-services/proto. Version 3.0 was distributed under the BSL 1.1 license, but starting from version 3.1 it is available under the MIT license. You can find detailed information on using this module in the documentation at https://docs.ergo.services/extra-library/network-protocols/erlang.
125
125
126
126
### Requirements ###
127
127
@@ -131,23 +131,35 @@ Starting from version 3.0.0, support for the Erlang network stack has been moved
131
131
132
132
Fully detailed changelog see in the [ChangeLog](CHANGELOG.md) file.
133
133
134
-
#### [v3.0.0](https://github.com/ergo-services/ergo/releases/tag/v1.999.300) 2024-09-04 [tag version v1.999.300] ####
135
-
136
-
This version marks a significant milestone in the evolution of the Ergo Framework. The framework's design has been completely overhauled, and this version was built from the ground up. It includes:
137
-
138
-
- Significant API Improvements: The `gen.Process`, `gen.Node`, and `gen.Network` interfaces have been enhanced with numerous convenient methods.
139
-
- A New Network Stack: This version introduces a completely new network stack for improved performance and flexibility. See https://github.com/ergo-services/benchmarks for the details
140
-
141
-
Alongside the release of Ergo Framework 3.0.0, new tools and an additional components library are also introduced:
- Proto (erlang23) - https://github.com/ergo-services/proto
149
-
150
-
Finally, we've published comprehensive documentation for the framework, providing detailed guides to assist you in leveraging all the capabilities of Ergo Framework effectively. Its available at https://docs.ergo.services.
134
+
#### [v3.1.0](https://github.com/ergo-services/ergo/releases/tag/v1.999.310) 2025-09-04 [tag version v1.999.310] ####
135
+
136
+
**New Features**
137
+
-**Cron Scheduler**: New `gen.Cron` interface enables scheduling tasks with cron expressions, supporting second-level precision for precise task execution. See https://docs.ergo.services/basics/cron
138
+
-**Port Meta Process**: New `meta.Port` allows spawning and managing external OS processes with bidirectional communication through stdin/stdout/stderr. See https://docs.ergo.services/meta-processes/port, example https://github.com/ergo-services/examples/port
139
+
-**Unit Testing Framework**: Comprehensive testing library (`testing/unit`) provides isolated actor testing with event capture and validation capabilities. See https://docs.ergo.services/testing/unit
140
+
141
+
**Enhancements**
142
+
-**Enhanced Logging**: Default logger now supports JSON output format with structured fields, improving observability and log processing
143
+
-**Environment Management**: Added `gen.Process.EnvDefault()` and `gen.Node.EnvDefault()` methods
144
+
-**Logger Fields**: Added `gen.Log.PushFields()` and `gen.Log.PopFields()` for contextual logging
145
+
-**EDF Protocol**: Added support for `encoding.BinaryMarshaler/BinaryUnmarshaler` interfaces
146
+
-**Performance**: Multiple optimizations across message handling and network operations
147
+
148
+
**Critical Bug Fixes**
149
+
-**Node Shutdown**: Fixed race condition causing "close of closed channel" panic during graceful shutdown
150
+
-**Supervisor Issues**: Fixed OFO supervisor child termination (#213), restart intensity calculation with millisecond precision, and duplicate Terminate callbacks
151
+
-**SIGTERM Handling**: Improved graceful shutdown behavior and SOFO supervisor cleanup
-**Local Registrar**: Improved resolver detection for service discovery
154
+
155
+
**Extra Library**
156
+
-**Module Independence**: All extra library modules (Logger, Meta, Registrar, etc...) are now independent Go modules with dependency management
157
+
-**Tools Domain**: All tools moved to dedicated `ergo.tools` domain for better organization and distribution
158
+
-**Proto**: `erlang23` (Erlang network stack implementation) changed from BSL 1.1 to MIT license for broader adoption and commercial use
159
+
-**Registrar**: New etcd registrar implementation with distributed service discovery, hierarchical configuration, real-time cluster events. See https://docs.ergo.services/extra-library/registrars/etcd-client and example https://github.com/ergo-services/examples/docker
160
+
-**Logger**: Added LogField support in colored logger, banner functionality, and fixed options handling. See https://docs.ergo.services/extra-library/loggers
161
+
-**Application**: Observer application enhanced with new Applications page, Cron job details, and UI fixes. See https://docs.ergo.services/extra-library/applications/observer
162
+
-**Benchmarks**: New serialization benchmarks comparing EDF vs Gob vs Protobuf performance, expanded test suite coverage. See https://github.com/ergo-services/benchmarks
151
163
152
164
### Development and debugging ###
153
165
@@ -163,7 +175,7 @@ To run tests with cleaned test cache:
0 commit comments