All notable changes to this project (from version 2.3.0 onwards) will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Upgrade to Ruby 3.3.5 from 2.6.8. Render (the host for micropublish.net) had announced EOL for versions <3.1.0. Shotgun, which was used to auto-reload in development mode, is incompatible so it's been replaced with rackup. A more permanent (auto-reloading) solution is needed.
- For session management a stronger secret (>64 bytes) is now needed.
- Upgrade the Trix editor and support inline photo uploads in articles. This requires a media endpoint to be defined in your server's Micropub config. Many thanks to @gorka for contributing this enhancement.
- Support media uploads for the
photo
property. Requires server to return a media endpoint in its config. Many thanks to @hacdias for contributing this feature.
- Use
JSONBodyParser
instead of deprecatedPostBodyContentTypeParser
.
- New "food" and "drink" post types - thanks @hacdias. Your server must specify these types in its config properties to see them on the dashboard.
- Location property with geo-location support - thanks @hacdias. Your server
must specify
location
in its config for a type's properties to see the field when creating a post.
client_id
sent to auth endpoint must include the path element. Micropublish now includes a path ("/").
- Use Redis to cache servers' config data.
If there is a
REDIS_URL
environment variable defined Micropublish will use Redis as a cache to avoid repeated lookups for config from a server. This is optional: if there is no instance defined Micropublish will fetch config on each request. Config is cached for 24 hours.
- Updates Puma to non-vulnerable version 5.5.2
- Fixed Post Type Discovery for listen posts by looking for
listen-of
property when editing.
- Support creating listen posts (using
listen-of
URL field).
- Don't cache Micropub config in session. Some servers' Micropub config responses are larger than 4K which is too big for cookie storage.
- Add photo page and field. For now this won't support the uploading of photos, just specifying existing photo URLs.
- Fix tests via webmock
- Update gems
- Ignore unknown/unsupported properties from server.
If your server specifies
post-type
properties and includes properties that Micropublish didn't know, when updating a post using one of these properties it was possible for them to be marked as removed in the update request.
- Character counter now works for fields other than
content
. If asummary
field is available this will now include a counter. - Support changing article content field type: (Trix) Editor, HTML or Text. The options available depends on whether you're creating or updating an article -- you cannot switch to Text if you're editing an HTML article.
- When redirecting after creating/updating a post, the URL parameter is now passed in the query-string, instead of in the session. This is intended as a short-term fix for large sessions, as discussed in Issue #62.
- Upgrade Ruby to 2.6.6, required for the Heroku-20 stack. The previous stack (Heroku-16) is deprecated.
- Present authorized scopes to user, post-auth. Previously the scopes that were requested were assumed to have been granted by the server. Thanks to @jamietanna.
- Autoconfiguration of fields requires manually editing the
published
property- If the
published
field is specified in the properties for a post-type, default the value to the current timestamp in ISO8601 UTC format.
- If the
- Support Channels
Micropub extension. If the server supports channels, a new field with
checkboxes is added to the form and a
mp-channel
property is sent with the Micropub request.
- Fix code challenge generator
- The previous version did not adhere to RFC 7636 for the code challenge.
- As part of "Query for supported properties..." above, in the
config/properties.json
file thedefault
object is now ignored. Properties are explicity defined for eachpost-type
.
- Filter syndication targets by post-type, specify checked as appropriate
- Raw content instead of HTML for Articles
- Support
visibility
property - Support
post-status
property - Add granular scopes to login/auth
- Make JSON the default post creation method
- Only show edit, delete or undelete controls if scope allows
- Added
draft
scope to login form - Force
post-status
todraft
when using (only) draft scope - Bump kramdown from 2.1.0 to 2.3.0