Hello,

If you’re at this page, you might be interested in trying out the public beta for Stardew Valley 1.6.9 on Steam.
We’re doing a low-key public beta so that we can hopefully find any last bugs that might be in the patch, as well as give modders some lead time to update their mods for 1.6.9 before the update goes totally public.
This isn’t a huge content patch… but there some good bug fixes, quality-of-life changes, technical updates, and under-the-hood stuff that might be of interest to modders.
However, whether you are a modder, speedrunner, or just a humble Stardew Valley enjoyer, your testing and bug reports are very much appreciated.

If you do encounter any bugs, please report them to the official forum.

Thank you for your continued support!

-Ape


To join the beta:
1. Right click Stardew Valley in your library

2. Select Properties

3. Select the “Betas” tab

4. Under “Private Betas”, type  stardewvalley169

5. Press the “Check Code” button.

6. Click the dropdown menu next to “Beta Participation”, and select “Beta”.

Stardew Valley should then update to the 1.6.9 beta. Enjoy

Please note, if you save a farm in 1.6.9, you will no longer be able to load it in 1.6.8. Backing up your save files is recommended.


NOTE: The development and release of this patch does not have any effect on the timeline of the console and mobile ports. However, the features of this patch are planned to be available in the console/mobile ports upon initial release. Thank you for your continued patience.

 

The following patch notes were compiled by Pathoschild (who also did a lot of the work on this update)

New content & features

 

  • Sam and Shane now have work portraits while working at JojaMart.

Balance changes

 

  • You can no longer take damage while jumping down a mine shaft before the screen fades to black.
  • You can now buy another advanced iridium rod from Willy’s shop after unlocking it.
  • Wearing two thorns rings now deals double damage.
  • Monsters killed by a thorns ring now drop loot like regular kills.
  • Son of Crimsonfish can now be caught during the night market.
  • Robin no longer constructs buildings during green rain in year 1.
  • Placing a bomb and then switching to a weapon no longer applies its enchantments to the bomb damage.
  • Fixed exploit where a fish pond with a golden cracker could produce unlimited output. Fish pond output bonuses are now applied once when the output is created.
  • Fixed unintended extra chance of spontaneous green rain trees when loading a save in fall.

Quality of life changes

 

  • When a save is broken or corrupted, the game now auto-recovers it from a backup if possible.
  • Fish ponds now show the number of roe or other output items to collect.
  • The wedding event now replays if you exit & reload the day.
  • Colored items like flowers now also sort by color. That avoids items being reordered randomly each time you sort your inventory.
  • You can now only sell books to the bookseller via the book purchase menu, not the trade-in menu. This reduces the chance of accidentally selling a book when trying to trade it in.
  • The collections tab now shows artifacts/gems/minerals once they’re donated to the museum, instead of as soon as you find one.
  • Clint now refills your watering can when upgrading it.
  • Tweaked save process to reduce the chance of corruption.
  • Anvils no longer accept parrot eggs if you can’t re-roll their level yet.
  • When buying animals or buildings with a controller, you can now use the D-pad to move the cursor.
  • Performance optimizations.

Technical changes

 

  • Migrated from FAudio to OpenAL, which should improve performance when playing audio.
  • Updated FAudio from 21.7.0 to 22.9.1 (used for playing music and sound effects).
  • Updated SDL from 2.0.x to 2.30.4 (used for input and windowing).
  • Fixed compatibility with newer Windows systems when using some older GPUs.

