···11+# Daily Changelog
22+33+## 2026-01-19
44+55+### New Libraries
66+77+- **[ocaml-webfinger](https://tangled.org/@anil.recoil.org/ocaml-webfinger.git)**: OCaml implementation of RFC 7033 WebFinger protocol for discovering information about resources using standard HTTP. Includes abstract Link and JRD types with jsont JSON encoding/decoding, nullable property support, and a command-line interface built with cmdliner. Uses [ocaml-requests](https://tangled.org/@anil.recoil.org/ocaml-requests.git) for HTTP operations. — *Anil Madhavapeddy*
88+99+### Major Features
1010+1111+- **[ocaml-apubt](https://tangled.org/@anil.recoil.org/ocaml-apubt.git)**: Added complete authentication system with XDG-compliant credential storage in ~/.config/apub/. New CLI commands for auth (setup/status/logout), profile management (list/switch/current), and write operations (post, follow, like, boost) with auto-loaded credentials. Integrated [ocaml-webfinger](https://tangled.org/@anil.recoil.org/ocaml-webfinger.git) for RFC 7033/7565 compliant actor discovery. Added Question activity support with one_of, any_of, closed fields. — *Anil Madhavapeddy*
1212+1313+- **[poe](https://tangled.org/@anil.recoil.org/poe.git)**: Added automated changes broadcast system with new `poe loop --interval` command for hourly change broadcasting. New admin commands (last-broadcast, reset-broadcast, storage keys/get/delete), Commands module with deterministic parsing, and Broadcast module for smart change detection that only sends new changes. Added config options for admin_emails and changes_dir. — *Anil Madhavapeddy*
1414+1515+- **[monopam](https://tangled.org/@anil.recoil.org/monopam.git)**: Added monopam_changes library with Aggregated and Query modules for structured changelog format. New --aggregate flag for `monopam changes --daily` producing structured JSON output. Daily module with Map-based indexes and query functions (since, for_repo, for_date). Changed daily files from <repo>-daily.json to <repo>-<date>.json with hour tracking. — *Anil Madhavapeddy*
1616+1717+### Bug Fixes
1818+1919+- **[ocaml-atp](https://tangled.org/@anil.recoil.org/ocaml-atp.git)**: Fixed non-deterministic code generation in hermest lexicon generator by sorting alphabetically. Regenerated all lexicon files with deterministic ordering. — *Anil Madhavapeddy*
2020+2121+### Code Quality Improvements
2222+2323+- **[ocaml-zulip](https://tangled.org/@anil.recoil.org/ocaml-zulip.git)**: Improved bot functionality and cleaned up build configuration by removing public_name/package from test and example executables. — *Anil Madhavapeddy*
2424+2525+---
2626+2727+## 2026-01-18
2828+2929+### New Libraries
3030+3131+- **[ocaml-mail-flag](https://tangled.org/@anil.recoil.org/ocaml-mail-flag.git)**: Unified library for parsing and manipulating email flags across protocols. Provides shared Keyword, Mailbox_attr, and Flag_color modules used by both [ocaml-imap](https://tangled.org/@anil.recoil.org/ocaml-imap.git) and [ocaml-jmap](https://tangled.org/@anil.recoil.org/ocaml-jmap.git) for IMAP/JMAP interoperability. — *Anil Madhavapeddy*
3232+3333+- **[ocaml-frontmatter](https://tangled.org/@anil.recoil.org/ocaml-frontmatter.git)**: OCaml library for parsing YAML and TOML frontmatter in documents, useful for static site generators and document processors. Uses [ocaml-yamlt](https://tangled.org/@anil.recoil.org/ocaml-yamlt.git) for YAML parsing. — *Anil Madhavapeddy*
3434+3535+- **[ocaml-bushel](https://tangled.org/@anil.recoil.org/ocaml-bushel.git)**: Added ocaml-bushel library to the monorepo. — *Anil Madhavapeddy*
3636+3737+### Email Protocol Improvements
3838+3939+- **[ocaml-imap](https://tangled.org/@anil.recoil.org/ocaml-imap.git)**: Major expansion of IMAP RFC compliance with ESEARCH, THREAD, QUOTA, LIST-EXTENDED, UTF-8, and CONDSTORE extensions. Added SORT command with sort keys (Arrival, Date, From, Size, Subject, To). Fixed SEARCH response parsing and APPEND literal synchronization (LITERAL+). Added BODY/BODYSTRUCTURE recursive MIME parsing with section specifiers. Integrated [ocaml-mail-flag](https://tangled.org/@anil.recoil.org/ocaml-mail-flag.git) for shared keyword/mailbox types. — *Anil Madhavapeddy*
4040+4141+- **[ocaml-jmap](https://tangled.org/@anil.recoil.org/ocaml-jmap.git)**: Integrated [ocaml-mail-flag](https://tangled.org/@anil.recoil.org/ocaml-mail-flag.git) library for unified email flag handling. Added RFC 8621 keywords (Seen, Answered, Flagged, Draft, Forwarded, Phishing) and RFC 6154 mailbox roles (Inbox, Drafts, Sent, Trash, Archive, Snoozed). Added role/special_use conversion functions to Mail_mailbox and keywords conversion to Mail_email modules. — *Anil Madhavapeddy*
4242+4343+### Configuration & Tooling
4444+4545+- **[poe](https://tangled.org/@anil.recoil.org/poe.git)**: Configuration now stored under unified XDG path (~/.config/poe/). Added xdg_app parameter to zulip-bot Config and renamed zulip config file from "config" to "zulip.config". — *Anil Madhavapeddy*
4646+4747+- **[ocaml-zulip](https://tangled.org/@anil.recoil.org/ocaml-zulip.git)**: Config module now supports Zulip's native [api] section format alongside existing formats. Added xdg_app parameter for custom XDG config paths. Config loading tries [bot], then [api], then bare format automatically. — *Anil Madhavapeddy*
4848+4949+- **[monopam](https://tangled.org/@anil.recoil.org/monopam.git)**: Improved push workflow with auto-clone of upstream repos when checkout missing. Fixed tangled.org URL parsing to strip @ prefix from usernames. — *Anil Madhavapeddy*
5050+5151+### API Improvements
5252+5353+- **[ocaml-yamlt](https://tangled.org/@anil.recoil.org/ocaml-yamlt.git)**: Added convenience functions decode_string, decode_value, and decode_value' for decoding YAML directly from strings and pre-parsed Yamlrw.value types. — *Anil Madhavapeddy*
5454+5555+- **[ocaml-matrix](https://tangled.org/@anil.recoil.org/ocaml-matrix.git)**: Added pp functions to matrix_id modules (User_id, Room_id, etc.), make constructors and accessors to event content types. Added 13 missing .mli files for matrix_client modules. Fixed odoc documentation warnings for clean @doc-full builds. — *Anil Madhavapeddy*
5656+5757+- **[ocaml-atp](https://tangled.org/@anil.recoil.org/ocaml-atp.git)**: Regenerated OCaml bindings for atproto, bsky, standard-site, and tangled lexicons. — *Anil Madhavapeddy*
5858+5959+---
6060+6161+## 2026-01-17
6262+6363+### Major Features
6464+6565+- **[monopam](https://tangled.org/@anil.recoil.org/monopam.git)**: New 'monopam changes' command generates AI-powered changelogs from git history. Added Changes module with jsont codecs for changelog serialization, Git.log function with date filtering, Claude AI integration for intelligent commit analysis, and aggregated CHANGES.md generation at monorepo root. — *Anil Madhavapeddy*
6666+6767+### Critical Bug Fixes
6868+6969+- **[ocaml-imap](https://tangled.org/@anil.recoil.org/ocaml-imap.git)**: Fixed RECENT response parsing that was overwriting EXISTS count. Changed UIDs and UIDVALIDITY to int64 to handle values up to 4294967295. Fixed writer lifecycle bug causing "cannot write to closed writer" errors. Added Logs library integration for debugging. Reorganized lib/ into imap/ (client) and imapd/ (server) with clearer module names. — *Anil Madhavapeddy*
7070+7171+- **[ocaml-requests](https://tangled.org/@anil.recoil.org/ocaml-requests.git)**: Fixed missing Uri module re-export that caused build errors. — *Anil Madhavapeddy*
7272+7373+### Code Quality Improvements
7474+7575+- **[ocaml-conpool](https://tangled.org/@anil.recoil.org/ocaml-conpool.git)**: Refactored is_healthy function to reduce nesting and improve clarity. — *Anil Madhavapeddy*
7676+7777+- **[ocaml-zulip](https://tangled.org/@anil.recoil.org/ocaml-zulip.git)**: Improved retention type documentation in channels.mli. — *Anil Madhavapeddy*
7878+7979+### Documentation Updates
8080+8181+- **[srcsetter](https://tangled.org/@anil.recoil.org/srcsetter.git)**: Added README documentation for the library. — *Anil Madhavapeddy*
8282+- **[ocaml-punycode](https://tangled.org/@anil.recoil.org/ocaml-punycode.git)**: Added README documenting unimplemented IDNA 2008 features. — *Anil Madhavapeddy*
8383+- **[ocaml-owntracks](https://tangled.org/@anil.recoil.org/ocaml-owntracks.git)**: Added README file documenting library purpose and usage. — *Anil Madhavapeddy*
8484+- **[ocaml-jsonwt](https://tangled.org/@anil.recoil.org/ocaml-jsonwt.git)**: Added README file documenting the jsonwt library. — *Anil Madhavapeddy*
8585+- **[ocaml-langdetect](https://tangled.org/@anil.recoil.org/ocaml-langdetect.git)**: Fixed language count accuracy (47→49) in dune-project synopsis. — *Anil Madhavapeddy*