Skip to content

Commit f5d5a03

Browse files
committed
Bump version to v0.1.5-alpha
1 parent 7a2d029 commit f5d5a03

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

CHANGELOG.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22
All notable changes to this project will be documented in this file. This change log follows the conventions of [keepachangelog.com](http://keepachangelog.com/).
33

44
## Unreleased
5+
6+
## [0.1.5-alpha] - 2025-07-03
7+
58
### Added
69
- Explicit timestamp support for frames with `java.util.Date` (#inst reader macro) and millisecond integers
710
- Frame creation functions now support optional `opts` parameter for timestamp control
811
- Utility functions `normalize-timestamp` and `timestamp->date` for timestamp conversion
912
- Comprehensive test suite for `simulflow.frame` namespace using `clojure.test` (2150+ assertions)
1013
- Comprehensive test suite for `simulflow.processors.activity-monitor` with pure function testing
1114
- **Microphone Transport**: Added pure functions `process-mic-buffer` and `mic-resource-config` for better testability and REPL-driven development
12-
- **Audio Splitter**: Added pure functions `split-audio-into-chunks` and `audio-splitter-config` for better testability and data-centric design
13-
- **Transport Testing**: Comprehensive test suite for transport layer (590 assertions) covering microphone transport, audio splitter, and realtime speakers with pure functions, multi-arity functions, property-based testing, performance, and edge cases
15+
- **Transport Testing**: Comprehensive test suite for transport layer covering microphone transport, audio splitter, and realtime speakers
1416
- **Realtime Speakers Out**: Added comprehensive test coverage including realistic LLM → audio splitter → speakers pipeline integration test simulating end-to-end audio processing flow
1517
- **Realtime Speakers Out**: Added extensive unit tests for describe, init, transition, transform, timer handling, system config, serializer integration, and timing accuracy validation
1618

@@ -27,9 +29,9 @@ All notable changes to this project will be documented in this file. This change
2729
- Enhanced frame validation and error messages
2830
- More idiomatic Clojure code with proper namespaced keywords
2931
- **Activity Monitor**: Refactored core logic into pure `transform` function, making it fully testable and following data-centric functional patterns
30-
- Activity monitor now uses separate pure functions (`speaking?`, `transform`) that can be easily unit tested without async complexity
31-
- **ElevenLabs TTS**: Extracted transform logic into pure `tts-transform` function, improving testability and separation of concerns from WebSocket lifecycle management
32+
- **ElevenLabs TTS**: Extracted transform logic into pure `elevenlabs-tts-transform` function, improving testability and separation of concerns from WebSocket lifecycle management
3233
- **ElevenLabs TTS**: Migrated from classic threads (`flow/futurize`) to virtual threads (`vthread-loop`) for better performance and resource efficiency
34+
- **ElevenLabs TTS**: Extracted WebSocket configuration logic into pure `create-websocket-config` function
3335
- **Microphone Transport**: Enhanced error handling with structured logging and non-blocking channel operations using `offer!` instead of blocking `>!!`
3436
- **Microphone Transport**: Migrated to virtual threads (`vthread-loop`) for better concurrency performance and resource utilization
3537
- **Microphone Transport**: Improved timestamp accuracy by capturing timestamps at audio capture time rather than processing time
@@ -41,11 +43,13 @@ All notable changes to this project will be documented in this file. This change
4143
- **Realtime Speakers Out**: Enhanced with timer-based speech detection in transform function, replacing background monitoring loops with explicit timer tick event handling
4244
- **Realtime Speakers Out**: Improved state management with explicit data structures and pure function transformations for speech start/stop detection and audio timing calculations
4345
- **Test Quality**: Added realistic integration testing simulating LLM audio generation → audio splitting → realtime speakers with proper timing validation and data integrity verification
44-
- **Bot Speech Events**: Clarified that `bot-speech-stop` events come from timer tick processing when silence exceeds threshold, demonstrating Activity Monitor Pattern in action
4546

46-
- Updated dependencies to latest
4747

4848
## [0.1.4-alpha] - 2025-04-13
49+
50+
### Changed
51+
- Updated dependencies to latest
52+
4953
### Removed
5054
- Unused dependencies: onnx-runtime + java.data
5155

deps.edn

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@
1212

1313
:pom {:group-id "com.shipclojure"
1414
:artifact-id "simulflow"
15-
:version "0.1.3-alpha"
15+
:version "0.1.5-alpha"
1616
:name "simulflow"
1717
:description "A Clojure framework for building real-time voice-enabled AI applications"
1818
:url "https://github.com/shipclojure/simulflow"
1919
:scm {:url "https://github.com/shipclojure/simulflow"
20-
:tag "v0.1.4-alpha"
20+
:tag "v0.1.5-alpha"
2121
:connection "scm:git:git://github.com/shipclojure/simulflow.git"
2222
:dev-connection "scm:git:ssh://git@github.com/shipclojure/simulflow.git"}
2323
:licenses [{:name "Eclipse Public License"

test/simulflow/transport_test.clj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
(ns simulflow.transport-test
22
(:require
3+
[clojure.core.async.flow :as flow]
34
[clojure.test :refer [deftest is testing]]
45
[simulflow.frame :as frame]
56
[simulflow.transport :as sut]

0 commit comments

Comments
 (0)