Highlights
- Added OpenAI-compatible vision description provider support, originally contributed by @SirEdvin in #153.
- Added app-wide model provider settings for choosing local or OpenAI-compatible cloud generation.
- Made image description generation durable through Solid Queue so failed attempts can be retried cleanly.
- Added E2E and integration coverage, plus an optional live OpenAI smoke workflow gated by
OPENAI_API_KEY. - Fixed and rebuilt multi-arch Docker image publishing for AMD64 and ARM64.
Contributor Thanks
Thanks to @SirEdvin for kicking off this release with the original OpenAI-compatible provider contribution in #153. The release was expanded through follow-up PRs to cover provider selection UX, queue durability, live smoke testing, and Docker image publishing fixes.
Docker Images
Multi-arch images are available for Linux AMD64 and ARM64:
ghcr.io/neonwatty/meme_search:v2.1.0ghcr.io/neonwatty/image_to_text_generator:v2.1.0
The latest tags have also been refreshed.
What's Changed
- Simplify release workflow - skip Docker builds by @neonwatty in #146
- Update README for new_memes directory instructions by @augmentedagent in #149
- Update Discord invite link by @neonwatty in #151
- Add GitHub Pages landing page by @neonwatty in #152
- feat: add OpenAI-compatible vision descriptions by @SirEdvin in #153
- fix: make image description generation attempts durable by @neonwatty in #154
- test: add provider settings and OpenAI generation coverage by @neonwatty in #155
- ci: add manual OpenAI live smoke workflow by @neonwatty in #156
- fix: align app image build context by @neonwatty in #157
- fix: publish app image as multi-arch manifest by @neonwatty in #158
- chore: prepare v2.1.0 release by @neonwatty in #159
New Contributors
- @augmentedagent made their first contribution in #149
- @SirEdvin made their first contribution in #153
Full Changelog: v2.0.2...v2.1.0