alunduil / alunduil/blog.alunduil.com

The good death of a library: deprecating network-uri-json when aeson absorbed it

オープン
#288 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
idea
主要言語
Astro
スター
1
フォーク
1
平均マージ
6時間 34分
マージ済み PR(30日)
118

説明

## Spark

From the 2026-06-27 digest. I deprecated `network-uri-json` in favour of aeson 2.2's built-in URI instances — the ecosystem absorbed the exact thing the library existed to provide — and cascaded the removal through siren-json and collection-json.

## Why it could be interesting

The activity is "I archived a package." The claim is that a healthy small library has a *good death*: you maintain it until upstream makes it redundant, then you retire it deliberately (deprecation notice, downstream migration, unpinning) instead of letting it rot half-maintained. Knowing when your thin layer has been absorbed — and acting on it gracefully — is a maintenance skill, not a failure.

## Open questions

- [ ] The migration mechanics worth showing: deprecation in the README/cabal, the aeson 2.2 instance swap, unpinning, downstream drops.
- [ ] How to tell "absorbed, retire it" from "still adds value, keep it" — what's the test?
- [ ] Tie-in or contrast with #98 (one template, four Haskell libraries) — maintenance vs. retirement as two ends of the same lifecycle.

## Source material

- network-uri-json #113 deprecate in favour of aeson built-in URI (merged) —
- siren-json #74 drop network-uri-json —
- collection-json #142 unpin aeson —
- Loose echo on thin layers the platform later absorbs: "the idealized form of MCP is just an auth gateway" —

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。