You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Dynamic source declarations no longer live inside pipeline files. A pipeline that still declares an inline `sources:` block is now rejected with a hard parse error that points at `rsigma rule migrate-sources`; source declarations come exclusively from standalone `--source` files, and a pipeline only references them with `${source.<id>}`. This completes the deprecation cycle started in v0.12.0 (#135, visible-deprecated) and continued in v0.13.0 (#136, hidden from docs).
10
+
11
+
-**Library API.**`rsigma_eval::Pipeline` drops its `sources` field; `Pipeline::is_dynamic()` is now driven purely by `${source.*}` references, and `validate_source_refs` no longer takes a pipeline-local declaration set. `parse_sources` is now exported for tooling that reads a raw `sources:` block. The runtime `RuntimeEngine` gains `set_external_sources`, resolving and expanding references against the external declarations (carried across hot-reload), and `expand_includes` takes the external sources for its remote-include check.
12
+
-**Reference detection fix.** List-valued pipeline `vars` (the common `value_placeholders` shape, e.g. `malicious_commands: ["${source.cmd_list}"]`) are now correctly recognized as dynamic source references; previously only scalar var values were scanned, which the removed inline `sources:` block had masked.
13
+
-**`rule migrate-sources`** reads the inline `sources:` block directly (rather than through the now-rejecting pipeline parser) so it keeps working as the migration path.
14
+
-**Docs and tests** move to the external-only model throughout; the runtime `pipeline_deprecation` module and its stderr warning are gone.
15
+
7
16
### Removed the deprecated flat CLI aliases (#292)
8
17
9
18
The twelve flat top-level subcommands (`eval`, `daemon`, `parse`, `validate`, `lint`, `fields`, `condition`, `stdin`, `convert`, `list-targets`, `list-formats`, `resolve`) are removed. They shipped as visible-deprecated forwarders in v0.12.0 (#124), were hidden from `rsigma --help` in v0.13.0 (#125), and reach end-of-life here. Invoking a removed alias now fails with clap's `unrecognized subcommand` error and lists the available command groups. Use the noun-led groups instead: `engine eval`, `engine daemon`, `rule parse`, `rule validate`, `rule lint`, `rule fields`, `rule condition`, `rule stdin`, `backend convert`, `backend targets`, `backend formats`, and `pipeline resolve`. The per-alias forwarding dispatch and the stderr deprecation warning are gone; the group enums remain the single source of truth for every argument.
### `rule migrate-sources`: Extract pipeline sources into standalone files
1043
1043
1044
-
Extract pipeline-embedded `sources:` blocks into standalone source files. Pipeline-embedded sources are deprecated; this tool automates the migration to the `--source` flag.
1044
+
Extract pipeline-embedded `sources:` blocks into standalone source files. Pipeline-embedded sources were removed in v1.0; this tool automates the migration to the `--source` flag for any pipeline that still declares them.
External source files decouple source configuration from pipeline logic, so pipelines stay reusable across environments. Source IDs must be unique across every `--source` file. The flag is repeatable, so multiple files can be combined (each with its own per-team or per-data-source ownership).
1199
1199
1200
-
> **Deprecated.** Declaring `sources:` inline in a pipeline file is deprecated and will be removed in v1.0 (tracked in [#137](https://github.com/timescale/rsigma/issues/137)). The parser still accepts it but prints a `warning:` line on stderr at every load. Migrate with `rsigma rule migrate-sources -p <dir-or-file> -o sources.yml` and load the result via `--source sources.yml`.
1200
+
> **Removed in v1.0.** Declaring `sources:` inline in a pipeline file is no longer accepted (tracked in [#137](https://github.com/timescale/rsigma/issues/137)); the parser rejects such a pipeline with a hard error pointing at the migration tool. Migrate with `rsigma rule migrate-sources -p <dir-or-file> -o sources.yml` and load the result via `--source sources.yml`.
0 commit comments