Release · v1.0.0 Beta 30 – The Big Three-oh! · @paulrobertlloyd
This release adds a number of new features, fixes a suite of bugs and adds many quality of life improvements.
Key new features include:
- A new page post type
- Support for
profile scope in authentication flows and new userinfo endpoint
- Ability to add multiple files at once, or pick from previously uploaded media files
- Select syndication targets when using the share bookmarket
It also begins adding support for Microsub, initially by providing the ability to interact with channels and timelines.
Much of this release wouldn’t be possible without the help of @rmdes, who incorporated many of these improvements and fixes from his fork. Thanks also goes to @aciccarello for several authorisation improvements and feedback on other issues.
💟 Indiekit is supported by its community. This release was sponsored by @abhas and @sentience.
- add
fromCaught method to IndiekitError (cbf3654)
- add page post type (8f1fdbe), closes #954
- create-indiekit: log full error if setup cancelled (f337e01)
- create-indiekit: offer the file system content store (577ba98)
- endpoint-auth: support
profile scope and add userinfo endpoint (7a27fa6), closes #885
- endpoint-auth: use
url filter for endpoint urls (07f959e)
- endpoint-files: upload several files at once (0c10dc7), closes #952
- endpoint-micropub,endpoint-media: store a UUIDv7
uid on create (e1f3ae7)
- endpoint-micropub: discover post type from its vocabulary (1878252), closes #950
- endpoint-micropub: filter the list of posts by text and category (b792c1a)
- endpoint-microsub: add core Microsub server with channels and timeline (b6a74a5), closes #975
- endpoint-microsub: add localised strings (e8bc4df)
- endpoint-posts: pre-fill the create form from
url and name query parameters (2f89cd1)
- endpoint-share: let the share form choose syndication targets (54f193e)
- endpoint-syndicate: log full error when syndicating to targets (fcbb89b)
- endpoint-syndicate: syndicate every post awaiting syndication (f8c7376)
- endpoint-webmention-io: require
token (e67466f)
- frontend: choose an existing media file from the editor and file fields (4d71529)
- frontend: replace
markdown-it-prism with microlighter (2d21f8c)
- frontend: use
url filter for absolute urls in default layout (0f8640e)
- indiekit: add a UUIDv7 backfill for posts without a
uid (2581772)
- indiekit: backfill missing UIDs before serving requests (59b0ff2)
- indiekit: declare a collection’s indexes with
addCollection (df0b8f8)
- indiekit: index post and media data on
properties.uid (42fe338)
- indiekit: log full error when getting
serviceworker.js (ed98b43)
- indiekit: simplify homepage guidance (526ed5d)
- indiekit: show more configured endpoints in homepage guidance (5637cf4)
- store-bitbucket: require
user, repo and token (13275e7)
- store-ftp: require
user and password (5d7feaf)
- store-gitea: require
token (58136d3)
- store-github: require
token (22c8903)
- store-gitlab: require
token (65e5444)
- store-s3: require
access and secret keys (ffde16e)
- syndicator-bluesky: make link text in post content clickable (7b38485), closes #948
- syndicator-bluesky: require
password (8c91c9f)
- syndicator-internet-archive: require
access and secret keys (ab5bb9f)
- syndicator-mastodon: require
access token (ebf6225)
- util: paginate on
properties.uid (b2a1d2f)
- util: provide clearer debug message when connecting to MongoDB (8b8a351)
- util: remove
getObjectId helper (5827617)
- only use a status code from an Indiekit error (1dfa574)
- report an invalid syndicator URL instead of throwing (f553c34), closes #930
- return 401 for
GET requests with invalid bearer token (69910bf), closes #825
- create-indiekit: check node compatibility against major and minor version (06cab9e)
- create-indiekit: generate a
Dockerfile that runs, on a patched MongoDB (46f17f1)
- create-indiekit: handle command-line arguments (8914c57)
- create-indiekit: resolve error when getting file contents (5fe21db)
- create-indiekit: use correct character for configuration message (57204af)
- endpoint-auth: accept code exchange without
grant_type at /auth (d649606)
- endpoint-auth: bind code exchange to the code’s own claims (456cd6d)
- endpoint-auth: limit missing
response_type to indieauth.com (fa1d368)
- endpoint-auth: refuse a missing
code_verifier instead of failing (b7ad28a)
- endpoint-auth: use publication
me when signing authorization code (0e900a7), closes #911
- endpoint-files: look up files by
uid so older files don’t 404 (5394361), closes #924
- endpoint-files: only show a thumbnail for photos (19a0ced), closes #956
- endpoint-media: normalise caught error in action controller (ba30ff4)
- endpoint-micropub: count other posts of a type when rendering the
n token (2634ac0), closes #746
- endpoint-micropub: don’t let a client reassign a post’s
uid (b5a7ce1)
- endpoint-micropub: drop unawaited
count() check that leaked an operation past the test (a354434)
- endpoint-micropub: keep
uid when deleting a post (737cb1b)
- endpoint-micropub: localise the database error and keep post-type errors distinct (676ed0b)
- endpoint-micropub: normalise categories on write (77a6266)
- endpoint-micropub: normalise caught error in action controller (f4430f8)
- endpoint-micropub: reject unconfigured post type on
update, delete and undelete (057a0ac), closes #928
- endpoint-micropub: throw a clear error reading posts without a database (5d30610)
- endpoint-posts: handle non-Error value for syndication target (5d54559)
- endpoint-posts: look up posts by
uid so older posts don’t 404 (becdf26), closes #924
- endpoint-syndicate: call
Array.isArray when wrapping a single target (3a2b7cf)
- endpoint-syndicate: ignore syndication values that aren’t URLs (9dcbc57), closes #932
- endpoint-syndicate: retry targets a post has not syndicated to yet (40647cb)
- endpoint-syndicate: syndicate posts awaiting syndication oldest first (9a4d0a4), closes #584
- endpoint-webmention-io: cope with authors without a photo or a valid URL (98dbd80), closes #934
- frontend: close the
tabindex clause in add-another’s focusable selector (47b995d)
- frontend: don’t drop attributes after one without a value (24b659a)
- frontend: don’t throw looking up elements that may be absent (88287f1)
- frontend: ensure photo in card layout retains 1:1 aspect ratio (d143206)
- frontend: handle missing values in components (1637377)
- frontend: handle non-Error values in component error paths (7a2170e)
- frontend: load the app script once the page is parsed (1bdd4df)
- frontend: serve cached page on a slow network, skip cross-origin and auth requests (c4619ae), closes #936
- indiekit: accept local redirect paths containing
-, . and % (f326f60)
- indiekit: advertise the
userinfo endpoint as an absolute URL (fcad0d3)
- indiekit: derive application URL from each request (2e20ad0)
- indiekit: make the
uid backfill resumable and concurrency-safe (8b9fb87)
- indiekit: only send stack traces and error causes in development (5df480a)
- indiekit: trace the
uid backfill even when it’s a no-op (9058317)
- preset-eleventy: write posts where the advertised URL resolves (0047ea8), closes #902
- syndicator-bluesky: remove useless
try/catch (10a6022)
- syndicator-bluesky: thread replies to Bluesky posts (471577c), closes #946
- syndicator-mastodon: remove useless
try/catch (9951ad9)
- syndicator-mastodon: thread replies to statuses on other servers (db3ed51), closes #926
- util: return correct page when paging backwards (38fab19)
- util: throw getting canonical URL from path without base URL (525ebe3)
Ouvrir sur GitHub →