Skip to content

Bring the MJML branch up-to-date#3010

Open
preslavrachev wants to merge 58 commits intoknadh:mjmlfrom
preslavrachev:mjml
Open

Bring the MJML branch up-to-date#3010
preslavrachev wants to merge 58 commits intoknadh:mjmlfrom
preslavrachev:mjml

Conversation

@preslavrachev
Copy link
Copy Markdown

No description provided.

dependabot Bot and others added 30 commits March 5, 2026 22:12
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 5.0.3 to 5.1.5.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](immutable-js/immutable-js@v5.0.3...v5.1.5)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 5.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Closes knadh#2921.

This is very likely could be the culprit behind the
lingering non-reproducible issue of campaigns not resuming after
pause or campaigns finishing without completing after resumption.
…nadh#2952)

This was a silly mistake. Analytics materialized views were created with UTC
while every other timestamp was a local time with zone. This caused obvious
incorrect (and noticeable) data in installations far away from UTC.

Closes knadh#2427.
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.2 to 3.4.2.
- [Commits](WebReflection/flatted@v3.3.2...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.1 to 3.4.2.
- [Commits](WebReflection/flatted@v3.3.1...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
- List permission check in campaign update.
- List permission check in CSV import.
- Granular list/subscriber permission checks in bulk subscriber
  handlers.
- Subscriber JSON export endpoint.
- Test mail endpoint.

Damn, I can't believe this was all missed ;(
Fix old race conditions and improper handling of listmonk restart
on settings page.
Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/picomatch@2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [yaml](https://github.com/eemeli/yaml) from 1.10.2 to 1.10.3.
- [Release notes](https://github.com/eemeli/yaml/releases)
- [Commits](eemeli/yaml@v1.10.2...v1.10.3)

---
updated-dependencies:
- dependency-name: yaml
  dependency-version: 1.10.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---------

Co-authored-by: Kailash Nadh <kailash@nadh.in>
- Compress uselessly large pngs to webps.
- Compress uselessly large SVGs.
- Inline remote static webhost images.

Closes knadh#2964.
knadh and others added 28 commits March 26, 2026 15:12
…anage`.

This has a minor breaking behaviour where new users created with `manage*`
but not `send` permissions will not be able to send campaigns. This scenario
can only ideally happen when user role creation is done via the API and
`campaigns:send` is missed.

Closes knadh#2394.
…es on subs.

- In the `GET /api/subscribers` API, list names to which the current user doesn't
have permission is now replaced with "*Unknown".
- A new `restricted: true` field is added to the response.
- Based on this field, the sub form / selector UI disable deletion of lists
  and indicate lists on the user form differently.

Closes knadh#2228.
…2973)

Bumps [picomatch](https://github.com/micromatch/picomatch) from 2.3.1 to 2.3.2.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](micromatch/picomatch@2.3.1...2.3.2)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 2.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [golang.org/x/image](https://github.com/golang/image) from 0.29.0 to 0.38.0.
- [Commits](golang/image@v0.29.0...v0.38.0)

---
updated-dependencies:
- dependency-name: golang.org/x/image
  dependency-version: 0.38.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Updated Lettermint webhook link (More info) to point to the listmonk integration guide instead of a generic webhooks introduction page.
…arately

Inline campaign body into wrapper at the content placeholder, then render
the combined document once. Non-MJML body formats (markdown, HTML, richtext)
are wrapped in <mj-raw> before inlining.

MJML logic isolated into models/mjml.go. Template type is now fetched from
DB alongside template body to drive the render path.
Bumps [axios](https://github.com/axios/axios) from 1.13.5 to 1.15.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](axios/axios@v1.13.5...v1.15.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-version: 1.15.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 5.4.20 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.4.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [github.com/go-jose/go-jose/v4](https://github.com/go-jose/go-jose) from 4.1.1 to 4.1.4.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Commits](go-jose/go-jose@v4.1.1...v4.1.4)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v4
  dependency-version: 4.1.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](lodash/lodash@4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
@preslavrachev
Copy link
Copy Markdown
Author

@knadh the MJML branch had fallen significantly behind the state of master. I brought it up and introduced some important changes to how MJML templates are previewed and rendered.

I suggest that ew merge this branch into your version of the MJML branch, so you can see the concrete changes needed more clearly.

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.

10 participants