v0.3.0
This release adds a syndicator for Mastodon, refactors how IndieAuth is used to authorise requests, and updates how localisations are loaded and managed. It also improves overall test coverage, and sets some of the groundwork for the next release: v1.0 👀
⛔ IndieAuth
IndieAuth was previously handled using a third-party library. As this was designed to be used in either the browser or server environment, it included a number of dependencies that aren’t needed if only supporting Node.js. It also no longer appears to be maintained, and some of the dependencies have security vulnerabilities. Bringing this functionality ‘in-house’ means the number of dependencies has been reduced and all this code is now covered by tests, something that was hard to achieve before.
🌐 Localisation
Apart from refactoring how localisation strings are loaded (plug-ins no longer need to register localisation files, for example), I’ve also made it easier for people to contribute new localisations towards this project. If you see a translation that is not quite right, or would like to add support for a new language, please contribute to the project.
📖 Documentation
Since the last release, the documentation site has been updated, using the fantastic Just the docs theme. Some of the content has been revised, but there’s much more to follow.
⏩ Next
The next release will include breaking changes to server configuration, and given this project is following semver, it’ll require a major version bump. 😬
Features
- syndicator-mastodon: add mastodon syndicator (b8148ca)
- indiekit: use Localazy localisation service (004caa0)
- indiekit: rate limit some requests (6a7d520)
- indiekit: split express app config from server (b1f7364)
- indiekit: split express app config from server (f388d6d)
- frontend: add
absoluteUrl
filter (dcc0616) - plug-ins no longer need to add locales (e489594)
- add default exports for plug-ins (8518285)
- add plug-in info (f289df4)
Bug Fixes
- indiekit: env vars as default values for options that accept secrets (1af9707)
- indiekit: get application info from indiekit package.json (439d845)
- indiekit: handle timeout connecting to mongodb (79e6206)
- indiekit: remove prototype-polluting assignment (45042f4)
- endpoint-micropub: typos (bf71b09)
- endpoint-micropub: use absolute url for media items (3903845)
- frontend: fix size of footer logo (6b9b9ec)
- frontend: use text colour for summary values (42b7caf)
- store-bitbucket: env vars as default values for options that accept secrets (78e4bbb)
- store-ftp: env vars as default values for options that accept secrets (06fd746)
- store-gitea: env vars as default values for options that accept secrets (32124bd)
- store-github: env vars as default values for options that accept secrets (da9d998)
- store-gitlab: env vars as default values for options that accept secrets (fe3512d)
- syndicator-internet-archive: env vars as default values for options that accept secrets (894a886)
- syndicator-twitter: env vars as default values for options that accept secrets (ce436e7)
- syndicator-twitter: only post replies to tweets (a40e58d)
- improve appearance of post and syndication target icons (0fe768e)
- make it easier to see and copy access token (7f381b5)
- use package.json vars (4005873)