Skip to content

Commit 3eb01dc

Browse files
committed
release: v12.7.0
1 parent 91b8a47 commit 3eb01dc

3 files changed

Lines changed: 22 additions & 8 deletions

File tree

apps/core/CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# CHANGELOG
22

33

4+
# [12.7.0](https://github.com/mx-space/core/compare/v12.6.0...v12.7.0) (2026-05-15)
5+
6+
7+
### Features
8+
9+
* **recently:** URL-keyed enrichment map, drop typed entries ([#2726](https://github.com/mx-space/core/issues/2726)) ([91b8a47](https://github.com/mx-space/core/commit/91b8a47469e9b9f96016b7aa3651a2ffa6669719))
10+
11+
412
# [12.6.0](https://github.com/mx-space/core/compare/v12.5.4...v12.6.0) (2026-05-15)
513

614

apps/core/RELEASE_NOTES.md

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,25 @@
11
## TL;DR
22

3-
This release hardens Open Graph enrichment: link cards now skip anti-bot challenge pages and stop rendering favicons in place of real preview images.
3+
Recently entries now resolve a link card for every URL in their body, and the deprecated typed-entry kinds have been removed.
44

55
## Highlights
66

7-
Open Graph browser mode now resists anti-bot defenses. Every agent-browser fetch carries a realistic user agent and language headers, waits for network idle instead of a fixed delay, and inspects the main document's HTTP status. Cloudflare and Akamai challenge pages are detected by signature and retried once; a persistent block surfaces as a distinct error instead of being cached as valid HTML.
7+
Recently (碎语) entries previously carried at most one enriched link. They now expose a URL-keyed enrichment map built the same way posts, notes and pages already work — the server scans the entry body and resolves a card for each link it finds. An entry that references several links gets a card for each, and enrichment is attached fresh on every read from the enrichment cache instead of being stored per row.
88

9-
The Open Graph parser is now strict about preview images. The `image` field holds only a genuine `og:image` or `twitter:image`, so link cards no longer drop a square favicon into a wide image slot. Image dimensions are parsed from `og:image:width` and `og:image:height`, and any discovered icons move to the result's `links` collection.
9+
The legacy typed recently kinds — `book`, `media`, `music`, `github`, `academic`, `code` — have been retired. `RecentlyTypeEnum` now only distinguishes `text` and `link`, and the type is derived server-side from whether the body contains a URL. The per-type metadata schemas and the discriminated-union create/update DTO are gone; creating an entry now only needs `content`.
1010

1111
## Changes
1212

1313
### Features
14-
- Open Graph browser mode detects and skips Cloudflare/Akamai challenge pages, sends realistic browser headers, and waits for network idle — preventing anti-bot interstitials and HTTP 4xx/5xx error pages from being cached as page content. ([#2724](https://github.com/mx-space/core/pull/2724))
15-
- The Open Graph parser keeps the `image` field strictly to real `og:image`/`twitter:image` values, parses image dimensions from OG width/height tags, and relocates favicons and link icons into `links`. ([8651e5c](https://github.com/mx-space/core/commit/8651e5c24e73c0459625e069d3e0a3c56b8e4153))
14+
15+
- Recently entries resolve a link card per URL through a URL-keyed enrichment map, replacing the single per-entry enrichment. ([#2726](https://github.com/mx-space/core/pull/2726))
16+
- Deprecated typed recently entries (book/media/music/github/academic/code) removed; `RecentlyTypeEnum` collapses to `text`/`link`. ([#2726](https://github.com/mx-space/core/pull/2726))
17+
18+
## Upgrade Notes
19+
20+
- An app-migration drops the `recentlies.enrichment_provider` and `recentlies.enrichment_external_id` columns automatically on startup — no manual action required.
21+
- The recently API response shape changed: `enrichment` / `enrichmentExternalId` / `enrichmentProvider` are replaced by an `enrichments` map. Custom frontends that read recently entries should move to `@mx-space/api-client` 4.2.0; the bundled dashboard (mx-admin 7.3.0) already matches.
1622

1723
---
1824

19-
**Full Changelog**: https://github.com/mx-space/core/compare/v12.5.4...v12.6.0
25+
**Full Changelog**: https://github.com/mx-space/core/compare/v12.6.0...v12.7.0

apps/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mx-space/core",
3-
"version": "12.6.0",
3+
"version": "12.7.0",
44
"type": "module",
55
"private": true,
66
"engines": {
@@ -15,7 +15,7 @@
1515
"author": "Innei <https://innei.in>",
1616
"dashboard": {
1717
"repo": "mx-space/mx-admin",
18-
"version": "7.2.0"
18+
"version": "7.3.0"
1919
},
2020
"issues": "https://github.com/mx-space/core/issues",
2121
"scripts": {

0 commit comments

Comments
 (0)