Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
483 commits
Select commit Hold shift + click to select a range
fd483a7
fix(alert): remove debug logs from ngOnInit method in alert entity di…
mjabascal10 Oct 28, 2025
5c48cc5
feat(agent): add TLS connection option and update command generation …
mjabascal10 Oct 28, 2025
b9b555a
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
b75f5e7
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
fd36727
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
850c1e4
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
f45194a
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
3cd54c4
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
b3f8c68
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
83118a9
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
4ce6306
Update frontend/src/app/app-management/api-keys/shared/components/api…
mjabascal10 Oct 28, 2025
c6c9b59
Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKe…
mjabascal10 Oct 28, 2025
da17219
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
6760e98
Merge branch 'release/v11' into backlog/api_key
mjabascal10 Oct 28, 2025
47fea36
feat(api_keys): enhance clipboard functionality with fallback support…
mjabascal10 Oct 29, 2025
e73b24c
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
a1d08cd
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
201bbbd
fix[frontend](web_console): sanitized password parameter to admit all…
AlexSanchez-bit Oct 16, 2025
38c4bf7
feat[backend](api-keys): added api keys dto, controllers and entities
AlexSanchez-bit Oct 17, 2025
5fa8b22
feat[backend](api_keys): added api keys
AlexSanchez-bit Oct 17, 2025
86968a5
feat(api_keys): create api_keys table with user_id and add foreign ke…
mjabascal10 Oct 17, 2025
bb3a3ce
feat(api_keys): implement API key management with CRUD operations and…
mjabascal10 Oct 17, 2025
158462c
refactor(api_keys): simplify API key management by removing user ID d…
mjabascal10 Oct 17, 2025
00ea732
feat(api_keys): implement API key filtering and usage logging for enh…
mjabascal10 Oct 19, 2025
270d9f1
feat[frontend](api_key): added api key list/creation components
AlexSanchez-bit Oct 17, 2025
28551bc
refactor(api_keys): remove unused ApplicationEventService from ApiKey…
mjabascal10 Oct 20, 2025
2219a51
refactor(api_keys): update API key table schema and change ID type to…
mjabascal10 Oct 20, 2025
f3f3789
feat(api_keys): enhance API key management UI
mjabascal10 Oct 23, 2025
d1fb569
feat(api_keys): enhance API key management UI
mjabascal10 Oct 23, 2025
cb20183
feat(api_keys): implement API key filtering and usage logging for enh…
mjabascal10 Oct 19, 2025
db1771c
feat(api_keys): enhance API key management with new fields and loggin…
mjabascal10 Oct 23, 2025
089514e
feat(api_keys): enhance IP address management with validation and err…
mjabascal10 Oct 23, 2025
6891a88
feat(api_keys): add API key generation and expiration handling with u…
mjabascal10 Oct 24, 2025
e25681a
feat(api_keys): update API key modal for editing and improved deletio…
mjabascal10 Oct 24, 2025
beff945
refactor(api_keys): change API key identifier type from UUID to Long …
mjabascal10 Oct 27, 2025
90d6874
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 27, 2025
8425c2f
feat(api_keys): improve API key listing with pagination, loading stat…
mjabascal10 Oct 27, 2025
ab3d3bf
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
68a6ed6
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
37e4511
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
b59c8ad
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
fea3bc9
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
cb44de9
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
abbbc63
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
14455ad
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
3786d00
Update frontend/src/app/app-management/api-keys/shared/components/api…
mjabascal10 Oct 28, 2025
7029ca7
Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKe…
mjabascal10 Oct 28, 2025
1420ceb
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
1e43d5f
feat(api_keys): enhance clipboard functionality with fallback support…
mjabascal10 Oct 29, 2025
2de870c
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
1d34358
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
5e587c8
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
5393cc0
Merge remote-tracking branch 'origin/backlog/api_key' into backlog/ap…
mjabascal10 Oct 29, 2025
1722168
refactor(agent): remove unused TLS certificate validation and related…
yllada Oct 31, 2025
cd47f70
Update frontend/src/app/core/auth/account.service.ts
mjabascal10 Oct 31, 2025
4452b69
Merge pull request #1384 from utmstack/backlog/agent_console_login
mjabascal10 Oct 31, 2025
7d31359
Merge pull request #1382 from utmstack/backlog/timezone_settings
mjabascal10 Oct 31, 2025
164c851
feat(agent): validate TLS certificates before enabling TLS for integr…
yllada Oct 31, 2025
36ad21e
feat(agent): add TLS support for syslog command generation and update…
mjabascal10 Nov 4, 2025
13659bc
feat(agent): add TLS support for syslog command generation and update…
mjabascal10 Nov 5, 2025
28b9120
refactor(agent): remove unused TLS certificate validation and related…
yllada Oct 31, 2025
bcb7d34
fix[frontend](web_console): sanitized password parameter to admit all…
AlexSanchez-bit Oct 16, 2025
3b4dc16
Update frontend/src/app/core/auth/account.service.ts
mjabascal10 Oct 31, 2025
ce09bc7
fix[frontend](app_settings): added GMT+12 and daylight saving options…
AlexSanchez-bit Oct 16, 2025
6f17bf2
feat(agent): validate TLS certificates before enabling TLS for integr…
yllada Oct 31, 2025
c86d8de
fix[frontend](web_console): sanitized password parameter to admit all…
AlexSanchez-bit Oct 16, 2025
e35286b
feat[backend](api-keys): added api keys dto, controllers and entities
AlexSanchez-bit Oct 17, 2025
2ab5f14
feat[backend](api_keys): added api keys
AlexSanchez-bit Oct 17, 2025
4fbec89
feat(api_keys): create api_keys table with user_id and add foreign ke…
mjabascal10 Oct 17, 2025
0342cfb
feat(api_keys): implement API key management with CRUD operations and…
mjabascal10 Oct 17, 2025
3752e6d
refactor(api_keys): simplify API key management by removing user ID d…
mjabascal10 Oct 17, 2025
fbbd719
feat(api_keys): implement API key filtering and usage logging for enh…
mjabascal10 Oct 19, 2025
dade609
feat[frontend](api_key): added api key list/creation components
AlexSanchez-bit Oct 17, 2025
a1f27a2
refactor(api_keys): remove unused ApplicationEventService from ApiKey…
mjabascal10 Oct 20, 2025
0a8538f
refactor(api_keys): update API key table schema and change ID type to…
mjabascal10 Oct 20, 2025
f22f18d
feat(api_keys): enhance API key management UI
mjabascal10 Oct 23, 2025
1a9fcee
feat(api_keys): enhance API key management UI
mjabascal10 Oct 23, 2025
e22ae75
feat(api_keys): implement API key filtering and usage logging for enh…
mjabascal10 Oct 19, 2025
528cac1
feat(api_keys): enhance API key management with new fields and loggin…
mjabascal10 Oct 23, 2025
2757f2e
feat(api_keys): enhance IP address management with validation and err…
mjabascal10 Oct 23, 2025
eabbc02
feat(api_keys): add API key generation and expiration handling with u…
mjabascal10 Oct 24, 2025
910852e
feat(api_keys): update API key modal for editing and improved deletio…
mjabascal10 Oct 24, 2025
9476b78
refactor(api_keys): change API key identifier type from UUID to Long …
mjabascal10 Oct 27, 2025
6e6ed51
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 27, 2025
a1040ea
feat(api_keys): improve API key listing with pagination, loading stat…
mjabascal10 Oct 27, 2025
c0884eb
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
f37cc49
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
d6eaefb
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
09d3de3
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
306e412
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
ce46deb
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
05206e1
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
4a9bff7
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
28c7340
Update frontend/src/app/app-management/api-keys/shared/components/api…
mjabascal10 Oct 28, 2025
4803487
Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKe…
mjabascal10 Oct 28, 2025
fba61ec
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
147d702
feat(api_keys): enhance clipboard functionality with fallback support…
mjabascal10 Oct 29, 2025
01ae5d5
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
32946df
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
1da1e18
feat(api_key): enhance ApiKeyFilter with improved logging and validat…
mjabascal10 Oct 29, 2025
fbd7af4
feat[backend](api-keys): added api keys dto, controllers and entities
AlexSanchez-bit Oct 17, 2025
9146c77
feat[backend](api_keys): added api keys
AlexSanchez-bit Oct 17, 2025
7b7a279
feat(api_keys): create api_keys table with user_id and add foreign ke…
mjabascal10 Oct 17, 2025
ff1f189
feat(api_keys): implement API key management with CRUD operations and…
mjabascal10 Oct 17, 2025
026266c
feat[frontend](api_key): added api key list/creation components
AlexSanchez-bit Oct 17, 2025
ba0ba89
refactor(api_keys): remove unused ApplicationEventService from ApiKey…
mjabascal10 Oct 20, 2025
0b9b3a5
refactor(api_keys): update API key table schema and change ID type to…
mjabascal10 Oct 20, 2025
3be2b4b
feat(api_keys): enhance API key management UI
mjabascal10 Oct 23, 2025
9791323
feat(api_keys): implement API key filtering and usage logging for enh…
mjabascal10 Oct 19, 2025
f249dce
feat(api_keys): enhance API key management with new fields and loggin…
mjabascal10 Oct 23, 2025
686c9fa
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
01cce88
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
c7c284d
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
2eb0f88
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
62f49fe
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
ebd9fb2
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
5aa81b8
feat(api_keys): simplify API key listing endpoint and enhance expirat…
mjabascal10 Oct 28, 2025
735abfb
Update backend/src/main/java/com/park/utmstack/security/api_key/ApiKe…
mjabascal10 Oct 28, 2025
a3ba51a
Merge remote-tracking branch 'origin/backlog/api_key' into backlog/ap…
mjabascal10 Nov 5, 2025
21958a3
Merge pull request #1394 from utmstack/backlog/api_key
mjabascal10 Nov 5, 2025
c436034
feat: improve asset source sorting and display in assets view
mjabascal10 Nov 4, 2025
1fab595
feat: enhance loading state handling in chart and view components
mjabascal10 Nov 5, 2025
74112f3
feat: enhance alert rule modal presentation and improve alert complet…
mjabascal10 Nov 5, 2025
5424731
feat: enhance asset detail interaction and add trackBy function for p…
mjabascal10 Nov 5, 2025
2d90f0d
feat: add isEcho input to data field render for conditional rendering…
mjabascal10 Nov 5, 2025
c5ec65d
feat: add adversary field rendering to alert view detail component
mjabascal10 Nov 5, 2025
2119df8
feat: add adversary field rendering to alert view detail component
mjabascal10 Nov 5, 2025
4822ebf
feat: rename UtmLogstashFilterResource to UtmFilterResource and updat…
mjabascal10 Nov 6, 2025
156a61c
feat: enhance logstash filters component with loading state and quick…
mjabascal10 Nov 6, 2025
57462dc
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 6, 2025
6e47218
feat(agent): update TLS command generation for syslog integrations to…
mjabascal10 Nov 6, 2025
2fec418
Merge branch 'release/v11' into backlog/add-tls-connection-option-and…
mjabascal10 Nov 6, 2025
0a3826d
feat: update database schema and properties for v11 release
mjabascal10 Nov 6, 2025
140d872
feat: update database schema and properties for v11 release
mjabascal10 Nov 6, 2025
c1a5cf3
feat: refactor constants for log event data and update Elasticsearch …
mjabascal10 Nov 7, 2025
53479d9
feat: refactor event handling to use Event type and update related co…
mjabascal10 Nov 7, 2025
7b84898
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 7, 2025
04ae6c9
feat: enhance agent console UI and improve password input handling
mjabascal10 Nov 7, 2025
4624a66
feat: refactor layout and styling for active directory components
mjabascal10 Nov 7, 2025
a384a30
feat: enhance add rule component with after events section and modal …
mjabascal10 Nov 7, 2025
2dff321
feat: improve layout and styling for active directory event component
mjabascal10 Nov 7, 2025
106c8e7
feat: add changelogs to hide compliance menu items and update filters…
mjabascal10 Nov 7, 2025
3c4d845
feat: filter compliance standards by ID in the HTTP response
mjabascal10 Nov 7, 2025
b516f51
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 7, 2025
948149e
feat: implement search functionality for fields in condition item com…
mjabascal10 Nov 7, 2025
13bee42
feat: remove duplicate alert badge fields and clean up HTML structure
mjabascal10 Nov 10, 2025
2ccdb4f
feat: remove loading spinner from visualization preview tooltip
mjabascal10 Nov 10, 2025
e1865cf
feat: update aggregation field mappings in filters visualization
mjabascal10 Nov 10, 2025
9009243
feat: comment out documentation alert in logstash filter create compo…
mjabascal10 Nov 10, 2025
6291cb6
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 10, 2025
8ea8ea2
feat: add changelog to disable correlation rules with regex
mjabascal10 Nov 10, 2025
6f71afb
feat: update placement attribute to support multiple positions in ale…
mjabascal10 Nov 10, 2025
3ad1001
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 10, 2025
0cf7931
feat: condition builder visibility based on fields availability
mjabascal10 Nov 10, 2025
15a790e
feat: add system owner field to alert response rules and update relat…
mjabascal10 Nov 10, 2025
ab3f986
feat: add systemOwner filter to playbooks component
mjabascal10 Nov 10, 2025
bccd1c6
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 10, 2025
d856b09
feat: add system owner field to alert response rules and update relat…
mjabascal10 Nov 10, 2025
9ef75b3
feat: enhance playbook component with improved layout and functionality
mjabascal10 Nov 10, 2025
587f63d
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 10, 2025
00688f2
feat: enhance playbook component with improved layout and functionality
mjabascal10 Nov 10, 2025
f3f2ab5
feat: enhance playbook component with improved layout and functionality
mjabascal10 Nov 11, 2025
077ada5
feat: add system owner field to alert response rules and update relat…
mjabascal10 Nov 11, 2025
5a5b744
feat: enhance playbook component with improved layout and functionality
mjabascal10 Nov 11, 2025
2da208d
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 11, 2025
d538fa3
Merge remote-tracking branch 'origin/release/v11' into backlog/add-tl…
mjabascal10 Nov 11, 2025
c19bc0f
Merge pull request #1404 from utmstack/backlog/add-tls-connection-opt…
mjabascal10 Nov 11, 2025
17b3011
feat: update agent handling strategy description for clarity and context
mjabascal10 Nov 11, 2025
4ecaac3
feat: update agent handling strategy description for clarity and context
mjabascal10 Nov 11, 2025
42e623e
fix: change PostgreSQL logger level from WARN to ERROR
mjabascal10 Nov 11, 2025
3e3b36c
feat: update log handling and display logic for improved clarity and …
mjabascal10 Nov 11, 2025
53c15f7
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 11, 2025
ece927b
feat: update log filter selection to improve user experience
mjabascal10 Nov 11, 2025
f80bfcb
fix: handle potential null value in audits length check
mjabascal10 Nov 12, 2025
6171530
fix: update filterBySelect method to accept a generic field type
mjabascal10 Nov 12, 2025
0e5321d
feat: update workflows and send to new cm in gcp
Kbayero Nov 12, 2025
0e6f153
Merge branch 'release/v11' of https://github.com/utmstack/UTMStack in…
Kbayero Nov 12, 2025
d2ba49e
feat: include script to compile installer
Kbayero Nov 12, 2025
56d45f1
fix: resolve workflow errors and improve cross-platform compatibility
Kbayero Nov 12, 2025
5cc2ab7
fix problem with agent SIGN KEY
Kbayero Nov 12, 2025
08b3615
feat: implement service to automatically assign asset groups to alerts
mjabascal10 Nov 12, 2025
98f3c01
feat: add asset group fields to alert constants and configuration
mjabascal10 Nov 12, 2025
ef7f47d
Merge pull request #1405 from utmstack/backlog/automatically-assign-a…
mjabascal10 Nov 12, 2025
b679ec6
feat(agent/syslog): add RFC 5424 octet counting framing support and i…
JocLRojas Nov 12, 2025
b5d9568
fix: always update pending versions
Kbayero Nov 13, 2025
e5272f0
Merge branch 'release/v11' of https://github.com/utmstack/UTMStack in…
Kbayero Nov 13, 2025
702bde0
improve v11 changelog
Kbayero Nov 13, 2025
e51b75d
feat: enhance playbook UI and loading behavior, add new alert fields
mjabascal10 Nov 13, 2025
e3f6673
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 13, 2025
4821977
feat: add CrowdStrike plugin core implementation
JocLRojas Nov 17, 2025
df67d52
feat: add gRPC configuration management for CrowdStrike
JocLRojas Nov 17, 2025
ffb080c
refactor: update version info handling and clean up community module …
mjabascal10 Nov 17, 2025
2e02597
Merge remote-tracking branch 'origin/release/v11' into release/v11
mjabascal10 Nov 17, 2025
4fa4cea
refactor: remove deprecated standalone plugin architecture
JocLRojas Nov 19, 2025
156ef11
feat: enhance timezone handling by dynamically generating timezone list
mjabascal10 Nov 20, 2025
3a82d52
feat: enhance timezone handling by dynamically generating timezone list
mjabascal10 Nov 20, 2025
56f422e
fix[bitdefender-plugin]: make StartServer blocking and remove retry loop
Kbayero Nov 21, 2025
22b4625
update macos guide
Kbayero Nov 21, 2025
f99558b
fix: adjust TFA expiration time to use configurable constant
mjabascal10 Nov 21, 2025
484b9c1
feat: conditionally render module card based on module name
mjabascal10 Nov 21, 2025
2b4b256
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 21, 2025
038d5a7
feat: add application version info retrieval functionality
mjabascal10 Nov 24, 2025
555a485
feat: add application version info retrieval functionality
mjabascal10 Nov 24, 2025
f1a44e5
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 24, 2025
64bb9e6
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 24, 2025
152d247
feat: add application version info retrieval functionality
mjabascal10 Nov 25, 2025
556fcf2
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 25, 2025
1008d39
fix: remove conditional rendering for AS_400 module and filter out in…
mjabascal10 Nov 25, 2025
f98cb0b
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 25, 2025
42a19ad
feat(o365-plugin): add multi-cloud environment support for Microsoft …
JocLRojas Nov 25, 2025
745b463
feat: add exception handling for MethodArgumentNotValidException and …
mjabascal10 Nov 25, 2025
8437b65
fix(o365-plugin): Remove invalid field check and add multi-cloud support
JocLRojas Nov 25, 2025
9f85c83
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 25, 2025
49c7efd
feat(o365-plugin): add Office 365 cloud environment configuration opt…
mjabascal10 Nov 25, 2025
3ab94f5
Update backend/src/main/resources/config/liquibase/changelog/20251125…
mjabascal10 Nov 25, 2025
5a26b52
Update backend/src/main/java/com/park/utmstack/domain/application_mod…
mjabascal10 Nov 25, 2025
c33cd57
Update backend/src/main/java/com/park/utmstack/domain/application_mod…
mjabascal10 Nov 25, 2025
40d39f6
Merge pull request #1432 from utmstack/backlog/office-365-cloud-envir…
mjabascal10 Nov 25, 2025
8ef1d24
fix: update file permissions from 777 to 755 for security improvements
osmontero Nov 26, 2025
320a757
Merge branch 'backlog/update-agent-permissions-to-755' into release/v…
osmontero Nov 26, 2025
8e9d7fa
feat(azure plugin): enhance Azure cloud detection and connection vali…
yllada Nov 26, 2025
782793e
feat(o365_validation-modules-config): add Management API validation a…
JocLRojas Nov 26, 2025
632401f
Merge branch 'release/v11.0.2' of https://github.com/utmstack/UTMStac…
JocLRojas Nov 26, 2025
be82425
feat(header): integrate version info display and update logic
mjabascal10 Nov 26, 2025
26e1ea0
refactor: rename UtmStackConnectionService to ModuleConfigurationVali…
mjabascal10 Nov 26, 2025
f67de3f
feat(exception-handling): add ApiException class and global exception…
mjabascal10 Nov 26, 2025
ace938a
feat(int-generic-group-config): improve searchable option based on co…
mjabascal10 Nov 27, 2025
8582e3e
feat(int-generic-group-config): improve searchable option based on co…
mjabascal10 Nov 27, 2025
8c4317a
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 27, 2025
17f2638
fix(modules-config): disable CROWDSTRIKE module not implemented in ba…
JocLRojas Nov 27, 2025
483f9a0
refactor(plugins): standardize logging with catcher
JocLRojas Nov 27, 2025
e0c5e70
style(dashboard): adjust padding and layout for improved UI consistency
mjabascal10 Nov 28, 2025
0379495
fix: optimize cloud detection logic in connection string parsing
yllada Nov 28, 2025
e70d0ee
feat(elastic-filter-time): enhance time filter functionality and upda…
mjabascal10 Nov 28, 2025
c971157
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Nov 28, 2025
bbba7fe
feat(azure): extract individual records from Azure Event Hub logs
yllada Nov 28, 2025
cc8eb69
fix(modules-config): remove gin default logger middleware to eliminat…
JocLRojas Nov 28, 2025
16ad2e1
refactor(azure-filter): deleted 'Expand log.records' data to improve …
JocLRojas Nov 28, 2025
5071a01
refactor(gcp-filter): deleted 'Expand jsonPayload.structuredRdata' da…
JocLRojas Nov 28, 2025
92cd347
update the version of the Azure and GCP filters
JocLRojas Nov 28, 2025
da3bc60
fix(totp): prevent potential error by checking subscription before un…
mjabascal10 Nov 29, 2025
15e31cd
style(totp): comment out unused email resend container for cleaner code
mjabascal10 Dec 1, 2025
2f43013
style(utm-code-view): add word-break class to code element for better…
mjabascal10 Dec 1, 2025
fdae307
feat(filters): add Azure and GCP filters with updated field mappings …
mjabascal10 Dec 1, 2025
3a9ade8
Merge remote-tracking branch 'origin/v11' into release/v11.0.2
mjabascal10 Dec 1, 2025
d2e3197
Merge remote-tracking branch 'origin/release/v11.0.2' into release/v1…
mjabascal10 Dec 1, 2025
968c9c5
refactor(ModuleSocAi): remove unused getName method for cleaner code
mjabascal10 Dec 1, 2025
dfc5ac8
fix(deployment-pipeline): update tag pattern for v10 to support seman…
mjabascal10 Dec 1, 2025
bb2411a
chore(changelog): update release notes for UTMStack v11.0.3 with fixe…
mjabascal10 Dec 1, 2025
cbeb14c
chore(changelog): update release notes for UTMStack v11.0.3 with fixe…
mjabascal10 Dec 1, 2025
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
1 change: 1 addition & 0 deletions .github/workflows/v11-deployment-pipeline.yml
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,7 @@ jobs:
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_linux.zip" -o ./dependencies/agent/utmstack_agent_dependencies_linux.zip
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_windows.zip" -o ./dependencies/agent/utmstack_agent_dependencies_windows.zip
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack_agent_dependencies_windows_arm64.zip" -o ./dependencies/agent/utmstack_agent_dependencies_windows_arm64.zip
curl -sSL "https://storage.googleapis.com/utmstack-updates/dependencies/agent/utmstack-macos-agent-v10.pkg" -o ./dependencies/agent/utmstack-macos-agent.pkg