Gameplay fixes

 

  • You can no longer swap a chest’s type if the new type is too small to store its current items.
  • NPC fixes:
    • NPCs no longer avoid passable terrain features like flooring and grass when pathfinding.
    • Fixed kicking Krobus out of the house triggering divorce dialogues.
    • Fixed Leo following his island schedule after moving to the mainland.
    • Fixed a Lewis schedule where he would overlap Marnie.
    • Fixed Pierre sometimes showing a closed-on-Wednesday dialogue after his shop hours are extended.
    • Fixed mom or dad sending duplicate mail if you change gender later.
    • Fixed some dialogue based on location + heart level only being shown if you have 10 or more hearts with the NPC.
    • Fixed special NPC gift reaction dialogue sometimes not matching their gift taste (e.g. Willy giving a positive dialogue for triple shot espresso). All gift dialogues based on context tags are now restricted to matching gift tastes.
    • Fixed unable to talk to Robin after accepting a house upgrade.
    • Fixed incorrectly split dialogue in Linus’ 50-friendship-point event.
    • Fixed NPCs unable to pathfind through tiles that had a tent at the start of the day.
    • Fixed NPCs not loading their green rain dialogue if you started the day on the island.
    • Fixed your fiancée/spouse reacting to a mermaid’s pendant as if you’re engaged/married to someone else.
  • UI fixes:
    • Fixed world map not always showing players at the right spot when they’re inside a constructed building.
    • Fixed pagination in powers tab when mods add more powers.
    • Fixed issues when resizing the game window:
      • advanced game options layout being messed up;
      • collections page losing its selected tab and page;
      • social page losing its scroll position.
    • Fixed dresser tabs not being selectable with a controller.
  • Fixed building upgrades not placing interior items (like the coop incubator) if…
    • furniture is in the way. The furniture is now moved just like other objects.
    • an item blocking placement can’t be moved. It’s now moved into the lost & found in that case.
  • Fixed pre-1.6 saves sometimes losing the Dwarvish Translation Guide.
  • Fixed pre-1.6 farmhand stats not migrated correctly. The fix is retroactive for affected farmhands.
  • Fixed pre-1.6 tubs o’ flowers never blooming again if their first day in 1.6 was in fall or winter.
  • Fixed bug where using the standard farm’s wallpaper/flooring in farmhouses of another farm type would reset them to that farm’s themed defaults.
  • Fixed raccoon bundle accepting anything for preserve items.
  • Fixed grass in Marnie’s cow field never regrowing.
  • Fixed crab pots not producing double catches correctly with wild bait.
  • Fixed crab pots duplicating bait when loaded by a hopper.
  • Fixed chest color getting reset when you swap chest type.
  • Fixed able to dig up buried treasure from non-diggable tiles in some cases.
  • Fixed deluxe bait and wild bait bonuses not applied to crab pot output in some cases.
  • Fixed magic quiver trinket sometimes doing nothing if both a valid and invalid target are in range.
  • Fixed level requirement for farmer titles lowered by one in 1.6.
  • Fixed able to leave Stardew Valley Fair’s festival area in odd years.
  • Fixed geode crushers incrementing the ‘geodes crushed’ stat when hovering, which allowed unintended RNG manipulation.
  • Fixed tents not blocking item placement.
  • Fixed strange behavior of shop items with both a stock limit and stack size (e.g. items in several desert festival shops).
  • Fixed edge case where trying to collect output from some machines while your inventory is full would reset some machine state as if you’d collected it.
  • Fixed edge cases where viewing a previous year’s secret santa letter in the collections tab would show the current year’s secret santa in the game menu during the Feast of the Winter Star week.
  • Fixed the throw-item-into-shipping-bin animation drawing the base uncolored sprite for colored items like roe.
  • Fixed issue where fences are destroyed on click when surrounded by impassable objects on three sides (above + left + right) instead of four as intended.
  • Fixed crash when loading a save file with invalid or missing options.
  • Fixed some cat gifts applying fishing bonuses from the main player’s equipped fishing rod.
  • Fixed forest fish no longer catchable on the four corners farm.
  • Fixed Willy’s bait barrel missing during night market.

Multiplayer fixes

 

  • Fixed being able to steal another player’s roommate.
  • Fixed farmhands able to claim multiple Desert Festival fishing quests per day.
  • Fixed NPC duplication in multiplayer fish derbies.
  • Fixed crab pots & farm animals owned by an offline farmhand checking the main player’s professions instead.
  • Fixed crab pots with no owner checking professions from the main player instead of the player adding bait.
  • Fixed some multiplayer logic not handling an offline/invalid player correctly.
  • Fixed some potential ‘null reference exception’ crashes in multiplayer code.
  • Fixed crab pots with no owner checking the Mariner profession instead of Luremaster for the bait requirement in some cases.
  • Fixed Willy not sending fishing rod mail to farmhands who join after spring 2.

Display text and localization fixes

 

  • Fixed a huge number of translation issues for non-English players, and added automated tests to keep translations more in sync going forward. For example, this fixes…
    • dialogue/event changes in 1.6 which weren’t applied in some languages;
    • missing dialogues and event actions;
    • missing, outdated, or incorrect translations;
    • missing event preconditions (e.g. Leah’s 10-heart event could play on a rainy day in some languages);
    • events playing the wrong music, not being skippable, or placing players or NPCs at the wrong spot;
    • translations having different dialogue portraits/breaks/etc;
    • conversation topics not started when something happens;
    • various errors and typos;
    • and many other issues.
  • Many improvements and fixes to translations and sprites.
  • Fixed some bad words being produced by the random name generator.
  • Fixed Hay pluralized as Haies.
  • Fixed special order objectives not re-translated when the language changes. (This fix only applies to new special orders going forward.)
  • Fixed some languages showing Willy’s back room invite mail as “???” in the collections tab.
  • Fixed some languages having inconsistent hat hide-hair behavior.
  • Fixed some languages producing items with a different internal name.
  • Fixed French players not seeing prismatic effect for Magic Cowboy Hat and Magic Turban.
  • Fixed French and Japanese showing “needs 5 coal” for the dehydrator.
  • Fixed Russian club coin and slots offset issues.
  • Fixed Russian Joja movie theater tilesheet not showing up.
  • Fixed Russian tool tooltips having overlapped names.
  • Fixed Spanish jukebox showing blank name for ‘Ginger Island’ song.
  • Fixed capitalization in raccoon stump hint.
  • Fixed missing space in slay-slime quest text.

