Skip to content

Releases: Muetze42/hellofresh-database

v3.15.0

26 Jan 21:32
78d504f

Choose a tag to compare

Added

  • Published Status Tracking - Track which recipes are currently published on HelloFresh

    • New published field in API responses (replaces variant field)
    • Published statistics in portal dashboard showing published vs unpublished recipe counts
    • Filter "Hide Archived" to show only currently published recipes
  • Unpublished Recipe Notice - Warning callout on recipe detail pages when recipe is no longer available on HelloFresh

Changed

  • Variant Display Logic - Improved variant relationships on recipe detail pages

    • Variant recipes now show all sibling variants plus the original recipe
    • Previously only showed direct children for canonical recipes
  • HelloFresh Links - Links to HelloFresh website now only shown for published recipes (previously hidden for variants)

Removed

  • Variant Filter - Removed "Hide Variants" filter as it's replaced by published status tracking
  • Variant API Field - Removed variant field from API responses (use canonical_id to identify variants)
  • Canonical Recipe Notice - Removed "Based on Canonical Recipe" callout from recipe detail pages

What's Changed

  • feat(recipe): add is_published attribute to recipes by @Muetze42 in #276
  • feat(models): integrate activity logging with LogsModificationsTrait by @Muetze42 in #277
  • feat(recipes): replace variant logic with published status and update filtering, API responses, and statistics by @Muetze42 in #278

Full Changelog: v3.14.1...v3.15.0

v3.14.1

26 Jan 19:33
0297e6a

Choose a tag to compare

  • Variant Filter Logic - Recipe variants are now shown by default with an option to hide them (previously hidden by default)
    • Renamed filter from "Show Canonical Recipes" to "Hide Variants" for better clarity
    • Users see all recipes including variants unless they explicitly enable the hide filter

What's Changed

  • refactor(variants): replace canonical logic with variant attributes across codebase and update statistics, filtering, and API responses by @Muetze42 in #265
  • feat(auth): add password reset functionality by @Muetze42 in #267
  • feat(job): optimize menu sync by disabling recipe fetch and adding unique job constraints by @Muetze42 in #268
  • feat(queue): adjust retry strategy for jobs in Horizon config by @Muetze42 in #269
  • feat(ui): add multi-language icon and update region select layout by @Muetze42 in #272
  • fix(recipes): cast getPage result to int in getSharePage for type consistency by @Muetze42 in #274
  • refactor(filters): replace Show Canonical Recipes logic with Hide Variants and update references by @Muetze42 in #275

Full Changelog: v3.14.0...v3.14.1

v3.14.0

25 Jan 09:47
0f2d0a2

Choose a tag to compare

  • Filter Share Links - Share current filter settings via URL
    • Share button on Recipes and Random Recipes pages
    • Shareable links preserve all active filters (ingredients, tags, allergens, difficulty, time ranges, etc.)

What's Changed

  • chore: fix bullet indentation in CHANGELOG for consistency by @Muetze42 in #260
  • Development by @Muetze42 in #261
  • feat(filter-share): implement filter sharing functionality across pages by @Muetze42 in #263
  • feat(recipe): add variant attribute to recipes by @Muetze42 in #264

Full Changelog: 3.13.0...v3.14.0

3.13.0

25 Jan 02:48
0bc797c

Choose a tag to compare

  • Recipe Variants - Support for recipe variants
    • Recipe variants are hidden by default, with a filter option to show them
    • Recipe pages show relationships: variants link to the original, originals list all variants
    • Portal statistics now include variant metrics
    • API now includes the canonical ID for each recipe