cp "${{ github.workspace }}/agent/utmstack_agent_service" ./dependencies/agent/
cp "${{ github.workspace }}/agent/utmstack_agent_service.exe" ./dependencies/agent/
Expand Down
14 changes: 11 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,12 @@
# UTMStack 11.0.1 Release Notes
# UTMStack 11.0.3

- Enriched the TIMEZONES constant to include additional IANA zones for broader coverage.
- Support for additional syslog framing methods (RFC 5424 octet counting).
This is the release notes for **UTMStack v11.0.3**, a minor update focused on bug fixes and performance improvements.

## Fixed Issues

- Fixed a bug in the SOC-AI integration that caused occasional failures when generating insights.
- Fixed a bug when trying to enroll and authenticate by TFA.

## Enhancements

- SIEM configuration now adapts to the Sovereign Cloud Model implemented by the provider in each region for Azure and Microsoft 365 integrations.
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

Expand Down Expand Up @@ -60,6 +61,16 @@ public ResponseEntity<?> handleConflict(Exception e, HttpServletRequest request)
return ResponseUtil.buildErrorResponse(HttpStatus.CONFLICT, e.getMessage());
}

@ExceptionHandler(MethodArgumentNotValidException.class)
public ResponseEntity<?> handleMethodArgumentNotValid(MethodArgumentNotValidException e, HttpServletRequest request) {
return ResponseUtil.buildBadRequestResponse(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());
}

