Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
0301ad2
update actions workflow
Kbayero May 19, 2026
b11df8a
fix(workflows): unblock PR checks on large diffs + private go modules
Kbayero May 19, 2026
b0c5b52
fix(approver): use english in sticky PR comments
Kbayero May 19, 2026
bd2c9d2
Feature/cleanup rules and filters (#2091)
JocLRojas May 21, 2026
9682d0d
fix[frontend](soar/create-rule): added fixed create/edit rule undefin…
AlexSanchez-bit May 21, 2026
81165da
feat[backed](elasticSearchService): added batch processing of request…
AlexSanchez-bit May 21, 2026
6e169dd
fix[frontend](socai): added default template for empty previous socai…
AlexSanchez-bit May 22, 2026
471839f
fix[frontend](build): added environment.ts (#2099)
AlexSanchez-bit May 22, 2026
8849f1b
fix[backend](visualizations): removed utm-geoip legacy index referenc…
AlexSanchez-bit May 22, 2026
b9d2e20
Hotfix/socai custom header (#2101)
AlexSanchez-bit May 23, 2026
bea7ab7
fix(frontend): update nginx from 1.19.5 to 1.30.1
osmontero May 25, 2026
5d3910b
Backlog/fix/socai module disabled (#2102)
AlexSanchez-bit May 26, 2026
c2fc584
Backlog/fix/tag rules (#2106)
AlexSanchez-bit May 29, 2026
007d88b
fix[frontend](alerts-view): added a loading indicator and improved fa…
AlexSanchez-bit May 29, 2026
a9d5d3e
fix(deps): patch 5 Dependabot vulnerabilities (2 critical, 1 high, 2 …
osmontero Jun 3, 2026
aaaf34a
fix(deps): upgrade golang.org/x/sys from v0.44.0 to v0.45.0
osmontero Jun 3, 2026
a21ec9d
fix[frontend](alerts-view): add a duplication avoid on alert filter f…
AlexSanchez-bit Jun 4, 2026
368721a
refactor(rules): drop "now-" prefix from within field (#2176)
JocLRojas Jun 9, 2026
9f3cb3a
fix[backend](tags): removed false positive alerts from releaseToOpen …
AlexSanchez-bit Jun 9, 2026
3d82da3
fix[installer](setup): added lock on installer final phase (#2180)
AlexSanchez-bit Jun 9, 2026
3430ab8
fix[frontend](alerts): properly handle update alerts errors (#2193)
AlexSanchez-bit Jun 12, 2026
6ed54fc
feat(rules/o365): add Inbox Forward Rule with Email Exfiltration dete…
developutm Jun 15, 2026
a18b528
feat(rules/o365): add Audit Log Purge detection rule (#2220)
developutm Jun 15, 2026
2a7c8c8
feat(rules/o365): add Admin Role/Permission Granted detection rule (#…
developutm Jun 15, 2026
7f1ee2a
feat(rules/o365): add Admin Role Assignment detection rule (#2218)
developutm Jun 15, 2026
d8e8255
refactor(rules/google): update GCP correlation rules (#2194)
JocLRojas Jun 15, 2026
6173802
feature(rules/google): add rule GCS Sensitive Data Access (#2187)
developutm Jun 15, 2026
6fe13a1
feature(rules/google): add rule GCS Bucket Deleted (#2186)
developutm Jun 15, 2026
8bd0067
Tune bruteforce correlation and drop unreliable PTH rule (#2192)
JocLRojas Jun 15, 2026
10a181d
feature(rules/google): add rule Privileged Role Granted - Owner or Ed…
developutm Jun 15, 2026
fcf9820
feature(rules/google): add rule Cloud Logging Sink Modified (#2189)
developutm Jun 15, 2026
e67fc13
feature(rules/google): add rule Firewall Open Ingress (#2182)
developutm Jun 15, 2026
03681bb
Update filters: GCP, Sophos XG, Windows (#2175)
JocLRojas Jun 15, 2026
118814c
feature(rules/google): add rule Audit Logging Configuration Changed (…
developutm Jun 15, 2026
c160fc7
Add GCP rule: IAM Policy Changed - Privilege Escalation (#2188)
developutm Jun 15, 2026
3fc6a0a
feature(rules/google): add rule Firewall Rule Deleted (#2183)
developutm Jun 15, 2026
6468c5f
feature(rules/google): add rule GCS Bucket Created (#2185)
developutm Jun 15, 2026
55d1a6a
fix(rules/google): rebalance CIA impact scores for GCP rules (#2227)
JocLRojas Jun 15, 2026
b6cad63
feat[ci](pr-review): severity-based merge gate; exclude rules/filters…
Kbayero Jun 15, 2026
26641de
Merge branch 'release/v11.2.9' of https://github.com/utmstack/UTMStac…
Kbayero Jun 15, 2026
ba43613
fix[ci](pr-review): don't gate routine go.mod/go.sum bumps as Tier 3
Kbayero Jun 16, 2026
8b51f2d
fix[backend](alert_responses): reduces schedule time to executeRespon…
AlexSanchez-bit Jun 16, 2026
80c844c
fix[backend](alert_responses): fixed powershell commands syntax error…
AlexSanchez-bit Jun 16, 2026
8badb0d
fix[backend](incident_response_audit): enabled filters on agents-with…
AlexSanchez-bit Jun 16, 2026
6678f62
fix[backend](compilance_reports): migrated compilance reports from ol…
AlexSanchez-bit Jun 16, 2026
a71113a
chore: update golang dependencies
Kbayero Jun 17, 2026
913e5e0
fix[installer]: add -a flag to docker system prune to remove unused i…
Kbayero Jun 17, 2026
9f58b4b
fix[ci]: fix changelog script failing when tag doesn't exist yet and …
Kbayero Jun 17, 2026
d290989
Merge remote-tracking branch 'origin/v11' into release/v11.2.10
Kbayero Jun 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 28 additions & 12 deletions .github/scripts/generate-changelog.sh
Original file line number Diff line number Diff line change
Expand Up @@ -52,34 +52,50 @@ command -v git >/dev/null || { echo "git is required"; exit 1; }
: "${THREATWINDS_API_KEY:?THREATWINDS_API_KEY is required}"
: "${THREATWINDS_API_SECRET:?THREATWINDS_API_SECRET is required}"

# ─── Resolve current ref (tag may not exist yet when pipeline runs) ────────────
if git rev-parse "$CURRENT_TAG" >/dev/null 2>&1; then
CURRENT_REF="$CURRENT_TAG"
else
echo "Tag $CURRENT_TAG not found in repo yet, using HEAD"
CURRENT_REF="HEAD"
fi

# ─── Resolve previous tag if not provided ─────────────────────────────────────
if [ -z "$PREVIOUS_TAG" ]; then
echo "Auto-detecting previous tag..."
ALL_TAGS=$(git tag --sort=-v:refname)
FOUND_CURRENT=false
for tag in $ALL_TAGS; do
if [ "$FOUND_CURRENT" = true ]; then
PREVIOUS_TAG="$tag"
break
fi
if [ "$tag" = "$CURRENT_TAG" ]; then
FOUND_CURRENT=true
fi
done
if [ "$CURRENT_REF" = "$CURRENT_TAG" ]; then
# Tag exists: find the tag immediately before CURRENT_TAG
FOUND_CURRENT=false
for tag in $ALL_TAGS; do
if [ "$FOUND_CURRENT" = true ]; then
PREVIOUS_TAG="$tag"
break
fi
if [ "$tag" = "$CURRENT_TAG" ]; then
FOUND_CURRENT=true
fi
done
else
# Tag doesn't exist yet: use the most recent existing tag
PREVIOUS_TAG=$(echo "$ALL_TAGS" | head -1)
[ -n "$PREVIOUS_TAG" ] && echo "Tag not yet created; using most recent existing tag: $PREVIOUS_TAG"
fi
if [ -z "$PREVIOUS_TAG" ]; then
PREVIOUS_TAG=$(git rev-list --max-parents=0 HEAD | head -1)
echo "No previous tag found, using first commit: $PREVIOUS_TAG"
fi
fi

echo "Current tag: $CURRENT_TAG"
echo "Current ref: $CURRENT_REF"
echo "Previous tag: $PREVIOUS_TAG"
echo "Model: $MODEL"
echo

# ─── Collect commits ──────────────────────────────────────────────────────────
COMMITS=$(git log "${PREVIOUS_TAG}..${CURRENT_TAG}" --pretty=format:"- %h %s (%an)" --no-merges)
COMMIT_COUNT=$(git rev-list --count "${PREVIOUS_TAG}..${CURRENT_TAG}" --no-merges)
COMMITS=$(git log "${PREVIOUS_TAG}..${CURRENT_REF}" --pretty=format:"- %h %s (%an)" --no-merges)
COMMIT_COUNT=$(git rev-list --count "${PREVIOUS_TAG}..${CURRENT_REF}" --no-merges)

if [ -z "$COMMITS" ]; then
echo "No commits found between $PREVIOUS_TAG and $CURRENT_TAG."
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/v11-deployment-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -561,7 +561,7 @@ jobs:
build_installer_release:
name: Build & Upload Installer
needs: [generate_changelog, setup_deployment]
if: ${{ needs.setup_deployment.outputs.tag != '' && needs.setup_deployment.outputs.environment == 'rc' }}
if: ${{ always() && needs.setup_deployment.result == 'success' && needs.setup_deployment.outputs.tag != '' && needs.setup_deployment.outputs.environment == 'rc' && needs.generate_changelog.result != 'cancelled' }}
uses: ./.github/workflows/installer-release.yml
with:
version: ${{ needs.setup_deployment.outputs.tag }}
Expand Down
Loading