-
-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathreleases.txt
More file actions
271 lines (222 loc) · 12.2 KB
/
releases.txt
File metadata and controls
271 lines (222 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
# Custom Release File Format
#
# - Lines starting with '#' are comments.
# - Releases are listed in descending order, with the latest release first.
# - Each release follows this structure:
#
# =--- release-name ---=
# Release description
# Can span multiple lines
# =--- END ---=
#
# Details:
# - release-name: the name of the release
# - Release description: detailed information about the release
# - =--- END ---=: marks the end of the release
=--- v1.1.5-erycibe ---=
### What Changed
- **Log timestamps & file output**: New `LOG_TIME`, `LOG_TIME_FORMAT`, and `LOG_FILE` env vars let you add timestamps to logs and save them to a file.
- **`BWCUSTOM_PATH` removed**: The deprecated `BWCUSTOM_PATH` variable has been fully dropped. Use `BACKEND_PATH`.
- **`broadcast` / `live` command fix**: RT and PI arguments are now parsed correctly. Previously, RT values with spaces would break the PI code.
- **`exit` over WebSocket**: Typing `exit` in a remote session now properly closes the connection instead of being blocked.
- **WebSocket disconnect handling**: Unexpected client disconnections no longer throw an error.
- **Miscellaneous**: `dlogger` dependency bump to `1.0.5`.
### Breaking Changes
> [!CAUTION]
> `BWCUSTOM_PATH` has been removed. Please migrate to `BACKEND_PATH`.
=--- END ---=
=--- v1.1.4-chione ---=
### What Changed
- **`--config` flag**: All three components now accept `--config <path>` to load a config file into the environment at startup. See [the wiki](https://github.com/dpipstudio/botwave/wiki/Using-environment-variables#dotenv).
- **`BACKEND_PATH`**: `BWCUSTOM_PATH` is deprecated in favor of `BACKEND_PATH`. A warning will be shown if the old variable is still set.
- **Frequency range**: `BACKEND_MIN_FREQ` and `BACKEND_MAX_FREQ` let you configure your backend's allowed frequency range.
- **`BACKEND_BYPASS_CACHE`**: Skips the cached backend path and forces a fresh search.
- **`DOWNLOAD_UA`**: Overrides the user agent used when downloading files (was already there on `bw-client`, added it to `bw-local`).
- **Miscellaneous**: Internal env file parser cleanup and a [piwave](https://piwave.xyz) dependency bump.
### Breaking Changes
> [!WARNING]
> `BWCUSTOM_PATH` is deprecated and will be removed in a future release. Please migrate to `BACKEND_PATH`.
=--- END ---=
=--- v1.1.3-aria ---=
### What Changed
- **`status` command**: Shows broadcast state (file, frequency, uptime) on the local client. On the server, you can query clients with `status all` or a specific target.
- **Flexible ALSA config**: `ALSA_INTERFACE`, `ALSA_CARD`, and `ALSA_DEVICE` env vars now individually control the ALSA device string.
- **Custom command wildcards**: Use `#!/*/<command>` in `.cmd` files to target both server and local client with one script.
- **Protocol version**: Bumped to `2.1.2` by adding the `STATUS` command.
=--- END ---=
=--- v1.1.2-stellata ---=
### What Changed
- **Custom commands**: You can now define your own commands directly from the handlers directory. Any `.cmd` file with the right shebang will show up in `help` and run like a built-in command. [Wiki page](https://github.com/dpipstudio/botwave/wiki/Creating-custom-commands)
- **WebSocket join/leave handlers**: New `l_onwsjoin` and `l_onwsleave` handler events fire when a remote client connects or disconnects from the local client's WebSocket.
- **Command arguments in handlers**: Handler scripts now receive `BW_ARGV{n}` environment variables containing each argument of the last executed command.
- **Custom shell interpreter**: A new `CMD_INTERPRETER` environment variable lets you specify which shell to use when running shell and pipe commands (`<` and `|`).
- **IP redaction fix**: The IP address redaction is softer to catch edge cases (like the clients IDs).
=--- END ---=
=--- v1.1.1-malosma ---=
### What Changed
- **New `update` command**: The server-only `update` command allows you to update the target clients without requiring to manually log into the machine.
- **Remote CLI** (`--rc`): The deprecated `--ws` flag has been fully removed from both the server and local client. If you were still using it, switch to `--rc`.
- **Protocol version**: Bumped to `2.1.1`.
- **Miscellaneous**: Minor comment typo fixes.
### Breaking Changes
> [!CAUTION]
> The `--ws` flag has been removed. `--rc` is now the only supported option.
=--- END ---=
=--- v1.1.0-morelia ---=
### What Changed
- **ProtoManager**: Commands sent to clients now wait for a confirmed response before reporting success or failure. You'll see clearer `Success: N, Failure: N` summaries after `start`, `stop`, `lf`, and `stream` operations instead of just "token sent".
- **Protocol version**: Protocol `v2.1.0` comes with this release. It requires the client to send back a `transaction_id` kwarg if provided.
- **Better auth feedback**: If a client connects with a wrong or missing passkey, it now gets a proper error and disconnects cleanly instead of hanging (see #49).
- **Remote CLI** (`--rc`): The `--ws` flag has been renamed to `--rc`. It still works but will print a deprecation warning. The authentication flow has also changed: instead of a JSON handshake, you'll now just be prompted for a password, making it usable from any WebSocket-capable tool. The `REMOTE_CMD_WELCOME` environment message has been added.
- **Bug fixes**: Fixed a stream broadcast issue that could cause it to stall or crash due to event loop conflicts. Fixed auth failures not exiting the registration loop cleanly on the client side.
- **Miscellaneous**: Additional minor fixes have also been implemented.
### Breaking Changes
> [!CAUTION]
> The following environment variables have been renamed. Your `.env` files and startup scripts will need to be updated:
| Old | New |
|---|---|
| `WS_CMD_PORT` | `REMOTE_CMD_PORT` |
| `WS_BLOCKED_CMD` | `REMOTE_BLOCKED_CMD` |
| `ALLOW_WS_BLOCKED_COMMANDS_I_KNOW_WHAT_IM_DOING` | `ALLOW_REMOTE_BLOCKED_COMMANDS_I_KNOW_WHAT_IM_DOING` |
The [`Advanced/Using environment variables`](https://github.com/dpipstudio/botwave/wiki/Using-environment-variables) wiki page has also been updated.
### Additional Notes
> [!CAUTION]
> The `list` command has been removed in this release. Use `lf` instead.
> [!NOTE]
> The `--ws` flag is deprecated and will be removed in a future release. Please migrate to `--rc`.
### Related
- #48
- #49
- #50
- #51
- #52
=--- END ---=
=--- v1.0.14-psydrax ---=
### What Changed
- **Environment variables**: BotWave now supports configuration via environment variables and `.env` files for ports, paths, RDS defaults, ALSA settings, and more. See the [wiki](https://github.com/dpipstudio/botwave/wiki/Using-environment-variables) for the full list.
- **`get` and `set` commands**: Inspect and change environment variables at runtime directly from the BotWave shell, no restart needed.
- **Bug fixes**: Minor bug fixes across the program.
### Additional notes
> [!WARNING]
> This is the last release supporting the local `list` command. It is replaced with the `lf` one, and will be completely removed in `1.0.15`.
=--- END ---=
=--- v1.0.13-ochna ---=
### What Changed
- BotWave will now warn you if another instance is already running, preventing potential broadcast conflicts
- Improved server shutdown handling to prevent event loop issues
- Fixed client f-string quote escaping
- Server startup error message now includes a direct link to the GitHub repo and better instructions
=--- END ---=
=--- v1.0.12-batesia ---=
### What Changed
- Handler context updates:
- The server handler context now includes `BW_SERVER_CONNECTED_CLIENTS`, which contains the hostnames of all connected clients, separated by commas
- Local client commands:
- The `list` command has been renamed to `lf` to avoid conflicts with the server
- The `list` command remains deprecated and will be removed in a future release
=--- END ---=
=--- v1.0.11-redbud ---=
*This release was supposed to be for valentines day, oops*
### What changed
- Handler context injection:
- Handlers now receive environment variables at execution time (`BW_CLIENT_HOSTNAME`, `BW_BROADCAST_FILE`, `BW_BROADCAST_FREQ`, etc.)
- Event-specific variables available where relevant (e.g. client info on `onconnect`/`ondisconnect`, broadcast info on `onstart`/`onstop`)
- Environment is fully restored after each handler execution
- `{VAR}` interpolation in commands:
- Commands inside handlers now support `{VAR}` syntax, resolved against the current environment
- Allows using injected context directly in BotWave commands, not just shell calls
- New `|` pipe command:
- Available on both server and local client
- Runs a shell command and feeds each line of its stdout back as a BotWave command
- Blocked from remote WebSocket execution for security
- **Bug fixes**:
- Fixed potential deadlock in server async command execution
- Server now exits cleanly with an error message if startup fails
- **Misc**:
- Install and update scripts now support the `-b,--brach <name>` flag to pull from a specific branch
- Updated docs for `handlers.md`, `local.md`, `server.md`, and `README.md`
### Related
The [`Main/Automate Your Setup`](https://github.com/dpipstudio/botwave/wiki/Automate-your-setup) has been updated to document dynamic handlers using env variables.
Related PRs: #42, #43
=--- END ---=
=--- v1.0.10-umtiza ---=
**What changed:**
- Audio format conversion:
- Added automatic conversion of common audio/video formats to WAV
- Supports MP3, AAC, M4A, OGG, FLAC, OPUS, MP4, MKV, and many more formats
- Conversion happens automatically during upload and download operations
- **Bug fixes**:
- Fixed imports in client.py
- Improved error handling in file operations
- Better exception catching in history file loading
- **Misc**:
- Updated `--talk` flag description for clarity
=--- END ---=
=--- v1.0.9-axinaea ---=
**What changed:**
- Minor bug fixes reguarding client-server live broadcasing.
=--- END ---=
=--- v1.0.8-senna ---=
**What changed:**
- Important fixes reguarding path traversal, most of them reguarding client <-> server.
- Bug fix in stop command (server side).
- Files downloader now fetch with the BotWaveDownloads/PROTOCOL_VERSION user agent.
=--- END ---=
=--- v1.0.7-annea ---=
**What changed:**
- **Protocol**:
- New `Commands.END` for the client to report a broadcast end or failure
- Version `2.0.2`
- **New features**:
- `queue` command to manage your playlist. See [the wiki](https://github.com/dpipstudio/botwave/wiki/Queue-system)
- **Usage changes**:
- Now local client and client can take the `--talk` argument to show [`PiWave`](https://git.douxx.tech/piwave) debug logs. Disabled by default.
---
Related:
- #33
- #37
=--- END ---=
=--- v1.0.6-citrus ---=
**What changed:**
- Updated default rt on server to reflect the filename, not the targets
- Minor log changes
- Fixed #31 for cleaner logging and user experience
=--- END ---=
=--- v1.0.5-abuta ---=
**What changed:**
- Replaced RDS defaults
- Added the Get Help section to the README
- Using custom user agent for version checks
- Added --skip-checks flag to server
- Edited help formatting on local client and server
=--- END ---=
=--- v1.0.4-zanha ---=
**What changed:**
- Added live streaming (see issue #14)
- Updated (un)installers / updaters. Now support the --[no-]alsa parameter
- Added STREAM_TOKEN to protocol, and removed RESTART. Protocol is now 2.0.1
- Enhanced error handling
=--- END ---=
=--- v1.0.3-desmos ---=
**What changed:**
- Fixed the text overriding the prompt. We now have a clean prompt / logs structure
- Changed defaults for radio name (ps) and radio description (rt). They now are "BotWave" and "file_name"
- Added peppe8o.com to the README and replaced "show hn" with "hackernews"
=--- END ---=
=--- v1.0.2-alfaroa ---=
## What changed:
- Improved `upload` on local client to add folder uploads
- Fixed a small logging type issue in the server
- Changed the README structure with clear instructions
=--- END ---=
=--- v1.0.1-terminalia ---=
**What changed:**
- Changed readme to add the ETC section and a dynamic hero image
- Fixed command history implementation in server and local
=--- END ---=
=--- v1.0.0-oak ---=
This is the first BotWave release.
This release provides a basic client-server implementation for BotWave,
alongside a standalone client. The protocol version is 2.0.0.
It supports basic FM broadcasing, SSTV & morse encoding, and more !
=--- END ---=