# v0.4.0 Whoa, What a Release!

**App Version: v0.4.0**

**Database Version: v0.4.0**

## Breaking Changes

!!! error "Breaking Changes"

    #### Database
    A new database will be created. You must export your data and then import it after upgrading.

    #### Site Settings
    With the addition of group settings and a re-write of the database layer of the application backend, there is no migration path for your current site settings. Webhooks Settings, Meal Plan Categories are now managed by groups. Site settings, mainly homepage settings, are now site specific and managed by administrators. When upgrading be sure to uncheck the settings when importing your old data. 

    #### ENV Variables
    Names have been changed to be more consistent with industry standards. See the [Installation Page](/mealie/getting-started/install/) for new parameters.  

## Bug Fixes
- Fixed Search Results Limited to 100 - #198
- Fixed recipes from marmiton.org not fully scrapped  - #196
- Fixed Unable to get a page to load - #194
- Fixed Recipe's from Epicurious don't upload. - #193
- Fixed Edited blank recipe in meal plan is not saved - #184
- Fixed Create a new meal plan allows selection of an end date that is prior to the start date - #183
- Fixed Original URL not saved to imported recipe in 0.3.0-dev - #183
- Fixed "IndexError: list index out of range" when viewing shopping list for meal plan containing days without a recipe selected - #178

## Features and Improvements

### General
  - Documentation Rewrite
  - [New Demo Site!](https://mealie-demo.hay-kot.dev/)
  - New Documentation
    - Landing Page
    - Custom Caddy Configuration
    - User Management 
    - Introduction
  - Updated Documentation
    - Everything!
  - The API Reference is now better embedded inside of the docs
  - New default external port in documentation (Port 9000 -> 9925). This is only the port exposed by the host to the docker image. It doesn't change any existing functionality. 

### User Authentication 
  - Authentication! Tons of stuff went into creating a flexible authentication platform for a lot of different use cases. Review the documentation for more information on how to use the authentication, and how everything works together. More complex management of recipes and user restrictions are in the works, but this is a great start! Some key features include
    - Sign Up Links
    - Admin and User Roles
    - Password Change
    - Group Management
    - Create/Edit/Delete Restrictions

### Custom Pages
  - You can now create custom pages that are displayed on the homepage sidebar to organize categories of recipes into pages. For example, if you have several categories that encompass "Entrée" you can group all those categories together under the "Entrée" page. See [Building Pages](/mealie/site-administration/building-pages/) for more information.
!!! tip 
    Note that this replaces the behavior of automatically adding categories to the sidebar.

### UI Improvements
  - Completed Redesign of the Admin Panel
    - Profile Pages
    - Side Panel Menu
  - Improved UI for Recipe Search
  - Language selector is now displayed on all pages and does not require an account

### Recipe Data
  - Recipe Database Refactoring. Tons of new information is now stored for recipes in the database. Not all is accessible via the UI, but it's coming.
    - Nutrition Information
      - calories
      - fatContent
      - fiberContent
      - proteinContent
      - sodiumContent
      - sugarContent
    - recipeCuisine has been added
    - "categories" has been migrated to "recipeCategory" to adhere closer to the standard schema
    - "tool" - a list of tools used for the recipe

### Behind the Scenes
  - Removed CDN dependencies
  - Database Model Refactoring
  - Import/Export refactoring
  - File/Folder Name Refactoring
  - Development is now easier with a makefile
  - Mealie is now a proper package using poetry 
  - Test refactoring
  - Test Coverage 83% up from 75%!
