Skip to content

Releases: luigifcruz/CyberEther

V1.0.0 (Alpha 4)

10 Jun 16:28
7cc92cd
Compare
Choose a tag to compare

image

This is another alpha release of CyberEther with multiple bug fixes and quality-of-life improvements!

Featured

  • Better line anti-aliasing for Lineplot.
  • New API-independent computer Kernel for Render.
  • New SigMF sink block.
  • Huge amount of bug fixes and quality-of-life improvements.

What's Changed

  • Removes unnecessary public headers.
  • Adds real number support in Amplitude module.
  • Adds Arithmetic module for addition, subtraction, division, or multiplication along an axis.
  • Creates custom serialization and deserialization API of custom types (e.g. enum).
  • Adds panning and zoom to the Lineplot block.
  • Adds anti-aliasing (MSAA) to render surfaces in Vulkan and Metal backends.
  • Adds averaging option to the Lineplot block.
  • Fixes multiple bugs.
  • Adds CUDA backend to Arithmetic and Duplicate modules.
  • Treats backtick enclosed words with emphasis in Markdown.
  • Adds Taints to modules for feature identification.
  • Cleans headers imports.
  • Moves Tensor methods from header to source files.
  • Changes tensor slice method name from view to slice.
  • Adds assertions for non-contiguous tensors in modules.
  • Improves compile-type automatic system identification (#62)
  • Enables pedantic compiler warnings by default.
  • Installs Catch2 automatically in case a suitable version is not found (#71)
  • Fixes NVENC colorimetry in headless remote mode.
  • Adds tensor Slice block.
  • Adds partial support for Intel-based Macs with Vulkan (#49)
  • Enables the Intel macOS build CI.
  • Improves preview scaling.
  • Reduces terminal output. Old log volume available with JST_DEBUG=3 env.
  • Updates Metal bindings for C++.
  • Saves or opens files on enter or dialog confirmation in the compositor.
  • Adds file format filtering in file picker on macOS.
  • Adds fullscreen mode for flowgraph blocks. Very useful for headless remote sessions.
  • Adds FAQ question Is CyberEther web-based?.
  • Aligns all graphical backends to encode present modules on frame begin.
  • Replaces custom web-based libusb implementation with upstream.
  • Fixes bug preventing block deletion when connected to another block.
  • Fixes bug resetting block state when type changed.
  • Fixes empty Tensor interoperability.
  • Improves legibility of parser errors.
  • Implements flowgraph rewind when block configuration change causes dependency error.
  • Adds Tensor reshape method block.
  • Implements more assertions for Tensor slice method.
  • Add initial Tensor Storage unit tests.
  • Create SigMF sink block.
  • Create compute Kernel element for render.
  • Refactor thick-line drawing mechanism with compute Kernel.
  • Update WebGPU to the latest version.
  • Implement better anti-aliasing in Lineplot.

Known Issues

  • The output of a CUDA-backed block can't be connected to a CPU-backed block.
    • Fix expected in the next alpha release.
  • No Intel-based macOS binary is available for this release.
    • GitHub Actions is a bit flaky with macOS but this should be solved in the next release.

Full Changelog: v1.0.0-alpha3...v1.0.0-alpha4

Running

Warning

CyberEther is in Alpha. Expect bugs, missing features, and breaking changes.

It's recommended to build it from the source. The complete install instructions are available in the README. If you don't want to do that, try using the binaries below. For macOS and Linux, you will need to install the runtime dependencies described in the README for your system for the binaries to work. Future releases will package dependencies together with the binary.

V1.0.0 (Alpha 3)

10 Feb 01:29
bcf47e7
Compare
Choose a tag to compare
image (2)

This is another alpha release of CyberEther with multiple bug fixes and quality-of-life improvements!

Featured

  • Initial CUDA support for the main blocks. Spoiler: It's fast!
  • Windows support is now at Alpha level.
  • Lots of quality-of-life improvements and bug fixes. Largest change-log yet!
  • Experimental Apple Silicon binary.

What's Changed

  • Fixes compiler warnings.
  • Adds tooltip information for detaching link (#42)
  • Adds automatic macOS build for the Apple Silicon.
  • Adds CUDA support for scheduler using NVRTC via Just In Time compilation.
  • Cleans header imports.
  • Adds locality methods host_native and device_native in TensorBuffer.
  • Adds Tensor interoperability from CPU to CUDA, and CUDA to CPU.
  • Adds Memory::Copy for contiguous Tensors from CUDA, CPU, and Metal.
  • Refactors Amplitude, Lineplot, Waterfall, and Spectrogram modules to use pimpl.
  • Implements CUDA backend for FFT, Amplitude, Lineplot, Waterfall, and Spectrogram modules.
  • Improves backend context sharing with module.
  • Removes Node ID from block drop down.
  • Implements CUDA to Vulkan interoperability with zero-copy Tensor sharing.
  • Creates ConvertToOptimalStorage method to facilitate zero-copy data sharing between compute and present.
  • Creates MapOn method for quick Tensor interoperability.
  • Removes Hello World example in favor of the Custom Interface example.
  • Bumps minimal CUDA version to >=11.7.
  • Adds shader based interpolation for Spectrogram module.
  • Improves CPU backend performance in Lineplot module.
  • Adds frame queue lock while unbinding and binding surfaces.
  • Refactors Instance API with new start and stop methods.
  • Fixes FFT forward and inverse mapping with Metal backend.
  • Disables Metal support on Intel-based Macs automatically.
  • Adds further clarification about Intel-based compatibility (#65)
  • Adds TensorCircularBuffer and Juggler utilities to the memory namespace.
  • Refactors instance method buildInterface into build with struct-based arguments.
  • Removes remaining std::span includes.
  • Fixes waterfall and spectrogram block overlap in spectrum analyzer example flowgraph.
  • Fixes bug in compositor block resize logic that caused unwanted resizing during initialization.
  • Fixes block coordinates export from systems with different scaling (#66)
  • Fixes bug while deactivating a Soapy stream.
  • Fixes Filter Taps block crash when zero heads (#68)
  • Patches Note block markdown occlusion issue (#67)
  • Adds data locality metadata to Tensor tooltip.
  • Creates Duplicate module and block to copy Tensors.

Known Issues

  • The output of a CUDA-backed block can't be connected to a CPU-backed block.
    • Fix expected in the next alpha release.
  • No Intel-based macOS binary available for this release.
    • GitHub Actions is a bit flaky with macOS but this should be solved in the next release.

Full Changelog: v1.0.0-alpha2...v1.0.0-alpha3

Running

Warning

CyberEther is in Alpha. Expect bugs, missing features, and breaking changes.

It's recommended to build it from the source. The complete install instructions are available in the README. If you don't want to do that, try using the binaries below. For macOS and Linux, you will need to install the runtime dependencies described in the README for your system for the binaries to work. Future releases will package dependencies together with the binary.

V1.0.0 (Alpha 2)

29 Jan 21:32
72e00c2
Compare
Choose a tag to compare

image_2024-01-16_22-29-46

This is another alpha release of CyberEther with multiple bug fixes and quality-of-life improvements!

Featured

  • Real-to-Complex FFT support by @Paulo-D2000 in #55
  • Support for in-flowgraph markdown documentation with the Notes block.
  • Export and share your benchmark results here!

What's Changed

  • Adds Windows file picker dialog (#45) [@Paulo-D2000]
  • Implements real to complex FFT for CPU backend (#55) [@Paulo-D2000]
  • Adds initial batch of unit tests.
  • Adds the ability to create blocks inside blocks.
  • Renames Filter block to Filter Taps.
  • Creates the Filter block with the functionality of Filter Taps and Filter Engine.
  • Adds the ability to export the benchmark in markdown format.
  • Improves reliability of the Tensor library.
  • Adds Windows cross-compilation Docker image and CI tests workflow.
  • Improves README accuracy.
  • Changes buildDefaultInterface method name to buildInterface.
  • Adds Markdown support for Block description text.
  • Fixes Remote with older Gstreamer versions (<1.22).
  • Cleans up unnecessary header exports.
  • Updates Emscripten version to 3.1.51 with upstreamed HiDPI support.
  • Updates ImGui version to 1.90.1.
  • Fixes flowgraph mouse interaction erroneously triggering panning when a window hovers above.
  • Introduces new Note Block with Markdown support.
  • Fixes crashes when an invalid flowgraph file path is typed.
  • Adds speaker selection to the Audio Sink block.
  • Pins CPU memory with CUDA by default in supported platforms.
  • Fixes crash while deleting blocks (#61).
  • Adds assertions for FreeBSD (#62).
  • Adds benchmarks for Amplitude, AGC, Cast, Constellation, Spectrogram, Waterfall, and Scale modules.

New Contributors

Full Changelog: v1.0.0-alpha1...v1.0.0-alpha2

Running

Warning

CyberEther is in Alpha. Expect bugs, missing features, and breaking changes.

It's recommended to build it from the source. The complete install instructions are available in the README. If you don't want to do that, try using the binaries below. For macOS and Linux, you will need to install the runtime dependencies described in the README for your system for the binaries to work. Future releases will package dependencies together with the binary.

V1.0.0 (Alpha 1)

05 Jan 21:27
1bb1bbb
Compare
Choose a tag to compare

This is the first alpha release of CyberEther. It's recommended to build it from source. If you don't want to do that, you can try use the binaries below. You will need to install the runtime dependencies described in the README for your system for this to work. Future releases will probably package them together with the binary.

Warning

CyberEther is in Alpha. Expect bugs, missing features, and breaking changes.