Cosmetic fixes

 

  • Added lights to Marcello’s book stand.
  • Sam now changes uniform when he enters JojaMart, instead of only when he reaches his work tile.
  • Fixed many bugs related to light sources (e.g. lights stuck on screen, shown in the wrong location, removed before they should be, etc).
  • Fixed issues with the golden walnut & Qi gem drop-down display:
    • Added support for showing both at once (e.g. another player finds a golden walnut while you’re in the Qi gem shop).
    • Fixed display sometimes stuck on screen permanently.
    • Fixed display showing the wrong type in some cases.
    • Fixed display sometimes appearing in multiplayer when the value didn’t change.
  • Fixed line wrapping for movie concession description tooltips.
  • Fixed visual glitch during the even-year Spirit’s Eve if you have the Joja movie theater.
  • Fixed issue with padding on the edge of maximized game windows on Windows.
  • Fixed a shirt that looked weird.
  • Fixed tooltip display issues, like an empty space for edible items that don’t recover any stamina/health (like sweet pea and crocus) or unintended double space in tooltip buff names.
  • Fixed missing shadows behind some colored items (like wine) in menus.
  • Fixed texture wrapping issue with Joja door.
  • Fixed glitched hidden emote animations in NPC profile menu in some cases. NPCs now use always their default sprite in the profile view.
  • Fixed red slime item sprite drawn one pixel lower than other colors.
  • Fixed Krobus showing a gift icon for the void ghost pendant when he can’t accept it.
  • Fixed the item-received message cutting off part of the item name if it contains a # character (like ‘Tropical Fish #173’).
  • Fixed the item-received message sometimes showing no or wrong count.
  • Fixed some farm animals having double shadows.
  • Fixed stardrop tooltips showing incorrect health/energy recovery amounts.

Other bug fixes

 

  • Fixed issues/crashes with controller support.
  • Fixed gamepad issues on the new game screen.

Changes for modded players

 

  • Added a Content/ContentHashes.json file containing the MD5 hash for every vanilla content asset.
  • Improved debug console commands:
    • All debug commands now validate their arguments.
    • Improved error-handling in many cases.
    • Added debug worldMapPosition console command, which shows detailed info to help troubleshoot Data/WorldMap positioning data.
    • Removed debug buildCoop command (now replaced by debug build coop).
    • debug build is now case-insensitive, and now lists fuzzy matches if the building type doesn’t have an exact match.
    • debug event‘s dontClearEvent option (default false) is now clearEventsSeen (default true), and no longer treats any value as true.
    • debug furniture now allows non-numeric furniture IDs.
    • debug item‘s item ID argument is now required.
    • debug mineLevel now has a second argument for the specific mine layout to use (like debug mineLevel 101 47).
    • debug setUpFarm‘s clearMore argument no longer treats any value as true.
    • debug warpCharacterTo‘s facing direction is now its own argument, instead of accidentally using the tile Y value.
    • Fixed debug commands for crops not affecting those in garden pots. This affects debug growCropsspreadSeeds, and water.
  • When you leave a horse/mount in a temporary location, it now returns home when that location is removed.
  • Fixed various errors when custom items have no name.
  • Fixed error when mods apply audio changes if there’s no audio device available.
  • Fixed error if a geode crusher produces a non-object item like a hat.
  • Fixed error if there are no movies available due to a mod bug. The game will now log a warning and choose from the full list of movies instead.
  • Fixed crash if a farm animal is in a broken building or location.
  • Fixed mod data getting reset on chest type swap.
  • Fixed berry bushes showing wrong sprite in locations where seeds can be planted in any season.
  • Fixed stardrop gift reaction dialogue for custom NPCs defaulting to some raw data instead of their loved dialogue.
  • Fixed triggered actions being logged twice.

