Release history =============== 0.9.0 (2025-03-28) ------------------ - dependencies: bump go-crypto to 0.35.0 - apitester: remove context in NewAPITester - go 1.24.1 - template-varlist: fix error handling - engines: implement a Closer interface - rendering engines now receive a context containing the username - mjml-migrate: add option to control mjml auto-migration - auth: token secret can be set as an environnment variable - template preview can be html - upgrade golangCI to 1.64.6 - generate config command: defaults to stdout - mail sender: fix delays and logs - rednerd global options: --dsn is mandatory - mail sender: bail out if the context is done - rednerd serve command: add --disable-mail-sender to disable the mail sender routine - metadata.Remove is now case insensitive - email_queue: add messageID and header handling - api configurator: enable renderer configurator - models.Document: implement jsonb sql storage - renderer: add 'OnDocRender' hooks - preview: fix metadata not being passed to rendering engine - render: return detailed errors 0.8.0 (2024-12-09) ================== - go 1.23.4 - go-duktape: remove warnings (using fork github.com/nayarsystems/go-duktape) - template preview - golangCI: enable linters (errnamen, inamedparam, wsl) - pypdf breaking change in weasyprint: force lower version. see https://github.com/Kozea/WeasyPrint/issues/2200 0.7.0 (2023-07-12) ================== - Makefile : add help on the "generate" make commands - api: add activity/renderstats object to user information. - Fix render logs writing (was completely disabled) - api: return a proper error when template does not exist, and internal server errors on rendering errors that are not due to invalid inputs. - Drop the 'lo' engine - Engine wpd: update weasyprint to v59.0 - Fixes, code cleaning 0.6.1 (2023-03-27) ================== - db: add a 'created_at' column to the 'users' table. 0.6.0 (2023-03-14) ================== - api: - template-add/template-update: body/body-format errors now return 400 errors and not 500. - template-add/template-update: duplicate template name now return a 400 status. - template-list does not return template bodies anymore, for big speed-up. - Renderings are now logged in the 'render_logs' table (and to prometheus summaries), and can be retrived with /v1/renderlogs/{period} 0.5.0 (2022-11-15) ================== - api: - add 'register', 'forgot-password' and 'forgot-password' - add 'firstname', 'lastname' and 'email' to 'userinfo' 0.4.1 (2022-02-15) ================== - pooled engine: log the number of workers - od-templating: add support for headers and footers rendering - code cleaning: enable more code linters and comply to them 0.4.0 (2022-01-25) ================== - wpd engine: almost complete rewrite of the engine. Should be more stable and handler big loads properly. - pooled engine: add an engine wrapper that runs multiple worker. It allow a mono-task engine to handle concurrent tasks. 0.3.5 (2021-12-16) ================== - fix metric names: rename ``alpe_api_*`` to ``rednerd_api_*`` - wpd engine: adjust log level of the wpd engine: changed the "will render" message from 'info' to 'trace') - wpd engine: fix a deadlock when jobs are queued faster than results 0.3.4 (2021-10-19) ------------------ - Update MJML to v4.10.3 - Fix a libreoffice renderer bug where spaces were inserted in some place - loffice: Fix handling of nested standalone tag. Example: '<p><span>{{section}}</span></p>' is now replaced with '{{section}}' and not '<p>{{section}}</p>' 0.3.3 (2021-06-14) ------------------ - fix engines priorities so that html->pdf is done by wpd by default (ie, always) 0.3.2 (2021-04-22) ------------------ - od-templating: fix a crash when a xml element opens in a mustache tag and closes in another. 0.3.1 (2021-03-10) ------------------ - mjml: Fix a process crash when the mjml source is not a valid mjml document. 0.3.0 (2021-03-09) ------------------ - use the 'database' package provided by go-orusapi - 'admin-password' command now accepts the password as an argument. - provide a 'rednerd-standalone' image - flag '--token-secret' is not required anymore - add a "varlist" feature. It lists all the variables found in a template - documentation - use 'go-orusapi/database' to replace the internal database package. - Implement streamed documents and parallel rendering the pipeline steps. - new engines: - od-templating - uses https://orus.io/orus-io/od-templating to render mustache templates inside OpenDocument files. - libreoffice - uses https://github.com/dveselov/go-libreofficekit to convert documents with libreoffice. 0.2.0 (2020-09-17) ------------------ - Non-blocking rendering errors are now returned in the field 'render-errors' of the document. This allow the client to see MJML validation errors. - MJML: the validation level can be changed with the 'mjml-validation-level' metadata. 0.1.1 (2020-08-11) ------------------ - Fix prometheus: when enabled, all the handlers were 'unimplemented' - Add options for tokens and cookies 0.1 (2020-08-11) ---------------- Initial Release