Skip to content

Releases: syndbg/onetui

Release list

v0.2.0

Choose a tag to compare

@syndbg syndbg released this 27 Sep 22:44

OneTUI 0.2.0

OneTUI can now write to every data source it supports, from one query editor. This release also adds ScyllaDB and Cassandra, and syntax highlighting in the editor.

Highlights

  • Writes everywhere. PostgreSQL, Kafka, NATS, DynamoDB, RabbitMQ and Qdrant all accept writes from the query editor.
  • ScyllaDB and Cassandra. A new cql connection kind serves both. Browse keyspaces, tables and typed rows with native paging, and run CQL reads and writes.
  • Syntax highlighting. The editor colors each data source's language: SQL, CQL, JSON and the Kafka, NATS and RabbitMQ verbs. Message payloads stay uncolored. Turn it off with the display highlight setting.

Query editor

  • Multi-line queries with Shift+Enter.
  • Ctrl-P and Ctrl-N recall earlier queries. Shift+H opens them as a list.
  • persist_query_history = true keeps history across restarts. The history file holds full query text, including any secrets you type.
  • A confirmation prompt shows the connection and target before a query runs. It is on by default. Set ask_for_query_confirm = false to skip it.
  • Every write reports applied, rejected or unknown. OneTUI never retries on its own. On unknown, check the target before you submit again.

Connections

  • A connection that fails to open shows the server's reason in a popup.
  • Credentials can be set inline with username= and password=.
  • A rejected query keeps the connection open.
  • Quitting asks for confirmation.

Breaking changes

  • Kafka: the editor takes verbs instead of a JSON replay object.
    • Read: CONSUME topic/partition offsets 100..200 or time start..end.
    • Write: PRODUCE topic, a blank line, then one JSON record per line.
  • NATS: the editor takes verbs instead of a JSON operation object.
    • Read: CONSUME STREAM [subject] seq 1..500 or time start..end.
    • Write: PRODUCE STREAM subject, optional Name: value header lines, a blank line, then the payload.
  • RabbitMQ: the editor takes PUBLISH, GET, DECLARE, DELETE and PURGE instead of raw METHOD /path. You type the vhost as is, so the default vhost is /, not %2F. RAW METHOD /path reaches any other management endpoint. Old drafts become RAW GET /api/overview.
  • PostgreSQL: an editor query runs once and shows up to the display limit. It no longer re-runs to fetch more pages. Browsing tables still pages.
  • ask_for_query_confirm now defaults to true.
  • Saved history entries in the old Kafka, NATS or RabbitMQ formats fail when you submit them. Rewrite them in the new form.

Limitations

  • To publish to a topic or subject that OneTUI decodes with Avro or Protobuf, send the already-encoded bytes as base64 or hex.

What's Changed

  • build(deps): bump actions/checkout from 6.1.0 to 7.0.1 in the actions group by @dependabot[bot] in #7
  • build(deps): bump the cargo-patches group with 4 updates by @dependabot[bot] in #8
  • build(deps): bump base64 from 0.22.1 to 0.23.1 by @dependabot[bot] in #9
  • feat: add session query history by @syndbg in #11
  • feat(ui): ask before quitting by @syndbg in #12
  • test(nast-fixture): wait for producer by @syndbg in #14
  • feat(query-editor): add persistent history by @syndbg in #13
  • fix: remove mentions of read-only state by @syndbg in #15
  • feat(provider): add query execution result by @syndbg in #18
  • fix: ask_for_query_confirm=true by default by @syndbg in #19
  • feat(tui): show query examples as watermarks by @syndbg in #21
  • fix(tui): require editor to resubmit queries by @syndbg in #24
  • feat(qdrant): run Qdrant HTTP requests from the query editor by @syndbg in #22
  • chore: stop target/ from growing without bound by @syndbg in #26
  • feat(postgres): add write support by @syndbg in #27
  • fix: keep connections after query rejections by @syndbg in #28
  • feat(dynamodb): write support by @syndbg in #30
  • feat(nats): add publishing support for streams by @syndbg in #31
  • feat(kafka): write support and custom "query" language by @syndbg in #32
  • fix(tui): propagate correctly shift+enter by @syndbg in #33
  • fix(dynamodb): unify query outcomes by @syndbg in #34
  • fix(qdrant): unify HTTP query outcomes by @syndbg in #35
  • feat(rabbitmq): add HTTP editor writes by @syndbg in #36
  • feat(cql): add read and write support for Cassandra and ScyllaDB by @syndbg in #38
  • feat(tui): show connect errors in a popup by @syndbg in #39
  • feat(tui): add syntax highlighting for editor by @syndbg in #40
  • feat(all): support inline credentials by @syndbg in #41
  • feat: replace svgs with gifs by @syndbg in #42
  • Fix/demo findings by @syndbg in #43

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@syndbg syndbg released this 22 Sep 12:41
6430fe2