- `GET /api/events?type=error` opens a long-lived HTTP server side
event connection that streams error messages.
- async (typically SMTP) errors are now streamed to the frontend and
disaplyed as an error toast on the admin UI.
- Change tiled UI to table UI.
- Add support for search and pagination.
- Important: This breaks the `GET /api/media` API to introduce pagination
fields. Media items are now moved into `{ data: results[] }`.
- Adds support for arbitrary file uploads with an admin setting to select allowed file extensions.
- Adds support for attaching media (files) to campaigns.
Remove `messenger.go` and move the interface definition to `manager`
and the `Message` struct to the `models` package, removing superflous
and redundant message structs used in multiple places.
- Rename `Get()` to `GetURL()`.
- Add `GetBlob()` to retrieve the media file blobs in
filesystem and and s3 media providers.
This enables reading media files inside listmonk paving the way to
campaign file attachments.
with the new recent changes in dockerhub[1] we should
start pushing images to ghcr, and eventually phase out
the existing dockerhub setup.
[1]: https://blog.alexellis.io/docker-is-deleting-open-source-images/
Signed-off-by: Chinmay D. Pai <chinmay.pai@zerodha.com>
- Add support for `complaint` to the SES bounce processor.
- Add support for `hard/soft` to Sendgrid bounce processor.
- Add new bounce actions `None` and `Unsubscribe`.
- Add per type (`soft/hard/complaint`) bounce rule configuration to
admin settings UI.
- Refactor Cypress bounce tests.
- Introduces a new option on the settings UI to optionally publish the full campaign body in
public archive RSS feeds.
Closes#1033
Co-authored-by: Kailash Nadh <kailash@nadh.in>
This commit merges the static website and docs that was on
https://github.com/knadh/listmonk-site repository into the main
listmonk repo.
It also adds a GitHub Actions workflow to public the sites on GitHub
Pages instead of Netlify.
Used `vue-cli` to upgrade all the dev deps from node v16 or lower. Here
are the steps followed
- `vue upgrade` to upgrade all deps to latest.
- remove `node_modules` directory and `yarn.lock` file.
- `yarn install` to install dependencies again.