Releases: gabe565/transsmute
Releases · gabe565/transsmute
v1.6.0
Same code, smaller binary: This release improves dead code elimination during build, reducing binary size by over 6 MiB.
Changelog
Features
- a5ca912 feat(docker): Add
filter
query parameter - b13729d feat(kemono,youtube): Format
---
as a horizontal rule
Fixes
- 6dce96d fix(feed): Remove
Last-Modified
header sinceETag
is more reliable - 270a1ea fix(youtube): Fix
http
URLs changed tohttps
- 25f6098 fix(youtube): Improve hashtag detection
- 552ebf8 fix(youtube): Use
https
embed URL - 8689af3 perf(html): Optimize HTML utils by using string builders
- c348065 perf(youtube): Add fast case for hashtag and timestamp formatters
- ed33be3 perf: Add
grpcnotrace
build tag to shrink binary size - 35a071b perf: Change to a faster templating engine
Others
- f1ff952 chore(docker): Pin dockerfile version to major tag
- a6c732f chore(html): Move YouTube HTML utils to its package
- 2ad14a4 chore(youtube): Add funcs for URL generation and timestamp parsing
- 106cdd7 chore(youtube): Simplify HTML template functions
- 63c83a8 ci(goreleaser): Download dependencies before starting builds
Dependencies
v1.5.2
Changelog
Fixes
- e506c14 fix(docker): Set
org.opencontainers.image.source
label - 3630553 fix(kemono): Fix tags sometimes failing to parse
- 2874ea1 perf(kemono): Cancel the upstream request when a creator is found
Others
- 5c6e327 chore(goreleaser): Disable Windows armv7 build
- f012b70 chore(kemono): Clean up
pages
param parsing logic - 07928fd chore(kemono): Only add post query params if they have a value
Dependencies
v1.5.1
Changelog
Features
- 3b3b106 feat(youtube): Add query param to limit the number of entries
Fixes
- 97dc2d3 fix(docker): Fix
as
->AS
warning - a263f94 fix(docker): Include invalid repo name errors in response
Others
- 56c504c chore(docker): Remove repo normalization since the newer library handles it
- d6fee7f chore(docker): Remove unused API and token URL functions
- 8ed607b chore(docker): Rename GoReleaser Dockerfile to fix file type detection [skip ci]
- 17b8611 chore(goreleaser): Update archive format syntax
- 76bd02e chore(youtube): Fix channel variable names
- e588691 chore(youtube): Rename
no_iframe
param tono_embed
Dependencies
- 3471b14 chore(deps): update docker/dockerfile docker tag to v1.13 (#146)
- 0e59a4c chore(deps): update gabe565.com/utils digest to f306fa7 (#152)
- 572dd8a chore(deps): update go to v1.24.0 (#148)
- 3add02e chore(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to v2.13.0 (#156)
- 6291f95 chore(deps): update module github.com/go-chi/chi/v5 to v5.2.1 (#153)
- 679d102 chore(deps): update module github.com/google/go-containerregistry to v0.20.3 (#157)
- ead393b chore(deps): update module github.com/google/go-github/v66 to v69 (#159)
- 1887383 chore(deps): update module github.com/spf13/cobra to v1.9.1 (#160)
- 63ea225 chore(deps): update module golang.org/x/sync to v0.11.0 (#149)
- 5637958 chore(deps): update module golang.org/x/text to v0.22.0 (#150)
- 1d75b08 chore(deps): update module google.golang.org/api to v0.221.0 (#151)
- 900b2a2 chore(deps): update module mvdan.cc/xurls/v2 to v2.6.0 (#155)
v1.5.0
Changelog
Features
- 89a64cf feat(kemono): Add username endpoint
- 1fefdc8 feat(youtube): Add channel username/handle endpoints
Fixes
- 6946717 fix(docker): Improve docker repo hostname matching
- 42257dd fix(docker): Improve error handling
- dc30b48 fix(kemono): Improve error handling
Others
- 4b0d96a chore(cmd): Replace command options with cobrax library
- 3c2a094 chore(deps): Add enumer as versioned dependency [skip ci]
- 12159bc chore(deps): update docker/dockerfile docker tag to v1.11 (#140)
- 1485502 chore(deps): update go to v1.23.3 (#135)
- a2cf612 chore(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to v2.12.0 (#144)
- 5543e91 chore(deps): update module github.com/google/go-github/v63 to v66 (#142)
- 532ec97 chore(deps): update module github.com/masterminds/sprig/v3 to v3.3.0 (#138)
- 1b33b8c chore(deps): update module google.golang.org/api to v0.209.0 (#136)
- e2aed74 chore(feed): Remove feed format text functions
- a3ef20f chore(feed): Simplify feed middleware
- 98579c3 chore(goreleaser): Update deprecated field
name_template
toversion_template
- 324784f chore(kemono): Change user name endpoint to be case insensitive
- 4058f3a chore: Change import path to
gabe565.com/transsmute
- 9e6c256 chore: Silence usage on error, print errors using logger
v1.4.0
Changelog
Breaking Changes
- 26130a1 chore(twitter)!: Remove Twitter provider
Features
- 21633c0 feat(kemono): Add Kemono handler
- 0789d6e feat(cmd): Add Cobra for better cli tooling
- 389944a feat(cmd): Add
--version
flag - d2c1fe7 feat(feed): Set
ETag
header - 0ad3f4f feat(feed): Set
Last-Modified
header - 56c16c7 feat(kemono): Add
pages
query param - 20eea89 feat(kemono): Add
q
query param - d4895b8 feat(kemono): Add
tag
query param - 2802c8f feat(kemono): Add ability to pull extra attachment info
- 20f049b feat(kemono): Add attachment video player
- 3ecfd99 feat(kemono): Add creator image
- 4e6ed46 feat(kemono): Add podcast endpoint
- 9859a80 feat(kemono): Add source filenames to attachments
- d14b3a5 feat(kemono): Add tags listing
- 56b9c17 feat(kemono): Add title attribute to attachment images
- a47cb08 feat(kemono): Filter duplicate attachments
- 4dc4277 feat(server): Add graceful shutdown
- 2d6cf86 feat(server): Add heartbeat endpoint
- 605d798 feat(youtube): Add feed author name
- 6231a46 feat(youtube): Add support for emails in descriptions
- cbba513 feat(youtube): Set feed created and updated dates
- 5dbe393 feat: Add
robots.txt
to disallow indexing - b7c4e7f chore(kemono)!: Change URL param from creator name to ID
Fixes
- 2b43f1b fix(docker): Use URL builder
- 063c002 fix(feed): Fix feed extension not being parsed correctly
- 47e4a3d fix(feed): Fix icon missing from Atom and JSON feeds
- 77605d1 fix(kemono): Check upstream HTTP response codes
- 7413195 fix(kemono): Fix feed timestamp values
- 09685e5 fix(kemono): Fix feed updated date
- c954004 fix(kemono): Fix file field being ignored
- 2ebf34c fix(kemono): Fix podcast pub date not changing when a post is edited
- 6568f32 fix(server): Remove
/
directory listing - 89c7efb fix(youtube): Fix multiple URLs, hashtags, or timestamps causing broken HTML
- 10e913d fix(youtube): Improve description URL replacement
- ef5db05 fix(youtube): Preserve original link text
- 8b730dc fix(youtube): Use URL builder
- d43bcd1 fix(youtube, docker): Sort feed items in descending order
- 371407e perf(docker): Replace description template with string concatenation
- d2cf739 perf(kemono): Add creator cache
- 2fb22bc perf(kemono): Drain creator response asynchronously after finding a match
- 5c4e846 perf(kemono): Optimize attachment type checks when building podcast feed
- b8605fc perf(youtube): Create YouTube client during startup
- 1e72f4e perf(youtube): Grow slice before appending items
- d31cf9d perf(youtube): Remove templating when enhancing description
- 47e265f perf: Remove feed build dates to improve caching
Others
- 4705e1b chore(cmd): Clean up versioning logic
- 87608bf chore(cmd): Log version on startup
- 6135680 chore(cmd): Update command usage and description strings
- 5c1fd11 chore(deps): Update indirect dependencies
- 7306276 chore(deps): update alpine docker tag to v3.20 (#116)
- 288263e chore(deps): update docker/dockerfile docker tag to v1.7 (#83)
- 0f3cb66 chore(deps): update docker/dockerfile docker tag to v1.9 (#123)
- 6413ec0 chore(deps): update go to v1.22.3 (#78)
- 0b5fd0b chore(deps): update go to v1.22.4 (#120)
- 0df7f51 chore(deps): update go to v1.22.6 (#129)
- 0a60e95 chore(deps): update golangci/golangci-lint-action action to v4
- 3804489 chore(deps): update golangci/golangci-lint-action action to v5
- 835dcd6 chore(deps): update golangci/golangci-lint-action action to v6
- c1e9b66 chore(deps): update goreleaser/goreleaser-action action to v6
- 8038a7c chore(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to v2.11.0 (#85)
- 40fd24d chore(deps): update module github.com/go-chi/chi/v5 to v5.0.12 (#81)
- 74fd8f4 chore(deps): update module github.com/go-chi/chi/v5 to v5.1.0 (#127)
- 8a56af8 chore(deps): update module github.com/google/go-containerregistry to v0.20.2 (#125)
- f46b20d chore(deps): update module github.com/google/go-github/v58 to v62 (#115)
- 32d3134 chore(deps): update module github.com/google/go-github/v62 to v63 (#131)
- 1b93b5a chore(deps): update module github.com/gorilla/feeds to v1.2.0 (#126)
- e042f48 chore(deps): update module github.com/spf13/viper to v1.19.0 (#117)
- 934b8bd chore(deps): update module golang.org/x/text to v0.16.0 (#119)
- 7fc0a11 chore(deps): update module golang.org/x/text to v0.17.0 (#134)
- 7df6fe5 chore(deps): update module google.golang.org/api to v0.182.0 (#76)
- ccdeee5 chore(deps): update module google.golang.org/api to v0.183.0 (#121)
- 9e60d12 chore(deps): update module google.golang.org/api to v0.191.0 (#124)
- f6af023 chore(docker): Change base image to distroless
- e1546af chore(docker): Move registry list to handler func param
- d4adca0 chore(docker): Remove duplicate author field
- 1889eab chore(feed): Use
http.ServeContent
to write feed contents - 17606bd chore(feed):
OutputFormat
->Format
- ea1e57e chore(goreleaser): Add breaking changes to changelog generation
- 1b02e0b chore(goreleaser): Set config version to v2
- c0efd03 chore(kemono): Add custom type for time parsing
- 7d1db3f chore(kemono): Add func to generate attachment info URL
- 7265437 chore(kemono): Change
Time
to a struct - 1fbfd51 chore(kemono): Clean up created and updated dates
- 6ad1b6e chore(kemono): Clean up handler code by moving logic to receiver funcs
- 421d56d chore(kemono): Move attachment URL generation out of template
- 24de37d chore(kemono): Move creator cache out of post handler
- 62949bf chore(kemono): Retain original attachment order
- bc3df56 chore(kemono): Return
nil
creator if failed - aac3dd1 chore(kemono): Simplify post API URL generation
- 4b63f29 chore(kemono): Simplify post URL generation
- 71b8dbe chore(kemono): Skip "Content" heading if empty
- 0e29623 chore(kemono): Use URL builder for creator API endpoint
- 9b584c2 chore(server): Only attempt to set feed type for feed endpoints
- 6644dca chore(server): Simplify file server creation
- 1727660 chore(youtube): Check slice len instead of nil
- 2933dd7 chore(youtube): Disable telemetry
- d2d546c chore(youtube): Move context from struct field to func param
- 73cc039 chore(youtube): Move iframe param to struct field
- 3060b95 chore(youtube): Pass context to meta funcs
- d2419a0 chore(youtube): Rename
disable_iframe
param tono_iframe
- 675325d chore(youtube): Simplify hashtag regexp
- dff08f6 chore(youtube): Use
time.Duration
when computing timestamp links - 968ad27 chore(youtube):
sort.Slice
-> `slices.SortStabl...
v1.3.0
v1.2.2
Changelog
Fixes
- 1a16551 fix(deps): update module github.com/go-chi/chi/v5 to v5.0.11 (#73)
- 488fe58 fix(deps): update module github.com/spf13/viper to v1.18.2 (#67)
- 6cc95e1 fix(deps): update module google.golang.org/api to v0.155.0 (#65)
Others
- 2906356 chore(deps): update actions/setup-go action to v5
- c8a9f1f chore(deps): update actions/upload-artifact action to v4
- 85fa6ea chore(deps): update alpine docker tag to v3.19 (#69)
- c0fc9fa chore(deps): update docker/dockerfile docker tag to v1.6 (#64)
- ae14803 chore(deps): update github/codeql-action action to v3
- e4b98b1 chore(deps): update go to v1.21.6 (#74)
v1.2.1
Changelog
Fixes
- 532a830 ci(codeql): Install Go version in go.mod to fix autobuild
- d88a510 fix(deps): update github.com/n0madic/twitter-scraper digest to 2967107 (#61)
- 526e175 fix(deps): update github.com/n0madic/twitter-scraper digest to 652b5b5 (#58)
- 2761abb fix(deps): update module github.com/gorilla/feeds to v1.1.2 (#62)
- 0db66cf fix(deps): update module google.golang.org/api to v0.150.0 (#59)
Others
v1.2.0
Changelog
Fixes
- cce07a6 fix(deps): update github.com/n0madic/twitter-scraper digest to 1d28e43 (#54)
- 15c96e5 fix(deps): update module github.com/spf13/viper to v1.17.0 (#56)
- 90b5006 fix(deps): update module google.golang.org/api to v0.146.0 (#47)
Others
- a0dc47f ⬆️ Bump github.com/docker/distribution (#41)
- 9a9d1f1 ⬆️ Bump golang.org/x/net from 0.14.0 to 0.17.0 (#57)
- d592614 ⬆️ Update actions/setup-go action to v4
- 283c05a ⬆️ Update github.com/n0madic/twitter-scraper digest to 1045955 (#35)
- 2c47458 ⬆️ Update github.com/n0madic/twitter-scraper digest to 94503a2 (#38)
- 096d7f9 ⬆️ Update go to 1.21 (#45)
- bb56097 ⬆️ Update golang Docker tag to v1.21 (#46)
- 346f08e ⬆️ Update module github.com/go-chi/chi/v5 to v5.0.10 (#44)
- cc9176c ⬆️ Update module github.com/sirupsen/logrus to v1.9.3 (#42)
- d36be9d ⬆️ Update module github.com/spf13/viper to v1.16.0 (#43)
- ddaacff ⬆️ Update module google.golang.org/api to v0.136.0 (#37)
- 9854fc0 ⬆️ Update module mvdan.cc/xurls/v2 to v2.5.0 (#39)
- 0e5b183 🎨 Format code with gofumpt
- a95ce2d 🐛 (feed): Buffer feed in case of error
- d9bf0b8 🐛 (template): Fix hashtag not transformed into link if at beginning
- 1323ad2 🥅 (template): Continue on error
- 935a2c0 🔒 (template): Ensure template functions are adequately escaped
- ecdcded 📌 (dockerfile): Pin alpine to v3.18
- 5fa3fa4 ✨ (feed): Set Content-Type header
- 03a50a9 🚚 (template): Rename var
- 51e09f7 ✅ (template): Add template func tests
- cc28b2b 🔧 (ci): Add
-trimpath
flag - 8f5fa3e 🔧 (pre-commit): Replace go-fmt with go-fumpt
- ec7a9b7 ⚡ (ci): Build in parallel with lint and tests to improve CI speed
- 25cee69 ⚡ (template): Compile regex once during startup
- da289fb chore(deps): update actions/checkout action to v4
- 68eedfe chore(deps): update actions/checkout digest to 8ade135
- ca7cbdc chore(deps): update docker/login-action action to v3
- 87a878f chore(deps): update docker/setup-buildx-action action to v3
- 5eb35b6 chore(deps): update docker/setup-qemu-action action to v3
- 253128e chore(deps): update goreleaser/goreleaser-action action to v5
- 7f51e1e chore(goreleaser): Add changelog groups
- ac6706f chore(goreleaser): Update changelog filters for semantic commits
- bd4303b ci: Unpin actions/checkout digest
- 34e58b1 ci: Update actions/setup-go cache due to default value change