Skip to content

Integrate wave 3 of the upstream PRs (mendixlabs/mxcli #1493 #1383) - #1517

Merged
ako merged 9 commits into
mainfrom
integrate/wave3-upstream-prs
Oct 20, 2026
Merged

ako merged 9 commits into
mainfrom
integrate/wave3-upstream-prs

Conversation

@ako

@ako ako commented Oct 20, 2026

Copy link
Copy Markdown
Owner

This branch merges the two upstream feature PRs, now that both features are approved.

Merged

PR Change Merge notes
mendixlabs#1493 mxcli search --exclude-marketplace leaves out hits in Marketplace modules; off by default (#1477). The MDL SEARCH statement is unchanged; support there can come later. clean
mendixlabs#1383 mxcli marketplace package <Module> exports a module as a .mpk through mx create-module-package (#1382) CHANGELOG only

The contributor's commits are kept as they are.

What #1383 adds over calling mx directly

  • It runs mx on a temporary copy, so the project is not changed. mx writes theme-cache/, deployment/sass/ and the module's themesource/ into whatever project it is given.
  • It refuses an mx of a different Mendix version than the project's. --mxbuild-path overrides this, with a warning.
  • It opens the finished package and warns about resources/, javasource/ or themesource/ files that belong to other modules, and prints the --exclude pattern that drops them. mx exports the app's whole resources/ folder.
  • It writes <Module>.mpk into place in one step, maps mx exit codes to readable messages, and has --json output.

Follow-ups on top

Review and validation

  • PR heads: unchanged since my security review. docs(run): the runtime does not derive a root URL from the bind address #1383's exec.CommandContext runs only the resolved mx, RemoveAll cleans only its own staging folder, and the test that re-executes its own binary is the standard Go helper pattern.
  • Local runs: no PR code was run locally. go build and go vet (Linux and Windows) are clean; CI runs the tests.

Generated by Claude Code

stagknee and others added 9 commits October 15, 2026 12:19
…es (#1477)

An audit of the app's own text reported a vendor module's text beside the
project's. The flag drops hits whose module was downloaded from the
Marketplace, a module's own documentation included. It is off by default and
the SEARCH statement is unchanged. Which modules are Marketplace modules is
read from the current snapshot only, so a module that was one in an older
snapshot is not left out of every later search.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… a list

The hand-written list of document types would drift as the objects view
grows; "every element the catalog records" stays true. Suggested in review
of #1478.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
)

Wraps `mx create-module-package` (-l by default, --all-libs to bundle every JAR),
the reverse of `marketplace install --file`. Warns on stderr about other modules'
resources/javasource/themesource files in the package, with the plain-dot --exclude
that drops them. mx writes into the project (measured), so it runs on a temp copy.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… review follow-ups (#1383)

ResolveMxForVersion prefers an mx on PATH and falls back to any cached one, so
the package could silently be made by another Mendix version than its app.
mxcli now reads the version of the mx it found (mx.deps.json beside it, else
its version-named folder) and refuses a different major.minor.patch, or an mx
whose version it cannot tell, naming both versions and the fix. --mxbuild-path
is the override: a mismatch then only warns on stderr; a path that does not
exist is an error rather than a quiet fall back to PATH.

Also: mx's output on a successful export goes to stderr; the context reaches
mx (exec.CommandContext); the printed --exclude is quoted for a POSIX shell;
an output directory inside the project is not copied into the temporary copy;
the unused inspectPackage is dropped.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…lements by rule, not by a list

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
…her Mendix version, and review follow-ups (#1383)

CHANGELOG.md conflict resolved by keeping both sides.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
…e to see the list

mendixlabs#1493 replaced the hand-kept list of document types in
`search --help` with "every element the catalog records", which claims
too much: role mappings, references and other catalog rows carry no
documentation. It now reads "every element that has documentation" and
names the commands that show the full list (the catalog tables with a
Description or Documentation column).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
mendixlabs#1383 added the package section and moved the ones after
it. Regenerated with scripts/skill-index.py (make build).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QiMsnXa9crge2qnSk9S7Zn
@ako
ako merged commit 2a321aa into main Oct 20, 2026
43 of 45 checks passed
ako pushed a commit that referenced this pull request Oct 21, 2026
Merging #1517 resolved CHANGELOG.md with the stale side of its
Unreleased section:

- the three Security entries for the v1 BSON driver removal
  (#1497) and the "go mod tidy runs again" Fixed entry were
  dropped;
- thirteen Fixed entries and the klauspost/compress Security block were
  duplicated.

upstream/main's copy was intact, so the next sync would have carried the
damage upstream. The file is now upstream's, plus the two entries
#1517 legitimately adds. `search --exclude-marketplace` moves from the
released [0.27.0] section to Unreleased: the contributor's branch
predates that release, and the feature has not shipped.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AeAyg3qx2my26Q8cvGyW5z
ako pushed a commit that referenced this pull request Oct 22, 2026
ako added a commit that referenced this pull request Oct 23, 2026
fix: microflow-splice refusals — error handlers, captions, notes, chained check (mendixlabs#1489, #1610, #1517)
ako added a commit that referenced this pull request Oct 27, 2026
Sync ako/mxcli: loop-body splices and #1517 decisions, workflow texts and timers, Java action round trips, input widget drops
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants