Release 1.7.0: simplify the run, line endings, CI and fork strings #16

Merged
joeyr merged 1 commit from simplify-1.7.0 into main 2026-10-06 20:12:33 -05:00
Owner

Three simplifications from the 2026-10-06 review. See CHANGELOG 1.7.0.

  • Look up every new item on TMDB again and drop DisplayedItemIDs; build the HTML and plain-text parts from one pass (template.BuildNewMediaEmail). Seven fork edits to upstream files are reverted; the two TMDB enrichers match upstream again.
  • .gitattributes (as in mcp-gateway): LF checkouts, so the lint command needs no LF copy and the text template no CRLF strip.
  • CI drops its separate go vet (lint runs govet, all analyzers); the fork's own strings are English only, with their own "and".

Tested on an LF export of the staged tree: unit tests, gofmt + golangci-lint v2.14 (0 issues), and the integration test (-tags integration). The new logged-once test was checked against 1.6.0's two-call flow, which logs the match twice.

🤖 Generated with Claude Code

Three simplifications from the 2026-10-06 review. See CHANGELOG 1.7.0. - Look up every new item on TMDB again and drop `DisplayedItemIDs`; build the HTML and plain-text parts from one pass (`template.BuildNewMediaEmail`). Seven fork edits to upstream files are reverted; the two TMDB enrichers match upstream again. - `.gitattributes` (as in mcp-gateway): LF checkouts, so the lint command needs no LF copy and the text template no CRLF strip. - CI drops its separate `go vet` (lint runs govet, all analyzers); the fork's own strings are English only, with their own "and". Tested on an LF export of the staged tree: unit tests, gofmt + golangci-lint v2.14 (0 issues), and the integration test (`-tags integration`). The new logged-once test was checked against 1.6.0's two-call flow, which logs the match twice. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Simplify the run, line endings, CI and fork strings (1.7.0)
All checks were successful
CI / gate (pull_request) Successful in 55s
CI / lint (pull_request) Successful in 56s
CI / image (pull_request) Has been skipped
21202e0b23
Every new item is looked up on TMDB again. DisplayedItemIDs (1.0.4)
repeated the email build's filtering and sorting to look up only the
items the email shows. It was written for a week of 500 re-created
films; since 1.5.0's announced-items store those no longer count as
new, so it only saved a quick lookup per item past max_displayed_items.
Removing it reverts seven of the fork's edits to upstream files: the
stable sorts and cap checks in builder.go and the displayedIDs
parameter in both TMDB enrichers, which match upstream again.

The run builds the HTML and plain-text parts from one pass over the
items (template.BuildNewMediaEmail, which also compacts the HTML), so
upstream's BuildNewMediaEmailHTML is as upstream wrote it, and an
ignored_items match is logged once rather than once per part.

The fork's strings (the inbox preview line) are English only. go-i18n
falls back to English for a key a language lacks, so the nine other
fork.<lang>.toml files go; the line's "and" is now a fork key too, so
the fallback is never half translated.

.gitattributes (the same as mcp-gateway's) checks files out with LF
endings whatever core.autocrlf says. That removes the LF-copy step from
the lint command and the CRLF strip from the plain-text template. CI's
separate go vet step goes too: lint runs govet with every analyzer on.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
joeyr merged commit 60935f7dc6 into main 2026-10-06 20:12:33 -05:00
joeyr deleted branch simplify-1.7.0 2026-10-06 20:12:33 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
joeyr/jellyfin-newsletter!16
No description provided.