• fsylvain released this 2026-10-13 03:28:24 +02:00 | 20 commits to main since this release

    This release adds paginated, searchable article lists, links in the editor and an export of the activity log, and removes the article length limit. The article list API changes shape, so read the upgrading notes if you call it.

    New

    Articles

    • The article list is now paged, with a search box, an Online and Draft filter, sortable columns and a page size of 5, 25, 50 or 100. Counts for All, Online and Draft stay fixed while you search.
    • Articles have no length limit any more, and a new article can be created without a body.

    Editor

    • Insert, edit and remove links directly in the editor.

    Activity log

    • The summary cards at the top are now filters: select one to narrow the list, select it again to clear it.
    • A new Export menu downloads the filtered events as a CSV file.
    • The date range also accepts "All time".

    Integration

    • The Integration page has a new Images section covering image variants, and its code snippets now share one format.

    Improvements and fixes

    • Each page now sets its own browser tab title, in the form "Page · RenewCMS", instead of keeping the title of the first page loaded.
    • Registering now waits for the session to be refreshed before showing the pending-approval screen, which fixes a redirect back to the sign in page.
    • The media and variant screens, the navigation contrast and the shell colors follow the design spec more closely.
    • The development workflow on Linux no longer deletes the visual check output.

    API

    • Changed: GET /v1/article/ always answers { items, total, page, size, counts } instead of a bare array. It accepts page, size (5, 25, 50, 100), q, status (online or draft) and sort (for example title:asc; default updated_at:desc). An invalid value answers 400. Anonymous callers still only see online articles.
    • Changed: POST /v1/article/ and PATCH /v1/article/{id} no longer reject a body over 10,000 characters, and POST accepts an empty body.
    • GET /v1/activity and GET /v1/activity/export accept range=all.

    Under the hood

    • Add the paged article query to the article repository contract, with accent-insensitive title search, and promote golang.org/x/text to a direct dependency.
    • Add specifications, design checks and Go and Vitest suites for the new screens.
    • Document the article list in docs/api/articles.md and link the API docs from the README.

    Upgrading

    • Replace the binary, or pull the new image. There is no schema change and no new environment variable.
    • Any script or site that reads GET /v1/article/ must now read the items property of the response. Without page and size you get the first 25 articles, so loop over page until you have total items.
    Downloads