Changes for mod authors

 

  • Added new dialogue keysgame state queriesdebug commandsextensions for case-insensitive string comparisonsC# utility fields/methods, and C# constants.
  • Added new fields in many data assets.
  • Added generic support for receiving recipe items from any source.
  • Added Game1.locationData, which provides a cached view of Data/Locations.
  • Error messages related to argument parsing (e.g. in debug commands, dialogue, event commands, map properties, etc) now also show a human-readable argument name. For example, “required index 0 not found” now shows something like “required index 0 (string itemId) not found“.
  • Any item type can now be shipped, subject to its item.canBeShipped() method.
  • Trinkets are now more moddable:
    • Added CustomFields and ModData data fields for mod use. These replace the former TrinketMetadata field.
    • Added data fields to configure the locations/monsters ignored by magic quivers.
    • Added error handling for some invalid data.
    • For C# mods, added a new namespace and code docs, made more code public, renamed fields for clarity, etc.
    • Fixed Trinket.getOne() not copying trinker fields.
    • Fixed TrinketEffect.GenerateRandomStats() not updating the description correctly if valled again after its constructor.
  • In item data:
    • Merged translations for 1.6 items from Strings/1_6_Strings into Strings/BigCraftables and Strings/Objects.
    • Fixed ancient dolls not having the doll_item context tag.
  • In machine data:
    • Fixed DROP_IN_PRESERVE not working in the PreserveId field.
    • Fixed CopyColor doing nothing if the input isn’t a ColoredObject; it now defaults to the color from its context tags.
    • Fixed wild honey producing invalid item names when using tokens like DROP_IN_PRESERVE or %PRESERVED_DISPLAY_NAME.
    • Fixed quality modifiers ignored for entries with CopyQuality.
  • In pet data:
    • The Gifts list now supports item spawn fields (including conditions and item quality/color/name/etc). The previous QualifiedItemID and Stack fields are now deprecated, but content packs which set them should still work.
  • For game state queries:
    • Fixed HAS_TARGET_LOCATION always returning true.
    • Fixed PLAYER_HAS_ITEM counting Qi gems owned by the main player instead of the target player.
  • For dialogue:
    • When using the $y dialogue command, you can now escape asterisks (* is still a dialogue break, but ** is now shown as a single literal asterisk).
    • Fixed $action dialogue command not working after a #$b# break.
    • Fixed empty dialogue box shown if a command is between #$b# breaks.
  • For events:
    • Fixed move command ignoring all remaining NPCs if an optional NPC isn’t found.
    • Fixed speak command ending the event if an optional NPC isn’t found.
  • Overhauled tool translations:
    • Unified their names/descriptions from Strings/StringsFromCSFiles + Strings/1_6_Strings into a new Strings/Tools asset, with readable keys like Axe_Description.
    • Each tool upgrade now has its own translation (like “Gold Axe”), instead of generic ones like “Gold {0}” which were hard to translate well. This removes the ApplyUpgradeLevelToDisplayName field in Data/Tools.
  • For C# mods:
    • Added a new Game1.GetPlayer method, which deprecates the old getFarmer and getFarmerMaybeOffline methods.
    • Added screen reader fields.
    • In Data/MachinesOutputMethod C# methods now get the player interacting with the machine too (if any). Unfortunately this is a breaking change for C# mods which have custom OutputMethod methods.
    • Item data is now loaded earlier, so mods can use it when loading other assets (e.g. to check item context tags when generating location fish).
    • The Object.displayNameFormat field is now synced in multiplayer, to let mods create customized non-temporary items.
    • The default controller navigation in menus already auto-detected ClickableComponent values in public List<T> and some Dictionary<TKey, TValue> fields. That now works with any subclass of ClickableComponent and any combination of dictionary key/value types too.
    • You can now warp to a specific mine layout using the new forceLayout argument to Game1.enterMine or MineShaft.GetLevelName.
    • Fixed desert festival makeover not calling hat/clothing onEquip/onUnEquip methods.
    • Fixed location.playTerrainSound changing the sound based on the player’s current location instead of the location it’s called for.
    • Fixed some cases where you could call TriggerActionManager before it was fully initialized.
    • Fixed Object.OutputAnvil ignoring its probe argument.
    • Added more code docs.
    • Made more code public for mods.
  • Rewrote Game1.specialCurrencyDisplay. It can now handle and display multiple currencies at once, has constants and full code docs, and you no longer need to manually manage persistent display (e.g. while a menu is open).
  • Clamped the player’s daily luck to prevent a mine crash if it’s set to values far outside the normal range.
  • In generic item spawn fields, added Color to set the tint color.
  • Terrain sounds like footsteps now work in locations with the TreatAsOutdoors map property too.
  • Wild seeds now choose their output when they’re planted, so mods can predict their harvest.
  • Geode crushers now handle mystery boxes correctly if a mod enables them in geode crushers.
  • Tweaked powers tab code so mods can get the power ID for a slot.
  • Fixed cases where item names could be set to null. Trying to do so now defaults the name to Error Item instead.
  • Fixed StatIncrement fields in machine and farm animal data not using the specified ID.
  • Fixed spirit & custom torches switching to default torch sprite on purchase or stack split.
  • Fixed a Data/Pets turtle gift ID to match what it actually gifts (Radish -> SeafoamPudding).
  • Fixed Data/Characters appearance options not weighted correctly by default.
  • Fixed some friendship logic still checking for a Data/NPCGiftTastes entry, instead of the CanSocialize field in Data/Characters.
  • Fixed AllowWakeUpWithoutBed map property not working consistently.