Mediumcore
Mediumcore is a new difficulty option that is designed to be more difficult than regular survival, but far less punishing than vanilla's Hardcore Mode. It can be selected on level creation (and for server operators, setting "mediumcore=true" in server.properties).
Mediumcore also is a game rule that can be set with the command /gamerule mediumcoreMode true on pre-existing worlds. Mediumcore mode being active is indicated by a unique look of the hearts in the ingame HUD.
How it works
The only significant change mediumcore has over default survival is that each death decreases the maximum available health a player can regenerate. The player looses a heart of max health per death, until they only have 3 hearts of health left. At this point, they will not loose anymore and can continue to play the game in their hobbled, feeble state.
Luckily, this punishment isn't permanent - if you're willing to do what it takes to get your hearts back. Consuming a Golden Apple or Enchanted Golden Apple will grant you one of your missing hearts, along with the usual effects of consuming these foods.
Configurability
Mediumcore is very configurable, and most options can be changed in mediumcore-common.toml in the config folder. These options include features such as a default set starting health for new players, the minimum and maximum possible health in the game mode, how much health is lost or regenerated from foods, whether Mediumcore is the default game mode, and more.
The items that regenerate max health are determined by item tag mediumcore:restores_max_health and can be changed or expanded with a data pack.