Releases: Marvellous-Codeworks/logdrop
Release list
v1.2.0
This release makes AI agent access visible in the admin UI and adds an audit trail to the analyzed workflow: you can now see whether an instance is agent-enabled, which uploads an agent has read (and how often), and who marked an upload as analyzed and when.
New features
- Agent access notice: when
AGENT_API_TOKENis configured, the admin dashboard shows "AI agent access enabled." with a robot icon, right under "Signed in as". The token itself is never displayed. - Agent read tracking: every successful agent read of an upload is recorded (read count and last access time). Recording is best-effort — if the metadata write fails, the agent still gets the log.
- Robot badge: the dashboard table shows a robot icon next to the slug for uploads an agent has read, alongside the existing analyzed checkmark.
- Analyzed audit trail: marking an upload as analyzed (from its own page or in bulk from the dashboard) now records who did it and when; unmarking clears both.
- Activity on the upload page: a new block shows
Analyzed by <admin> on <date>andRead by AI agent N times · last <date>. The analyzed line updates live when you toggle it.
Privacy
- The admin email that marked an upload as analyzed is redacted from the agent API response, alongside the already-redacted uploader IP, country and user agent.
Compatibility
- Uploads created before this release are read with empty activity (no analyzed author/date, agent read count 0) — no migration needed.
Docs
- README and
.env.exampledescribe the new agent-access visibility, and note thatAGENT_API_TOKENmust be enabled for each Vercel environment (Production, Preview) where you want it, followed by a redeploy.
Full Changelog: v1.1.0...v1.2.0
v1.1.0
This release adds an operator-facing agent read API, an "analyzed" triage workflow across the admin dashboard and single-paste view, stronger visual feedback throughout, and a custom delete-confirmation modal — plus several storage-layer and correctness fixes found during review and live testing.
New features
GET /api/agent/paste/<slug>: a Bearer-token-protected, read-only endpoint so an AI agent (or any operator-side automation) can fetch a paste's content given the plain share link a user reports, without needing an admin login session. Sensitive uploader metadata (IP, country, user agent) is redacted from the response, and expired pastes correctly return 404.- Analyzed triage workflow: mark an upload as analyzed straight from its own page (single-click Mark/Unmark, no confirmation needed) or in bulk from the dashboard toolbar (
Mark as analyzed (N), acting on every selected row at once, no confirmation). The dashboard shows a read-only checkmark badge next to the slug for analyzed uploads, and a toolbar toggle switches between showing everything and hiding analyzed rows. - Delete, everywhere: single-row and bulk delete from the dashboard, and a Delete button on the upload's own page too — all routed through the same custom on-screen confirmation modal (no native browser
confirm()). - Copy feedback: every copy button (paste view and dashboard bulk-copy) and the new bulk Mark-as-analyzed action flash green with a checkmark on success, instead of a silent text swap.
- Back to admin: a one-click icon button on every upload's page returns to a fresh dashboard — handy right after deleting or toggling analyzed on the upload you were viewing.
- Rows and forms auto-deselect once a bulk action (mark or copy) completes, so the toolbar always reflects "done" instead of leaving a stale selection.
Fixes
updatePasteMetano longer risks losing or duplicating a paste's metadata under concurrent writes (e.g. two quick toggles of the analyzed flag).- Pastes uploaded before this release (missing the new
analyzedfield) are read asfalseinstead ofundefined. - Fixed a double-escaping bug in the paste view's Delete confirmation message that broke the entire inline script in production — silently disabling Copy, Mark/Unmark as analyzed, and Delete together. Added a regression test that actually parses the emitted script instead of only checking for substrings.
- Fixed the paste-view copy button reading
event.currentTargetafter anawait(alwaysnullby then per spec), which silently skipped the copy-success flash. - Synced the frontpage's footer with the server-rendered pages' footer (License link, product-page link were missing).
Docs
- README documents the full admin feature set and the optional
AGENT_API_TOKENenvironment variable. - Added a license reference (AGPL-3.0) and a link to logdrop's official page in the footer, on every page.
Full Changelog: v1.0.0...v1.1.0
v1.0.0
logdrop is a generic, self-hostable, PrivateBin-style plain-text drop-off: anyone can upload text (or a .txt file) with no account, and only an allow-listed set of maintainer emails can ever read an upload back, via a magic-link login. Uploads expire automatically after a configurable retention window.
Built on TanStack Start + React 19 + Bun, with Vercel Blob for storage (no database required), Resend for magic-link emails, Cloudflare Turnstile for abuse mitigation, and Vercel Cron for automatic retention cleanup.
This is the first tagged release, marking the app as it stood before a follow-up release adds an agent-facing read API, an "analyzed" triage flag, stronger copy feedback, and a custom delete-confirmation modal.
What's Changed
- chore(deps): bump the dependencies group with 2 updates by @dependabot[bot] in #1
New Contributors
- @dependabot[bot] made their first contribution in #1
Full Changelog: https://github.com/Marvellous-Codeworks/logdrop/commits/v1.0.0