I've not posted here in a while, but just had a new release. Evennia, the Python MU* creation system, is moving forward, now at version 4.0.0 (we follow semantic versioning).
Evennia 4.0.0
March 17, 2024
Major release. Check out for backwards-incompatible changes below.
Version updates
- Feature: Support Python 3.12 (Griatch). Currently supporting 3.10,3.11 and 3.12. Note that 3.10 support will be removed in a future release.
- Feature: Update evennia[extra] scipy dependency to 1.12 to support latest Python. Note that this may change which (equivalent) path is being picked when following an xyzgrid contrib pathfinding.
Backwards incompatible changes - Feature: Backwards incompatible: DefaultObject.get_numbered_name now gets object's name via .get_display_name for better compatibility with recog systems.
- Feature: Backwards incompatible: Removed the (#dbref) display from DefaultObject.get_display_name, instead using new .get_extra_display_name_info method for getting this info. The Object's display template was extended for optionally adding this information. This makes showing extra object info to admins an explicit action and opens up get_display_name for general use.
- Fix: (partly Backwards incompatible depending on your usage): DefaultObject.get_numbered_name used .name instead of
.get_display_name before, which broke recog systems.
New features
- Feature: Add ON_DEMAND_HANDLER.set_dt(key, category, dt) and .set_stage(key, category, stage) to allow manual tweaking of task timings, for example for a spell speeding a plant's growth (Griatch)
- Feature: Add ON_DEMAND_HANDLER.get_dt/stages(key,category, **kwargs), where the kwargs are passed into any stage-callable defined with the stages. (Griatch)
- Feature: Add use_assertequal kwarg to the EvenniaCommandTestMixin testing class; this uses django's assertEqual over the default more lenient checker, which can be useful for testing table whitespace (Griatch)
- Feature: New utils.group_objects_by_key_and_desc for grouping a list of objects based on the visible key and desc. Useful for inventory listings (Griatch)
- Feature: Add DefaultObject.get_numbered_name return_string bool kwarg, for only returning singular/plural based on count instead of a tuple with both (Griatch)
Bug and security fixes
- Fix Removed the @reboot alias to @reset to not mislead people into thinking you can do a portal+server reboot from in-game (you cannot) (Griatch)
- Fix: Refactor Clothing contrib's inventory command align with Evennia core's version (michaelfaith84, Griatch)
- Fix: Limiting search by tag didn't take search-string into account (Griatch)
- Fix: SSH connection caused a traceback in protocol (Griatch)
- Fix: Resolve a bug when loading on-demand-handler data from database (Griatch)
- Security: Potential O(n2) regex exploit in rpsystem regex (Griatch)
- Security: Fix potential redirect vulnerability in character page redirect (Griatch)
- Doc fixes (iLPdev, Griatch, CloudKeeper)