Release notes

Version 0.3.1 on 2021-06-01

  • [Breaking changes] Maven repository migrated from BinTray to Maven Central. Updated the guides and related documentation. Also, the filesystems and metrics projects naming has changed to fit under the maven group ID io.wavebeans

Version 0.3.0 on 2021-01-02

  • [Breaking changes] SampleArray renamed to SampleVector as well as it has wider API and usage overall.
  • [Breaking changes] Now based on Kotlin 1.4. Previous Kotlin versions are not guaranteed to work.
    • Kotlin 1.4.21
  • [ #31 ] Flatten operation.
  • [ #86 ] Managing and controlling WAV and CSV outputs
  • Output as a function
  • Inverse FFT implementation
  • Window functions are available as separate convenience functions
  • Resample operation
  • Monitoring: metrics system, internal collectors and Prometheus exporter. More in docs.
  • Improvements on SampleVector type, i.e. arithmetic operation with scalars, an operation on two non-nullable vector gets non-nullable result.

Version 0.2.0 on 2020-08-12

  • [ #82 ] Concatenation operation
  • File systems support:
    • File System abstraction for a better support of different location types of operations on files.
    • DropBox implementation as File System, follow usage guide.
  • HTTP Service improvements:
    • [ #62 ] HTTP API improvements. Audio and Table service no longer require some parameters (sampleRate, sourceType) which can be inferred from the table itself.
    • HTTP service now may stream data out of the table with the help of Audio Service.
    • HTTP Service is CORS-enabled
  • Table Output improvements:
    • If the table is based on finite stream the audio streaming to support the end of the stream as well.
    • Specific Table API for Samples and SampleArrays
    • Table implementation can now be provided as a parameter.
    • Introduced remote table driver implementation and leveraging it in HTTP service, so now HTTP service may provide access to tables while running in distributed mode. More details in documentation
    • Better contextual documentation for Table Output.
  • Other:
    • Introduced SampleArray type for performance optimization of certain use cases.
    • [ #59 ] Switched internal communication to gRPC.
    • [Bugfix] 24bit wave file storing and fetching hasn’t been working properly.
    • [Bugfix] The table output is not correctly measuring time markers for complex objects
    • [Internal] Wav Writer slighly refactored to be more reusable in different parts of the system.

Version 0.1.0 on 2020-05-18

Entering the new era with actual distributed processing. Now it’s still Work In Progress though have some abilities to play around with.

  • The first version of evaluation in Distributed mode. Follow the docs.
  • Proper multi-threaded mode that doesn’t require serialization in place. Follow the docs.
  • [ #52 ] Custom class that requires measurement needs to implement Measured interface. See updated section of documentation
  • A first version of Developer zone – a bunch of documents explaining ideas and architecture behind WaveBeans.

Version 0.0.3 on 2020-04-03

  • Execution: Breaking changes Overseer.eval() now returns different type of result. Follow execution documentation.
  • CLI: Using Kotlin Scripting as main engine. No need to install Kotlin SDK anymore
  • Support of different window functions:
  • Better support for types using through HTTP/Table service, distributed execution and measuring for different purposes:
    • FftSample
    • Window<T>
    • List<Double>
  • Detecting valid classloader depending on the environment you’re running in (i.e. regular app, Jupyter, scripting, etc)
  • Kotlin version upgrade to 1.3.70
  • WaveBeans API is no longer exposing Kotlin Experimental API.

Version 0.0.2 on 2020-03-10

Version 0.0.1 on 01/31/2020

This is the very first release of WaveBeans. It is considered to be Alpha version – free to use but without any guarantees regarding quality and if API remains the same.

What’s being released: