Short summary of the main changes from the 0.3.x line
- Implementation of bench serialization and deserialization. This is by far the largest change. This means that all models need to derive
SerializeandDeserialize, but can use an escape hatch in the form of a custom environment associated type (Model::Env) - Introduction of a
Messagetrait on endpoint types (and generally all event types defined by a model), derived onMonotonicTimeand most common types ([#151]) - Reworked endpoint registry API to enable its use in pure Rust benches ([#131], [#138], [#139])
- Introduction of a
Tickertrait working alongClockto streamline real-time simulation use-cases (issue [#129]) ([#148]) - Addition of an injector queue to simplify the processing of external events (e.g. network); this is tightly related to the above Ticker` trait (issue [#129]) ([#149])
- Addition of a clonable
ClockReader(issue [#123]) ([#136]) - Introduction of endpoint and model paths rather than
Strings ([#141]) - Modification of the
UniRequestor::sendto make it non-panicking (issue [#117]) - Rework of the
EventSinktrait to expose an async reading method to avoid blocking thetokiothread when using aserver([#138], [#139], [#140]) - Fix error on dropped unused address (issue [#125]) and left shift overflow in MT executor (issue [#130]) ([#146], [#147])
- Reworked, augmented, improved gRPC API ([#138], [#143])
- Introduction of request scheduling ([#137], [#139])
Pull requests log
- Enable time in tokio runtime builder by @maciekglowka in #109
- Add tests running on other platforms for CI. by @jauhien in #108
- Revise nexosim-util. by @jauhien in #105
- Prepare release. by @jauhien in #111
- Update release instructions. by @jauhien in #112
- Add diagnostic messages to InputFn and ReplierFn by @SMassalski in #115
- Allow generation of json schema for the data exchanged via the server by @maciekglowka in #113
- Use model id in scheduling (issue #34) by @jauhien in #122
- Fix source not found error message missing source name by @SMassalski in #118
- Prepare release 0.4.0-alpha.1 by @jauhien in #126
- Update README and CHANGELOG to reflect new 0.3.4 by @sbarral in #128
- nexosim-utils 0.2.0-alpha.1 realease by @jauhien in #127
- Initial serialization support by @maciekglowka in #114
- Better #[Model] proc macro error handling by @maciekglowka in #132
- Initial public endpoint registry change. by @jauhien in #131
- Fix derive macro by @maciekglowka in #134
- Pass model's Env as a separate argument to input and replier methods. by @maciekglowka in #135
- Implement clock reader by @maciekglowka in #136
- Add save and restore error types as enums by @maciekglowka in #137
- Massive rewrite of sink traits, endpoints and gRPC. by @sbarral in #138
- Event and Query source API change. by @maciekglowka in #139
- Simplify the Sink API by @sbarral in #140
- Feature/endpoint paths by @sbarral in #141
- Check endpoint event/query source ID types by @sbarral in #142
- Feature/separate endpoint and simulation management by @sbarral in #143
- Re-introduce EventSlot with a new implementation by @sbarral in #144
- Bump schemars version to 1.2 by @maciekglowka in #145
- Port Fix NoRecipient if first address is dropped by @sbarral in #147
- Fix left shift overflow in pool manager by @sbarral in #146
- Feature/ticker by @sbarral in #148
- Feature/event injector by @sbarral in #149
- Remove
restoremethod from theModeltrait by @maciekglowka in #150 - Derive Message on MonotonicTime by @sbarral in #151
- Prepare release 1.0.0-beta.1 by @sbarral in #152
- Limit event and query argument cloning. by @maciekglowka in #153
- Feature/global injector by @sbarral in #154
- Feature/simplified macro init by @sbarral in #155
- Chore/bump tonic version + remove
halfdependency by @maciekglowka in #156 - Review the TODOs, resolve those that can be by @sbarral in #157
- Feature/doc improvements by @sbarral in #158
- Prepare release v1.0.0 by @sbarral in #159
Full Changelog: v0.3.3...v1.0.0