@ExceptionHandler(ApiException.class)
public ResponseEntity<?> handleApiException(ApiException ex) {
return ResponseUtil.buildErrorResponse(ex.getStatus(), ex.getMessage());
}

@ExceptionHandler(Exception.class)
public ResponseEntity<?> handleGenericException(Exception e, HttpServletRequest request) {
return ResponseUtil.buildInternalServerErrorResponse(e.getMessage());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,8 @@
package com.park.utmstack.aop.logging;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.annotation.*;

@Inherited
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface NoLogException {}
Expand Down
3 changes: 3 additions & 0 deletions backend/src/main/java/com/park/utmstack/config/Constants.java
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,9 @@ public final class Constants {
public static final String API_KEY_HEADER = "Utm-Api-Key";
public static final List<String> API_ENDPOINT_IGNORE = Collections.emptyList();

// Application version file
public static final String APP_VERSION_FILE = "/updates/version.json";

private Constants() {
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,8 @@ public UtmModuleGroupConfiguration(ModuleConfigurationKey key) {
this.confDataType = key.getConfDataType();
this.confRequired = key.getConfRequired();
this.confOptions = key.getConfOptions();
this.confVisibility = key.getConfOptions();
this.confValue = key.getConfValue();
this.confVisibility = key.getConfVisibility();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,22 @@ public List<ModuleConfigurationKey> getConfigurationKeys(Long groupId) throws Ex
.withConfDataType("text")
.withConfRequired(true)
.build());

keys.add(ModuleConfigurationKey.builder()
.withGroupId(groupId)
.withConfKey("office365_cloud_environment")
.withConfName("Cloud Environment")
.withConfDescription("Select the Microsoft cloud environment for Office 365 integration.")
.withConfDataType("select")
.withConfRequired(false)
.withConfValue("Commercial")
.withConfOptions("[" +
"{ \"value\": \"Commercial\", \"label\": \"Commercial - Azure commercial global (Default)\" }," +
"{ \"value\": \"GCC\", \"label\": \"GCC - US Government Community Cloud\" }," +
"{ \"value\": \"GCCHigh\", \"label\": \"GCC High - US Government Community Cloud High (DoD IL4)\" }," +
"{ \"value\": \"DoD\", \"label\": \"DoD - US Department of Defense (DoD IL5)\" }" +
"]")
.build());
return keys;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
import com.park.utmstack.domain.application_modules.types.ModuleConfigurationKey;
import com.park.utmstack.domain.application_modules.types.ModuleRequirement;
import com.park.utmstack.domain.application_modules.validators.UtmModuleConfigValidator;
import com.park.utmstack.repository.UtmModuleGroupConfigurationRepository;
import com.park.utmstack.service.application_modules.UtmModuleService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Component;
Expand All @@ -23,6 +24,7 @@ public class ModuleSocAi implements IModule {

private final UtmModuleService moduleService;
private final UtmModuleConfigValidator utmStackConfigValidator;
private final UtmModuleGroupConfigurationRepository moduleGroupConfigurationRepository;

@Override
public UtmModule getDetails(Long serverId) throws Exception {
Expand Down Expand Up @@ -102,8 +104,49 @@ public List<ModuleConfigurationKey> getConfigurationKeys(Long groupId) throws Ex
return keys;
}

public boolean validateConfiguration(UtmModule module, List<UtmModuleGroupConfiguration> configuration) throws Exception {
return utmStackConfigValidator.validate(module, configuration);
public boolean validateConfiguration(UtmModule module, List<UtmModuleGroupConfiguration> configuration) {

if(configuration == null || configuration.isEmpty()) {
throw new IllegalArgumentException("Configurations cannot be null or empty");
}

Long groupId = configuration.get(0).getGroupId();

List<UtmModuleGroupConfiguration> dbConfigs = moduleGroupConfigurationRepository
.findAllByGroupId(groupId);

UtmModuleGroupConfiguration providerConfig = configuration.stream()
.filter(c -> "utmstack.socai.provider".equals(c.getConfKey()))
.findFirst()
.orElseGet(() -> dbConfigs.stream()
.filter(c -> "utmstack.socai.provider".equals(c.getConfKey()))
.findFirst()
.orElse(null));

List<UtmModuleGroupConfiguration> configs = dbConfigs.stream()
.filter(c -> !"utmstack.socai.provider".equals(c.getConfKey()))
.toList();

List<UtmModuleGroupConfiguration> filteredConfigs = providerConfig != null && "custom".equals(providerConfig.getConfValue())
? filterCustomConfigs(configs)
: filterStandardConfigs(configs);

filteredConfigs.add(providerConfig);

return utmStackConfigValidator.validate(module, configuration, filteredConfigs);
}

private List<UtmModuleGroupConfiguration> filterCustomConfigs(List<UtmModuleGroupConfiguration> configs) {
return configs.stream()
.filter(config -> !config.getConfKey().equals("utmstack.socai.model"))
.collect(Collectors.toList());
}

private List<UtmModuleGroupConfiguration> filterStandardConfigs(List<UtmModuleGroupConfiguration> configs) {
return configs.stream()
.filter(config -> !config.getConfKey().equals("utmstack.socai.custom.model") &&
!config.getConfKey().equals("utmstack.socai.custom.url"))
.collect(Collectors.toList());
}

@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -1,74 +1,24 @@
package com.park.utmstack.domain.application_modules.types;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class ModuleConfigurationKey {
private Long groupId;
private String confKey;
private String confName;
private String confValue;
private String confDescription;
private String confDataType;
private String confOptions;

private String confVisibility;
private Boolean confRequired;

private ModuleConfigurationKey() {
}

public Long getGroupId() {
return groupId;
}

public void setGroupId(Long groupId) {
this.groupId = groupId;
}

public String getConfKey() {
return confKey;
}

public void setConfKey(String confKey) {
this.confKey = confKey;
}

public String getConfName() {
return confName;
}

public void setConfName(String confName) {
this.confName = confName;
}

public String getConfDescription() {
return confDescription;
}

public void setConfDescription(String confDescription) {
this.confDescription = confDescription;
}

public String getConfDataType() {
return confDataType;
}

public void setConfDataType(String confDataType) {
this.confDataType = confDataType;
}

public Boolean getConfRequired() {
return confRequired;
}

public void setConfRequired(Boolean confRequired) {
this.confRequired = confRequired;
}

public String getConfOptions() {
return confOptions;
}

public void setConfOptions(String confOptions) {
this.confOptions = confOptions;
}

public static Builder builder() {
return new Builder();
}
Expand All @@ -77,11 +27,11 @@ public static class Builder {
private Long groupId;
private String confKey;
private String confName;
private String confValue;
private String confDescription;
private String confDataType;
private Boolean confRequired;
private Boolean confVisible = true;

private String confVisibility;
private String confOptions;

public Builder withGroupId(Long groupId) {
Expand Down Expand Up @@ -119,6 +69,16 @@ public Builder withConfOptions(String confOptions) {
return this;
}

public Builder withConfValue(String confValue) {
this.confValue = confValue;
return this;
}

public Builder withConfVisibility(String confVisibility) {
this.confVisibility = confVisibility;
return this;
}

public ModuleConfigurationKey build() {
ModuleConfigurationKey key = new ModuleConfigurationKey();
key.setGroupId(groupId);
Expand All @@ -128,6 +88,8 @@ public ModuleConfigurationKey build() {
key.setConfDataType(confDataType);
key.setConfRequired(confRequired);
key.setConfOptions(confOptions);
key.setConfValue(confValue);
key.setConfVisibility(confVisibility);
return key;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,49 @@
import com.park.utmstack.domain.application_modules.UtmModule;
import com.park.utmstack.domain.application_modules.UtmModuleGroupConfiguration;
import com.park.utmstack.repository.UtmModuleGroupConfigurationRepository;
import com.park.utmstack.service.application_modules.connectors.UtmStackConnectionService;
import com.park.utmstack.service.application_modules.connectors.ModuleConfigurationValidationService;
import com.park.utmstack.service.dto.application_modules.UtmModuleGroupConfDTO;
import com.park.utmstack.service.dto.application_modules.UtmModuleGroupConfWrapperDTO;
import com.park.utmstack.util.CipherUtil;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
public class UtmModuleConfigValidator {

private final UtmModuleGroupConfigurationRepository moduleGroupConfigurationRepository;
private final UtmStackConnectionService utmStackConnectionService;
private final ModuleConfigurationValidationService utmStackConnectionService;

public boolean validate(UtmModule module, List<UtmModuleGroupConfiguration> keys) throws Exception {
public boolean validate(UtmModule module, List<UtmModuleGroupConfiguration> keys) {
if (keys.isEmpty()) return false;

List<UtmModuleGroupConfiguration> dbConfigs = moduleGroupConfigurationRepository
.findAllByGroupId(keys.get(0).getGroupId());

return validate(module, keys, dbConfigs);
}

public boolean validate(UtmModule module, List<UtmModuleGroupConfiguration> keys, List<UtmModuleGroupConfiguration> dbConfigs) {
if (keys.isEmpty()) return false;

List<UtmModuleGroupConfDTO> configDTOs = dbConfigs.stream()
.map(dbConf -> {
UtmModuleGroupConfiguration override = findInKeys(keys, dbConf.getConfKey());
UtmModuleGroupConfiguration source = override != null ? override : dbConf;

return new UtmModuleGroupConfDTO(
source.getConfKey(),
decryptIfNeeded(source.getConfDataType(), source.getConfValue())
override != null ? source.getConfValue() : decryptIfNeeded(source.getConfDataType(), source.getConfValue())
);
})
.toList();

UtmModuleGroupConfWrapperDTO body = new UtmModuleGroupConfWrapperDTO(configDTOs);

return utmStackConnectionService.testConnection(module.getModuleName().name(), body);
return utmStackConnectionService.validateModuleConfiguration(module.getModuleName().name(), body);
}

private UtmModuleGroupConfiguration findInKeys(List<UtmModuleGroupConfiguration> keys, String confKey) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package com.park.utmstack.service.app_info;

import com.fasterxml.jackson.databind.ObjectMapper;
import com.park.utmstack.service.dto.app_info.AppInfoDto;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

import java.io.File;
import java.io.IOException;

import static com.park.utmstack.config.Constants.APP_VERSION_FILE;

@Service
@Slf4j
public class AppInfoService {

private static final String CLASSNAME = "AppInfoService";

public AppInfoDto loadVersionInfo() throws Exception {
final String ctx = "loadVersionInfo";
try {
ObjectMapper mapper = new ObjectMapper();
return mapper.readValue(new File(APP_VERSION_FILE), AppInfoDto.class);
} catch (IOException e) {
log.error("{}: An error occurred while reading the version file: {}", CLASSNAME + "." + ctx, e.getMessage(), e);
throw new RuntimeException("An error occurred while reading the version file");
}

}
}

Loading