1. The Farmer Was Replaced
  2. News

The Farmer Was Replaced News

Editor Update

-Code windows are now scrollable.
-Added code highlights to visualize the call stack.
-You can now search all windows with ctrl + F.
-If an error happens in a window that is completely off screen the camera will move to it.
-The code autocomplete is now more fuzzy and inserting autocomplete words with Enter works better.
-There is now a warning icon that pops up when a warning is emitted to make it more visible.
-To better support external editors that don't automatically pick up on the `__builtins__.py` file, importing from that file can now already be done before unlocking the import feature.
-The Undo and Redo history is now per window instead of global.
-Autocomplete suggestions work better with imports now.
-Green is back in the syntax color.

-Fixed a bug that mixed leaderboard runs with the main simulation.
-Fixed growtimes not being updated when watering grassland.
-Fixed the UI issue that was caused by trailing spaces in file names.
-Fixed unindent problems with the "tabs to spaces" option.
-Infecting bushes by using 1 weird substance after upgrading the maze now works.
-Fixed item numbers rounding wrong in some cases.
-Typing in values in slider options in the menu has been fixed.
-Fixed the broken "error_not_a_function" error.
-Fixed a bunch of error messages that showed up in the wrong place.

Added Translations

-Added a language setting with 12 languages.
-Various improvements to the documentation.
-`measure(None)` is now allowed and equivalent to `measure()`.

Function call cost fix

Fixed a bug that caused function calls with parameters that should have been free to take 1 tick instead.

Small Update

-`from file import *` no longer imports variable names starting with an underscore.
-All import statements are now free (take 0 ticks).
-Added a special error message if a function is used before it's defined.
-Added a special error message when importing filenames with invalid characters.

Import Cost Changes

This update fixes some issues with the number of simulation ticks spent on imports.
-`from file import` now costs 1 tick.
-`import file` is still free.
-Reading from a module like `y = file.x` is now free as long as the variable `file` has been assigned by an import statement. This is analogous to functions being free as long as they have been directly assigned by a def statement, and prevents exploits that abuse the dynamic nature of modules to do completely free computations.
-Writing to modules like `file.x = y` now costs the same as reading from them.
-`def` and `import` statements inside an `if`, `while` or `for` block no longer make the functions/modules they create free, because this could also be used to do free computations.

-Fixed importing into local scope.