What's Changed

  • Development by @Muetze42 in #217
  • chore(ci): add conditional workflow execution for forked pull requests by @Muetze42 in #218
  • chore(ci): switch code coverage to pcov and disable Node.js steps in workflow by @Muetze42 in #219
  • chore(ci): add timeout for tests job in workflow by @Muetze42 in #220
  • chore(sys): disable pnpm check in system requirements by @Muetze42 in #221
  • chore: remove phpmd.xml ruleset configuration file by @Muetze42 in #222
  • chore(portal): consolidate resource index views into a single dynamic component by @Muetze42 in #225
  • chore(portal): refine email verification handling and update view structures by @Muetze42 in #226
  • chore(portal): integrate media support for user avatars in admin views by @Muetze42 in #227
  • chore(app): add fallback handling for translatable fields and simplify name resolution in stats views by @Muetze42 in #229
  • chore(stats): replace raw DB queries with Eloquent relationships in top stats methods by @Muetze42 in #230
  • docs: Add Stackshare link to README by @Muetze42 in #232
  • fix(controller): replace file_get_contents with HTTP client for image requests by @Muetze42 in #234
  • chore(deps): bump Laravel framework, Horizon, and Pulse dependencies in composer.json by @Muetze42 in #235
  • chore(deps): bump Tailwind, Laravel, Livewire, and related dependencies in package.json and composer.json by @Muetze42 in #243
  • fix(components): add localized layout attribute to Livewire components by @Muetze42 in #244
  • fix(job): add canonical recipe syncing in ImportRecipeJob by @Muetze42 in #245
  • chore(schedule): reorder and add pruning commands for queues and expired verifications by @Muetze42 in #257
  • refactor(job): set retry limit to 1 for recipe and menu sync jobs by @Muetze42 in #258
  • feat: add recipe variant support with filtering and statistics by @Muetze42 in #259

Full Changelog: 3.12.0...3.13.0

3.12.0

10 Jan 14:20
f56d185

Choose a tag to compare

Portal Resources

  • Browse and search all recipe resources
  • Dedicated pages for Ingredients, Allergens, Tags, Labels, Cuisines, and Utensils
  • Cached recipe counts for performance

What's Changed

  • feat(portal): add resource browsing pages with cached recipe counts by @Muetze42 in #215

Full Changelog: v3.11.0...3.12.0

v3.11.0

07 Jan 19:22
74eb025

Choose a tag to compare

User Avatars

  • Users can now upload a profile picture
  • Avatar displayed in navigation menus (sidebar and header)
  • Preparation for upcoming features

What's Changed

  • fix(ui): improve admin sidebar group expansion logic by @Muetze42 in #202
  • refactor(flags): replace custom country flag logic with flag-icons library by @Muetze42 in #203
  • fix(ui): remove redundant text size class from <x-flag> in region selector by @Muetze42 in #206
  • Development by @Muetze42 in #208
  • chore(deps): update composer dependencies to latest versions by @Muetze42 in #209
  • Development by @Muetze42 in #212
  • feat(avatar): implement avatar upload, update, and removal functionality by @Muetze42 in #213
  • Development by @Muetze42 in #214

Full Changelog: v3.10.1...v3.11.0

v3.10.1

04 Jan 18:52
4d70769

Choose a tag to compare

What's Changed

  • feat(tags): enhance clickable tag behavior with icons and button semantics by @Muetze42 in #175
  • feat(tags): add loader icon to tags with wire:loading state by @Muetze42 in #176
  • feat(statistics): add users by country metric with grouped data display by @Muetze42 in #177
  • Development by @Muetze42 in #178
  • feat(menus): add legacy menu import command and enhance menu year display by @Muetze42 in #179
  • fix(recipes): remove unnecessary search reset in clearFilters method by @Muetze42 in #180
  • Development by @Muetze42 in #181
  • Development by @Muetze42 in #182
  • refactor(jobs): split ActivateCountryResourcesJob into individual resource activation jobs by @Muetze42 in #183
  • refactor(portal): reorganize statistics into dedicated pages with improved navigation by @Muetze42 in #184
  • refactor(validation): add unique name rule and enforce DNS check for email by @Muetze42 in #185
  • refactor(portal): update grid layouts and add spacing adjustments in stats views by @Muetze42 in #186
  • docs(readme): update API portal description for clarity and remove redundant Reddit text in links section by @Muetze42 in #187
  • fix(api): update filtering logic to use tag and label IDs instead of slugs by @Muetze42 in #188
  • refactor(middleware): reorganize directory structure and add RequestContextMiddleware by @Muetze42 in #189
  • feat(testing): add feature test suite for RecipeController API by @Muetze42 in #190
  • feat(legal): add terms of use and update privacy policy for community features by @Muetze42 in #193
  • fix(recipes): return 404 when recipe is accessed from wrong country context by @Muetze42 in #194
  • fix(api): ensure type-safe ID-based filtering for tags and labels in RecipeController by @Muetze42 in #196
  • fix(ui): improve label and layout alignment for privacy policy in forms and footer by @Muetze42 in #197
  • test: enhance coverage and refactor test cases for better alignment with updated features by @Muetze42 in #198
  • feat(api): add FormRequest validation for all API controllers by @Muetze42 in #199
  • docs: update guidelines to emphasize critical request validation by @Muetze42 in #200
  • feat(pulse): add Laravel Pulse with dedicated Redis and database connections by @Muetze42 in #201

