v1 - Release Notes
We’ve added EnTT integration to Aether Engine meaning you can now make use of it’s Entity Component System in your Aether Engine simulations.
- The message buffering API is now implemented outside of the ECS, you may need to make changes to existing Aether Engine ECS code, read migrating existing Aether ECS code for details
- Fixed an issues causing Aether Engine to fail to start simulation without providing any information
- Prometheus output is now conformant to the official standard
- Visual Studio extension can now be updated without uninstalling first
- Creating a new project with ''aether new'' works as expected
- Fixed a problem causing Visual Studio Extension 1.3.0 to not install correctly
- Including Boost no longer makes build fail
- C shared libraries no longer cause build failures
- Metric aether_time_elapsed_sec no longer returns current time instead of time elapsed
- Metrics are now written to the correct location on remote runs
- Web portal not reporting bandwidth used by a cluster
- User interaction not working in the demos
- Aether Engine version selector defaults to latest on the portal.
- werror enabled for simulation builds.
- VS Extension now lists debuggable processes.
- Worker messaging counter added to engine metrics.
- Added docs for prometheus.
- Metrics names and labels rationalised.
- Version of Boost bumped to 1.72.
- Fixed warnings when compiling Physics demo with cross compiler.
- Installer works when invalid directories are part of PATH
- Cross compiler now works with non-default install paths.
- Temporary files properly cleaned up after simulation run ends.
- Aether Hunt 2 demo now provides error on incorrect input of endpoint.
- Rollback installation after failed installation of Virtual Machine.
- Fixed build errors in Aether Engine headers for cross compiler.
Now you can keep track of what’s happening in your simulation with Prometheus. Get started with metrics now.
The cross compiler greatly speeds up the build process, meaning you can code, build and debug faster. Read the docs to boost your workflow.
- Added new member functions: “sqr_magnitude” to vec2f and vec3f.
- Added new member functions “sqr_magnitude” and “closer_than” to geometry.
- Unity version 2019.4 is now recommended for the Unity Plugin.
- Generic netcode: Entities can include a field to determine if net relevancy should be performed.
- Clean build can now be performed from Visual Studio.
- The Physics demo now has example collision metrics.
- Installation no longer requires BMI2.
- Fix “spawn_cell_level_offset” being ignored.
- Account phase barrier time in the correct phase.
- Install crash handler earlier in initialisation, before user code is called.
- More reliable detection of SSH in the installer.
- More comprehensive logging in the installer.
- Fixed broken documentation links.
You can now debug a running simulation with the familiar tools of Visual Studio. Individual workers within a simulation can be paused, enabling you to inspect variables, step through code and assign values. See the debugging documentation to get started.
Using C# bindings, Unity clients can connect to Aether Engine simulations to receive and send messages. This is demonstrated in an example Unity PhysX project, which shows bouncing PhysX cubes in Unity, with user interaction using FlatBuffers to share protocol definitions between C++ and C# code bases. See the Unity documentation to get started.
- The generic netcode will now emit a warning when no updates are sent to a player because no user-controlled entity is found.
- The decode function of
demarshaller
now returns aint
error code instead of abool
indicating success. - The installer now supports installing the Visual Studio extension and the Unity plugin.
aether run
has a new--debug
flag that will start a simulation with debugging enabled.aether list-paused-processes
is a new command that will provide the list of Hadean PIDs that are currently paused on ahadean::stop()
call.aether continue-all
will continue any processes that have been paused at either ahadean::stop()
call or breakpoint and are not currently being debugged.aether status
will now indicate if the simulation being inspected was run with debugging enabled, and if there is currently a debugger attached.- The repclient is now default constructable.
- The unmaintained MPI support has been removed.
- The Physics demo now includes a Unity client.
code_position_2f
has been renamed tonet_decode_position_2f
to fix an accidental rename.tl::optional
is now exposed in theaether::compatibility
namespace.- Preprocessor logic has been fixed so that
aether::optional
isstd::optional
for C++17 and above. - Preprocessor logic has been fixed so that
aether::monostate
isstd::monostate
for C++17 and above. - The
common/io/byteorder.hh
header has been added which contains theaether::io::byte_order::endian_buffer
class along with typedefs for buffers which hold unsigned integers in little and big-endian representations. - The logging framework has been updated to prevent race conditions in initialisation which could lead to crashes.
aether::morton::AABB
has been modified not to use the range-v3 library.- Serialization support has been added to
morton_code
andcell
. - All headers and source files have been updated not to include C++17 headers.
interval
now asserts that the end is after the start during construction.region::clear()
has been added.mpl::uint_exact
has been added which maps bit-widths to unsigned integer types.- Aether Engine's random number generation functions are moved to the
aether::random
namespace. - The
last_error_is_would_block
function is added totcp.hh
which enables checking if the last socket operation would have blocked on Posix and Windows. - Cloning an ECS component from an existing one no longer leads to undefined behaviour.
- A bug is fixed where simulations using the global state and not using the external storage writer could not shutdown cleanly.
- All non-default repclient constructors are marked as deprecated (since they would assert on failure)
- The
connect
,connect_record
andconnect_playback
functions are added to the repclient to initiate connections and interact with dump files. - The repclient now correctly interprets an EOF during send or receive as a disconnect.
- The repclient now interprets an error or EOF while reading a dump file as a disconnect.
- The repclient now correctly handles "would block" errors during sends and receives.
Last modified 1yr ago