All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Generated by auto-changelog
.
v0.3.4 - 2020-01-29
- Roll bastion 0.3.4
#164
- Removed Pool::recover_async_thread method
#163
- Remove debug statements in lightproc code
#162
- Changelog config
#161
- Update futures-timer requirement from 2.0.2 to 3.0.0
#160
- Use
actions/checkout@master
in Clippy check#159
- Max retries support for existing restart strategies
#157
- Implemented linear/exponential back off recovery strategy
#156
- Stateful ProcStack
#149
- bastion-utils: Add missing readme reference to cargo.toml
#153
- Add macros to instantiate children and supervisors
#140
- Fix extreme amount of syscalls to give time share to OS
#147
- Split children into four modules: children, children_ref, child, child_ref
#144
- Use original GitHub actions
#142
- Configurable thread count and thread pinning
#141
- Fix warnings
#132
- Message Signature to identify message sender and sending messages back
#130
- Update crossbeam-utils requirement from 0.6 to 0.7
#136
- Update crossbeam-epoch requirement from 0.7 to 0.8
#135
- Update windows datatypes
#129
- EMA based statistically adaptive blocking thread pool
#127
- Bump bastion-executor dependency to 0.3.2-alpha.0
#126
- Fix link and remove empty doc
#124
- Add Bastion::spawn method
#122
- Replaced "futures-preview" with "futures"
#120
- Ignore migration path under lock contention
#115
- Fix doc links and middleware example
#114
- Stat sampler improvements
#113
- [executor] Fetch cores at once, rely on runtime
#112
- Updated msg! to allow explicit and implicit returns
#111
- Fixed children redundancy tests
#108
- Removed all unsafe code from "bastion"
#107
- Updated the changelog.
#106
- Removed the "qutex" patch
#99
- Added env_logger to all bastion's examples.
#98
- Cleaned up bastion-executor
#97
- Updated the documentation for BastionContext
#96
- Added an "unstable" feature
#95
- Added logs
#94
- Include Examples
#90
- Added support for configuring the system
#93
- Made BastionId public and references comparable
#89
- Proptests for children
#91
- Updated the README to indicate that Bastion isn't production-ready yet.
#88
- Added callbacks support
#76
- Disallowing access to the system's supervisor
#75
- Include issue template menu
#85
- Bastion Documentation and New project logos
#84
- Bastion Executor Documentation
#82
- Lightproc Documentation
#81
- Moved ROOT_SPV out of its QrwLock
#80
- Copied the example from Bastion's documentation into its own file.
#79
- Fix clippy errors
#74
- Fixed children group's running loop and supervisors' order list
#72
- New scheduler for Bastion Executor
#71
- Remove deprecated action
#70
- Better documentation
#66
- Fixed (random) threadpool panics
#67
- Fixed GitHub CI's fmt and docs checks
#69
- Include windows deps
#65
- Address build issues
#64
- Tweak GitHub Actions
#62
- Feature gate fixes
#63
- Bastion 0.3.0 Rollup
#58
- Executor work
#53
- LightProc Implementation
#47
- Lightproc dev
#50
- Clean up actions
#43
- Debug impl with thunk pointer
#42
- Remove travis and add stable channel builds to Github
#41
- Update sponsor information
#39
- Replace Gitter with Discord
#38
- Add GitHub actions
#36
- Fixed building on nightly
#34
- Fix import version
#31
- Fix conflicts
12d7aac
- Added support for setting callbacks for supervisors and updated the callbacks example.
66f979d
- Updated Bastion, Children, ChildRef and ChildrenRef's logs, added logs to Supervisor and SupervisorRef, updated Supervisor::reset to use Supervisor::restart, and fixed formatting.
651a068
- Added documentation to Callbacks' methods and removed the callbacks traits.
9d5af94
- Shareable state code
e20e888
- Added a Config struct and an "init_with" method to Bastion to use it, updated the getting started examples to use it and fixed markdown issues.
fccf81f
- Added support for callbacks in children groups and updated supervisor to call them.
1053990
- Implement children and supervisor macro
79c2025
- safe Proc State
bdce4c9
- Implemented max retries for restoring actors
d2b3d5a
- Executor scheduler
a41ba43
- Added documentation for BastionId and the "id" methods and exported BastionId and the context module.
5bf0c9b
- stateful ProcStack
f4267b8
- Removed "bastion/src/proc.rs" and updated bastion to use bastion-executor.
b848423
- Add READMEs
28ac438
- Implemented exponential back off recovery strategy
d6dcdf0
- cargo fmt
bfa1a38
- Cleanup and format
f2046e0
- Added an example for children groups' callbacks.
6f2b933
- Add all missing docs
a762ca6
- Add supervisor macro to generate supervisors
6c2d605
- Fixed formatting and errors.
f9ee8fb
- Middleware example
634f75a
- Parallel computation (mapreduce) example
5eec793
- Lightproc docs
2b1907f
- Renamed of Callbacks's methods and fixed the formatting.
42780c8
- Add child and children macro
e9fc034
- Fix rustc errors and remove child macro
b5b097e
- Added documentation to Children and Supervisor's with_callbacks methods.
82a8ec9
- Added logs to Child, Children, ChildRef and ChildrenRef.
e39cc3a
- Updated context to not give a reference to the children group's supervisor if it is the system's supervisor.
587998a
- Bastion docs
79d1d14
- Cleaned up bastion-executor and lightproc's dependencies imports and replaced rustc_hash with fxhash.
ed7c634
- use pointer cast instead of transmuting
cabba1e
- Added logs to System.
ef4bccf
- Updated GlobalSystem and Bastion::block_until_stopped to use a Condvar.
d4420d0
- Replaced max_retries on the RestartPolicy enum
cffa1cf
- Changed signature of the Supervisor::restart method
4c79d7a
- Added tests for the RestartStrategy struct
638fefd
- Added readme
54884b6
- Created bastion-utils crate
234bfdd
- Add run macro
adce5e2
- Changed signature of the Supervisor::kill method
f0e4354
- Added saving old counters for the failed actors
1cb4b48
- Implemented linear back-off recovery strategy
54b016b
- Simplify the condvar check
65afbad
- Header
6ef5143
- Added documentation for Callbacks::new and removed unused code and dependencies.
35f10cf
- Updated Broadcast polling to indicate that Poll::Ready(None) won't happen.
5b66bff
- Remove AppVeyor
5b67d60
- Updated example with restart_strategy
a006c89
- Tweak actions
d295afb
- Added example for the supervisor with recovery strategy
c7b64b7
- Made BastionId public, implemented Display on it and made the "id" methods on Supervisor, SupervisorRef, Children, ChildrenRef and ChildRef public (or added them when not already present).
356e515
- Moved ROOT_SPV from inside a QrwLock to a static mut (yeah..) and made System::init private.
fc89463
- Fix spinloop
03b2dbc
- Updated the documentation for BastionContext.
091534b
- Updated Supervisor's kill to not return anything and added documentation for Supervisor.killed, Supervisor.callbacks and Children.callbacks.
796613c
- Updated Context to contain an optional Supervisor and removed "is_system_supervisor" from SupervisorRef.
18a81d2
- Add blocking macro
f71b65c
- Add spawn macro
467147c
- Implemented PartialEq and Eq for SupervisorRef, ChildrenRef and ChildRef.
bdfbc60
- Updated Child and Children logs.
f552fdf
- Switched to usage of crate bastion-utils
a62a93c
- Added logs to Bastion.
7337566
- Fixed a bug where ROOT_SPV would contain a reference to a restarted supervisor (thus with a different sender).
4e1c35b
- Added logs to BastionMessage, Msg, Answer and Sender and fixed errors.
305d995
- Updated Pool and Distributor's fields visibility, updated Distributor's methods visibility and fixed a typo.
bcbc192
- Fixed formatting.
4a3e673
- Added documentation about what the "system supervisor" is.
134b430
- Copy alignment
c972596
- Fixed the supervisors' detection of already stopped supervised elements for when calling callbacks.
c323ae6
- Update readme
51bf740
- Updated children group's run to poll children before getting new messages and to be pending when its broadcast stream is, and fixed supervisors to update the id of supervised elements in the order list after resetting them and when using the one-for-one supervision strategy.
c6143f9
- Added logs to BastionContext.
9bd838a
- Fix fmt and some doc
ec9e2a5
- Updated POOL to use a "static mut" instead of using "lazy_static" and a QrwLock, fixing some (random) panics from the threadpool that would freeze the system.
a760987
- Fixed typos.
0d45934
- Made ROOT_SPV private and added a "root_supervisor" to System.
ad5e847
- Remove thread pool
e233f2e
- Added documentation for Supervisor and SupervisorRef's "is_system_supervisor".
63babc6
- (cargo-release) version 0.3.4
91cb9c4
- Changed signature of the Supervisor::stop method
af58a40
- (cargo-release) version 0.3.3
896a1cb
- More consistent example
52e1d19
- Exclude prop inputs
5ada867
- (cargo-release) version 0.3.3-alpha.1
f913def
- Update README.md
03f5b5e
- Fixed formatting.
4c4d127
- Fix doc test and add supervisor macro to prelude
216fe6c
- Prepared for the release of 0.3.0.
cb1889e
- Fixed examples links
1cd409b
- Added documentation for the context module.
9a001da
- Added an "unstable" feature to activate bastion-executor's NUMA-aware allocator.
8858493
- Add back the doc for system supervisor
7063a9f
- Switch to nightly's fmt
75985f4
- (cargo-release) version 0.3.0-alpha.1
ca1280f
- Fixed formatting.
0ef5fea
- Fixed formatting.
fad8475
- Fix get_pid tests
869fb70
- Fixed the formatting of the newly created "callbacks" example.
e87d791
- Update
lightproc
dependency to 0.3.3-alpha.04e03582
- Fixed formatting warnings
87b4082
- Add missing readme reference to cargo.toml
cd61ba8
- #151 Created Bastion Utilities crate
ce290f3
- new messaging API which allows identifying message senders and send messages back
36cfd8e
- separate children into children, children_ref, child, child_ref
8f4253c
- Removed all unsafe code from "bastion", added a "GlobalSystem" struct to replace "ROOT_SPV", "SYSTEM" and "SYSTEM_SENDER", updated System to return GlobalSystem and fixed formatting.
c2af637
- Added a "is" method to Msg, fixed the "msg!" macro to allow using "return" inside it and updated the "msg!" macro to allow to use it as a typed expression.
be9a3e7
- Add Bastion::spawn method to create a child with the action without using Children::with_exec
693c8d4
- Remove old dependency
d646daa
- Fix pointer width, goddamit
b593647
- Fetch cores at once, rely on runtime
5c52042
- Discord Integration
c0f555c
- Fixed the children redundancy proptest to initialize and start Bastion and fixed formatting.
c141bab
- fixed warnings in tests and examples
99564a6
- Fix redundancy lower bounds
98be08b
- Fixed typos.
80a8ba0
- Update README.md
783cf63
- fixed unused warnings in bastion-executor
9fea200
- Ran cargo fix
8cdb6af
- (cargo-release) version 0.3.2
4c67809
- Fix contributing guide link
c35d7e5
- (cargo-release) version 0.3.1
8c69574
- (cargo-release) version 0.3.0
785876e
- Updated bastion's dependencies and fixed bastion's Cargo.toml readme path.
0ce3845
- Give a better wording
41852c5
- Bump dependency to 0.3.2-alpha.0
54aa9b5
- Bastion exdcutor 0.3.2-alpha.0
71b9649
- Add Children::with_redunancy call to spawn method
95a6e21
- Replaced "futures-preview" with "futures".
6b6095c
- Make hundred workers, why not…
05c7cc7
- (cargo-release) start next development iteration 0.3.2-alpha.0
1e580af
- (cargo-release) version 0.3.1
9fab907
- Fixed typos.
cc883ca
- Fixed typos.
e32cc36
- (cargo-release) start next development iteration 0.3.1-alpha.0
e953b87
- (cargo-release) version 0.3.0
d15e163
- (cargo-release) version 0.3.0-alpha.1
703fa65
- Add AWS Lambda use case
e35c485
- Remove debug
ac8219a
- Remove unnecessary compute
387e692
- Exported BastionContext at bastion's root.
56351ce
- Fix conflicts
2085102
- Set up lightproc version
56200e1
- Fix lightproc stack test
d917551
- Remove empty support doc
b39fa5b
- Fix conflicts
5c1637d
- Stack representation
8902488
- Added some documentation, removed the registry, added a ChildRef struct, added methods to the "refs", renamed PoisonPill into Kill and Dead into Stopped, fixed a few critical bugs and cleaned up a bit
66425e0
- Loads of changes, please see the commit's full description
07f17f9
- Offset access
e076792
- Fixed formatting and updated Children to forward messages to its own children
be4b1bc
- Test
7deedca
- refactor
e2ec8e9
- After panic callback is added
a3aba3b
- Renamed BastionContext's "as_ref" method to "current", removed its "send_msg" method and added documentation to all its methods
b49bd54
- Added support for creating nested supervisors and replaced "runtime" with "tokio", also adding a Proc struct to replace JoinHandle
2d5e537
- Realloc pointer alignment and Debug impls
252893c
- Added a ContextState struct to store a Child's messages and updated Child to store received message in it and Context to allow to get messages from it
57a4ff6
- Format all the code
000d42e
- Added a "message" macro to match a boxed Message against types
e09764e
- Cargo fmt
929b1e9
- Builder pattern
58e0c72
- Added a "broadcast" method to Bastion
47891ce
- Added a "send_msg" method to ChildRef and updated ChildrenRef's documentation to use the message macro
354938d
- Implemented Debug on all structs
329e79e
- Added a really simple example to show how sending and receiving messages works from inside a child
09c9360
- updated parking_lot::Mutex to std::sync::Mutex
10f4386
- Fix and format
5f358ef
- Updated Bastion::start to block until the system has stopped
1e54112
- Before start callback
2c548c2
- Added the "stop" and "kill" methods to Bastion and cleaned up a bit
a26238d
- Replaced the Fut trait with a struct that can be created from any Future
b17bef2
- Remove unnecessary panic helpers
e7d16b7
- Cargo fix
8778921
- Remove debug lines
a846834
- After complete callback done
3838dec
- Updated the registry to use "dashmap" instead of "chashmap" and fixed its remove_* methods
0cef368
- Callback clone for sharing callbacks from stack
97f9e9a
- cargo fmt
aa4441b
- cargo fix
2114610
- Removed registry-related dependencies and futures 0.1
ea44f29
- Updated
uuid
and removed itsconst_fn
featured449799
- Cargo fix
22367c8
- Merge pull request #49 from mh84/master
4a16b74
- Initial commit for v0.3
f3d82b6
- Removed the _* directories
055c746
- Moved all message-related types and macros to a new "message" module, renamed the message macro to "msg", updated its syntax a bit (using semicolons instead of commas to separate cases) and fixed the formatting.
0fdc0a9
- Updated the "children" methods to work in a similar way as the "supervisor" methods, allowing to configure the now public "Children" using its "with_exec" and "with_redundancy" methods.
249e66a
- Updated bastion to use lightproc and a thread pool instead of tokio, removed Proc, removed the Closure and Shell traits and the Fut struct, making removing the need for calling
.into()
on children's futures and cleaned up a bit.0c66ec2
- Updated messages to be inside an Arc when broadcasted instead of being cloned, updated the "broadcast" and "send_msg" methods to accept and return an unboxed message, updated "recv" and "try_recv" to return a new "Msg" struct, renamed BastionMessage's Message into Tell and updated some visibilies.
800f739
- Updated the visibility of ProcStack's fields, renamed TaskLayout into ProcLayout, added the "cancel" and "stack" methods to RecoverableHandle and made its inner ProcHandle private, made ProcFutureExt and CatchUnwind private and fixed a few typos and formatting issues.
ca5df91
- Initial executor design
116c81f
- Global allocator
cc4fbbb
- Removed the src/bastion.rs file
825ab3f
- Added support for "telling" and "asking" messages, added support for matching and answering the "asked" messages, added support for receiving the answers of those messages and updated the "send_recv" message.
2127aab
- Add benchmarks
566c408
- Rename task naming to proc
7049d70
- Cleaning the tests
cc3547f
- Spawn async problems
1ea3cb9
- Added documentation for Children, Supervisor and Children's new with_exec and with_redundancy methods and hide Sender and its methods' documentation.
900a71e
- Rework on the scheduler
7e9a938
- Initial lightproc development
2ff7604
- New executor scaffold
3bab921
- Implemented fault recovery for the system and basic message passing for it and the supervisors
a552a03
- Added a skeleton for the Bastion and System structs, and cleaned up a bit
291bde6
- Added documentation for Message, Answer and Msg.
7aad9ee
- LoadBalancer
b747429
- Realloc at the assignment side
4561833
- Cargo format
b3d8e8f
- Added documentation for Bastion.
2497485
- Added a skeleton for Registry and cleaned up a bit
c688d53
- Renamed BastionID to BastionId and finished hiding Uuids inside it
b9eec99
- Run queue docs
7438669
- Scheduler complete
089e3f2
- Code format
960fee6
- Added support for sending messages to another child and hide Uuids inside a BastionID struct
719b3c5
- Updated the supervisors and children to change their ID and senders/receivers after restarting and updated BastionId to generate its own ID by itself
4278240
- Fixed the formatting and dead links, and implemented Clone on ChildrenRef and ChildRef
e2f72ed
- Stub
a48bec7
- Allocator implementation ordeR
c9bc705
- Updated children and supervisors to register and unregister themselves
82c73cf
- Updated Supervisor to use vectors instead of trees and cleaned up a bit
ff14ea3
- Use unstable feature gate for NUMA allocator
caa6b02
- Updated RecoverableHandle to return Poll::Ready(None) instead of unwinding panics, implemented Debug on it, updated ProcHandle's Debug implementation to show the proc's stack and elided some lifetimes.
a815b31
- Stack copy implementation
e41926a
- Moved the profiles to the main Cargo.toml file
9e9acc6
- Cargo fix for all
0ebcbf3
- Fix cargo fmt errors
bbabba4
- Fetch relative offsets for data
5cb0ccc
- Updated Supervisor's documentation to use the message macro
1a32b59
- Enable numa-aware allocator
d1d7062
- Expose organization
a6e7e9f
- Stat struct
056a455
- Load balancer schedule timing
8301043
- Fill missing fields for Cargo.toml
845ea8c
- Future layout allocation
206b2af
- cargo fix & format
1590cd3
- Remove old scheduler
c4cd383
- Address comments
c8792a9
- Load balancer wait for it
5628389
- Expose catch_unwind
3f4fae0
- Remove main.workflow
f52d446
- Fix feature gate jobs
0429068
- Remove thanks section from README
e267a40
- Run queue size
2cb4ae3
- Example organization
a758aea
- Implemented Debug on Bastion.
fc9d54e
- Add features back
2cca130
- Remove feature enablers
04ad717
- Lightweight process abstraction scaffold
f1554bb
- Order imports
36d1ace
- Import reorganization
3fb375a
- Add readmes
324c2af
- Remove debug points
77fa780
- Removed unused dependencies
f0cf64e
- Add Discord server for communication.
563a64b
- Updated the patch for qutex to point to the moved repository and a branch which also deactivated debug logs
5878a33
- Added warnings for missing docs and debug implementations.
9ac8f67
- Better messages for example
a748b8c
- Cargo fix
4ffe7d5
- Remove global proc_future type
b9b8e1c
- Add categories
7321b6d
- Replace Gitter links with Discord
dd49c4e
- Fix readme appveyor build tag
75617e3
- Fix dep order
46081af
- Remove unnecessary ignore config
59d0efc
- Select SMP core fix
44f744b
- Change description of executor
3e665b6
- (cargo-release) start next development iteration 0.3.2
5dc3ebc
- (cargo-release) version 0.3.2
4d478f0
- (cargo-release) version 0.3.1
c4cb935
- (cargo-release) version 0.3.0
53e5654
- Lightproc data
7078d0b
- Fix panic example
92c4ca8
- Reduce allocator dependencies
b825af1
- Update lightproc/Cargo.toml
5be1840
- Update lightproc/Cargo.toml
30dfd4d
- Update lightproc/Cargo.toml
523525e
- Update lightproc/src/raw_proc.rs
dcb9bc7
- Update lightproc/src/layout_helpers.rs
b793f74
- Update lightproc/src/layout_helpers.rs
9c19e6d
- Update lightproc/Cargo.toml
a9042b2
- Add bastion categories too
9e29a09
- Dont run bench on stable, feature is not used on stable channel
eb70fb6
- Run all tests
6018b96
- Use cargo doc
234552a
- Use default stable rustfmt
8668d5c
- Fixed building on nightly following rust-lang/cargo#6989
467c407
- (cargo-release) start next development iteration 0.2.0
7bf0462
- Fixed a missing dependency error after merging
ca4eb59
- Give name for the CI jobs
f89e247
v0.2.0 - 2019-09-29
- Regenerate changelog after moving to organization
#30
- Project documentation
#28
- Context spawn level tests
#27
- Change license to use Apache-2.0/MIT
#26
- Multi OS builds
#25
- Spawn from the context
#19
- File extension it seems
#24
- Move appveyor file, since it is not picked up.
#23
- Build on windows
#21
- Remove nightly features
#20
- did you mean 'abrupt'?
#10
- Shutdown implementation
#14
- All documentation is complete
d3084ba
- Refactor supervisors to carry out context to share data between children
324a80b
- Context documentation
58f5943
- Cargo fix
eb3ddb5
- Add doctests and spawn method examples
b894eaa
- Docs for context
835c576
- Add changelog
6493ff8
- Regenerate changelog
8cd095c
- Context spawn implementation
6d40d2e
- Rename links
7fa4b1f
- Fix nightly self referential box problem
37787ba
- Features and use case
7c35942
- Root spawn doc
02bb93f
- create an appveyor file
d80a3e3
- use ctrlc for cross platform signal handling
f8f0060
- Create FUNDING.yml
b0ca1f6
- Update main
1c7f839
- Add liberalpay
f4bc24a
- Workflow fix
0aa31c6
- remove nightly feature flags
a5a4c89
- Remove nightly feature usage warning from README
15ea639
- Fix warnings
2e4e18c
- (cargo-release) version 0.2.0
e6ab336
- Remove leftover debug point
6d89a50
- add missing imports
328f4c4
- build stable on travis
d95471b
v0.1.4-alpha.1 - 2019-07-27
- Introduce receive utilities for message
#1
- Fix communication example
806bc22
- Update code example in the readme
684a7bb
- (cargo-release) version 0.1.4-alpha.1
9eaf5d2
- (cargo-release) start next development iteration 0.1.3
3ecf231
v0.1.3 - 2019-07-21
- (cargo-release) version 0.1.3
bbdd5bc
- Reword logging entry format
0fb11d1
- (cargo-release) start next development iteration 0.1.2
da63455
v0.1.2 - 2019-07-21
- Cooperatively assembled message
136cdb6
- Export root spawn
871261b
- README update
09b3e68
- (cargo-release) version 0.1.2
3c8b2ae
- (cargo-release) version 0.1.1
5de7211
- (cargo-release) start next development iteration 0.1.0
3cde800
- Initial commit
be42fad