Skip to content

Releases: gabe565/transsmute

v1.6.0

03 Mar 08:56
6dce96d
Compare
Choose a tag to compare

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 since ETag is more reliable
  • 270a1ea fix(youtube): Fix http URLs changed to https
  • 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

  • a348e3d chore(deps): update gabe565.com/utils digest to ede73b1 (#166)
  • 16ae69d chore(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to v2.14.0 (#165)
  • 0e248f5 chore(deps): update module google.golang.org/api to v0.223.0 (#167)

v1.5.2

20 Feb 09:22
5c6e327
Compare
Choose a tag to compare

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

  • ea1edb4 chore(deps): Add code generation tools to dependency list
  • 69546f7 chore(deps): update gabe565.com/utils digest to 40f17d0 (#162)
  • 86c90dd chore(deps): update module github.com/google/go-github/v69 to v69.2.0 (#161)
  • 5e1892b chore(deps): update module google.golang.org/api to v0.222.0 (#163)

v1.5.1

17 Feb 04:24
5b06058
Compare
Choose a tag to compare

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 to no_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

22 Nov 09:29
324784f
Compare
Choose a tag to compare

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 to version_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

07 Aug 22:06
4705e1b
Compare
Choose a tag to compare

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 to no_iframe
  • 675325d chore(youtube): Simplify hashtag regexp
  • dff08f6 chore(youtube): Use time.Duration when computing timestamp links
  • 968ad27 chore(youtube): sort.Slice -> `slices.SortStabl...
Read more

v1.3.0

09 Feb 09:28
2906f1c
Compare
Choose a tag to compare

Changelog

Features

  • 8c1856f feat(docker): Add support for docker.io prefix
  • 48df25e feat(ghcr): Add support for GitHub app authentication

Fixes

  • 2906f1c fix(ghcr): Improve GitHub app token refresh

Others

  • 5c87218 chore(docker): Return 404 when registry is not found
  • 8d63daf chore(docker): Return registry status code when not successful
  • b2bf423 ci(goreleaser): Add trimpath flag
  • 912f35c ci: Push beta Docker tag during build
  • 018f20d ci: Use GitHub app for release authentication

v1.2.2

10 Jan 08:18
e4b98b1
Compare
Choose a tag to compare

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

08 Nov 08:20
796696d
Compare
Choose a tag to compare

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

  • 86c231b ⬆️ Bump google.golang.org/grpc from 1.58.2 to 1.58.3 (#60)
  • 796696d chore(deps): update go to v1.21.4 (#63)

v1.2.0

12 Oct 07:08
34e58b1
Compare
Choose a tag to compare

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

v1.1.1

15 Mar 03:16
a1d6b77
Compare
Choose a tag to compare

Changelog

  • a1d6b77 ⬆️ Update module google.golang.org/api to v0.112.0 (#34)
  • c072bb9 🎨 Clean up route prefix logic
  • ce624f8 🍱 (readme): Add icon
  • eceac51 📝 (readme): Add container registry bullet point
  • 75b677d ✨ (http): Add favicon