How is your experience with the OutSystems Community?
Changelog Generator

Changelog Generator (ODC)

Stable version 1.0.10 (Compatible with ODC)
Uploaded on 25 Aug by Daniel Calado
Changelog Generator

Changelog Generator (ODC)

Details
Detailed Description

Changelog Generator is an OutSystems Developer Cloud (ODC) web app that helps development teams track and communicate changes between asset revisions. By connecting to your tenant's Asset Repository API, it fetches available assets and their revision history, compares any two revisions, and generates a human-readable changelog automatically.

Release notes 


### Fixed: three defects around built-in Role/Entity action refs, plus a bare "content changed" and a redundant CSS line-count bullet

Four independent `omlcore` fixes, all from a single investigation/implementation pass.

1. **Role built-in action calls rendered as `?()`.** `Resolve.EntityActionVerbs` covered the

five built-in Entity CRUD verbs but none of the four built-in Role verbs

(`RoleActions.CheckRole`, `CheckRoleClientSide`, `GrantRole`, `RevokeRole`), so a Call node

referencing one of those synthetic actions (e.g. "Check Role (Client-Side)") fell through

`Ref()`'s lookup to the bare `"?"` placeholder and rendered as `?()`. Fixed by adding all

four Role verbs to the existing dictionary — same mechanism as the Entity verbs, no

structural change. (`omlcore/Resolve.cs`)

2. **Entity/Role owner misattribution for elements nested in a built-in action.** An element

nested inside an entity's built-in Create/CreateOrUpdate/Update/Delete action (e.g. a

`GenericInputParameter`'s `Source`/`SourceList`) misattributed its owner to the entity

itself rather than to the action, and `EntityActions.CreateOrUpdateAllEntity` had no verb

entry at all so that specific action's elements resolved even less correctly. Reported on

`Inspection_CW`'s `UserPasswordReset` entity. Fixed by adding the missing

`CreateOrUpdateAllEntity` -> "Create or Update All" verb; making `KeyedParent()` recognize

any `EntityActionVerbs` key (both `EntityActions.*` and `RoleActions.*`) and stop there

instead of walking past it to the next Key-bearing ancestor; and giving `Owner()` an

`EntityActionVerbs`-aware branch that walks up from the synthetic action node to the

nearest named ancestor, returning `"{verb} {name}"` (e.g. "Create or Update All

UserPasswordReset action") instead of the bare entity name. Also added `TypeLabels` entries

mapping each `EntityActions.*` local name to `"action"`. (`omlcore/Resolve.cs`,

`omlcore/Renderer.cs`)

3. **Bare "content changed" when only one side of an expression resolved.** `Differ.Emit`'s

generic `contentOld`/`contentNew` capture required BOTH sides to resolve to an expression,

so a row where only one side had a value (e.g. a Source/SourceList going from unset to set,

or vice versa) fell through to the bare `"content changed"` fallback with no old/new shown

— and `Renderer.PlainBullet` rendered an empty resolved side as a bare backticked empty

string rather than a word. Fixed by loosening the `Emit` guard to fire when at least one

side resolves and the two differ, substituting `""` for the missing side, and by having

`PlainBullet` map an empty old/new value to `"unassigned"` — the same vocabulary

`ArgumentBullets`/`AssignmentBullets` already use for the same "no value on this side" case.

The separate, already-documented bare-fallback case (both sides null, e.g. the

Source/SourceList `MergedAttrs` collision) is untouched. (`omlcore/Differ.cs`,

`omlcore/Renderer.cs`)

4. **Redundant "N lines changed" CSS bullet.** When every selector-group in a CSS diff

collapsed to a whole-rule Created/Deleted fact, `changedParts` still appended a

`"{name}: {lines} lines changed"` bullet restating the same edit as a raw line count,

adding noise without new information. Fixed by splitting `CssBullets` into

`CssBulletsCore`, which also returns an `AllWholeRule` flag (false whenever any

selector-group needed a per-line removed/added/previously bullet instead of collapsing to a

whole-rule fact), and suppressing the "N lines changed" bullet exactly when

`allWholeRule && cssBullets.Count > 0` — kept whenever there's a genuine partial-rule edit

or no CSS bullets at all. (`omlcore/Renderer.cs`)

License

https://opensource.org/licenses/BSD-3-Clause