Skip to content

Releases: flanksource/clicky

v1.21.8

01 May 08:32
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.8 (2026-05-01)

⚠ BREAKING CHANGES

  • Entity type signature changed from Entity[T, ListOpts] to Entity[T, ListOpts, R]. Action and BulkAction are now factory functions returning interface types; update action definitions to use Action(), ActionWithFlags(), BulkAction(), BulkFilterAction(), or BulkActionWithFilter().

  • chore(gitignore): ignore entity webapp dist directory

Add examples/enitity/webapp/dist/ to gitignore to prevent build artifacts from being tracked in version control.

  • feat(entity): Add explicit HTTP method override for entity operations

Add optional Method field to EntityOperation and ActionInfo to allow explicit HTTP method specification for generated RPC/OpenAPI routes. This enables actions to override the default inferred HTTP method (e.g., using GET for a records action instead of the inferred POST).

The Method field is propagated through the command annotation system and checked during HTTP method inference in the RPC converter, allowing fine-grained control over operation semantics.

Includes test coverage for entity actions with explicit GET method using nested entity paths.

  • feat(task): Add stderr gating to prevent corruption during interactive render

Introduce IsInteractiveRenderActive() to check if the task renderer owns the TTY, and GatedStderr() writer that silently drops writes when interactive rendering is active. This allows callers that emit to stderr (e.g., loggers, debug prints) to avoid corrupting the renderer's in-place frame without requiring explicit coordination.

The gating is stateless and rechecks ownership per write, enabling writers captured before rendering starts to still gate correctly when the renderer later acquires the TTY.

  • feat(api): add stack trace parsing and rendering with source resolution

Introduce comprehensive stack trace support with language-agnostic parsing, styled rendering, and extensible source resolution. Adds StackTrace, StackFrame types and ParseJavaStackTrace parser to api package, with public convenience wrappers in clicky root. Includes support for frame filtering, context lines, and max frame truncation.

Also adds MultiFilter type for comma-separated flag values with include/exclude semantics, and fixes field value assignment to support type conversion in flags package.

Updates cache debug output to use task.GatedStderr() instead of os.Stderr to prevent log lines from breaking interactive renderer frame accounting. Fixes recursive struct handling in OpenAPI schema generation by tracking visited types.

Refs: stack trace rendering, source context, Java exception parsing

  • docs(api): replace example package names with generic examples

Update documentation and test examples to use generic package names (com.example.admin) instead of specific internal package names (com.adminserver). This makes the codebase more suitable for public documentation and examples without exposing internal naming conventions.

