Skip to content

Commit 96faff4

Browse files
committed
chore: add release notes for v0.1.0
1 parent 4d983f3 commit 96faff4

File tree

2 files changed

+90
-1
lines changed

2 files changed

+90
-1
lines changed

changes/0.0.9.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Performance / Fixes:
1818
- @marvin-j97 added a secondary index for topic to better support `.head <topic>` operations ✨
1919
- replaying frames for new subscribers: Better, Faster, Stronger
2020

21-
raw commit messages:
21+
## Raw commit messages:
2222

2323
- chore: bump Nushell dependency to 0.99.1
2424
- fix(nu/commands/append): add support for ByteStream inputs

changes/0.1.0.md

+89
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
## Highlights
2+
3+
### A Major Rework of Handlers
4+
5+
https://github.com/cablehead/xs/wiki/Handlers
6+
7+
- Prior to this release, handlers had virtually no error handling. Now, when an
8+
error occurs, handlers will unregister themselves and record the error in the
9+
unregister frame's metadata.
10+
- The handlers closure shape is now `{|frame, state| ... }`, meaning the frame
11+
is passed as an argument instead of being supplied as `$in`.
12+
- Treatment of return values has been normalized: there is no longer any
13+
difference between handler return values for stateful and stateless handlers.
14+
By default, non-empty return values are appended as <handler>.out (previously
15+
it was just <handler>).
16+
- You can configure the return value suffix and TTL using the return_options in
17+
the metadata of the handler registration frame.
18+
- `.append` calls from a handler are now batched and processed together *after*
19+
the handler successfully completes. They aren't yet emitted in a fjall atomic
20+
batch but will be in the future. handler_id, frame_id, and state_id (if there
21+
is state) are not automatically included in the metadata of these appended
22+
frames.
23+
- Stateful handlers now communicate state updates by appending a
24+
<handler>.state frame.
25+
- A useful technique is to set the return value suffix to `.state`: then your
26+
return value will become the next state value for the subsequent handler
27+
call.
28+
29+
### Miscellaneous
30+
31+
- You can now import from one store into another:
32+
https://github.com/cablehead/xs/wiki/Export-and-Import
33+
- The CLI client can now access stores behind HTTPS and BasicAuth
34+
- Two new TTL options for frames:
35+
- `time:<milliseconds>`: the frame will exist for the specified number of
36+
milliseconds
37+
- `head:<count>`: keeps the most recent `count` frames for a given topic;
38+
among other uses, this is useful for using `xs` as a KV store
39+
40+
## Breaking Changes
41+
42+
- See handlers notes above
43+
- fjall dependency has been upgraded from 1.5 to 2.4
44+
- $env.XSPWD has been renamed to $env.XS_ADDR
45+
- `xs pipe` has been renamed to `xs process` -- .pipe -> .process
46+
47+
48+
## Raw commit messages:
49+
50+
- 4d983f3 docs: add --locked to the cargo install instructions 🙏 @fdncred
51+
- 2d840a8 rename $env.XSPWD to $env.XS_ADDR
52+
- e02edab feat: add a version endpoint; bump version in toml to 0.1.0
53+
- 96c482b feat: add conveniences to dump and load a store
54+
- a190163 feat: add frame import endpoint for backup/restore operations
55+
- 6b5b51f feat: add xs cas-post: which inserts content into the CAS without needing to insert a corresponding frame
56+
- ca9b5bf s/postfix/suffix/g -- 🙏 @marvin_j97
57+
- 1fa2678 feat: lots and lots of work on handlers (#28)
58+
- 0c9e689 tuning: use less (lsm) threads (#27)
59+
- ecf1e2e fix: update the example handlers to take frame as an argument
60+
- 5ab960b fix(handlers): ignore unregistered handlers on startup
61+
- 5f07a3a feat(handlers): validate closure shape and emit .unregister on registration error
62+
- f4f01f3 refactor: rename HandlerMeta to Meta, reuse Handler for /process endpoint
63+
- c5a0390 refactor: rename pipe to process
64+
- ee6193c refactor(handlers): pass frame/state as args instead of pipeline, encapsulate eval
65+
- ea648e9 refactor(handlers): split handlers.rs into module with handler and serve
66+
- 5907db4 fix: only include expose in xs.start meta when expose option is set
67+
- abe717f fix: pull TTL into its own module: bring nu/commands/append_command.rs up to date with TTL changes (#26)
68+
- cf30c8d feat(store): add Head TTL to retain latest N frames per topic (#24)
69+
- cbf70a8 fix: topic index encoding (#25)
70+
- 02938f6 feat: support unregister for handlers
71+
- d1106ae fix: avoid sending any events generated as a response to a handler, back to that handler
72+
- 71b3c83 fix: 's/eval_block/eval_block_with_early_return/g'
73+
- f7d367b feat: flesh out support for TTL::Time(Duration)
74+
- 5d1f2d0 feat: bump fjall dependency from 1.5 to 2.4 🎉
75+
- 9af2792 fix: .pipe now uses eval_block_with_early_return
76+
- 82edbf3 fix: iterate on error handling / messages when using the cli to call the API
77+
- 674181d image: add deno2
78+
- aa02716 example(discord-bot): add README note for slash command handler
79+
- ed4a5ee example(discord-bot): add an example /dice slash command handler
80+
- 48776da example(discord-bot): bump API version to v10
81+
- 4e9b2c7 Update README.md
82+
- dd00b68 Update README.md
83+
- ff3a931 example(discord-bot): read access token from the stream
84+
- ceace87 chore: iterate on the packaged container image
85+
- 6d2d558 chore: iterate on the packaged container image
86+
- 6b74142 feat: client support for stores behind https and basicauth (#22)
87+
- 76e37d1 release: allow --expose to be enabled in the container image
88+
- 84921cf release: allow --expose to be enabled in the container image
89+
- f170252 fix(example/solid-ui): actually push up store/cas.ts

0 commit comments

Comments
 (0)