Full Changelog: v3.10.0...v3.10.1

v3.10.0

03 Jan 13:51
648219b

Choose a tag to compare

Clickable Tags - Tags on recipe cards can now be clicked to filter recipes

  • Toggle setting in header menu under "Display Settings"
  • Active tags are highlighted in green with a checkmark
  • Works on Recipes, Random Recipes, and Menu pages
  • Setting is stored in browser localStorage

What's Changed

  • feat(statistics): include ingredient country codes and flags in top ingredients table by @Muetze42 in #165
  • feat(data-maintenance): add ingredient name cleanup command by @Muetze42 in #166
  • feat(statistics): include country codes and flags in top tags and cuisines by @Muetze42 in #167
  • refactor(statistics): centralize caching and computations with StatisticsService by @Muetze42 in #168
  • fix(statistics): replace constructor injection with method-based `Sta… by @Muetze42 in #169
  • feat(tags): add clickable tag filters and toggleable display settings by @Muetze42 in #170
  • feat(recipes): add allergen exclusion filter to related recipes query by @Muetze42 in #171
  • feat(data-maintenance): add command to merge duplicate allergens by @Muetze42 in #172
  • feat(data-maintenance): add command to cleanup duplicate tags by @Muetze42 in #173
  • feat(users): add country column with sorting and flags in User Index by @Muetze42 in #174

Full Changelog: v3.9.0...v3.10.0

v3.9.0

03 Jan 05:12
ffac752

Choose a tag to compare

  • Portal Statistics - Comprehensive database statistics dashboard
    • Global stats: Total recipes, ingredients, menus, and countries
    • Recipe quality metrics: PDFs available, missing images, missing nutrition info
    • User engagement: Registered users, recipe lists, saved recipes
    • Top 10 lists: Most used ingredients, tags, and cuisines
    • Monthly recipe trend: Recipes added per month over the last 12 months
    • Average prep times by country
    • Difficulty distribution with visual progress bars
    • Recently added recipes overview
  • Enhanced Country Statistics - Sortable table with country flags, localized names, supported locales, and PDF recipe counts

What's Changed

  • feat(recipes): add validation for recipe difficulty range by @Muetze42 in #158
  • feat(statistics): add "recipes with PDF" column and backend support by @Muetze42 in #159
  • feat(statistics): add sorting functionality to country stats table by @Muetze42 in #160
  • feat(statistics): add country name, locales, and flags to stats table by @Muetze42 in #161
  • refactor(statistics): modularize statistic views and enhance data insights by @Muetze42 in #162
  • chore(changelog): update for v3.9.0 with new portal and country statistics features by @Muetze42 in #163
  • fix(markdown): update FluxRenderer link rendering for consistency and improved styling by @Muetze42 in #164

Full Changelog: v3.8.1...v3.9.0

v3.8.1

02 Jan 22:33
1a80067

Choose a tag to compare

What's Changed

  • feat(support): add user ID display and multilingual translations for support requests by @Muetze42 in #154
  • feat(portal): add Changelog section to sidebar and routes by @Muetze42 in #155
  • feat(portal): add Changelog viewer with markdown rendering by @Muetze42 in #156
  • refactor: optimize min max slider by @Muetze42 in #157

Full Changelog: v3.8.0...v3.8.1