✨ Features

  • add entity response types, task stderr gating, and stack trace support (#101) (0a2d157)

v1.21.7

30 Apr 09:52
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.7 (2026-04-30)

✨ Features

v1.21.6

27 Apr 08:13
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.6 (2026-04-27)

⚠ BREAKING CHANGES

  • formatters: FormatWithOptions now delegates to FormatWithContext internally; custom FormatManager implementations should override FormatWithContext instead.
  • api,ui,example: stackWindowOpts now uses From and To time.Time fields instead of UpdatedSince and Window duration fields. Content-Type header for clicky-json format changed from application/clicky+json to application/json+clicky.

Refs: entity demo tests, example app routing, API response handling

  • formatters: The Content-Type header for clicky JSON responses is now application/json+clicky instead of application/clicky+json. Clients should update their expectations, though the legacy format is still accepted in Accept headers.

✨ Features

  • api,rpc,entity: Add Link types and entity operation annotations for OpenAPI (3bf7d81)
  • api,ui,example: add time range filtering and entity detail page navigation (0b78123)
  • api: add LabelBadge type for two-part pill badges (8874efb)
  • entity-example: add link and linkcommand examples page with deep-linking support (d6d89b6)
  • entity: Add filter lookup support for dynamic filter metadata and completions (168e9b2)
  • formatters: add format callbacks and link/command support (b19923a)
  • formatters: standardize clicky JSON content type to application/json+clicky (a899d50)
  • prompt: Add interactive prompt APIs with select, multi-select, and text input (ad6a55d)
  • task,examples: Add interactive prompt support and task terminal ownership management (5218f72)
  • task,lint,log: add output capture and log serialization for clean task rendering (6dc5e67)
  • task: improve task rendering with priority-based ordering and collapsing (aaa5043)

🐛 Bug Fixes

  • address PR #99 test failures and CodeRabbit review (db4f748)

🔧 Maintenance

  • examples: remove legacy example files and update dependencies (190395f)

v1.21.5

21 Apr 17:24
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.5 (2026-04-21)

✨ Features

  • exec: add atomic process tree termination with WithProcessGroup and KillTree (0537211)
  • formatters,entity,rpc: add clicky-json format and typed flags support for entities (e541744)

🐛 Bug Fixes

  • cobra_command: track args field separately from flag lookup to support dual flag+args (bdc4049)

v1.21.4

14 Apr 15:41
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.4 (2026-04-14)

🐛 Bug Fixes

  • api,text: Fix language normalization and style preservation in code blocks Improve code block rendering and text styling: (#97) (4204ea9)

v1.21.3

13 Apr 11:17
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.3 (2026-04-13)

🐛 Bug Fixes

  • ci: use semantic-release-action so step outputs are populated (ed488d3)

v1.21.2

13 Apr 09:32
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

1.21.2 (2026-04-13)

♻️ Code Refactoring

  • api: simplify html rendering with fmt.fprintf and static html provider (f89e0ef)

✨ Features

  • api: add admin entity subcommands and entity id wrapping (1cb238c)
  • api: add entity parent nesting and command aliases support (664876f)
  • ci: upgrade go to 1.26 and add task-ui frontend builds (fb0818d)
  • flags: add support for column selectors in CSV and Excel files (94692d4)
  • format: support multiple output sinks with format=file syntax (97b69e9)
  • formatters: add html-react formatter with embedded react component (75373a6)
  • lint: add clickylint static analyzer for api.Text usage patterns (1fa3ab2)
  • mcp: add install command and improve stdio handling (c39ccce)
  • ui: add task progress web ui with sse streaming and json api (29720c1)

🐛 Bug Fixes

  • address PR #94 review feedback and lint failures (3865926)
  • restore lint testdata stub dropped during rebase (644b7df)
  • api: prevent panic when all table columns are filtered out (5eea6b5)
  • ci: add gitignore negations for task-ui and golangci config (ed1a06f)
  • ci: trigger release directly on push to main (704a544)
  • rpc: improve command executor robustness and path sanitization (e9b776a)

v1.21.1

26 Mar 22:41

Choose a tag to compare

1.21.1 (2026-03-26)

⚠ BREAKING CHANGES

  • api: add custom actions and bulk actions to entities

✨ Features

  • api: add custom actions and bulk actions to entities (6f06836)
  • rpc: add structured data support to rpc operations via direct function invocation (109c950)

🔧 Maintenance

  • bump version (879e50c)
  • build: update release workflow and adjust versioning strategy (c977f7e)
  • release: 2.1.0 [skip ci] (eb59755)

v1.21.0

26 Mar 22:27

Choose a tag to compare

What's Changed

  • refactor(rpc)!: extract route registration into separate method by @moshloop in #91

Full Changelog: v1.20.0...v1.21.0

v1.20.0

26 Mar 22:05

Choose a tag to compare

1.20.0 (2026-03-26)

✨ Features

  • collapse completed tasks when they exceed terminal height (4f9d07a)
  • tailwind: add headtail truncation mode for showing first and last n lines (7bde52f)
  • tailwind: support terminal-relative dimensions in arbitrary classes (cf65008)

🐛 Bug Fixes

  • html rendering of list of tables (d0267d6)
  • api: resolve no-color flag from environment variables (027bdec)

🔧 Maintenance