mirror of
https://github.com/evennia/evennia.git
synced 2026-03-16 21:06:30 +01:00
1921 lines
No EOL
191 KiB
HTML
1921 lines
No EOL
191 KiB
HTML
<!DOCTYPE html>
|
||
|
||
<html lang="en" data-content_root="../">
|
||
<head>
|
||
<meta charset="utf-8" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||
|
||
<title>Changelog — Evennia latest documentation</title>
|
||
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=d75fae25" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
|
||
<link rel="stylesheet" type="text/css" href="../_static/custom.css?v=e4a91a55" />
|
||
<script src="../_static/documentation_options.js?v=c6e86fd7"></script>
|
||
<script src="../_static/doctools.js?v=9bcbadda"></script>
|
||
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
|
||
<link rel="icon" href="../_static/favicon.ico"/>
|
||
<link rel="index" title="Index" href="../genindex.html" />
|
||
<link rel="search" title="Search" href="../search.html" />
|
||
<link rel="next" title="Evennia 1.0 Release Notes" href="Release-Notes-1.0.html" />
|
||
<link rel="prev" title="Setting up PyCharm with Evennia" href="Setting-up-PyCharm.html" />
|
||
</head><body>
|
||
<div class="related" role="navigation" aria-label="Related">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
accesskey="I">index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="Release-Notes-1.0.html" title="Evennia 1.0 Release Notes"
|
||
accesskey="N">next</a> |</li>
|
||
<li class="right" >
|
||
<a href="Setting-up-PyCharm.html" title="Setting up PyCharm with Evennia"
|
||
accesskey="P">previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" accesskey="U">Coding and development help</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Changelog</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<div class="document">
|
||
<div class="documentwrapper">
|
||
<div class="bodywrapper">
|
||
<div class="body" role="main">
|
||
|
||
<section class="tex2jax_ignore mathjax_ignore" id="changelog">
|
||
<h1>Changelog<a class="headerlink" href="#changelog" title="Link to this heading">¶</a></h1>
|
||
<section id="evennia-6-0-0">
|
||
<h2>Evennia 6.0.0<a class="headerlink" href="#evennia-6-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>Feb 15, 2026</p>
|
||
<ul class="simple">
|
||
<li><p>Feat (backwards incompatble): Drop Python 3.11 support (supported: Python 3.12, 3.13, 3.14 (req)). (Griatch)</p></li>
|
||
<li><p>Security: Django >=6.0.2 (<6.1), Django RestFramework 3.16 (Griatch)</p></li>
|
||
<li><p>Update: <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> contrib now requires scipy 1.15->1.17. Note: Pathfinding may pick different
|
||
shortest routes from before, due to private changes in scipy Dijkstra algorithm (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3599">Feat</a>: Make <code class="docutils literal notranslate"><span class="pre">at_pre_cmd</span></code> testable in unit tests (blongden)</p></li>
|
||
<li><p>[Fix]: API /openapi/setattribute endpoints were both POST and PUT, causing schema
|
||
errors; now changed to PUT only. (Griatch)</p></li>
|
||
<li><p>[Feat][issue2627]: Add <code class="docutils literal notranslate"><span class="pre">settings.AUDIT_MASKS</span></code> to customize what Evennia should
|
||
obfuscate in server error logs (such as passwords from custom login commands) (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3799">Fix</a>: Fix typo in <code class="docutils literal notranslate"><span class="pre">basic_tc.py</span></code> contrib for beginner tutorial (Tharic99)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3806">Fix</a>: EvMore wouldn’t pass Session to next cmd when exiting (gas-public-wooden-clean)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3809">Fix</a>: Admin page - Repair link to Account button (UserlandAlchemist)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3811">Fix</a>: Website login banner shows before login attempt (UserlandAlchemist)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3817">Fix</a>: <code class="docutils literal notranslate"><span class="pre">ingame_reports</span></code> i18n fix (peddn)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3818">Fix</a>: Update spawn hook to use <code class="docutils literal notranslate"><span class="pre">new_prototype</span></code> (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3815">Fix</a>: Performance improvement in large cmdset mergers (blongden)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3831">Fix</a>: Performance optimization in ANSIString, performance boost for large colored
|
||
strings (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3832">Fix</a>: Fix typo in prototype causing homogenized locks to use
|
||
fallbacks incorrectly (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3834">Fix</a>: Fix so <code class="docutils literal notranslate"><span class="pre">$obj(#123)</span></code> inline function works in prototype spawning (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3836">Fix</a>: Correctly handling calling <code class="docutils literal notranslate"><span class="pre">create_object</span></code> with <code class="docutils literal notranslate"><span class="pre">key=None</span></code> (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3852">Fix</a>: Django 5.2+ was not properly detected. Fixing distutils being
|
||
removed in py3.12 for new installs (count-infinity)</p></li>
|
||
<li><p>[Fix][pull3845]: Fix exponential ANSI markup explosions when slicing
|
||
ANSIString after reset (speeds up EvForm other string ops, fixes compatibility) (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3853">Fix</a>: Properly handle multimatch separations with native dashes, like
|
||
‘t-shirt-1’ (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3853">Fix</a>: Allow <code class="docutils literal notranslate"><span class="pre">CmdSetAttribute</span></code> to use categery, view dicts by key (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3858">Fix</a>: Fix parsing issues in dice contrib (Griatch)</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">Typeclass.objects.get_by_tag()</span></code> will now always convert tag keys/categories to integers, to
|
||
avoid inconsistencies with PostgreSQL databases (Griatch)</p></li>
|
||
<li><p>[Fix][issue3513]: Fixed issue where OnDemandHandler could traceback on an
|
||
un-pickle-able object and cause an error at server shutdown (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3649">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">:j</span></code> command in EvEditor would squash empty lines (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3560">Fix</a>: Tutorial QuestHandler failed to load after server restart (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3601">Fix</a>: <code class="docutils literal notranslate"><span class="pre">CmdSet.add(...,</span> <span class="pre">allow_duplicates=True)</span></code> didn’t allow duplicate cmd keys (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3194">Fix</a>: Make filtering on AttributeProperties consistent across typeclasses (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/2774">Fix</a>: Properly support <code class="docutils literal notranslate"><span class="pre">\n</span></code> in <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">connections</span></code> long descriptions (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3312">Fix</a>: Handle all edge cases breaking <code class="docutils literal notranslate"><span class="pre">monitor/monitored</span></code> <code class="docutils literal notranslate"><span class="pre">input_funcs</span></code> (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3154">Fix</a>: Persistent EvMenu caused multiple cmdsets on reload (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3193">Fix</a>: Formatting of inner nested evtable would break (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3082">Fix</a>: MXP linking broke EvTable formatting (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3693">Fix</a>: Using <code class="docutils literal notranslate"><span class="pre">|/</span></code> in EvTable broke padding (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3864">Fix</a>: Correctly use cached dijkstra results for XYZGrid (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3863">Fix</a>: <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> performance improvement in teleporter search (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3862">Fix</a>: <code class="docutils literal notranslate"><span class="pre">TraitHandler</span></code> typo/bug fixes (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3801">Doc</a>: Move Evennia doc build system to latest Sphinx/myST
|
||
(PowershellNinja, also honorary mention to electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3800">Doc</a>: Describe support for Telnet SSH in HAProxy documentation (holl0wstar)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3825">Doc</a>: Update Portuguese translation (marado)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3826">Doc</a>: Fix broken links in README (marado)</p></li>
|
||
<li><p>Docs: marado, Griatch, Hasna878, count-infinity</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-5-0-1">
|
||
<h2>Evennia 5.0.1<a class="headerlink" href="#evennia-5-0-1" title="Link to this heading">¶</a></h2>
|
||
<p>Jul 2, 2025</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3796">Fix</a>: Fix Django version minimum string being too picky, causing
|
||
confusing warning message on startup (Griatch)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-5-0-0">
|
||
<h2>Evennia 5.0.0<a class="headerlink" href="#evennia-5-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>Jul 1, 2025</p>
|
||
<p>Updated dependencies: Django >5.2 (<5.3), Twisted >24 (<25).
|
||
Python versions: 3.11, 3.12, 3.13.</p>
|
||
<p>This upgrade requires running <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">migrate</span></code> on your existing database
|
||
(ignore any prompts to run <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">makemigrations</span></code>).</p>
|
||
<ul class="simple">
|
||
<li><p>Feat (backwards incompatible): RUN MIGRATIONS (<code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">migrate</span></code>): Now requiring Django 5.1 (Griatch)</p></li>
|
||
<li><p>Feat (backwards incompatible): Drop support and testing for Python 3.10 (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3719">Feat</a>: Support Python 3.13. (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3633">Feat</a>: Default object’s default descs are now taken from a <code class="docutils literal notranslate"><span class="pre">default_description</span></code>
|
||
class variable instead of the <code class="docutils literal notranslate"><span class="pre">desc</span></code> Attribute always being set (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3718">Feat</a>: Remove twistd.bat creation for Windows, should not be needed anymore (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3756">Feat</a>: Updated German translation (JohnFi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3757">Feat</a>: Add more i18n strings to <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code> for easier translation (JohnFi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3783">Feat</a>: Support users of <code class="docutils literal notranslate"><span class="pre">ruff</span></code> linter by adding compatible config in <code class="docutils literal notranslate"><span class="pre">pyproject.toml</span></code> (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3777">Feat</a>: New contrib <code class="docutils literal notranslate"><span class="pre">debugpy</span></code> for debugging Evennia with in VSCode with <code class="docutils literal notranslate"><span class="pre">debugpy</span></code> adapter (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3795">Feat</a>: Support evennia launcher for use with <code class="docutils literal notranslate"><span class="pre">uv</span></code> installation (TehomCD)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3677">Fix</a>: Make sure that <code class="docutils literal notranslate"><span class="pre">DefaultAccount.create</span></code> normalizes to empty
|
||
strings instead of <code class="docutils literal notranslate"><span class="pre">None</span></code> if no name is provided, also enforce string type (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3682">Fix</a>: Allow in-game help searching for commands natively starting
|
||
with <code class="docutils literal notranslate"><span class="pre">*</span></code> (which is the Lunr search wildcard) (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3684">Fix</a>: Web client stopped auto-focusing the input box after opening settings (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3689">Fix</a>: Partial matching fix in default search, makes sure e.g. <code class="docutils literal notranslate"><span class="pre">b</span> <span class="pre">sw</span></code> uniquely
|
||
finds <code class="docutils literal notranslate"><span class="pre">big</span> <span class="pre">sword</span></code> even if another type of sword is around (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3690">Fix</a>: In searches, allow special ‘here’ and ‘me’ keywords only be valid queries
|
||
unless current location and/or caller is in valid search candidates respectively (InspectorCaracal)</p></li>
|
||
<li><p>[Fix][pull3694]: Funcparser swallowing rest of line after a <code class="docutils literal notranslate"><span class="pre">\</span></code>-escape (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3705">Fix</a>: Properly serialize <code class="docutils literal notranslate"><span class="pre">IntFlag</span></code> enum types (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3707">Fix</a>: Correct links in <code class="docutils literal notranslate"><span class="pre">about</span></code> command (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3710">Fix</a>: Clean reduntant session clearin in <code class="docutils literal notranslate"><span class="pre">at_server_cold_start</span></code> (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3711">Fix</a>: Usability improvements in the Discord integration (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3721">Fix</a>: Avoid loading cmdsets that don’t need to be checked, avoiding
|
||
a performance hit for loading cmdsets in rooms with a lot of objects (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3688">Fix</a>: Made TutorialWorld possible to build cleanly without being a superuser (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3687">Fix</a>: Fixed batchcommand/interactive with developer perms (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3723">Fix</a>: Bug in <code class="docutils literal notranslate"><span class="pre">ingame-map-display</span></code> contrib when using ordinal alises (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3726">Fix</a>: Fix Twisted v25 issue with returnValue()</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3729">Fix</a>: Godot client text2bbcode mxp link conversion error (ChrisLR)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3737">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">--gamedir</span></code> command didn’t properly set the alt gamedir (Russel-Jones)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3739">Fix</a>: Fixing f-string in <a class="reference external" href="http://account.py">account.py</a> for i18n (JohnFi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3744">Fix</a>: Fix for format strings not getting picked up in i18n (JohnFi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3743">Fix</a>: Log full stack trace on failed object creation (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3747">Fix</a>: TutorialWorld bridge-room didn’t correctly randomize weather effects (SpyrosRoum)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3765">Fix</a>: Storing TickerHandler <code class="docutils literal notranslate"><span class="pre">store_key</span></code> in a db attribute would not
|
||
work correctly (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3753">Fix</a>: Make sure <code class="docutils literal notranslate"><span class="pre">AttributeProperty</span></code>s are initialized with default values also in parent class (JohnFi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3751">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">access</span></code> and <code class="docutils literal notranslate"><span class="pre">inventory</span></code> commands would traceback if run on a character without an Account (EliasWatson)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3768">Fix</a>: Make sure the <code class="docutils literal notranslate"><span class="pre">CmdCopy</span></code> command copies object categories,
|
||
since otherwise plurals were lost (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3788">Fix</a>: <code class="docutils literal notranslate"><span class="pre">GLOBAL_SCRIPTS.all()</span></code> raised error (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3790">Fix</a>: Fix migration issue due to new db init-check code in launcher (Griatch)</p></li>
|
||
<li><p>[Fix][issue3794]: Make sure to pass <code class="docutils literal notranslate"><span class="pre">move_type</span></code> kwarg to <code class="docutils literal notranslate"><span class="pre">at_pre_object_receive|leave</span></code> hooks (Griatch)</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">options</span></code> setting <code class="docutils literal notranslate"><span class="pre">NOPROMPTGOAHEAD</span></code> was not possible to set (Griatch)</p></li>
|
||
<li><p>Fix: Make <code class="docutils literal notranslate"><span class="pre">\\</span></code> properly preserve one backlash in funcparser (Griatch)</p></li>
|
||
<li><p>Fix: The testing ‘echo’ inputfunc didn’t work correctly; now returns both args/kwargs (Griatch)</p></li>
|
||
<li><p>Fix: When an object was used as an On-Demand Task’s category, and that object was then deleted,
|
||
it caused an OnDemandHandler save error on reload. Will now clean up on save. (Griatch)
|
||
used as the task’s category (Griatch)</p></li>
|
||
<li><p>Fix: Correct aws contrib’s use of legacy django string utils (Griatch)</p></li>
|
||
<li><p>[Docs]: Fixes from InspectorCaracal, Griatch, ChrisLR, JohnFi, electroglyph, jaborsh, Problematic, BlaneWins</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-5-0">
|
||
<h2>Evennia 4.5.0<a class="headerlink" href="#evennia-4-5-0" title="Link to this heading">¶</a></h2>
|
||
<p>Nov 12, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3634">Feat</a>: New contrib for in-game <code class="docutils literal notranslate"><span class="pre">storage</span></code> of items in rooms (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3636">Feat</a>: Make <code class="docutils literal notranslate"><span class="pre">cpattr</span></code> command also support Attribute categories (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3653">Feat</a>: Updated Chinese translation (Pridell).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3635">Fix</a>: Fix memory leak in Portal Telnet connections, force weak
|
||
references to Telnet negotiations, stop LoopingCall on disconnect (a-rodian-jedi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3626">Fix</a>: Typo in <code class="docutils literal notranslate"><span class="pre">defense_type</span></code> in evadventure tutorial (feyrkh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3632">Fix</a>: Made fallback permissions on be set correctly (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3639">Fix</a>: Fix <code class="docutils literal notranslate"><span class="pre">system</span></code> command when environment uses a language with
|
||
commas for decimal points (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3645">Fix</a>: Correct <code class="docutils literal notranslate"><span class="pre">character_creator</span></code> contrib’s error return (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3640">Fix</a>: Typo fixes for conjugate verbs (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3647">Fix</a>: Contents cache didn’t reset internal typecache on use of <code class="docutils literal notranslate"><span class="pre">init</span></code> hook (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3627">Fix</a>: Traceback from contrib <code class="docutils literal notranslate"><span class="pre">in-game</span> <span class="pre">reports</span></code> <code class="docutils literal notranslate"><span class="pre">help</span> <span class="pre">manage</span></code> command (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3643">Fix</a>: Fix for Commands metaclass interpreting e.g. <code class="docutils literal notranslate"><span class="pre">usercmd:false()</span></code> locks as
|
||
a <code class="docutils literal notranslate"><span class="pre">cmd:</span></code> type lock for the purposes of default access fallbacks (Griatch).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3651">Fix</a>: EvEditor <code class="docutils literal notranslate"><span class="pre">:j</span></code> defaulted to ‘full’ justify instead of ‘left’ as
|
||
was documented (willmofield)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3657">Fix</a>: Fix error in <code class="docutils literal notranslate"><span class="pre">do_search</span></code> that caused <code class="docutils literal notranslate"><span class="pre">FileHelpEntries</span></code> to
|
||
traceback (a-rodian-jedi)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3660">Fix</a>: Numbered aliases didn’t refresh after a object rename unless
|
||
the endpoint hook was re-called; now triggers the call autiomatically (count-infinity)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3664">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">Account.last_login</span></code> field was updated also when user
|
||
disconnected, which is not useful (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3665">Fix</a>: Remove faulty verb conjugation exceptions for ‘offer’,
|
||
‘hinder’ and ‘alter’ in automatic verb-conjugation engine (aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3669">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">page</span></code> command tracebacked for some input combinations (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3642">Fix</a>: Give friendlier error if EvMore object is not available
|
||
neither on Object, nor on account fallback. (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3655">Docs</a>: Fixed many erroneously created links on <code class="docutils literal notranslate"><span class="pre">file.py</span></code> names in
|
||
the docs (marado)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3576">Docs</a>: Rework doc for <a class="reference external" href="https://www.evennia.com/docs/latest/Coding/Setting-up-PyCharm.html">Pycharm howto</a></p></li>
|
||
<li><p>Docs updates: feykrh, Griatch, marado, jaborsh</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-4-1">
|
||
<h2>Evennia 4.4.1<a class="headerlink" href="#evennia-4-4-1" title="Link to this heading">¶</a></h2>
|
||
<p>Oct 1, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3629">Fix</a>: Reverting change of default Sqlite3 PRAGMA settings, changing them for
|
||
existing database caused corruption of db. For empty db, can still change in
|
||
<code class="docutils literal notranslate"><span class="pre">SQLITE3_PRAGMAS</span></code> settings. (Griatch)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-4-0">
|
||
<h2>Evennia 4.4.0<a class="headerlink" href="#evennia-4-4-0" title="Link to this heading">¶</a></h2>
|
||
<p>Sep 29, 2024</p>
|
||
<blockquote>
|
||
<div><p>WARNING: Due to a bug in the default Sqlite3 PRAGMA settings, it is
|
||
recommended to not upgrade to this version if you are using Sqlite3.
|
||
Use <code class="docutils literal notranslate"><span class="pre">4.4.1</span></code> or higher instead.</p>
|
||
</div></blockquote>
|
||
<ul class="simple">
|
||
<li><p>Feat: Support <code class="docutils literal notranslate"><span class="pre">scripts</span> <span class="pre">key:typeclass</span></code> to create global scripts
|
||
with dynamic keys (rather than just relying on typeclass’ key) (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3595">Feat</a>: Tweak Sqlite3 PRAGMAs for better performance (electroglyph)</p></li>
|
||
<li><p>Feat: Make Sqlite3 PRAGMAs configurable via settings (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3592">Feat</a>: Revised German locationlization (‘Du’ instead of ‘Sie’,
|
||
cleanup) (Drakon72)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3541">Feat</a>: Rework main Object searching to respect partial matches, empty
|
||
search now partial matching all candidates, overall cleanup (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3588">Feat</a>: New <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code> hooks: <code class="docutils literal notranslate"><span class="pre">at_object_post_creation</span></code>, called once after
|
||
first creation but after any prototypes have been applied, and
|
||
<code class="docutils literal notranslate"><span class="pre">at_object_post_spawn(prototype)</span></code>, called only after creation/update with a prototype (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3594">Fix</a>: Update/clean some Evennia dependencies (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3556">Fix</a>: Better error if trying to treat ObjectDB as a typeclass (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3590">Fix</a>: Make <code class="docutils literal notranslate"><span class="pre">examine</span></code> command properly show <code class="docutils literal notranslate"><span class="pre">strattr</span></code> type
|
||
Attribute values (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3519">Fix</a>: <code class="docutils literal notranslate"><span class="pre">GLOBAL_SCRIPTS</span></code> container didn’t list global scripts not
|
||
defined explicitly to be restarted/recrated in <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> (Griatch)</p></li>
|
||
<li><p>Fix: Passing an already instantiated Script to <code class="docutils literal notranslate"><span class="pre">obj.scripts.add</span></code> (<code class="docutils literal notranslate"><span class="pre">ScriptHandler.add</span></code>)
|
||
did not add it to the handler’s object (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3533">Fix</a>: Fix Lunr search issues preventing finding help entries with similar
|
||
names (chiizyjin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3603">Fix</a>: Fix of client header for LLM contrib for remote APIs (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3605">Fix</a>: Correctly pass node kwargs through <code class="docutils literal notranslate"><span class="pre">@list_node</span></code> decorated evmenu nodes
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3597">Fix</a>: Address timing issue for testing <code class="docutils literal notranslate"><span class="pre">new_task_waiting_input</span> </code>on
|
||
Windows (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3611">Fix</a>: Fix and update for Reports contrib (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3625">Fix</a>: Lycanthropy tutorial page had some issues (feyrkh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3622">Fix</a>: Fix for examine command tracebacking with strvalue error
|
||
(aMiss-aWry)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3612">Fix</a>: Make sure help entries’ <code class="docutils literal notranslate"><span class="pre">subtopic_separator_char</span></code> is
|
||
respected (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3624">Fix</a>: Setting tags with integer names caused errors on postgres (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3615">Fix</a>: Using <code class="docutils literal notranslate"><span class="pre">print()</span></code> in <code class="docutils literal notranslate"><span class="pre">py</span></code> caused an infinite loop (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3620">Fix</a>: Better handle TaskHandler running against an attribute that
|
||
was removed since last reload (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3616">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">color</span> <span class="pre">ansi</span></code> command output was broken (Griatch)</p></li>
|
||
<li><p>Fix: Extended the <code class="docutils literal notranslate"><span class="pre">color</span> <span class="pre">truecolor</span></code> display with usage examples. Also updated docs (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3591">Docs</a>: Fix of NPC reaction tutorial code (Griatch)</p></li>
|
||
<li><p>Docs: Tutorial fixes (Griatch, aMiss-aWry, feyrkh)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-3-0">
|
||
<h2>Evennia 4.3.0<a class="headerlink" href="#evennia-4-3-0" title="Link to this heading">¶</a></h2>
|
||
<p>Aug 11, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3531">Feat</a>: New contrib; <code class="docutils literal notranslate"><span class="pre">in-game</span> <span class="pre">reports</span></code> for handling user reports,
|
||
bugs etc in-game (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3586">Feat</a>: Add ANSI color support <code class="docutils literal notranslate"><span class="pre">|U</span></code>, <code class="docutils literal notranslate"><span class="pre">|I</span></code>, <code class="docutils literal notranslate"><span class="pre">|i</span></code>, <code class="docutils literal notranslate"><span class="pre">|s</span></code>, <code class="docutils literal notranslate"><span class="pre">|S</span></code> for
|
||
underline reset, italic/reset and strikethrough/reset (electroglyph)</p></li>
|
||
<li><p>Feat: Add <code class="docutils literal notranslate"><span class="pre">Trait.traithandler</span></code> back-reference so custom Traits from the Traits
|
||
contrib can find and reference other Traits. (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3582">Feat</a>: Add true-color parsing/fallback for ANSIString (electroglyph)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3571">Fix</a>: Better visual display of partial multimatch search results
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3578">Fix</a>: Prototype ‘alias’ key was not properly homogenized to a list
|
||
(Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3550">Fix</a>: Issue where rpsystem contrib search would do a global instead
|
||
of local search on multimatch (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3585">Fix</a>: <code class="docutils literal notranslate"><span class="pre">TagCmd.switch_options</span></code> was misnamed (erratic-pattern)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3580">Fix</a>: Fix typo that made <code class="docutils literal notranslate"><span class="pre">find/loc</span></code> show the wrong dbref in result (erratic-pattern)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3589">Fix</a>: Fix regex escaping in <code class="docutils literal notranslate"><span class="pre">utils.py</span></code> for future Python versions (hhsiao)</p></li>
|
||
<li><p>[Docs]: Add True-color description for Colors documentation (electroglyph)</p></li>
|
||
<li><p>[Docs]: Doc fixes (Griatch, InspectorCaracal, electroglyph)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-2-0">
|
||
<h2>Evennia 4.2.0<a class="headerlink" href="#evennia-4-2-0" title="Link to this heading">¶</a></h2>
|
||
<p>June 27, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3470">Feature</a>: New <code class="docutils literal notranslate"><span class="pre">exit_order</span></code> kwarg to
|
||
<code class="docutils literal notranslate"><span class="pre">DefaultObject.get_display_exits</span></code> to easier customize the order in which
|
||
standard exits are displayed in a room (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3498">Feature</a>: Properly update Evennia’s screen width when client
|
||
changes width (assuming client supports NAWS properly) (michaelfaith84)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3502">Feature</a>: New <code class="docutils literal notranslate"><span class="pre">sethelp/locks</span></code> allows for editing help entry
|
||
locks after they were first created (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3514">Feature</a>: Support <code class="docutils literal notranslate"><span class="pre">$pron(pronoun,</span> <span class="pre">key)</span></code> and new <code class="docutils literal notranslate"><span class="pre">$pconj(verb,</span> <span class="pre">key)</span></code>
|
||
(pronoun conjugation) for actor stance (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3521">Feature</a>: Allow <code class="docutils literal notranslate"><span class="pre">WORD</span></code> (fully capitalized) in GMCP command names
|
||
instead of only <code class="docutils literal notranslate"><span class="pre">Word</span></code> (titled) to support specific clients better (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3447">Feature</a>: New Contrib: Achievements (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3494">Feature</a>: Xterm truecolor hex support <code class="docutils literal notranslate"><span class="pre">|#0f0</span></code> style. Expanded
|
||
<code class="docutils literal notranslate"><span class="pre">color</span> <span class="pre">true</span></code> to test (michaelFaith84)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3497">Feature</a>: Add optional width to EvEditor flood-fill commands using
|
||
new <code class="docutils literal notranslate"><span class="pre">=</span></code> argument, for example <code class="docutils literal notranslate"><span class="pre">:f=40</span></code> or <code class="docutils literal notranslate"><span class="pre">:j</span> <span class="pre">1:2</span> <span class="pre">l</span> <span class="pre">=</span> <span class="pre">60</span></code> (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3549">Feature</a>: Run the <code class="docutils literal notranslate"><span class="pre">collectstatic</span></code> command when reloading server to
|
||
keep game assets in sync automatically (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issue/3522">Feature</a>: (also a fix) Make <code class="docutils literal notranslate"><span class="pre">.created_date</span></code> property on all models property return
|
||
a time adjusted based on <code class="docutils literal notranslate"><span class="pre">settings.TIME_ZONE</span></code> (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3523">Language</a>: Updated Polish translation (Moonchasered)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3495">Fix</a>: Fix rate in Trait contribs not updating after reload (jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3491">Fix</a>: Fix traceback in EvEditor when searching with malformed regex (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3489">Fix</a>: Superuser could break wilderness contrib exits (t34lbytes)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3496">Fix</a>: EvEditor would not correctly show search&replace feedback
|
||
when replacing colors (Chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3499">Fix</a>: Dig/tunnel commands didn’t echo the typeclass of the newly
|
||
created room properly (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3501">Fix</a>: Using <code class="docutils literal notranslate"><span class="pre">sethelp</span></code> to create a help entry colliding with a
|
||
command-name made the entry impossible to edit/delete later (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3506">Fix</a>: Fix Traceback when setting prototype parent in the in-game OLC wizard (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3507">Fix</a>: Prototype wizard would not save changes if aborting the
|
||
updating of existing spawned instances (chiizujun)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3516">Fix</a>: Quitting the chargen contrib menu will now trigger auto-look (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3517">Fix</a>: Supply <code class="docutils literal notranslate"><span class="pre">Object.search</span></code> with an empty <code class="docutils literal notranslate"><span class="pre">candidates</span></code> list caused
|
||
defaults to be used instead of finding nothing (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3518">Fix</a>: <code class="docutils literal notranslate"><span class="pre">GlobalScriptsContainer.all()</span></code> raised a traceback (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3520">Fix</a>: Exits not included in exit sort order were not listed correctly (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3529">Fix</a>: Fix page/list command not showing received pages correctly (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3530">Fix</a>: EvEditor cmdset priority increased so it doesn’t respond to
|
||
movement commands while in editor (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3537">Fix</a>: Bug setting <code class="docutils literal notranslate"><span class="pre">_fields</span></code> in Components contrib (ChrisLR)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3542">Fix</a>: Update <code class="docutils literal notranslate"><span class="pre">character_creator</span></code> contrib to use the Account’s look
|
||
template properly (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3545">Fix</a>: Fix fallback issue in cmdhandler for local-object cmdsets (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3554">Fix</a>: Fix/readd custom <code class="docutils literal notranslate"><span class="pre">ic</span></code> command to the <code class="docutils literal notranslate"><span class="pre">character_creator</span></code> contrib (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3566">Fix</a>: Make sure the <code class="docutils literal notranslate"><span class="pre">website/base.html</span></code> website base is targeted
|
||
explicitly so it doesn’t get overridden by same file name elsewhere in app (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issue/3387">fix</a>: Update all game template doc strings to be more up-to-date
|
||
(Griatch)</p></li>
|
||
<li><p>[Docs]: Doc fixes (Griatch, chiizujin, InspectorCaracal, iLPDev)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-1-1">
|
||
<h2>Evennia 4.1.1<a class="headerlink" href="#evennia-4-1-1" title="Link to this heading">¶</a></h2>
|
||
<p>April 6, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3446">Fix</a>: Error with ‘you’ mapping in third-person style of
|
||
<code class="docutils literal notranslate"><span class="pre">msg_contents</span></code> (InspectorCaracal)</p></li>
|
||
<li><p>[Fix][pull3472]: The new <code class="docutils literal notranslate"><span class="pre">filter_visible</span></code> didn’t exclude oneself by default
|
||
(InspectorCaracal)</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">find</span> <span class="pre">#dbref</span></code> results didn’t include the results of
|
||
<code class="docutils literal notranslate"><span class="pre">.get_extra_display_name_info</span></code> (the #dbref display by default) (Griatch)</p></li>
|
||
<li><p>Fix: Add <code class="docutils literal notranslate"><span class="pre">DefaultAccount.get_extra_display_name_info</span></code> method for API
|
||
compliance with <code class="docutils literal notranslate"><span class="pre">DefaultObject</span></code> in commands. (Griatch)</p></li>
|
||
<li><p>Fix: Show <code class="docutils literal notranslate"><span class="pre">XYZRoom</span></code> subclass when repr() it. (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3485">Fix</a>: Typo in <code class="docutils literal notranslate"><span class="pre">sethome</span></code> message (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3487">Fix</a>: Fix traceback when using <code class="docutils literal notranslate"><span class="pre">get</span></code>,<code class="docutils literal notranslate"><span class="pre">drop</span></code> and <code class="docutils literal notranslate"><span class="pre">give</span></code> with no
|
||
arguments (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3476">Fix</a>: Don’t ignore EvEditor commands with wrong capitalization (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3477">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">at_server_reload_start()</span></code> hook was not firing on
|
||
a reload (regression).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3488">Fix</a>: <code class="docutils literal notranslate"><span class="pre">AttributeProperty(<default>,</span> <span class="pre">autocreate=False)</span></code>, where
|
||
<code class="docutils literal notranslate"><span class="pre"><default></span></code> was mutable would not update/save properly in-place (Griatch)</p></li>
|
||
<li><p>[Docs] Added new <a class="reference external" href="https://www.evennia.com/docs/latest/Concepts/Server-Lifecycle.html">Server-Lifecycle</a> page to describe
|
||
the hooks called on server start/stop/reload (Griatch)</p></li>
|
||
<li><p>[Docs] Doc typo fixes (Griatch, chiizujin)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-1-0">
|
||
<h2>Evennia 4.1.0<a class="headerlink" href="#evennia-4-1-0" title="Link to this heading">¶</a></h2>
|
||
<p>April 1, 2024</p>
|
||
<ul class="simple">
|
||
<li><p>[Deprecation]: <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_visible_contents</span></code> - unused in core, will be
|
||
removed. Use the new <code class="docutils literal notranslate"><span class="pre">.filter_visible</span></code> together with the <code class="docutils literal notranslate"><span class="pre">.get_display_*</span></code> methods instead…</p></li>
|
||
<li><p>[Deprecation]: <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_content_names</span></code> - unused in core, will be
|
||
removed. Use the <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_display_*</span></code> methods instead.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3421">Feature</a>: New <code class="docutils literal notranslate"><span class="pre">utils.compress_whitespace</span></code> utility used with
|
||
default object’s <code class="docutils literal notranslate"><span class="pre">.format_appearance</span></code> to make it easier to overload without
|
||
adding line breaks in hook returns. (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3458">Feature</a>: New <code class="docutils literal notranslate"><span class="pre">sethelp/category</span></code> switch to change a help topic’s
|
||
category after it was created (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3467">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">alias/delete</span></code> switch for removing object aliases
|
||
from in-game with default command (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3450">Feature</a>: The default <code class="docutils literal notranslate"><span class="pre">page</span></code> command now tags its <code class="docutils literal notranslate"><span class="pre">Msg</span></code> objects
|
||
with tag ‘page’ (category ‘comms’) and also checks the <code class="docutils literal notranslate"><span class="pre">Msg</span></code>’ ‘read’ lock.
|
||
made backwards compatible for old pages (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3466">Feature</a>: Add optional <code class="docutils literal notranslate"><span class="pre">no_article</span></code> kwarg to
|
||
<code class="docutils literal notranslate"><span class="pre">DefaultObject.get_numbered_name</span></code> for the system to skip adding automatic
|
||
articles. (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3433">Feature</a>: Add ability to default get/drop to affect stacks of
|
||
items, such as <code class="docutils literal notranslate"><span class="pre">get/drop</span> <span class="pre">3</span> <span class="pre">rock</span></code> by a custom class parent (InspectorCaracal)</p></li>
|
||
<li><p>Feature: Clean up the default Command variable list shown when a command has
|
||
no <code class="docutils literal notranslate"><span class="pre">func()</span></code> defined (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3461">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">DefaultObject.filter_display_visible</span></code> helper method
|
||
to make it easier to customize object visibility rules. (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3446">Fix</a>: Use plural (‘no apples’) instead of singular (‘no apple’) in
|
||
<code class="docutils literal notranslate"><span class="pre">get_numbered_name</span></code> for better grammatical form (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3453">Fix</a>: Object aliases not showing in search multi-match
|
||
disambiguation display (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3455">Fix</a>: <code class="docutils literal notranslate"><span class="pre">sethelp/edit</span> <span class="pre"><topic></span></code> without a <code class="docutils literal notranslate"><span class="pre">=</span> <span class="pre">text</span></code> created a <code class="docutils literal notranslate"><span class="pre">None</span></code>
|
||
entry that would lose the edit. (chiiziujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3456">Fix</a>: <code class="docutils literal notranslate"><span class="pre">format_grid</span></code> utility used for <code class="docutils literal notranslate"><span class="pre">help</span></code> command caused commands
|
||
to disappear for wider client widths (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3457">Fix</a>: Help topic categories with different case would appear as
|
||
duplicates (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3454">Fix</a>: Traceback in crafting contrib’s <code class="docutils literal notranslate"><span class="pre">recipe.msg</span></code>
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3459">Fix</a>: EvEditor line-echo compacted whitespace erroneously (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3463">Fix</a>: EvEditor :help described the :paste operation in the wrong
|
||
way (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3464">Fix</a>: EvEditor range:range specification didn’t return correct
|
||
range (chiizujin)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3462">Fix</a>: EvEditor :UU and :DD etc commands were not properly
|
||
differentiating from their lower-case alternatives (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3460">Fix</a>: The <code class="docutils literal notranslate"><span class="pre">menu_login</span></code> contrib regression caused it to error out
|
||
when creating a new character (Griatch)</p></li>
|
||
<li><p>Doc: Added Beginner Tutorial lessons for <a class="reference external" href="https://www.evennia.com/docs/latest/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-AI.html">Monster and NPC AI</a>,
|
||
<a class="reference external" href="https://www.evennia.com/docs/latest/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Quests.html">Quests</a> and <a class="reference external" href="https://www.evennia.com/docs/latest/Howtos/Beginner-Tutorial/Part3/Beginner-Tutorial-Dungeon.html">Making a Procedural dungeon</a> (Griatch)</p></li>
|
||
<li><p>Doc fixes (Griatch, InspectorCaracal, homeofpoe)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-4-0-0">
|
||
<h2>Evennia 4.0.0<a class="headerlink" href="#evennia-4-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>March 17, 2024</p>
|
||
<ul class="simple">
|
||
<li><p>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.</p></li>
|
||
<li><p>Feature: Update <code class="docutils literal notranslate"><span class="pre">evennia[extra]</span></code> 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.</p></li>
|
||
<li><p>Feature: <em>Backwards incompatible</em>: <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_numbered_name</span></code> now gets object’s
|
||
name via <code class="docutils literal notranslate"><span class="pre">.get_display_name</span></code> for better compatibility with recog systems.</p></li>
|
||
<li><p>Feature: <em>Backwards incompatible</em>: Removed the (#dbref) display from
|
||
<code class="docutils literal notranslate"><span class="pre">DefaultObject.get_display_name</span></code>, instead using new <code class="docutils literal notranslate"><span class="pre">.get_extra_display_name_info</span></code>
|
||
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 <code class="docutils literal notranslate"><span class="pre">get_display_name</span></code> for general use.</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">ON_DEMAND_HANDLER.set_dt(key,</span> <span class="pre">category,</span> <span class="pre">dt)</span></code> and
|
||
<code class="docutils literal notranslate"><span class="pre">.set_stage(key,</span> <span class="pre">category,</span> <span class="pre">stage)</span></code> to allow manual tweaking of task timings,
|
||
for example for a spell speeding a plant’s growth (Griatch)</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">ON_DEMAND_HANDLER.get_dt/stages(key,category,</span> <span class="pre">**kwargs)</span></code>, where
|
||
the kwargs are passed into any stage-callable defined with the stages. (Griatch)</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">use_assertequal</span></code> kwarg to the <code class="docutils literal notranslate"><span class="pre">EvenniaCommandTestMixin</span></code> testing
|
||
class; this uses django’s <code class="docutils literal notranslate"><span class="pre">assertEqual</span></code> over the default more lenient checker,
|
||
which can be useful for testing table whitespace (Griatch)</p></li>
|
||
<li><p>Feature: New <code class="docutils literal notranslate"><span class="pre">utils.group_objects_by_key_and_desc</span></code> for grouping a list of
|
||
objects based on the visible key and desc. Useful for inventory listings (Griatch)</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_numbered_name</span></code> <code class="docutils literal notranslate"><span class="pre">return_string</span></code> bool kwarg, for only
|
||
returning singular/plural based on count instead of a tuple with both (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3443">Fix</a> Removed the <code class="docutils literal notranslate"><span class="pre">@reboot</span></code> alias to <code class="docutils literal notranslate"><span class="pre">@reset</span></code> to not mislead people
|
||
into thinking you can do a portal+server reboot from in-game (you cannot) (Griatch)</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">DefaultObject.get_numbered_name</span></code> used <code class="docutils literal notranslate"><span class="pre">.name</span></code> instead of
|
||
<code class="docutils literal notranslate"><span class="pre">.get_display_name</span></code> which broke recog systems. May lead to object’s #dbref
|
||
will show for admins in some more places (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3420">Fix</a>: Refactor Clothing contrib’s inventory command align with
|
||
Evennia core’s version (michaelfaith84, Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3438">Fix</a>: Limiting search by tag didn’t take search-string into
|
||
account (Griatch)</p></li>
|
||
<li><p>[Fix][issue4311]: SSH connection caused a traceback in protocol (Griatch)</p></li>
|
||
<li><p>Fix: Resolve a bug when loading on-demand-handler data from database (Griatch)</p></li>
|
||
<li><p>Security: Potential O(n2) regex exploit in rpsystem regex (Griatch)</p></li>
|
||
<li><p>Security: Fix potential redirect vulnerability in character page redirect (Griatch)</p></li>
|
||
<li><p>Doc fixes (iLPdev, Griatch, CloudKeeper)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-3-2-0">
|
||
<h2>Evennia 3.2.0<a class="headerlink" href="#evennia-3-2-0" title="Link to this heading">¶</a></h2>
|
||
<p>Feb 25, 2024</p>
|
||
<ul class="simple">
|
||
<li><p>Feature: Add <a class="reference external" href="https://www.evennia.com/docs/latest/Components/OnDemandHandler.html"><code class="docutils literal notranslate"><span class="pre">evennia.ON_DEMAND_HANDLER</span></code></a> for making it
|
||
easier to implement changes that are calculated on-demand (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3412">Feature</a>: Make it possible to add custom webclient css in
|
||
<code class="docutils literal notranslate"><span class="pre">webclient/css/custom.css</span></code>, same as for website (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3367">Feature</a>: <a class="reference external" href="https://www.evennia.com/docs/latest/Contribs/Contrib-Components.html">Component contrib</a> got better
|
||
inheritance, slot names to choose attr storage, speedups and fixes (ChrisLR)</p></li>
|
||
<li><p>Feature: Break up <code class="docutils literal notranslate"><span class="pre">DefaultObject.search</span></code> method into several helpers to make
|
||
it easier to override (Griatch)</p></li>
|
||
<li><p>Fix: Resolve multimatch error with rpsystem contrib (Griatch)</p></li>
|
||
<li><p>Fix: Remove <code class="docutils literal notranslate"><span class="pre">AMP_ENABLED</span></code> setting since it services no real purpose and
|
||
erroring out on setting it would make it even less useful (Griatch).</p></li>
|
||
<li><p>Feature: Remove too-strict password restrictions for Evennia logins, using
|
||
django defaults instead for passwords with more varied characters.</p></li>
|
||
<li><p>Fix <code class="docutils literal notranslate"><span class="pre">services</span></code> command with no args would traceback (regression) (Griatch)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3423">Fix</a>: Fix wilderness contrib error moving to an already existing
|
||
wilderness room (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3425">Fix</a>: Don’t always include example the crafting recipe when
|
||
using the crafting contrib (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3426">Fix</a>: Traceback banning a channel using with only one nick
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3434">Fix</a>: Adjust lunr search weights to void clashing of cmd-aliases over
|
||
keys which caused some help entries to shadow others (InspectorCaracal)</p></li>
|
||
<li><p>Fix: Make <code class="docutils literal notranslate"><span class="pre">menu/email_login</span></code> contribs honor <code class="docutils literal notranslate"><span class="pre">NEW_ACCOUNT_REGISTRATION_ENABLED</span></code>
|
||
setting (Griatch)</p></li>
|
||
<li><p>Doc fixes (InspectorCaracal, Griatch)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-3-1-1">
|
||
<h2>Evennia 3.1.1<a class="headerlink" href="#evennia-3-1-1" title="Link to this heading">¶</a></h2>
|
||
<p>Jan 14, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3398">Fix</a>: Fix to make e.g. <code class="docutils literal notranslate"><span class="pre">elvish"Hello"</span></code> work correctly in language rp
|
||
contrib (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3405">Fix</a>: Fix/update of Godot client contrib to support Godot4 and
|
||
latest Evennia portal changes (ChrisLR)</p></li>
|
||
<li><p>Updated doc on wiki install (InspectorCaracal)</p></li>
|
||
<li><p>Docstring fixes (bradleymarques, Griatch)</p></li>
|
||
<li><p>Doc tutorial fixes (Griatch)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-3-1-0">
|
||
<h2>Evennia 3.1.0<a class="headerlink" href="#evennia-3-1-0" title="Link to this heading">¶</a></h2>
|
||
<p>Jan 8, 2024</p>
|
||
<ul class="simple">
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3393">Feature</a>: EvMenu will only use one column of options in
|
||
screenreader mode (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3386">Feature</a>: Add VS code files to default gitignore (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3373">Fix</a>: Errors when using the default <code class="docutils literal notranslate"><span class="pre">create</span></code> command (InspectorCaracal).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3375">Fix</a>: <code class="docutils literal notranslate"><span class="pre">tunnel</span></code> command didn’t work with custom prefix (chromancer).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3376">Fix</a>: Error when falling back to default cmdset fallback
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3377">Fix</a>: <code class="docutils literal notranslate"><span class="pre">character_creator</span></code> updated with new chargen system refactor
|
||
in Evennia 3.0.0; fix issue not repspecting <code class="docutils literal notranslate"><span class="pre">START_LOCATION</span></code>
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3378">Fix</a>: Default-add ‘where’ as a LUNR search exception, since it’s a
|
||
common mud command that should not be ignored. (alephate)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3382">Fix</a>: Make sure global scripts start properly on restart
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3394">Fix</a>: Fix time-of-day issue in ExpandedRoom contrib (jaborsh)</p></li>
|
||
<li><p>Doc fixes (homeofpoe, gas-public-wooden-clean, InspectorCaracal, Griatch)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-3-0-0">
|
||
<h2>Evennia 3.0.0<a class="headerlink" href="#evennia-3-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>Dec 20, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Dependency: Twisted 23.10 (<24) to address upstream CVE alert.</p></li>
|
||
<li><p>Dependency (potentially Backwards incompatible): Django 4.2 (<4.3). Increases
|
||
minimum supported versions of MariaDB, MySQL and PostgreSQL,
|
||
see <a class="reference external" href="https://docs.djangoproject.com/en/4.2/releases/4.2/#backwards-incompatible-changes-in-4-2">django release nodes</a></p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3313">Feature</a> (Backwards incompatible): <code class="docutils literal notranslate"><span class="pre">OptionHandler.set</span></code> now returns
|
||
<code class="docutils literal notranslate"><span class="pre">BaseOption</span></code> rather than its <code class="docutils literal notranslate"><span class="pre">.value</span></code>. Instead access <code class="docutils literal notranslate"><span class="pre">.value</span></code> or <code class="docutils literal notranslate"><span class="pre">.display()</span></code>
|
||
on this return for more control. (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3278">Feature</a>: (Backwards incompatible): Refactor home page into multiple sub-parts for easier
|
||
overriding and composition (johnnyvoruz)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3180">Feature</a>: (Potentially Backwards incompatible): Make build commands
|
||
easier to override, with new utility hooks (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3273">Feature</a>: Allow passing <code class="docutils literal notranslate"><span class="pre">text_kwargs</span></code> kwarg to <code class="docutils literal notranslate"><span class="pre">EvMore.msg</span></code> in order to expand
|
||
the outputfunc used for every evmore page.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3286">Feature</a>: Allow Discord bot to change user’s nickname and assign
|
||
roles for a user on a given server (holl0wstar).</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3301">Feature</a>: Make EvenniaAdminSite include custom models better; adds
|
||
<code class="docutils literal notranslate"><span class="pre">DJANGO_ADMIN_APP_ORDER</span></code> and <code class="docutils literal notranslate"><span class="pre">DJANGO_ADMIN_APP_EXCLUDE</span></code> as modifable
|
||
settings.(Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3179">Feature</a>: Handling of the <code class="docutils literal notranslate"><span class="pre">.db._playable_characters</span></code> helper
|
||
methods. Also adds events hooks to modify effects when this list changes (Volund)
|
||
avoiding race conditions until server starts (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3281">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">$your()</span></code> and <code class="docutils literal notranslate"><span class="pre">$Your()</span></code> for actor stance emoting (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3177">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">Account.get_character_slots()</span></code>,
|
||
<code class="docutils literal notranslate"><span class="pre">.get_available_character_slots()</span></code>, <code class="docutils literal notranslate"><span class="pre">.check_available_slots</span></code> and
|
||
<code class="docutils literal notranslate"><span class="pre">at_post_create_character</span></code> methods to allow better customization of character creation (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3319">Feature</a>: Refactor/cleanup of Evennia server/portal startup files
|
||
into services for easier overriding (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3307">Feature</a>: Add support for Attribute-categories when using the monitorhandler
|
||
with input funcs to monitor Attribute changes.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3342">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">Command.cmdset_source</span></code>, referring to the cmdset each
|
||
command was originally pulled from (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3343">Feature</a>: Add <code class="docutils literal notranslate"><span class="pre">access_type</span></code> as optional kwarg to lockfuncs (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3344">Feature</a>: New middleware for checking IP/subnets from requests. New
|
||
tools <code class="docutils literal notranslate"><span class="pre">evennia.utils.match_ip</span></code> and <code class="docutils literal notranslate"><span class="pre">utils.ip_from_request</span></code> to help. (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3349">Feature</a>: Refactored almost all default commands to use
|
||
<code class="docutils literal notranslate"><span class="pre">Command.msg</span></code> over the <code class="docutils literal notranslate"><span class="pre">command.caller.msg</span></code> direct call (more flexible) (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3346">Feature</a>: Refactor cmdhandler to be more extensible; make cmd merge
|
||
a bit more deterministic (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3348">Feature</a>: Make Fallback AJAX web client more customizable (same as
|
||
the websocket client) (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3353">Feature</a>: Add unique id to each webclient instance, separates play
|
||
sessions run from the same browser. (InpsectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3365">Feature</a>: Make the rpsystem contrib’s prefix (<code class="docutils literal notranslate"><span class="pre">/</span></code> by default)
|
||
configurable with a setting (used to be hard-coded) (InspectorCaracal)</p></li>
|
||
<li><p>Fix (Backwards incompatible): Change <code class="docutils literal notranslate"><span class="pre">settings._TEST_ENVIRONMENT</span></code> to
|
||
<code class="docutils literal notranslate"><span class="pre">settings.TEST_ENVIRONMENT</span></code> to address issues during refactored startup sequence.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3347">Fix</a>: New <code class="docutils literal notranslate"><span class="pre">generate_default_locks()</span></code> method on typeclasses;
|
||
<code class="docutils literal notranslate"><span class="pre">.create</span></code> and <code class="docutils literal notranslate"><span class="pre">lockhandler.add()</span></code> will now properly handle emptry strings
|
||
(Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3197">Fix</a>: Make sure Global scripts only start in one place,</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3324">Fix</a>: Make account-post-login-fail signal fire properly. Add
|
||
<code class="docutils literal notranslate"><span class="pre">CUSTOM_SIGNAL</span></code> for adding one’s own signals (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3267">Fix</a>: Missing recache step in ObjectSessionHandler (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3270">Fix</a>: Evennia is its own MSSP family now, so we should return that
|
||
instead of ‘Custom’ (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3274">Fix</a>: Traceback when creating objects with initial nattributes
|
||
(InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3272">Fix</a>: Make sure <code class="docutils literal notranslate"><span class="pre">ScriptHandler.add</span></code> does not fail if passed an
|
||
instantiated script. (Volund)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3350">Fix</a>: <code class="docutils literal notranslate"><span class="pre">CmdHelp</span></code> was using the wrong protocol-key identifier when
|
||
routing to the ajax web client.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3338">Fix</a>: Resolve if/elif bug in XYZGrid contrib launch command
|
||
(jaborsh)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/issues/3331">fix</a>: Made XYZGrid query zcoords in a case-insensitive manner.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3322">Fix</a>: Fix <code class="docutils literal notranslate"><span class="pre">BaseOption.display</span></code> to always return a string.</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3358">Fix</a>: Fix so Portal resets <code class="docutils literal notranslate"><span class="pre">server_restart_mode</span></code> flag when having
|
||
successfully reconnected to the Server after a restart. (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3359">Fix</a>: Fix gendersub contrib to use proper pronoun when referencing
|
||
other objects than oneself (InspectorCaracal)</p></li>
|
||
<li><p><a class="reference external" href="https://github.com/evennia/evennia/pull/3361">Fix</a>: Fix of monitoring Attributes with categories (scyfris)</p></li>
|
||
<li><p>Docs & docstrings: Lots of Typo and other fixes (iLPdev, InspectorCaracal, jaborsh,
|
||
HouseOfPoe, Griatch etc)</p></li>
|
||
<li><p>Beginner tutorial: Cleanup and starting earlier with explaining how to add to
|
||
the default cmdsets (Griatch).</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-2-3-0">
|
||
<h2>Evennia 2.3.0<a class="headerlink" href="#evennia-2-3-0" title="Link to this heading">¶</a></h2>
|
||
<p>Sept 3, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Feat: EvMenu tooltips for multiple help categories in a node (Seannio).</p></li>
|
||
<li><p>Feat: Default <code class="docutils literal notranslate"><span class="pre">examine</span></code> command now also shows an account’s <code class="docutils literal notranslate"><span class="pre">last_login</span></code>
|
||
(michaelfaith84)</p></li>
|
||
<li><p>Fix: Portal would accidentally start global scripts. (blongden)</p></li>
|
||
<li><p>Fix: Traceback when printing CounterTrait contrib objects. (InspectorCaracal)</p></li>
|
||
<li><p>Fix: Typo in evadventure twitch combat’s call of <code class="docutils literal notranslate"><span class="pre">create_combathandler</span></code>.</p></li>
|
||
<li><p>Docs: Fix bug in evadventure equipmenthandler blocking creation of npcs.
|
||
in-game (Griatch).</p></li>
|
||
<li><p>Docs: Plenty of typo fixes (iLPDev, moldikins, Griatch), others)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-2-2-0">
|
||
<h2>Evennia 2.2.0<a class="headerlink" href="#evennia-2-2-0" title="Link to this heading">¶</a></h2>
|
||
<p>Aug 6, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Contrib: Large-language-model (LLM) AI integration; allows NPCs to talk using
|
||
responses from an LLM server.</p></li>
|
||
<li><p>Fix: Make sure <code class="docutils literal notranslate"><span class="pre">at_server_reload</span></code> is called also on non-repeating Scripts.</p></li>
|
||
<li><p>Fix: Webclient was not giving a proper error when sending an unknown outputfunc to it.</p></li>
|
||
<li><p>Fix: Make <code class="docutils literal notranslate"><span class="pre">py</span></code> command always send strings unless <code class="docutils literal notranslate"><span class="pre">client_raw</span></code> flag is set.</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">Script.start</span></code> with an integer <code class="docutils literal notranslate"><span class="pre">start_delay</span></code> caused a traceback.</p></li>
|
||
<li><p>Fix: Removing “Guest” from the permission-hierarchy setting messed up access.</p></li>
|
||
<li><p>Docs: Remove doc pages for Travis/TeamCity CI tools, they were both very much
|
||
out of date, and Travis is not free for OSS anymore.</p></li>
|
||
<li><p>Docs: A lot fixes of typos and bugs in tutorials.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-2-1-0">
|
||
<h2>Evennia 2.1.0<a class="headerlink" href="#evennia-2-1-0" title="Link to this heading">¶</a></h2>
|
||
<p>July 14, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Fix: The new <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> contrib has a bug when dug with no descriptions.</p></li>
|
||
<li><p>Fix: Clean up <code class="docutils literal notranslate"><span class="pre">get_sides</span></code> function in evadventure tutorial to return also
|
||
the calling combatant with its <code class="docutils literal notranslate"><span class="pre">allies</span></code> return, to make it easier to reason around.</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">SSL_CERTIFICATE_ISSUERS</span></code> setting for customizing Telnet+SSL.</p></li>
|
||
<li><p>Contrib: Refactored <code class="docutils literal notranslate"><span class="pre">dice.roll</span></code> contrib function to use <code class="docutils literal notranslate"><span class="pre">safe_eval</span></code>. Can now
|
||
optionally be used as <code class="docutils literal notranslate"><span class="pre">dice.roll("2d10</span> <span class="pre">+</span> <span class="pre">4</span> <span class="pre">></span> <span class="pre">10")</span></code>. Old way works too.</p></li>
|
||
<li><p>Lots of doc updates.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-2-0-1">
|
||
<h2>Evennia 2.0.1<a class="headerlink" href="#evennia-2-0-1" title="Link to this heading">¶</a></h2>
|
||
<p>June 17, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Fix: A look-bug in the <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> contrib (InspectorCaracal)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-2-0-0">
|
||
<h2>Evennia 2.0.0<a class="headerlink" href="#evennia-2-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>June 10, 2023</p>
|
||
<ul class="simple">
|
||
<li><p><strong>Possible backwards incompatibility</strong>: Updated contrib <code class="docutils literal notranslate"><span class="pre">ExtendedRoom</span></code> now
|
||
supports arbitrary room-states, state-based descriptions, embedded funcparser
|
||
tags, details and random messages. While this feature is made to be as
|
||
backwards-compatible as possible, so many people depend on this contrib class
|
||
that we are updating the major Evennia version to indicate the big changes.</p></li>
|
||
<li><p>New Contrib: <code class="docutils literal notranslate"><span class="pre">Container</span></code> typeclass with new commands for storing and retrieving
|
||
things inside them (InspectorCaracal)</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">TagCategoryProperty</span></code> for setting categories with multiple tags
|
||
as properties directly on objects. Complements <code class="docutils literal notranslate"><span class="pre">TagProperty</span></code>.</p></li>
|
||
<li><p>Feature: Attribute-support for saving/loading <code class="docutils literal notranslate"><span class="pre">deques</span></code> with <code class="docutils literal notranslate"><span class="pre">maxlen=</span></code> set.</p></li>
|
||
<li><p>Feature: Refactor to provide <code class="docutils literal notranslate"><span class="pre">evennia.SESSION_HANDLER</span></code> for easier overloading
|
||
and less risks of circular import problems (Volund)</p></li>
|
||
<li><p>Fix: Allow webclient’s goldenlayout UI (default) to understand <code class="docutils literal notranslate"><span class="pre">msg</span></code>
|
||
<code class="docutils literal notranslate"><span class="pre">cls</span></code> kwarg for customizing the CSS class for every resulting <code class="docutils literal notranslate"><span class="pre">div</span></code> (friarzen)</p></li>
|
||
<li><p>Fix: The <code class="docutils literal notranslate"><span class="pre">AttributeHandler.all()</span></code> now actually accepts <code class="docutils literal notranslate"><span class="pre">category=</span></code> as
|
||
keyword arg, like our docs already claimed it should (Volund)</p></li>
|
||
<li><p>Fix: <code class="docutils literal notranslate"><span class="pre">TickerHandler</span></code> store key updating was refactored, fixing an issue with
|
||
updating intervals (InspectorCaracal)</p></li>
|
||
<li><p>Docs: Removed warning about Python3.11 on Windows; upstream Twistd now
|
||
supports 3.11 on Windows.</p></li>
|
||
<li><p>Docs: New Beginner-Tutorial lessons for NPCs, Base-Combat Twitch-Combat and
|
||
Turnbased-combat (note that the Beginner tutorial is still WIP).</p></li>
|
||
<li><p>Stabilize how to make the major update in the docs.</p></li>
|
||
<li><p>Fix: A lot of other minor bug fixes.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-3-0">
|
||
<h2>Evennia 1.3.0<a class="headerlink" href="#evennia-1-3-0" title="Link to this heading">¶</a></h2>
|
||
<p>Apr 29, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Feature: Better ANSI color fallbacks (InspectorCaracal).</p></li>
|
||
<li><p>Feature: Add support for saving <code class="docutils literal notranslate"><span class="pre">deque</span></code> with <code class="docutils literal notranslate"><span class="pre">maxlen</span></code> to Attributes (before
|
||
<code class="docutils literal notranslate"><span class="pre">maxlen</span></code> was ignored).</p></li>
|
||
<li><p>Fix: The username validator did not display errors correctly in web
|
||
registration form.</p></li>
|
||
<li><p>Fix: Components contrib had issues with inherited typeclasses (ChrisLR)</p></li>
|
||
<li><p>Fix: f-string fix in clothing contrib (aMiss-aWry)</p></li>
|
||
<li><p>Fix: Have <code class="docutils literal notranslate"><span class="pre">EvenniaTestCase</span></code> properly flush idmapper cache (bradleymarques)</p></li>
|
||
<li><p>Tools: More unit tests for scripts (Storsorken)</p></li>
|
||
<li><p>Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how
|
||
to change the description of an in-game object with templating.</p></li>
|
||
<li><p>Docs: A multitude of doc issues and typos fixed.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-2-1">
|
||
<h2>Evennia 1.2.1<a class="headerlink" href="#evennia-1-2-1" title="Link to this heading">¶</a></h2>
|
||
<p>Feb 26, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Bug fix: Make sure command parser gives precedence to longer cmd-aliases. So
|
||
if sending <code class="docutils literal notranslate"><span class="pre">smile</span> <span class="pre">at</span></code> and the cmd <code class="docutils literal notranslate"><span class="pre">smile</span></code> has alias <code class="docutils literal notranslate"><span class="pre">smile</span> <span class="pre">at</span></code>, the match is
|
||
ordered so the result is never interpreted as <code class="docutils literal notranslate"><span class="pre">smile</span></code> with an argument <code class="docutils literal notranslate"><span class="pre">at</span></code>.</p></li>
|
||
<li><p>Bug fix: || (escaped color tags) were parsed too early in help entries,
|
||
leading to colors when wanting a | separator</p></li>
|
||
<li><p>Bug fix: Make sure spawned objects get <code class="docutils literal notranslate"><span class="pre">typeclass_path</span></code> pointing to the true
|
||
location rather than alias (in line with <code class="docutils literal notranslate"><span class="pre">create_object</span></code>).</p></li>
|
||
<li><p>Bug fix: Building Menu contrib menu no using Replace over Union mergetype to
|
||
avoid clashing with in-game commands while building</p></li>
|
||
<li><p>Feature: RPSystem contrib <code class="docutils literal notranslate"><span class="pre">sdesc</span></code> command can now view/delete your sdesc.</p></li>
|
||
<li><p>Bug fix: Change so <code class="docutils literal notranslate"><span class="pre">script</span> <span class="pre">obj</span> <span class="pre">=</span> <span class="pre">[scriptname|id]</span></code> is required to manipulate
|
||
scripts on objects; <code class="docutils literal notranslate"><span class="pre">script</span> <span class="pre">scriptname|id</span></code> only works on global scripts.</p></li>
|
||
<li><p>Doc: Add warning about <code class="docutils literal notranslate"><span class="pre">Django-wiki</span></code> (in wiki tutorial) only supporting
|
||
Django <4.0.</p></li>
|
||
<li><p>Doc: Expanded <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> docstring to clarify <code class="docutils literal notranslate"><span class="pre">MapLink</span></code> class will not itself
|
||
spawn anything, children must define their prototypes explicitly.</p></li>
|
||
<li><p>Doc: Explained why <code class="docutils literal notranslate"><span class="pre">AttributeProperty.at_get/set</span></code> will not be called if
|
||
accessing the Attribute from the <code class="docutils literal notranslate"><span class="pre">AttributeHandler</span></code> (bypassing the property)</p></li>
|
||
<li><p>Bug fix: Evtable options showed spurious empty lines if set without desc</p></li>
|
||
<li><p>Usage fix: The <code class="docutils literal notranslate"><span class="pre">teleport:</span></code> and <code class="docutils literal notranslate"><span class="pre">teleport_here:</span></code> locks where checked in
|
||
<code class="docutils literal notranslate"><span class="pre">CmdTeleport</span></code>, but not actually set on any entities. These locks are now
|
||
set with defaults on all objects,characters,rooms and exits.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-2-0">
|
||
<h2>Evennia 1.2.0<a class="headerlink" href="#evennia-1-2-0" title="Link to this heading">¶</a></h2>
|
||
<p>Feb 25, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Bug fix: <code class="docutils literal notranslate"><span class="pre">TagHandler.get</span></code> did not consistently cast to string (aMiss-aWry)</p></li>
|
||
<li><p>Bug fix: Channels hard to manage if given in different case (aMiss-aWry)</p></li>
|
||
<li><p>Feature: <code class="docutils literal notranslate"><span class="pre">logger.delete_log</span></code> function for deleting custom logs from inside the
|
||
server (aMiss-aWry)</p></li>
|
||
<li><p>Doc: Nginx setup (InspectorCaracal)</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">fly/dive</span></code> commands to <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> contrib to showcase treating its
|
||
Z-axis as a full 3D grid. Also fixed minor bug in <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> contrib when using
|
||
a Z axis named using an integer rather than a string.</p></li>
|
||
<li><p>Bug fix: <code class="docutils literal notranslate"><span class="pre">$an()</span></code> inlinefunc didn’t understand to use ‘an’ words starting with a
|
||
capital vowel</p></li>
|
||
<li><p>Bug fix: Another case of the ‘duplicate Discord bot connections’ bug
|
||
(InspectorCaracal)</p></li>
|
||
<li><p>Fix: Make XYZGrid contrib’s MapParserErrors more succinct</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-1-1">
|
||
<h2>Evennia 1.1.1<a class="headerlink" href="#evennia-1-1-1" title="Link to this heading">¶</a></h2>
|
||
<p>Jan 15, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Bug fix: Better handler malformed alias-regex given to nickhandler. A
|
||
regex-relevant character in a channel alias could cause server to not restart.</p></li>
|
||
<li><p>Feature: Add <code class="docutils literal notranslate"><span class="pre">attr</span></code> keyword to <code class="docutils literal notranslate"><span class="pre">create_channel</span></code>. This allows setting
|
||
attributes on channels at creation, also from <code class="docutils literal notranslate"><span class="pre">DEFAULT_CHANNELS</span></code> definitions.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-1-0">
|
||
<h2>Evennia 1.1.0<a class="headerlink" href="#evennia-1-1-0" title="Link to this heading">¶</a></h2>
|
||
<p>Jan 7, 2023</p>
|
||
<ul class="simple">
|
||
<li><p>Stop new registrations with <code class="docutils literal notranslate"><span class="pre">settings.NEW_ACCOUNT_REGISTRATION_ENABLED</span></code>
|
||
(inspectorcaracal)</p></li>
|
||
<li><p>Bug fixes.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-0-2">
|
||
<h2>Evennia 1.0.2<a class="headerlink" href="#evennia-1-0-2" title="Link to this heading">¶</a></h2>
|
||
<p>Dec 21, 2022</p>
|
||
<ul class="simple">
|
||
<li><p>Bug fix release. Fix more issues with discord bot reconnecting. Some doc
|
||
updates.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-0-1">
|
||
<h2>Evennia 1.0.1<a class="headerlink" href="#evennia-1-0-1" title="Link to this heading">¶</a></h2>
|
||
<p>Dec 7, 2022</p>
|
||
<ul class="simple">
|
||
<li><p>Bug fix release. Main issue was reconnect bug for discord bot.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-1-0-0">
|
||
<h2>Evennia 1.0.0<a class="headerlink" href="#evennia-1-0-0" title="Link to this heading">¶</a></h2>
|
||
<p>2019-2022</p>
|
||
<p><em>Changed to using <code class="docutils literal notranslate"><span class="pre">main</span></code> branch to follow github standard. Old <code class="docutils literal notranslate"><span class="pre">master</span></code> branch remains
|
||
for now but will not be used anymore, so as to not break installs during transition.</em></p>
|
||
<p>Also changing to using semantic versioning with this version.</p>
|
||
<p>Increase requirements: Django 4.1+, Twisted 22.10+ Python 3.10, 3.11. PostgreSQL 11+.</p>
|
||
<ul class="simple">
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">drop:holds()</span></code> lock default to limit dropping nonsensical things. Access check
|
||
defaults to True for backwards-compatibility in 0.9, will be False in 1.0</p></li>
|
||
<li><p>REST API allows you external access to db objects through HTTP requests (Tehom)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Object.normalize_name</span></code> and <code class="docutils literal notranslate"><span class="pre">.validate_name</span></code> added to (by default) enforce latinify
|
||
on character name and avoid potential exploits using clever Unicode chars (trhr)</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">utils.format_grid</span></code> for easily displaying long lists of items in a block.</p></li>
|
||
<li><p>Using <code class="docutils literal notranslate"><span class="pre">lunr</span></code> search indexing for better <code class="docutils literal notranslate"><span class="pre">help</span></code> matching and suggestions. Also improve
|
||
the main help command’s default listing output.</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">content_types</span></code> indexing to DefaultObject’s ContentsHandler. (volund)</p></li>
|
||
<li><p>Made most of the networking classes such as Protocols and the SessionHandlers
|
||
replaceable via <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> for modding enthusiasts. (volund)</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">initial_setup.py</span></code> file can now be substituted in <code class="docutils literal notranslate"><span class="pre">settings.py</span></code> to customize
|
||
initial game database state. (volund)</p></li>
|
||
<li><p>Added new Traits contrib, converted and expanded from Ainneve project.</p></li>
|
||
<li><p>Added new <code class="docutils literal notranslate"><span class="pre">requirements_extra.txt</span></code> file for easily getting all optional dependencies.</p></li>
|
||
<li><p>Change default multi-match syntax from 1-obj, 2-obj to obj-1, obj-2.</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">object.search</span></code> support ‘stacks=0’ keyword - if <code class="docutils literal notranslate"><span class="pre">>0</span></code>, the method will return
|
||
N identical matches instead of triggering a multi-match error.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">tags.has()</span></code> method for checking if an object has a tag or tags (PR by ChrisLR)</p></li>
|
||
<li><p>Make IP throttle use Django-based cache system for optional persistence (PR by strikaco)</p></li>
|
||
<li><p>Renamed Tutorial classes “Weapon” and “WeaponRack” to “TutorialWeapon” and
|
||
“TutorialWeaponRack” to prevent collisions with classes in mygame</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">crafting</span></code> contrib, adding a full crafting subsystem (Griatch 2020)</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">rplanguage</span></code> contrib now auto-capitalizes sentences and retains ellipsis (…). This
|
||
change means that proper nouns at the start of sentences will not be treated as nouns.</p></li>
|
||
<li><p>Make MuxCommand <code class="docutils literal notranslate"><span class="pre">lhs/rhslist</span></code> always be lists, also if empty (used to be the empty string)</p></li>
|
||
<li><p>Fix typo in UnixCommand contrib, where <code class="docutils literal notranslate"><span class="pre">help</span></code> was given as <code class="docutils literal notranslate"><span class="pre">--hel</span></code>.</p></li>
|
||
<li><p>Latin (la) i18n translation (jamalainm)</p></li>
|
||
<li><p>Made the <code class="docutils literal notranslate"><span class="pre">evennia</span></code> dir possible to use without gamedir for purpose of doc generation.</p></li>
|
||
<li><p>Make Scripts’ timer component independent from script object deletion; can now start/stop
|
||
timer without deleting Script. The <code class="docutils literal notranslate"><span class="pre">.persistent</span></code> flag now only controls if timer survives
|
||
reload - Script has to be removed with <code class="docutils literal notranslate"><span class="pre">.delete()</span></code> like other typeclassed entities.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">utils.repeat</span></code> and <code class="docutils literal notranslate"><span class="pre">utils.unrepeat</span></code> as shortcuts to TickerHandler add/remove, similar
|
||
to how <code class="docutils literal notranslate"><span class="pre">utils.delay</span></code> is a shortcut for TaskHandler add.</p></li>
|
||
<li><p>Refactor the classic <code class="docutils literal notranslate"><span class="pre">red_button</span></code> example to use <code class="docutils literal notranslate"><span class="pre">utils.delay/repeat</span></code> and modern recommended
|
||
code style and paradigms instead of relying on <code class="docutils literal notranslate"><span class="pre">Scripts</span></code> for everything.</p></li>
|
||
<li><p>Expand <code class="docutils literal notranslate"><span class="pre">CommandTest</span></code> with ability to check multiple message-receivers; inspired by PR by
|
||
user davewiththenicehat. Also add new doc string.</p></li>
|
||
<li><p>Add central <code class="docutils literal notranslate"><span class="pre">FuncParser</span></code> as a much more powerful replacement for the old <code class="docutils literal notranslate"><span class="pre">parse_inlinefunc</span></code>
|
||
function.</p></li>
|
||
<li><p>Attribute/NAttribute got a homogenous representation, using intefaces, both
|
||
<code class="docutils literal notranslate"><span class="pre">AttributeHandler</span></code> and <code class="docutils literal notranslate"><span class="pre">NAttributeHandler</span></code> has same api now.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">evennia/utils/verb_conjugation</span></code> for automatic verb conjugation (English only). This
|
||
is useful for implementing actor-stance emoting for sending a string to different targets.</p></li>
|
||
<li><p>New version of Italian translation (rpolve)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">utils.evmenu.ask_yes_no</span></code> is a helper function that makes it easy to ask a yes/no question
|
||
to the user and respond to their input. This complements the existing <code class="docutils literal notranslate"><span class="pre">get_input</span></code> helper.</p></li>
|
||
<li><p>Allow sending messages with <code class="docutils literal notranslate"><span class="pre">page/tell</span></code> without a <code class="docutils literal notranslate"><span class="pre">=</span></code> if target name contains no spaces.</p></li>
|
||
<li><p>New FileHelpStorage system allows adding help entries via external files.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">sethelp</span></code> command now warns if shadowing other help-types when creating a new
|
||
entry.</p></li>
|
||
<li><p>Help command now uses <code class="docutils literal notranslate"><span class="pre">view</span></code> lock to determine if cmd/entry shows in index and
|
||
<code class="docutils literal notranslate"><span class="pre">read</span></code> lock to determine if it can be read. It used to be <code class="docutils literal notranslate"><span class="pre">view</span></code> in the role
|
||
of the latter. Migration swaps these around.</p></li>
|
||
<li><p>In modules given by <code class="docutils literal notranslate"><span class="pre">settings.PROTOTYPE_MODULES</span></code>, spawner will now first look for a global
|
||
list <code class="docutils literal notranslate"><span class="pre">PROTOTYPE_LIST</span></code> of dicts before loading all dicts in the module as prototypes.</p></li>
|
||
<li><p>New Channel-System using the <code class="docutils literal notranslate"><span class="pre">channel</span></code> command and nicks. Removed the <code class="docutils literal notranslate"><span class="pre">ChannelHandler</span></code> and the
|
||
concept of a dynamically created <code class="docutils literal notranslate"><span class="pre">ChannelCmdSet</span></code>.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">Msg.db_receiver_external</span></code> field to allowe external, string-id message-receivers.</p></li>
|
||
<li><p>Renamed <code class="docutils literal notranslate"><span class="pre">app.css</span></code> to <code class="docutils literal notranslate"><span class="pre">website.css</span></code> for consistency. Removed old prosimii-css files.</p></li>
|
||
<li><p>Remove <code class="docutils literal notranslate"><span class="pre">mygame/web/static_overrides</span></code> and -<code class="docutils literal notranslate"><span class="pre">template_overrides</span></code>, reorganize website/admin/client/api
|
||
into a more consistent structure for overriding. Expanded webpage documentation considerably.</p></li>
|
||
<li><p>REST API list-view was shortened (#2401). New CSS/HTML. Add ReDoc for API autodoc page.</p></li>
|
||
<li><p>Update and fix dummyrunner with cleaner code and setup.</p></li>
|
||
<li><p>Made <code class="docutils literal notranslate"><span class="pre">iter_to_str</span></code> format prettier strings, using Oxford comma.</p></li>
|
||
<li><p>Added an MXP anchor tag to also support clickable web links.</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">tasks</span></code> command for managing tasks started with <code class="docutils literal notranslate"><span class="pre">utils.delay</span></code> (PR by davewiththenicehat)</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">help</span></code> index output clickable for webclient/clients with MXP (PR by davewiththenicehat)</p></li>
|
||
<li><p>Custom <code class="docutils literal notranslate"><span class="pre">evennia</span></code> launcher commands (e.g. <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">mycmd</span> <span class="pre">foo</span> <span class="pre">bar</span></code>). Add new commands as callables
|
||
accepting <code class="docutils literal notranslate"><span class="pre">*args</span></code>, as <code class="docutils literal notranslate"><span class="pre">settings.EXTRA_LAUNCHER_COMMANDS</span> <span class="pre">=</span> <span class="pre">{'mycmd':</span> <span class="pre">'path.to.callable',</span> <span class="pre">...}</span></code>.</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">XYZGrid</span></code> contrib, adding x,y,z grid coordinates with in-game map and
|
||
pathfinding. Controlled outside of the game via custom evennia launcher command.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Script.delete</span></code> has new kwarg <code class="docutils literal notranslate"><span class="pre">stop_task=True</span></code>, that can be used to avoid
|
||
infinite recursion when wanting to set up Script to delete-on-stop.</p></li>
|
||
<li><p>Command executions now done on copies to make sure <code class="docutils literal notranslate"><span class="pre">yield</span></code> don’t cause crossovers. Add
|
||
<code class="docutils literal notranslate"><span class="pre">Command.retain_instance</span></code> flag for reusing the same command instance.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">typeclass</span></code> command will now correctly search the correct database-table for the target
|
||
obj (avoids mistakenly assigning an AccountDB-typeclass to a Character etc).</p></li>
|
||
<li><p>Merged <code class="docutils literal notranslate"><span class="pre">script</span></code> and <code class="docutils literal notranslate"><span class="pre">scripts</span></code> commands into one, for both managing global- and
|
||
on-object Scripts. Moved <code class="docutils literal notranslate"><span class="pre">CmdScripts</span></code> and <code class="docutils literal notranslate"><span class="pre">CmdObjects</span></code> to <code class="docutils literal notranslate"><span class="pre">commands/default/building.py</span></code>.</p></li>
|
||
<li><p>Keep GMCP function case if outputfunc starts with capital letter (so <code class="docutils literal notranslate"><span class="pre">cmd_name</span></code> -> <code class="docutils literal notranslate"><span class="pre">Cmd.Name</span></code>
|
||
but <code class="docutils literal notranslate"><span class="pre">Cmd_nAmE</span></code> -> <code class="docutils literal notranslate"><span class="pre">Cmd.nAmE</span></code>). This helps e.g Mudlet’s legacy <code class="docutils literal notranslate"><span class="pre">Client_GUI</span></code> implementation)</p></li>
|
||
<li><p>Prototypes now allow setting <code class="docutils literal notranslate"><span class="pre">prototype_parent</span></code> directly to a prototype-dict.
|
||
This makes it easier when dynamically building in-module prototypes.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">RPSystem</span> <span class="pre">contrib</span></code> was expanded to support case, so /tall becomes ‘tall man’
|
||
while /Tall becomes ‘Tall man’. One can turn this off if wanting the old style.</p></li>
|
||
<li><p>Change <code class="docutils literal notranslate"><span class="pre">EvTable</span></code> fixed-height rebalance algorithm to fill with empty lines at end of
|
||
column instead of inserting rows based on cell-size (could be mistaken for a bug).</p></li>
|
||
<li><p>Split <code class="docutils literal notranslate"><span class="pre">return_appearance</span></code> hook with helper methods and have it use a template
|
||
string in order to make it easier to override.</p></li>
|
||
<li><p>Add validation question to default account creation.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">LOCALECHO</span></code> client option to add server-side echo for clients that does
|
||
not support this (useful for getting a complete log).</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">@lazy_property</span></code> decorator create read/delete-protected properties. This is
|
||
because it’s used for handlers, and e.g. self.locks=[] is a common beginner mistake.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">$pron()</span></code> inlinefunc for pronoun parsing in actor-stance strings using
|
||
<code class="docutils literal notranslate"><span class="pre">msg_contents</span></code>.</p></li>
|
||
<li><p>Update defauklt website to show Telnet/SSL/SSH connect info. Added new
|
||
<code class="docutils literal notranslate"><span class="pre">SERVER_HOSTNAME</span></code> setting for use in the server:port stanza.</p></li>
|
||
<li><p>Changed all <code class="docutils literal notranslate"><span class="pre">at_before/after_*</span></code> hooks to <code class="docutils literal notranslate"><span class="pre">at_pre/post_*</span></code> for consistency
|
||
across Evennia (the old names still work but are deprecated)</p></li>
|
||
<li><p>Change <code class="docutils literal notranslate"><span class="pre">settings.COMMAND_DEFAULT_ARG_REGEX</span></code> default from <code class="docutils literal notranslate"><span class="pre">None</span></code> to a regex meaning that
|
||
a space or <code class="docutils literal notranslate"><span class="pre">/</span></code> must separate the cmdname and args. This better fits common expectations.</p></li>
|
||
<li><p>Add confirmation question to <code class="docutils literal notranslate"><span class="pre">ban</span></code>/<code class="docutils literal notranslate"><span class="pre">unban</span></code> commands.</p></li>
|
||
<li><p>Check new <code class="docutils literal notranslate"><span class="pre">teleport</span></code> and <code class="docutils literal notranslate"><span class="pre">teleport_here</span></code> lock-types in <code class="docutils literal notranslate"><span class="pre">teleport</span></code> command to optionally
|
||
allow to limit teleportation of an object or to a specific destination.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">settings.MXP_ENABLED=True</span></code> and <code class="docutils literal notranslate"><span class="pre">settings.MXP_OUTGOING_ONLY=True</span></code> as sane defaults,
|
||
to avoid known security issues with players entering MXP links.</p></li>
|
||
<li><p>Add browser name to webclient <code class="docutils literal notranslate"><span class="pre">CLIENT_NAME</span></code> in <code class="docutils literal notranslate"><span class="pre">session.protocol_flags</span></code>, e.g.
|
||
<code class="docutils literal notranslate"><span class="pre">"Evennia</span> <span class="pre">webclient</span> <span class="pre">(websocket:firefox)"</span></code> or <code class="docutils literal notranslate"><span class="pre">"evennia</span> <span class="pre">webclient</span> <span class="pre">(ajax:chrome)"</span></code>.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">TagHandler.add/has(tag=...)</span></code> kwarg changed to <code class="docutils literal notranslate"><span class="pre">add/has(key=...)</span></code> for consistency
|
||
with other handlers.</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">DefaultScript.delete</span></code>, <code class="docutils literal notranslate"><span class="pre">DefaultChannel.delete</span></code> and <code class="docutils literal notranslate"><span class="pre">DefaultAccount.delete</span></code> return
|
||
bool True/False if deletion was successful (like <code class="docutils literal notranslate"><span class="pre">DefaultObject.delete</span></code> before them)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">contrib.custom_gametime</span></code> days/weeks/months now always starts from 1 (to match
|
||
the standard calendar form … there is no month 0 every year after all).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">AttributeProperty</span></code>/<code class="docutils literal notranslate"><span class="pre">NAttributeProperty</span></code> to allow managing Attributes/NAttributes
|
||
on typeclasses in the same way as Django fields.</p></li>
|
||
<li><p>Give build/system commands a <code class="docutils literal notranslate"><span class="pre">@name</span></code> to fall back to if the non-@ name is used
|
||
by another command (like <code class="docutils literal notranslate"><span class="pre">open</span></code> and <code class="docutils literal notranslate"><span class="pre">@open</span></code>. If no duplicate, @ is optional.</p></li>
|
||
<li><p>Move legacy channel-management commands (<code class="docutils literal notranslate"><span class="pre">ccreate</span></code>, <code class="docutils literal notranslate"><span class="pre">addcom</span></code> etc) to a contrib
|
||
since their work is now fully handled by the single <code class="docutils literal notranslate"><span class="pre">channel</span></code> command.</p></li>
|
||
<li><p>Expand <code class="docutils literal notranslate"><span class="pre">examine</span></code> command’s code to much more extensible and modular. Show
|
||
attribute categories and value types (when not strings).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">AttributeHandler.remove(key,</span> <span class="pre">return_exception=False,</span> <span class="pre">category=None,</span> <span class="pre">...)</span></code> changed
|
||
to <code class="docutils literal notranslate"><span class="pre">.remove(key,</span> <span class="pre">category=None,</span> <span class="pre">return_exception=False,</span> <span class="pre">...)</span></code> for consistency.</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">command</span> <span class="pre">cooldown</span></code> contrib for making it easier to manage commands using
|
||
dynamic cooldowns between uses (owllex)</p></li>
|
||
<li><p>Restructured <code class="docutils literal notranslate"><span class="pre">contrib/</span></code> folder, placing all contribs as separate packages under
|
||
subfolders. All imports will need to be updated.</p></li>
|
||
<li><p>Made <code class="docutils literal notranslate"><span class="pre">MonitorHandler.add/remove</span></code> support <code class="docutils literal notranslate"><span class="pre">category</span></code> for monitoring Attributes
|
||
with a category (before only key was used, ignoring category entirely).</p></li>
|
||
<li><p>Move <code class="docutils literal notranslate"><span class="pre">create_*</span></code> functions into db managers, leaving <code class="docutils literal notranslate"><span class="pre">utils.create</span></code> only being
|
||
wrapper functions (consistent with <code class="docutils literal notranslate"><span class="pre">utils.search</span></code>). No change of api otherwise.</p></li>
|
||
<li><p>Add support for <code class="docutils literal notranslate"><span class="pre">$dbref()</span></code> and <code class="docutils literal notranslate"><span class="pre">$search</span></code> when assigning an Attribute value
|
||
with the <code class="docutils literal notranslate"><span class="pre">set</span></code> command. This allows assigning real objects from in-game.</p></li>
|
||
<li><p>Add ability to examine <code class="docutils literal notranslate"><span class="pre">/script</span></code> and <code class="docutils literal notranslate"><span class="pre">/channel</span></code> entities with <code class="docutils literal notranslate"><span class="pre">examine</span></code> command.</p></li>
|
||
<li><p>Homogenize manager search methods to return querysets and not lists.</p></li>
|
||
<li><p>Restructure unit tests to always honor default settings; make new parents in
|
||
on location for easy use in game dir.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">Lunr</span></code> search engine used by help excludes common words; the settings-list
|
||
<code class="docutils literal notranslate"><span class="pre">LUNR_STOP_WORD_FILTER_EXCEPTIONS</span></code> can be extended to make sure common names are included.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">.deserialize()</span></code> method to <code class="docutils literal notranslate"><span class="pre">_Saver*</span></code> structures to help completely
|
||
decouple structures from database without needing separate import.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">run_in_main_thread</span></code> as a helper for those wanting to code server code
|
||
from a web view.</p></li>
|
||
<li><p>Update <code class="docutils literal notranslate"><span class="pre">evennia.utils.logger</span></code> to use Twisted’s new logging API. No change in Evennia API
|
||
except more standard aliases logger.error/info/exception/debug etc can now be used.</p></li>
|
||
<li><p>Have <code class="docutils literal notranslate"><span class="pre">type/force</span></code> default to <code class="docutils literal notranslate"><span class="pre">update</span></code>-mode rather than <code class="docutils literal notranslate"><span class="pre">reset</span></code>mode and add more verbose
|
||
warning when using reset mode.</p></li>
|
||
<li><p>Attribute storage support defaultdics (Hendher)</p></li>
|
||
<li><p>Add ObjectParent mixin to default game folder template as an easy, ready-made
|
||
way to override features on all ObjectDB-inheriting objects easily.
|
||
source location, mimicking behavior of <code class="docutils literal notranslate"><span class="pre">at_pre_move</span></code> hook - returning False will abort move.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">TagProperty</span></code>, <code class="docutils literal notranslate"><span class="pre">AliasProperty</span></code> and <code class="docutils literal notranslate"><span class="pre">PermissionProperty</span></code> to assign these
|
||
data in a similar way to django fields.</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">at_pre_object_receive(obj,</span> <span class="pre">source_location)</span></code> method on Objects. Called on
|
||
destination, mimicking behavior of <code class="docutils literal notranslate"><span class="pre">at_pre_move</span></code> hook - returning False will abort move.</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">at_pre_object_leave(obj,</span> <span class="pre">destination)</span></code> method on Objects. Called on</p></li>
|
||
<li><p>The db pickle-serializer now checks for methods <code class="docutils literal notranslate"><span class="pre">__serialize_dbobjs__</span></code> and <code class="docutils literal notranslate"><span class="pre">__deserialize_dbobjs__</span></code>
|
||
to allow custom packing/unpacking of nested dbobjs, to allow storing in Attribute.</p></li>
|
||
<li><p>Optimizations to rpsystem contrib performance. Breaking change: <code class="docutils literal notranslate"><span class="pre">.get_sdesc()</span></code> will
|
||
now return <code class="docutils literal notranslate"><span class="pre">None</span></code> instead of <code class="docutils literal notranslate"><span class="pre">.db.desc</span></code> if no sdesc is set; fallback in hook (inspectorCaracal)</p></li>
|
||
<li><p>Reworked text2html parser to avoid problems with stateful color tags (inspectorCaracal)</p></li>
|
||
<li><p>Simplified <code class="docutils literal notranslate"><span class="pre">EvMenu.options_formatter</span></code> hook to use <code class="docutils literal notranslate"><span class="pre">EvColumn</span></code> and f-strings (inspectorcaracal)</p></li>
|
||
<li><p>Allow <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">CODE</span></code>, <code class="docutils literal notranslate"><span class="pre">#</span> <span class="pre">HEADER</span></code> etc as well as <code class="docutils literal notranslate"><span class="pre">#CODE</span></code>/<code class="docutils literal notranslate"><span class="pre">#HEADER</span></code> in batchcode
|
||
files - this works better with black linting.</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">move_type</span></code> str kwarg to <code class="docutils literal notranslate"><span class="pre">move_to()</span></code> calls, optionally identifying the type of
|
||
move being done (‘teleport’, ‘disembark’, ‘give’ etc). (volund)</p></li>
|
||
<li><p>Made RPSystem contrib msg calls pass <code class="docutils literal notranslate"><span class="pre">pose</span></code> or <code class="docutils literal notranslate"><span class="pre">say</span></code> as msg-<code class="docutils literal notranslate"><span class="pre">type</span></code> for use in
|
||
e.g. webclient pane filtering where desired. (volund)</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">Account.uses_screenreader(session=None)</span></code> as a quick shortcut for
|
||
finding if a user uses a screenreader (and adjust display accordingly).</p></li>
|
||
<li><p>Fixed bug in <code class="docutils literal notranslate"><span class="pre">cmdset.remove()</span></code> where a command could not be deleted by <code class="docutils literal notranslate"><span class="pre">key</span></code>,
|
||
even though doc suggested one could (ChrisLR)</p></li>
|
||
<li><p>New contrib <code class="docutils literal notranslate"><span class="pre">name_generator</span></code> for building random real-world based or fantasy-names
|
||
based on phonetic rules.</p></li>
|
||
<li><p>Enable proper serialization of dict subclasses in Attributes (aogier)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">object.search</span></code> fuzzy-matching now uses <code class="docutils literal notranslate"><span class="pre">icontains</span></code> instead of <code class="docutils literal notranslate"><span class="pre">istartswith</span></code>
|
||
to better match how search works elsewhere (volund)</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">.at_traverse</span></code> hook now receives a <code class="docutils literal notranslate"><span class="pre">exit_obj</span></code> kwarg, linking back to the
|
||
exit triggering the hook (volund)</p></li>
|
||
<li><p>Contrib <code class="docutils literal notranslate"><span class="pre">buffs</span></code> for managing temporary and permanent RPG status buffs effects (tegiminis)</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">at_server_init()</span></code> hook called before all other startup hooks for all
|
||
startup modes. Used for more generic overriding (volund)</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">search</span></code> lock type used to completely hide an object from being found by
|
||
the <code class="docutils literal notranslate"><span class="pre">DefaultObject.search</span></code> (<code class="docutils literal notranslate"><span class="pre">caller.search</span></code>) method. (CloudKeeper)</p></li>
|
||
<li><p>Change setting <code class="docutils literal notranslate"><span class="pre">MULTISESSION_MODE</span></code> to now only control sessions, not how many
|
||
characters can be puppeted simultaneously. New settings now control that.</p></li>
|
||
<li><p>Add new setting <code class="docutils literal notranslate"><span class="pre">AUTO_CREATE_CHARACTER_WITH_ACCOUNT</span></code>, a boolean deciding if
|
||
the new account should also get a matching character (legacy MUD style).</p></li>
|
||
<li><p>Add new setting <code class="docutils literal notranslate"><span class="pre">AUTO_PUPPET_ON_LOGIN</span></code>, boolean deciding if one should
|
||
automatically puppet the last/available character on connection (legacy MUD style)</p></li>
|
||
<li><p>Add new setting <code class="docutils literal notranslate"><span class="pre">MAX_NR_SIMULTANEUS_PUPPETS</span></code> - how many puppets the account
|
||
can run at the same time. Used to limit multi-playing.</p></li>
|
||
<li><p>Make setting <code class="docutils literal notranslate"><span class="pre">MAX_NR_CHARACTERS</span></code> interact better with the new settings above.</p></li>
|
||
<li><p>Allow <code class="docutils literal notranslate"><span class="pre">$search</span></code> funcparser func to search tags and to accept kwargs for more
|
||
powerful searches passed into the regular search functions.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">spawner.spawn</span></code> and linked methods now has a kwarg <code class="docutils literal notranslate"><span class="pre">protfunc_raise_errors</span></code>
|
||
(default True) to disable strict errors on malformed/not-found protfuncs</p></li>
|
||
<li><p>Improve search performance when having many DB-based prototypes via caching.</p></li>
|
||
<li><p>Remove the <code class="docutils literal notranslate"><span class="pre">return_parents</span></code> kwarg of <code class="docutils literal notranslate"><span class="pre">evennia.prototypes.spawner.spawn</span></code> since it
|
||
was inefficient and unused.</p></li>
|
||
<li><p>Made all id fields BigAutoField for all databases. (owllex)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvForm</span></code> refactored. New <code class="docutils literal notranslate"><span class="pre">literals</span></code> mapping, for literal mappings into the
|
||
main template (e.g. for single-character replacements).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvForm</span></code> <code class="docutils literal notranslate"><span class="pre">cells</span></code> kwarg now accepts <code class="docutils literal notranslate"><span class="pre">EvCells</span></code> with custom formatting options
|
||
(mainly for custom align/valign). <code class="docutils literal notranslate"><span class="pre">EvCells</span></code> now makes use of <code class="docutils literal notranslate"><span class="pre">utils.justify</span></code>.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">utils.justify</span></code> now supports <code class="docutils literal notranslate"><span class="pre">align="a"</span></code> (absolute alignments. This keeps
|
||
the given left indent but crops/fills to the width. Used in EvCells.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvTable</span></code> now supports passing <code class="docutils literal notranslate"><span class="pre">EvColumn</span></code>s as a list directly, (<code class="docutils literal notranslate"><span class="pre">EvTable(table=[colA,colB])</span></code>)</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">tags=</span></code> search criterion to <code class="docutils literal notranslate"><span class="pre">DefaultObject.search</span></code>.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">AT_EXIT_TRAVERSE</span></code> signal, firing when an exit is traversed.</p></li>
|
||
<li><p>Add integration between Evennia and Discord channels (PR by Inspector Cararacal)</p></li>
|
||
<li><p>Support for using a Godot-powered client with Evennia (PR by ChrisLR)</p></li>
|
||
<li><p>Added German translation (patch by Zhuraj)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-0-9-5">
|
||
<h2>Evennia 0.9.5<a class="headerlink" href="#evennia-0-9-5" title="Link to this heading">¶</a></h2>
|
||
<blockquote>
|
||
<div><p>2019-2020
|
||
Released 2020-11-14.
|
||
Transitional release, including new doc system.</p>
|
||
</div></blockquote>
|
||
<p>Backported from develop: Python 3.8, 3.9 support. Django 3.2+ support, Twisted 21+ support.</p>
|
||
<ul class="simple">
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">is_typeclass(obj</span> <span class="pre">(Object),</span> <span class="pre">exact</span> <span class="pre">(bool))</span></code> now defaults to exact=False</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">py</span></code> command now reroutes stdout to output results in-game client. <code class="docutils literal notranslate"><span class="pre">py</span></code>
|
||
without arguments starts a full interactive Python console.</p></li>
|
||
<li><p>Webclient default to a single input pane instead of two. Now defaults to no help-popup.</p></li>
|
||
<li><p>Webclient fix of prompt display</p></li>
|
||
<li><p>Webclient multimedia support for relaying images, video and sounds via
|
||
<code class="docutils literal notranslate"><span class="pre">.msg(image=URL)</span></code>, <code class="docutils literal notranslate"><span class="pre">.msg(video=URL)</span></code>
|
||
and <code class="docutils literal notranslate"><span class="pre">.msg(audio=URL)</span></code></p></li>
|
||
<li><p>Add Spanish translation (fermuch)</p></li>
|
||
<li><p>Expand <code class="docutils literal notranslate"><span class="pre">GLOBAL_SCRIPTS</span></code> container to always start scripts and to include all
|
||
global scripts regardless of how they were created.</p></li>
|
||
<li><p>Change settings to always use lists instead of tuples, to make mutable
|
||
settings easier to add to. (#1912)</p></li>
|
||
<li><p>Make new <code class="docutils literal notranslate"><span class="pre">CHANNEL_MUDINFO</span></code> setting for specifying the mudinfo channel</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">CHANNEL_CONNECTINFO</span></code> take full channel definition</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">DEFAULT_CHANNELS</span></code> list auto-create channels missing at reload</p></li>
|
||
<li><p>Webclient <code class="docutils literal notranslate"><span class="pre">ANSI->HTML</span></code> parser updated. Webclient line width changed from 1.6em to 1.1em
|
||
to better make ANSI graphics look the same as for third-party clients</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">AttributeHandler.get(return_list=True)</span></code> will return <code class="docutils literal notranslate"><span class="pre">[]</span></code> if there are no
|
||
Attributes instead of <code class="docutils literal notranslate"><span class="pre">[None]</span></code>.</p></li>
|
||
<li><p>Remove <code class="docutils literal notranslate"><span class="pre">pillow</span></code> requirement (install especially if using imagefield)</p></li>
|
||
<li><p>Add Simplified Korean translation (aceamro)</p></li>
|
||
<li><p>Show warning on <code class="docutils literal notranslate"><span class="pre">start</span> <span class="pre">-l</span></code> if settings contains values unsafe for production.</p></li>
|
||
<li><p>Make code auto-formatted with Black.</p></li>
|
||
<li><p>Make default <code class="docutils literal notranslate"><span class="pre">set</span></code> command able to edit nested structures (PR by Aaron McMillan)</p></li>
|
||
<li><p>Allow running Evennia test suite from core repo with <code class="docutils literal notranslate"><span class="pre">make</span> <span class="pre">test</span></code>.</p></li>
|
||
<li><p>Return <code class="docutils literal notranslate"><span class="pre">store_key</span></code> from <code class="docutils literal notranslate"><span class="pre">TickerHandler.add</span></code> and add <code class="docutils literal notranslate"><span class="pre">store_key</span></code> as a kwarg to
|
||
the <code class="docutils literal notranslate"><span class="pre">TickerHandler.remove</span></code> method. This makes it easier to manage tickers.</p></li>
|
||
<li><p>EvMore auto-justify now defaults to False since this works better with all types
|
||
of texts (such as tables). New <code class="docutils literal notranslate"><span class="pre">justify</span></code> bool. Old <code class="docutils literal notranslate"><span class="pre">justify_kwargs</span></code> remains
|
||
but is now only used to pass extra kwargs into the justify function.</p></li>
|
||
<li><p>EvMore <code class="docutils literal notranslate"><span class="pre">text</span></code> argument can now also be a list or a queryset. Querysets will be
|
||
sliced to only return the required data per page.</p></li>
|
||
<li><p>Improve performance of <code class="docutils literal notranslate"><span class="pre">find</span></code> and <code class="docutils literal notranslate"><span class="pre">objects</span></code> commands on large data sets (strikaco)</p></li>
|
||
<li><p>New <code class="docutils literal notranslate"><span class="pre">CHANNEL_HANDLER_CLASS</span></code> setting allows for replacing the ChannelHandler entirely.</p></li>
|
||
<li><p>Made <code class="docutils literal notranslate"><span class="pre">py</span></code> interactive mode support regular quit() and more verbose.</p></li>
|
||
<li><p>Made <code class="docutils literal notranslate"><span class="pre">Account.options.get</span></code> accept <code class="docutils literal notranslate"><span class="pre">default=None</span></code> kwarg to mimic other uses of get. Set
|
||
the new <code class="docutils literal notranslate"><span class="pre">raise_exception</span></code> boolean if ranting to raise KeyError on a missing key.</p></li>
|
||
<li><p>Moved behavior of unmodified <code class="docutils literal notranslate"><span class="pre">Command</span></code> and <code class="docutils literal notranslate"><span class="pre">MuxCommand</span></code> <code class="docutils literal notranslate"><span class="pre">.func()</span></code> to new
|
||
<code class="docutils literal notranslate"><span class="pre">.get_command_info()</span></code> method for easier overloading and access. (Volund)</p></li>
|
||
<li><p>Removed unused <code class="docutils literal notranslate"><span class="pre">CYCLE_LOGFILES</span></code> setting. Added <code class="docutils literal notranslate"><span class="pre">SERVER_LOG_DAY_ROTATION</span></code>
|
||
and <code class="docutils literal notranslate"><span class="pre">SERVER_LOG_MAX_SIZE</span></code> (and equivalent for PORTAL) to control log rotation.</p></li>
|
||
<li><p>Addded <code class="docutils literal notranslate"><span class="pre">inside_rec</span></code> lockfunc - if room is locked, the normal <code class="docutils literal notranslate"><span class="pre">inside()</span></code> lockfunc will
|
||
fail e.g. for your inventory objs (since their loc is you), whereas this will pass.</p></li>
|
||
<li><p>RPSystem contrib’s CmdRecog will now list all recogs if no arg is given. Also multiple
|
||
bugfixes.</p></li>
|
||
<li><p>Remove <code class="docutils literal notranslate"><span class="pre">dummy@example.com</span></code> as a default account email when unset, a string is no longer
|
||
required by Django.</p></li>
|
||
<li><p>Fixes to <code class="docutils literal notranslate"><span class="pre">spawn</span></code>, make updating an existing prototype/object work better. Add <code class="docutils literal notranslate"><span class="pre">/raw</span></code> switch
|
||
to <code class="docutils literal notranslate"><span class="pre">spawn</span></code> command to extract the raw prototype dict for manual editing.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">list_to_string</span></code> is now <code class="docutils literal notranslate"><span class="pre">iter_to_string</span></code> (but old name still works as legacy alias). It will
|
||
now accept any input, including generators and single values.</p></li>
|
||
<li><p>EvTable should now correctly handle columns with wider asian-characters in them.</p></li>
|
||
<li><p>Update Twisted requirement to >=2.3.0 to close security vulnerability</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">$random</span></code> inlinefunc, supports minval,maxval arguments that can be ints and floats.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">evennia.utils.inlinefuncs.raw(<str>)</span></code> as a helper to escape inlinefuncs in a string.</p></li>
|
||
<li><p>Make CmdGet/Drop/Give give proper error if <code class="docutils literal notranslate"><span class="pre">obj.move_to</span></code> returns <code class="docutils literal notranslate"><span class="pre">False</span></code>.</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">Object/Room/Exit.create</span></code>’s <code class="docutils literal notranslate"><span class="pre">account</span></code> argument optional. If not given, will set perms
|
||
to that of the object itself (along with normal Admin/Dev permission).</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">INLINEFUNC_STACK_MAXSIZE</span></code> default visible in <code class="docutils literal notranslate"><span class="pre">settings_default.py</span></code>.</p></li>
|
||
<li><p>Change how <code class="docutils literal notranslate"><span class="pre">ic</span></code> finds puppets; non-priveleged users will use <code class="docutils literal notranslate"><span class="pre">_playable_characters</span></code> list as
|
||
candidates, Builders+ will use list, local search and only global search if no match found.</p></li>
|
||
<li><p>Make <code class="docutils literal notranslate"><span class="pre">cmd.at_post_cmd()</span></code> always run after <code class="docutils literal notranslate"><span class="pre">cmd.func()</span></code>, even when the latter uses delays
|
||
with yield.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvMore</span></code> support for db queries and django paginators as well as easier to override for custom
|
||
pagination (e.g. to create EvTables for every page instead of splittine one table)</p></li>
|
||
<li><p>Using <code class="docutils literal notranslate"><span class="pre">EvMore</span> <span class="pre">pagination</span></code>, dramatically improves performance of <code class="docutils literal notranslate"><span class="pre">spawn/list</span></code> and <code class="docutils literal notranslate"><span class="pre">scripts</span></code> listings
|
||
(100x speed increase for displaying 1000+ prototypes/scripts).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvMenu</span></code> now uses the more logically named <code class="docutils literal notranslate"><span class="pre">.ndb._evmenu</span></code> instead of <code class="docutils literal notranslate"><span class="pre">.ndb._menutree</span></code> to store itself.
|
||
Both still work for backward compatibility, but <code class="docutils literal notranslate"><span class="pre">_menutree</span></code> is deprecated.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">EvMenu.msg(txt)</span></code> added as a central place to send text to the user, makes it easier to override.
|
||
Default <code class="docutils literal notranslate"><span class="pre">EvMenu.msg</span></code> sends with OOB type=“menu” for use with OOB and webclient pane-redirects.</p></li>
|
||
<li><p>New EvMenu templating system for quickly building simpler EvMenus without as much code.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">Command.client_height()</span></code> method to match existing <code class="docutils literal notranslate"><span class="pre">.client_width</span></code> (stricako)</p></li>
|
||
<li><p>Include more Web-client info in <code class="docutils literal notranslate"><span class="pre">session.protocol_flags</span></code>.</p></li>
|
||
<li><p>Fixes in multi-match situations - don’t allow finding/listing multimatches for 3-box when
|
||
only two boxes in location.</p></li>
|
||
<li><p>Fix for TaskHandler with proper deferred returns/ability to cancel etc (PR by davewiththenicehat)</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">PermissionHandler.check</span></code> method for straight string perm-checks without needing lockstrings.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">evennia.utils.utils.strip_unsafe_input</span></code> for removing html/newlines/tags from user input. The
|
||
<code class="docutils literal notranslate"><span class="pre">INPUT_CLEANUP_BYPASS_PERMISSIONS</span></code> is a list of perms that bypass this safety stripping.</p></li>
|
||
<li><p>Make default <code class="docutils literal notranslate"><span class="pre">set</span></code> and <code class="docutils literal notranslate"><span class="pre">examine</span></code> commands aware of Attribute categories.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evennia-0-9">
|
||
<h2>Evennia 0.9<a class="headerlink" href="#evennia-0-9" title="Link to this heading">¶</a></h2>
|
||
<blockquote>
|
||
<div><p>2018-2019
|
||
Released Oct 2019</p>
|
||
</div></blockquote>
|
||
<section id="distribution">
|
||
<h3>Distribution<a class="headerlink" href="#distribution" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>New requirement: Python 3.7 (py2.7 support removed)</p></li>
|
||
<li><p>Django 2.1</p></li>
|
||
<li><p>Twisted 19.2.1</p></li>
|
||
<li><p>Autobahn websockets (removed old tmwx)</p></li>
|
||
<li><p>Docker image updated</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="commands">
|
||
<h3>Commands<a class="headerlink" href="#commands" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Remove <code class="docutils literal notranslate"><span class="pre">@</span></code>-prefix from all default commands (prefixes still work, optional)</p></li>
|
||
<li><p>Removed default <code class="docutils literal notranslate"><span class="pre">@delaccount</span></code> command, incorporating as <code class="docutils literal notranslate"><span class="pre">@account/delete</span></code> instead. Added confirmation
|
||
question.</p></li>
|
||
<li><p>Add new <code class="docutils literal notranslate"><span class="pre">@force</span></code> command to have another object perform a command.</p></li>
|
||
<li><p>Add the Portal uptime to the <code class="docutils literal notranslate"><span class="pre">@time</span></code> command.</p></li>
|
||
<li><p>Make the <code class="docutils literal notranslate"><span class="pre">@link</span></code> command first make a local search before a global search.</p></li>
|
||
<li><p>Have the default Unloggedin-look command look for optional <code class="docutils literal notranslate"><span class="pre">connection_screen()</span></code> callable in
|
||
<code class="docutils literal notranslate"><span class="pre">mygame/server/conf/connection_screen.py</span></code>. This allows for more flexible welcome screens
|
||
that are calculated on the fly.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">@py</span></code> command now defaults to escaping html tags in its output when viewing in the webclient.
|
||
Use new <code class="docutils literal notranslate"><span class="pre">/clientraw</span></code> switch to get old behavior (issue #1369).</p></li>
|
||
<li><p>Shorter and more informative, dynamic, listing of on-command vars if not
|
||
setting func() in child command class.</p></li>
|
||
<li><p>New Command helper methods</p>
|
||
<ul>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">.client_width()</span></code> returns client width of the session running the command.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">.styled_table(*args,</span> <span class="pre">**kwargs)</span></code> returns a formatted evtable styled by user’s options</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">.style_header(*args,</span> <span class="pre">**kwargs)</span></code> creates styled header entry</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">.style_separator(*args,</span> <span class="pre">**kwargs)</span></code> “ separator</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">.style_footer(*args,</span> <span class="pre">**kwargs)</span></code> “ footer</p></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</section>
|
||
<section id="web">
|
||
<h3>Web<a class="headerlink" href="#web" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Change webclient from old txws version to use more supported/feature-rich Autobahn websocket library</p></li>
|
||
</ul>
|
||
<section id="evennia-game-index">
|
||
<h4>Evennia game index<a class="headerlink" href="#evennia-game-index" title="Link to this heading">¶</a></h4>
|
||
<ul class="simple">
|
||
<li><p>Made Evennia game index client a part of core - now configured from settings file (old configs
|
||
need to be moved)</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">connections</span></code> command starts a wizard that helps you connect your game to the game index.</p></li>
|
||
<li><p>The game index now accepts games with no public telnet/webclient info (for early prototypes).</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="new-golden-layout-based-webclient-ui-friarzen">
|
||
<h4>New golden-layout based Webclient UI (@friarzen)<a class="headerlink" href="#new-golden-layout-based-webclient-ui-friarzen" title="Link to this heading">¶</a></h4>
|
||
<ul class="simple">
|
||
<li><p>Features</p>
|
||
<ul>
|
||
<li><p>Much slicker behavior and more professional look</p></li>
|
||
<li><p>Allows tabbing as well as click and drag of panes in any grid position</p></li>
|
||
<li><p>Renaming tabs, assignments of data tags and output types are simple per-pane menus now</p></li>
|
||
<li><p>Any number of input panes, with separate histories</p></li>
|
||
<li><p>Button UI (disabled in JS by default)</p></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</section>
|
||
<section id="web-django-standard-initiative-strikaco">
|
||
<h4>Web/Django standard initiative (@strikaco)<a class="headerlink" href="#web-django-standard-initiative-strikaco" title="Link to this heading">¶</a></h4>
|
||
<ul class="simple">
|
||
<li><p>Features</p>
|
||
<ul>
|
||
<li><p>Adds a series of web-based forms and generic class-based views</p>
|
||
<ul>
|
||
<li><p>Accounts</p>
|
||
<ul>
|
||
<li><p>Register - Enhances registration; allows optional collection of email address</p></li>
|
||
<li><p>Form - Adds a generic Django form for creating Accounts from the web</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Characters</p>
|
||
<ul>
|
||
<li><p>Create - Authenticated users can create new characters from the website (requires associated form)</p></li>
|
||
<li><p>Detail - Authenticated and authorized users can view select details about characters</p></li>
|
||
<li><p>List - Authenticated and authorized users can browse a list of all characters</p></li>
|
||
<li><p>Manage - Authenticated users can edit or delete owned characters from the web</p></li>
|
||
<li><p>Form - Adds a generic Django form for creating characters from the web</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Channels</p>
|
||
<ul>
|
||
<li><p>Detail - Authorized users can view channel logs from the web</p></li>
|
||
<li><p>List - Authorized users can browse a list of all channels</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Help Entries</p>
|
||
<ul>
|
||
<li><p>Detail - Authorized users can view help entries from the web</p></li>
|
||
<li><p>List - Authorized users can browse a list of all help entries from the web</p></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Navbar changes</p>
|
||
<ul>
|
||
<li><p>Characters - Link to character list</p></li>
|
||
<li><p>Channels - Link to channel list</p></li>
|
||
<li><p>Help - Link to help entry list</p></li>
|
||
<li><p>Puppeting</p>
|
||
<ul>
|
||
<li><p>Users can puppet their own characters within the context of the website</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Dropdown</p>
|
||
<ul>
|
||
<li><p>Link to create characters</p></li>
|
||
<li><p>Link to manage characters</p></li>
|
||
<li><p>Link to quick-select puppets</p></li>
|
||
<li><p>Link to password change workflow</p></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Functions</p>
|
||
<ul>
|
||
<li><p>Updates Bootstrap to v4 stable</p></li>
|
||
<li><p>Enables use of Django Messages framework to communicate with users in browser</p></li>
|
||
<li><p>Implements webclient/website <code class="docutils literal notranslate"><span class="pre">_shared_login</span></code> functionality as Django middleware</p></li>
|
||
<li><p>‘account’ and ‘puppet’ are added to all request contexts for authenticated users</p></li>
|
||
<li><p>Adds unit tests for all web views</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Cosmetic</p>
|
||
<ul>
|
||
<li><p>Prettifies Django ‘forgot password’ workflow (requires SMTP to actually function)</p></li>
|
||
<li><p>Prettifies Django ‘change password’ workflow</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Bugfixes</p>
|
||
<ul>
|
||
<li><p>Fixes bug on login page where error messages were not being displayed</p></li>
|
||
<li><p>Remove strvalue field from admin; it made no sense to have here, being an optimization field
|
||
for internal use.</p></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</section>
|
||
</section>
|
||
<section id="prototypes">
|
||
<h3>Prototypes<a class="headerlink" href="#prototypes" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.prototypes.save_prototype</span></code> now takes the prototype as a normal
|
||
argument (<code class="docutils literal notranslate"><span class="pre">prototype</span></code>) instead of having to give it as <code class="docutils literal notranslate"><span class="pre">**prototype</span></code>.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.prototypes.search_prototype</span></code> has a new kwarg <code class="docutils literal notranslate"><span class="pre">require_single=False</span></code> that
|
||
raises a KeyError exception if query gave 0 or >1 results.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.prototypes.spawner</span></code> can now spawn by passing a <code class="docutils literal notranslate"><span class="pre">prototype_key</span></code></p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="typeclasses">
|
||
<h3>Typeclasses<a class="headerlink" href="#typeclasses" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Add new methods on all typeclasses, useful specifically for object handling from the website/admin:</p>
|
||
<ul>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">web_get_admin_url()</span></code>: Returns the path to the object detail page in the Admin backend.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">web_get_create_url()</span></code>: Returns the path to the typeclass’ creation page on the website, if implemented.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">web_get_absolute_url()</span></code>: Returns the path to the object’s detail page on the website, if implemented.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">web_get_update_url()</span></code>: Returns the path to the object’s update page on the website, if implemented.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">web_get_delete_url()</span></code>: Returns the path to the object’s delete page on the website, if implemented.</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>All typeclasses have new helper class method <code class="docutils literal notranslate"><span class="pre">create</span></code>, which encompasses useful functionality
|
||
that used to be embedded for example in the respective <code class="docutils literal notranslate"><span class="pre">@create</span></code> or <code class="docutils literal notranslate"><span class="pre">@connect</span></code> commands.</p></li>
|
||
<li><p>DefaultAccount now has new class methods implementing many things that used to be in unloggedin
|
||
commands (these can now be customized on the class instead):</p>
|
||
<ul>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">is_banned()</span></code>: Checks if a given username or IP is banned.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">get_username_validators</span></code>: Return list of validators for username validation (see
|
||
<code class="docutils literal notranslate"><span class="pre">settings.AUTH_USERNAME_VALIDATORS</span></code>)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">authenticate</span></code>: Method to check given username/password.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">normalize_username</span></code>: Normalizes names so (for Unicode environments) users cannot mimic existing usernames by replacing select characters with visually-similar Unicode chars.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">validate_username</span></code>: Mechanism for validating a username based on predefined Django validators.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">validate_password</span></code>: Mechanism for validating a password based on predefined Django validators.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">set_password</span></code>: Apply password to account, using validation checks.</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">AttributeHandler.remove</span></code> and <code class="docutils literal notranslate"><span class="pre">TagHandler.remove</span></code> can now be used to delete by-category. If neither
|
||
key nor category is given, they now work the same as .clear().</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="protocols">
|
||
<h3>Protocols<a class="headerlink" href="#protocols" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Support for <code class="docutils literal notranslate"><span class="pre">Grapevine</span></code> MUD-chat network (“channels” supported)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="server">
|
||
<h3>Server<a class="headerlink" href="#server" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Convert ServerConf model to store its values as a Picklefield (same as
|
||
Attributes) instead of using a custom solution.</p></li>
|
||
<li><p>OOB: Add support for MSDP LIST, REPORT, UNREPORT commands (re-mapped to <code class="docutils literal notranslate"><span class="pre">msdp_list</span></code>,
|
||
<code class="docutils literal notranslate"><span class="pre">msdp_report</span></code>, <code class="docutils literal notranslate"><span class="pre">msdp_unreport</span></code>, inlinefuncs)</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">evennia.ANSIString</span></code> to flat API.</p></li>
|
||
<li><p>Server/Portal log files now cycle to names on the form <code class="docutils literal notranslate"><span class="pre">server_.log_19_03_08_</span></code> instead of <code class="docutils literal notranslate"><span class="pre">server.log___19.3.8</span></code>, retaining
|
||
unix file sorting order.</p></li>
|
||
<li><p>Django signals fire for important events: Puppet/Unpuppet, Object create/rename, Login,
|
||
Logout, Login fail Disconnect, Account create/rename</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="settings">
|
||
<h3>Settings<a class="headerlink" href="#settings" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">GLOBAL_SCRIPTS</span></code> - dict defining typeclasses of global scripts to store on the new
|
||
<code class="docutils literal notranslate"><span class="pre">evennia.GLOBAL_SCRIPTS</span></code> container. These will auto-start when Evennia start and will always
|
||
exist.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">OPTIONS_ACCOUNTS_DEFAULT</span></code> - option dict with option defaults and Option classes</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">OPTION_CLASS_MODULES</span></code> - classes representing an on-Account Option, on special form</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">VALIDATOR_FUNC_MODULES</span></code> - (general) text validator functions, for verifying an input
|
||
is on a specific form.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="utilities">
|
||
<h3>Utilities<a class="headerlink" href="#utilities" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia</span></code> launcher now fully handles all django-admin commands, like running tests in parallel.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.utils.create.account</span></code> now also takes <code class="docutils literal notranslate"><span class="pre">tags</span></code> and <code class="docutils literal notranslate"><span class="pre">attrs</span></code> keywords.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.utils.interactive</span></code> decorator can now allow you to use yield(secs) to pause operation
|
||
in any function, not just in Command.func. Likewise, response = yield(question) will work
|
||
if the decorated function has an argument or kwarg <code class="docutils literal notranslate"><span class="pre">caller</span></code>.</p></li>
|
||
<li><p>Added many more unit tests.</p></li>
|
||
<li><p>Swap argument order of <code class="docutils literal notranslate"><span class="pre">evennia.set_trace</span></code> to <code class="docutils literal notranslate"><span class="pre">set_trace(term_size=(140,</span> <span class="pre">40),</span> <span class="pre">debugger='auto')</span></code>
|
||
since the size is more likely to be changed on the command line.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">utils.to_str(text,</span> <span class="pre">session=None)</span></code> now acts as the old <code class="docutils literal notranslate"><span class="pre">utils.to_unicode</span></code> (which was removed).
|
||
This converts to the str() type (not to a byte-string as in Evennia 0.8), trying different
|
||
encodings. This function will also force-convert any object passed to it into a string (so
|
||
<code class="docutils literal notranslate"><span class="pre">force_string</span></code> flag was removed and assumed always set).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">utils.to_bytes(text,</span> <span class="pre">session=None)</span></code> replaces the old <code class="docutils literal notranslate"><span class="pre">utils.to_str()</span></code> functionality and converts
|
||
str to bytes.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.MONITOR_HANDLER.all</span></code> now takes keyword argument <code class="docutils literal notranslate"><span class="pre">obj</span></code> to only retrieve monitors from that specific
|
||
Object (rather than all monitors in the entire handler).</p></li>
|
||
<li><p>Support adding <code class="docutils literal notranslate"><span class="pre">\f</span></code> in command doc strings to force where EvMore puts page breaks.</p></li>
|
||
<li><p>Validation Functions now added with standard API to homogenize user input validation.</p></li>
|
||
<li><p>Option Classes added to make storing user-options easier and smoother.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.VALIDATOR_CONTAINER</span></code> and <code class="docutils literal notranslate"><span class="pre">evennia.OPTION_CONTAINER</span></code> added to load these.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="new-contribs">
|
||
<h3>New Contribs<a class="headerlink" href="#new-contribs" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Evscaperoom - a full puzzle engine for making multiplayer escape rooms in Evennia. Used to make
|
||
the entry for the MUD-Coder’s Guild’s 2019 Game Jam with the theme “One Room”, where it ranked #1.</p></li>
|
||
<li><p>Evennia game-index client no longer a contrib - moved into server core and configured with new
|
||
setting <code class="docutils literal notranslate"><span class="pre">GAME_INDEX_ENABLED</span></code>.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">extended_room</span></code> contrib saw some backwards-incompatible refactoring:</p>
|
||
<ul>
|
||
<li><p>All commands now begin with <code class="docutils literal notranslate"><span class="pre">CmdExtendedRoom</span></code>. So before it was <code class="docutils literal notranslate"><span class="pre">CmdExtendedLook</span></code>, now
|
||
it’s <code class="docutils literal notranslate"><span class="pre">CmdExtendedRoomLook</span></code> etc.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">detail</span></code> command was broken out of the <code class="docutils literal notranslate"><span class="pre">desc</span></code> command and is now a new, stand-alone command
|
||
<code class="docutils literal notranslate"><span class="pre">CmdExtendedRoomDetail</span></code>. This was done to make things easier to extend and to mimic how the detail
|
||
command works in the tutorial-world.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">detail</span></code> command now also supports deleting details (like the tutorial-world version).</p></li>
|
||
<li><p>The new <code class="docutils literal notranslate"><span class="pre">ExtendedRoomCmdSet</span></code> includes all the extended-room commands and is now the recommended way
|
||
to install the extended-room contrib.</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Reworked <code class="docutils literal notranslate"><span class="pre">menu_login</span></code> contrib to use latest EvMenu standards. Now also supports guest logins.</p></li>
|
||
<li><p>Mail contrib was refactored to have optional Command classes <code class="docutils literal notranslate"><span class="pre">CmdMail</span></code> for OOC+IC mail (added
|
||
to the CharacterCmdSet and <code class="docutils literal notranslate"><span class="pre">CmdMailCharacter</span></code> for IC-only mailing between chars (added to CharacterCmdSet)</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="translations">
|
||
<h3>Translations<a class="headerlink" href="#translations" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Simplified chinese, courtesy of user MaxAlex.</p></li>
|
||
</ul>
|
||
</section>
|
||
</section>
|
||
<section id="evennia-0-8">
|
||
<h2>Evennia 0.8<a class="headerlink" href="#evennia-0-8" title="Link to this heading">¶</a></h2>
|
||
<blockquote>
|
||
<div><p>2017-2018
|
||
Released Nov 2018</p>
|
||
</div></blockquote>
|
||
<section id="requirements">
|
||
<h3>Requirements<a class="headerlink" href="#requirements" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Up requirements to Django 1.11.x, Twisted 18 and pillow 5.2.0</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">inflect</span></code> dependency for automatic pluralization of object names.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="server-portal">
|
||
<h3>Server/Portal<a class="headerlink" href="#server-portal" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Removed <code class="docutils literal notranslate"><span class="pre">evennia_runner</span></code>, completely refactor <code class="docutils literal notranslate"><span class="pre">evennia_launcher.py</span></code> (the ‘evennia’ program)
|
||
with different functionality).</p></li>
|
||
<li><p>Both Portal/Server are now stand-alone processes (easy to run as daemon)</p></li>
|
||
<li><p>Made Portal the AMP Server for starting/restarting the Server (the AMP client)</p></li>
|
||
<li><p>Dynamic logging now happens using <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">-l</span></code> rather than by interactive mode.</p></li>
|
||
<li><p>Made AMP secure against erroneous HTTP requests on the wrong port (return error messages).</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">istart</span></code> option will start/switch the Server in foreground (interactive) mode, where it logs
|
||
to terminal and can be stopped with Ctrl-C. Using <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">reload</span></code>, or reloading in-game, will
|
||
return Server to normal daemon operation.</p></li>
|
||
<li><p>For validating passwords, use safe Django password-validation backend instead of custom Evennia one.</p></li>
|
||
<li><p>Alias <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">restart</span></code> to mean the same as <code class="docutils literal notranslate"><span class="pre">evennia</span> <span class="pre">reload</span></code>.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="prototype-changes">
|
||
<h3>Prototype changes<a class="headerlink" href="#prototype-changes" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>New OLC started from <code class="docutils literal notranslate"><span class="pre">olc</span></code> command for loading/saving/manipulating prototypes in a menu.</p></li>
|
||
<li><p>Moved evennia/utils/spawner.py into the new evennia/prototypes/ along with all new
|
||
functionality around prototypes.</p></li>
|
||
<li><p>A new form of prototype - database-stored prototypes, editable from in-game, was added. The old,
|
||
module-created prototypes remain as read-only prototypes.</p></li>
|
||
<li><p>All prototypes must have a key <code class="docutils literal notranslate"><span class="pre">prototype_key</span></code> identifying the prototype in listings. This is
|
||
checked to be server-unique. Prototypes created in a module will use the global variable name they
|
||
are assigned to if no <code class="docutils literal notranslate"><span class="pre">prototype_key</span></code> is given.</p></li>
|
||
<li><p>Prototype field <code class="docutils literal notranslate"><span class="pre">prototype</span></code> was renamed to <code class="docutils literal notranslate"><span class="pre">prototype_parent</span></code> to avoid mixing terms.</p></li>
|
||
<li><p>All prototypes must either have <code class="docutils literal notranslate"><span class="pre">typeclass</span></code> or <code class="docutils literal notranslate"><span class="pre">prototype_parent</span></code> defined. If using
|
||
<code class="docutils literal notranslate"><span class="pre">prototype_parent</span></code>, <code class="docutils literal notranslate"><span class="pre">typeclass</span></code> must be defined somewhere in the inheritance chain. This is a
|
||
change from Evennia 0.7 which allowed ‘mixin’ prototypes without <code class="docutils literal notranslate"><span class="pre">typeclass</span></code>/<code class="docutils literal notranslate"><span class="pre">prototype_key</span></code>. To
|
||
make a mixin now, give it a default typeclass, like <code class="docutils literal notranslate"><span class="pre">evennia.objects.objects.DefaultObject</span></code> and just
|
||
override in the child as needed.</p></li>
|
||
<li><p>Spawning an object using a prototype will automatically assign a new tag to it, named the same as
|
||
the <code class="docutils literal notranslate"><span class="pre">prototype_key</span></code> and with the category <code class="docutils literal notranslate"><span class="pre">from_prototype</span></code>.</p></li>
|
||
<li><p>The spawn command was extended to accept a full prototype on one line.</p></li>
|
||
<li><p>The spawn command got the /save switch to save the defined prototype and its key</p></li>
|
||
<li><p>The command spawn/menu will now start an OLC (OnLine Creation) menu to load/save/edit/spawn prototypes.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="evmenu">
|
||
<h3>EvMenu<a class="headerlink" href="#evmenu" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">EvMenu.helptext_formatter(helptext)</span></code> to allow custom formatting of per-node help.</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">evennia.utils.evmenu.list_node</span></code> decorator for turning an EvMenu node into a multi-page listing.</p></li>
|
||
<li><p>A <code class="docutils literal notranslate"><span class="pre">goto</span></code> option callable returning None (rather than the name of the next node) will now rerun the
|
||
current node instead of failing.</p></li>
|
||
<li><p>Better error handling of in-node syntax errors.</p></li>
|
||
<li><p>Improve dedent of default text/helptext formatter. Right-strip whitespace.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">debug</span></code> option when creating menu - this turns off persistence and makes the <code class="docutils literal notranslate"><span class="pre">menudebug</span></code>
|
||
command available for examining the current menu state.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="webclient">
|
||
<h3>Webclient<a class="headerlink" href="#webclient" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Webclient now uses a plugin system to inject new components from the html file.</p></li>
|
||
<li><p>Split-windows - divide input field into any number of horizontal/vertical panes and
|
||
assign different types of server messages to them.</p></li>
|
||
<li><p>Lots of cleanup and bug fixes.</p></li>
|
||
<li><p>Hot buttons plugin (friarzen) (disabled by default).</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="locks">
|
||
<h3>Locks<a class="headerlink" href="#locks" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>New function <code class="docutils literal notranslate"><span class="pre">evennia.locks.lockhandler.check_lockstring</span></code>. This allows for checking an object
|
||
against an arbitrary lockstring without needing the lock to be stored on an object first.</p></li>
|
||
<li><p>New function <code class="docutils literal notranslate"><span class="pre">evennia.locks.lockhandler.validate_lockstring</span></code> allows for stand-alone validation
|
||
of a lockstring.</p></li>
|
||
<li><p>New function <code class="docutils literal notranslate"><span class="pre">evennia.locks.lockhandler.get_all_lockfuncs</span></code> gives a dict {“name”: lockfunc} for
|
||
all available lock funcs. This is useful for dynamic listings.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="utils">
|
||
<h3>Utils<a class="headerlink" href="#utils" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Added new <code class="docutils literal notranslate"><span class="pre">columnize</span></code> function for easily splitting text into multiple columns. At this point it
|
||
is not working too well with ansi-colored text however.</p></li>
|
||
<li><p>Extend the <code class="docutils literal notranslate"><span class="pre">dedent</span></code> function with a new <code class="docutils literal notranslate"><span class="pre">baseline_index</span></code> kwarg. This allows to force all lines to
|
||
the indentation given by the given line regardless of if other lines were already a 0 indentation.
|
||
This removes a problem with the original <code class="docutils literal notranslate"><span class="pre">textwrap.dedent</span></code> which will only dedent to the least
|
||
indented part of a text.</p></li>
|
||
<li><p>Added <code class="docutils literal notranslate"><span class="pre">exit_cmd</span></code> to EvMore pager, to allow for calling a command (e.g. ‘look’) when leaving the pager.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">get_all_typeclasses</span></code> will return dict <code class="docutils literal notranslate"><span class="pre">{"path":</span> <span class="pre">typeclass,</span> <span class="pre">...}</span></code> for all typeclasses available
|
||
in the system. This is used by the new <code class="docutils literal notranslate"><span class="pre">@typeclass/list</span></code> subcommand (useful for builders etc).</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.utils.dbserialize.deserialize(obj)</span></code> is a new helper function to <em>completely</em> disconnect
|
||
a mutable recovered from an Attribute from the database. This will convert all nested <code class="docutils literal notranslate"><span class="pre">_Saver*</span></code>
|
||
classes to their plain-Python counterparts.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="general">
|
||
<h3>General<a class="headerlink" href="#general" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Start structuring the <code class="docutils literal notranslate"><span class="pre">CHANGELOG</span></code> to list features in more detail.</p></li>
|
||
<li><p>Docker image <code class="docutils literal notranslate"><span class="pre">evennia/evennia:develop</span></code> is now auto-built, tracking the develop branch.</p></li>
|
||
<li><p>Inflection and grouping of multiple objects in default room (an box, three boxes)</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">evennia.set_trace()</span></code> is now a shortcut for launching pdb/pudb on a line in the Evennia event loop.</p></li>
|
||
<li><p>Removed the enforcing of <code class="docutils literal notranslate"><span class="pre">MAX_NR_CHARACTERS=1</span></code> for <code class="docutils literal notranslate"><span class="pre">MULTISESSION_MODE</span></code> <code class="docutils literal notranslate"><span class="pre">0</span></code> and <code class="docutils literal notranslate"><span class="pre">1</span></code> by default.</p></li>
|
||
<li><p>Add <code class="docutils literal notranslate"><span class="pre">evennia.utils.logger.log_sec</span></code> for logging security-related messages (marked SS in log).</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="more-contribs">
|
||
<h3>More Contribs<a class="headerlink" href="#more-contribs" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Auditing</span></code> (Johnny): Log and filter server input/output for security purposes</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Build</span> <span class="pre">Menu</span></code> (vincent-lg): New @edit command to edit object properties in a menu.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Field</span> <span class="pre">Fill</span></code> (Tim Ashley Jenkins): Wraps EvMenu for creating submittable forms.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Health</span> <span class="pre">Bar</span></code> (Tim Ashley Jenkins): Easily create colorful bars/meters.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Tree</span> <span class="pre">select</span></code> (Fluttersprite): Wrap EvMenu to create a common type of menu from a string.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">Turnbattle</span> <span class="pre">suite</span></code> (Tim Ashley Jenkins)- the old <code class="docutils literal notranslate"><span class="pre">turnbattle.py</span></code> was moved into its own
|
||
<code class="docutils literal notranslate"><span class="pre">turnbattle/</span></code> package and reworked with many different flavors of combat systems:</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">tb_basic</span></code> - The basic turnbattle system, with initiative/turn order attack/defense/damage.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">tb_equip</span></code> - Adds weapon and armor, wielding, accuracy modifiers.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">tb_items</span></code> - Extends <code class="docutils literal notranslate"><span class="pre">tb_equip</span></code> with item use with conditions/status effects.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">tb_magic</span></code> - Extends <code class="docutils literal notranslate"><span class="pre">tb_equip</span></code> with spellcasting.</p></li>
|
||
<li><p><code class="docutils literal notranslate"><span class="pre">tb_range</span></code> - Adds system for abstract positioning and movement.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">extended_room</span></code> contrib saw some backwards-incompatible refactoring:</p>
|
||
<ul>
|
||
<li><p>All commands now begin with <code class="docutils literal notranslate"><span class="pre">CmdExtendedRoom</span></code>. So before it was <code class="docutils literal notranslate"><span class="pre">CmdExtendedLook</span></code>, now
|
||
it’s <code class="docutils literal notranslate"><span class="pre">CmdExtendedRoomLook</span></code> etc.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">detail</span></code> command was broken out of the <code class="docutils literal notranslate"><span class="pre">desc</span></code> command and is now a new, stand-alone command
|
||
<code class="docutils literal notranslate"><span class="pre">CmdExtendedRoomDetail</span></code>. This was done to make things easier to extend and to mimic how the detail
|
||
command works in the tutorial-world.</p></li>
|
||
<li><p>The <code class="docutils literal notranslate"><span class="pre">detail</span></code> command now also supports deleting details (like the tutorial-world version).</p></li>
|
||
<li><p>The new <code class="docutils literal notranslate"><span class="pre">ExtendedRoomCmdSet</span></code> includes all the extended-room commands and is now the recommended way
|
||
to install the extended-room contrib.</p></li>
|
||
</ul>
|
||
</li>
|
||
<li><p>Updates and some cleanup of existing contribs.</p></li>
|
||
</ul>
|
||
</section>
|
||
<section id="internationalization">
|
||
<h3>Internationalization<a class="headerlink" href="#internationalization" title="Link to this heading">¶</a></h3>
|
||
<ul class="simple">
|
||
<li><p>Polish translation by user ogotai</p></li>
|
||
</ul>
|
||
</section>
|
||
</section>
|
||
</section>
|
||
<section class="tex2jax_ignore mathjax_ignore" id="overview-changelogs">
|
||
<h1>Overview-Changelogs<a class="headerlink" href="#overview-changelogs" title="Link to this heading">¶</a></h1>
|
||
<blockquote>
|
||
<div><p>These are changelogs from a time before we used formal version numbers.</p>
|
||
</div></blockquote>
|
||
<section id="sept-2017">
|
||
<h2>Sept 2017:<a class="headerlink" href="#sept-2017" title="Link to this heading">¶</a></h2>
|
||
<p>Release of Evennia 0.7; upgrade to Django 1.11, change ‘Player’ to
|
||
‘Account’, rework the website template and a slew of other updates.
|
||
Info on what changed and how to migrate is found here:
|
||
<a class="reference external" href="https://groups.google.com/forum/#!msg/evennia/0JYYNGY-NfE/cDFaIwmPBAAJ">https://groups.google.com/forum/#!msg/evennia/0JYYNGY-NfE/cDFaIwmPBAAJ</a></p>
|
||
</section>
|
||
<section id="feb-2017">
|
||
<h2>Feb 2017:<a class="headerlink" href="#feb-2017" title="Link to this heading">¶</a></h2>
|
||
<p>New devel branch created, to lead up to Evennia 0.7.</p>
|
||
</section>
|
||
<section id="dec-2016">
|
||
<h2>Dec 2016:<a class="headerlink" href="#dec-2016" title="Link to this heading">¶</a></h2>
|
||
<p>Lots of bugfixes and considerable uptick in contributors. Unittest coverage
|
||
and PEP8 adoption and refactoring.</p>
|
||
</section>
|
||
<section id="may-2016">
|
||
<h2>May 2016:<a class="headerlink" href="#may-2016" title="Link to this heading">¶</a></h2>
|
||
<p>Evennia 0.6 with completely reworked Out-of-band system, making
|
||
the message path completely flexible and built around input/outputfuncs.
|
||
A completely new webclient, split into the evennia.js library and a
|
||
gui library, making it easier to customize.</p>
|
||
</section>
|
||
<section id="feb-2016">
|
||
<h2>Feb 2016:<a class="headerlink" href="#feb-2016" title="Link to this heading">¶</a></h2>
|
||
<p>Added the new EvMenu and EvMore utilities, updated EvEdit and cleaned up
|
||
a lot of the batchcommand functionality. Started work on new Devel branch.</p>
|
||
</section>
|
||
<section id="sept-2015">
|
||
<h2>Sept 2015:<a class="headerlink" href="#sept-2015" title="Link to this heading">¶</a></h2>
|
||
<p>Evennia 0.5. Merged devel branch, full library format implemented.</p>
|
||
</section>
|
||
<section id="feb-2015">
|
||
<h2>Feb 2015:<a class="headerlink" href="#feb-2015" title="Link to this heading">¶</a></h2>
|
||
<p>Development currently in devel/ branch. Moved typeclasses to use
|
||
django’s proxy functionality. Changed the Evennia folder layout to a
|
||
library format with a stand-alone launcher, in preparation for making
|
||
an ‘evennia’ pypy package and using versioning. The version we will
|
||
merge with will likely be 0.5. There is also work with an expanded
|
||
testing structure and the use of threading for saves. We also now
|
||
use Travis for automatic build checking.</p>
|
||
</section>
|
||
<section id="sept-2014">
|
||
<h2>Sept 2014:<a class="headerlink" href="#sept-2014" title="Link to this heading">¶</a></h2>
|
||
<p>Updated to Django 1.7+ which means South dependency was dropped and
|
||
minimum Python version upped to 2.7. MULTISESSION_MODE=3 was added
|
||
and the web customization system was overhauled using the latest
|
||
functionality of django. Otherwise, mostly bug-fixes and
|
||
implementation of various smaller feature requests as we got used
|
||
to github. Many new users have appeared.</p>
|
||
</section>
|
||
<section id="jan-2014">
|
||
<h2>Jan 2014:<a class="headerlink" href="#jan-2014" title="Link to this heading">¶</a></h2>
|
||
<p>Moved Evennia project from Google Code to <a class="reference external" href="http://github.com/evennia/evennia">github.com/evennia/evennia</a>.</p>
|
||
</section>
|
||
<section id="nov-2013">
|
||
<h2>Nov 2013:<a class="headerlink" href="#nov-2013" title="Link to this heading">¶</a></h2>
|
||
<p>Moved the internal webserver into the Server and added support for
|
||
out-of-band protocols (MSDP initially). This large development push
|
||
also meant fixes and cleanups of the way attributes were handled.
|
||
Tags were added, along with proper handlers for permissions, nicks
|
||
and aliases.</p>
|
||
</section>
|
||
<section id="may-2013">
|
||
<h2>May 2013:<a class="headerlink" href="#may-2013" title="Link to this heading">¶</a></h2>
|
||
<p>Made players able to control more than one Character at the same
|
||
time, through the MULTISESSION_MODE=2 addition. This lead to a lot
|
||
of internal changes for the server.</p>
|
||
</section>
|
||
<section id="oct-2012">
|
||
<h2>Oct 2012:<a class="headerlink" href="#oct-2012" title="Link to this heading">¶</a></h2>
|
||
<p>Changed Evennia from the Modified Artistic 1.0 license to the more
|
||
standard and permissive BSD license. Lots of updates and bug fixes as
|
||
more people start to use it in new ways. Lots of new caching and
|
||
speed-ups.</p>
|
||
</section>
|
||
<section id="march-2012">
|
||
<h2>March 2012:<a class="headerlink" href="#march-2012" title="Link to this heading">¶</a></h2>
|
||
<p>Evennia’s API has changed and simplified slightly in that the
|
||
base-modules where removed from game/gamesrc. Instead admins are
|
||
encouraged to explicitly create new modules under game/gamesrc/ when
|
||
they want to implement their game - gamesrc/ is empty by default
|
||
except for the example folders that contain template files to use for
|
||
this purpose. We also added the <code class="docutils literal notranslate"><span class="pre">ev.py</span></code> file, implementing a new, flat
|
||
API. Work is ongoing to add support for mud-specific telnet
|
||
extensions, notably the MSDP and GMCP out-of-band extensions. On the
|
||
community side, evennia’s dev blog was started and linked on planet
|
||
Mud-dev aggregator.</p>
|
||
</section>
|
||
<section id="nov-2011">
|
||
<h2>Nov 2011:<a class="headerlink" href="#nov-2011" title="Link to this heading">¶</a></h2>
|
||
<p>After creating several different proof-of-concept game systems (in
|
||
contrib and privately) as well testing lots of things to make sure the
|
||
implementation is basically sound, we are declaring Evennia out of
|
||
Alpha. This can mean as much or as little as you want, admittedly -
|
||
development is still heavy but the issue list is at an all-time low
|
||
and the server is slowly stabilizing as people try different things
|
||
with it. So Beta it is!</p>
|
||
</section>
|
||
<section id="aug-2011">
|
||
<h2>Aug 2011:<a class="headerlink" href="#aug-2011" title="Link to this heading">¶</a></h2>
|
||
<p>Split Evennia into two processes: Portal and Server. After a lot of
|
||
work trying to get in-memory code-reloading to work, it’s clear this
|
||
is not Python’s forte - it’s impossible to catch all exceptions,
|
||
especially in asynchronous code like this. Trying to do so results in
|
||
hackish, flakey and unstable code. With the Portal-Server split, the
|
||
Server can simply be rebooted while players connected to the Portal
|
||
remain connected. The two communicates over twisted’s AMP protocol.</p>
|
||
</section>
|
||
<section id="may-2011">
|
||
<h2>May 2011:<a class="headerlink" href="#may-2011" title="Link to this heading">¶</a></h2>
|
||
<p>The new version of Evennia, originally hitting trunk in Aug2010, is
|
||
maturing. All commands from the pre-Aug version, including IRC/IMC2
|
||
support works again. An ajax web-client was added earlier in the year,
|
||
including moving Evennia to be its own webserver (no more need for
|
||
Apache or django-testserver). Contrib-folder added.</p>
|
||
</section>
|
||
<section id="aug-2010">
|
||
<h2>Aug 2010:<a class="headerlink" href="#aug-2010" title="Link to this heading">¶</a></h2>
|
||
<p>Evennia-griatch-branch is ready for merging with trunk. This marks a
|
||
rather big change in the inner workings of the server, such as the
|
||
introduction of TypeClasses and Scripts (as compared to the old
|
||
ScriptParents and Events) but should hopefully bring everything
|
||
together into one consistent package as code development continues.</p>
|
||
</section>
|
||
<section id="may-2010">
|
||
<h2>May 2010:<a class="headerlink" href="#may-2010" title="Link to this heading">¶</a></h2>
|
||
<p>Evennia is currently being heavily revised and cleaned from
|
||
the years of gradual piecemeal development. It is thus in a very
|
||
‘Alpha’ stage at the moment. This means that old code snippets
|
||
will not be backwards compatabile. Changes touch almost all
|
||
parts of Evennia’s innards, from the way Objects are handled
|
||
to Events, Commands and Permissions.</p>
|
||
</section>
|
||
<section id="april-2010">
|
||
<h2>April 2010:<a class="headerlink" href="#april-2010" title="Link to this heading">¶</a></h2>
|
||
<p>Griatch takes over Maintainership of the Evennia project from
|
||
the original creator Greg Taylor.</p>
|
||
</section>
|
||
</section>
|
||
<section class="tex2jax_ignore mathjax_ignore" id="older">
|
||
<h1>Older<a class="headerlink" href="#older" title="Link to this heading">¶</a></h1>
|
||
<p>Earlier revisions, with previous maintainer, used SVN on Google Code
|
||
and have no changelogs.</p>
|
||
<p>First commit (Evennia’s birthday) was November 20, 2006.</p>
|
||
</section>
|
||
|
||
|
||
<div class="clearer"></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="sphinxsidebar" role="navigation" aria-label="Main">
|
||
<div class="sphinxsidebarwrapper">
|
||
<p class="logo"><a href="../index.html">
|
||
<img class="logo" src="../_static/evennia_logo.png" alt="Logo of Evennia"/>
|
||
</a></p>
|
||
<search id="searchbox" style="display: none" role="search">
|
||
<h3 id="searchlabel">Quick search</h3>
|
||
<div class="searchformwrapper">
|
||
<form class="search" action="../search.html" method="get">
|
||
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
|
||
<input type="submit" value="Go" />
|
||
</form>
|
||
</div>
|
||
</search>
|
||
<script>document.getElementById('searchbox').style.display = "block"</script>
|
||
<h3><a href="../index.html">Table of Contents</a></h3>
|
||
<ul>
|
||
<li><a class="reference internal" href="#">Changelog</a><ul>
|
||
<li><a class="reference internal" href="#evennia-6-0-0">Evennia 6.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-5-0-1">Evennia 5.0.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-5-0-0">Evennia 5.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-5-0">Evennia 4.5.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-4-1">Evennia 4.4.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-4-0">Evennia 4.4.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-3-0">Evennia 4.3.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-2-0">Evennia 4.2.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-1-1">Evennia 4.1.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-1-0">Evennia 4.1.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-4-0-0">Evennia 4.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-3-2-0">Evennia 3.2.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-3-1-1">Evennia 3.1.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-3-1-0">Evennia 3.1.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-3-0-0">Evennia 3.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-2-3-0">Evennia 2.3.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-2-2-0">Evennia 2.2.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-2-1-0">Evennia 2.1.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-2-0-1">Evennia 2.0.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-2-0-0">Evennia 2.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-3-0">Evennia 1.3.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-2-1">Evennia 1.2.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-2-0">Evennia 1.2.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-1-1">Evennia 1.1.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-1-0">Evennia 1.1.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-0-2">Evennia 1.0.2</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-0-1">Evennia 1.0.1</a></li>
|
||
<li><a class="reference internal" href="#evennia-1-0-0">Evennia 1.0.0</a></li>
|
||
<li><a class="reference internal" href="#evennia-0-9-5">Evennia 0.9.5</a></li>
|
||
<li><a class="reference internal" href="#evennia-0-9">Evennia 0.9</a><ul>
|
||
<li><a class="reference internal" href="#distribution">Distribution</a></li>
|
||
<li><a class="reference internal" href="#commands">Commands</a></li>
|
||
<li><a class="reference internal" href="#web">Web</a><ul>
|
||
<li><a class="reference internal" href="#evennia-game-index">Evennia game index</a></li>
|
||
<li><a class="reference internal" href="#new-golden-layout-based-webclient-ui-friarzen">New golden-layout based Webclient UI (@friarzen)</a></li>
|
||
<li><a class="reference internal" href="#web-django-standard-initiative-strikaco">Web/Django standard initiative (@strikaco)</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#prototypes">Prototypes</a></li>
|
||
<li><a class="reference internal" href="#typeclasses">Typeclasses</a></li>
|
||
<li><a class="reference internal" href="#protocols">Protocols</a></li>
|
||
<li><a class="reference internal" href="#server">Server</a></li>
|
||
<li><a class="reference internal" href="#settings">Settings</a></li>
|
||
<li><a class="reference internal" href="#utilities">Utilities</a></li>
|
||
<li><a class="reference internal" href="#new-contribs">New Contribs</a></li>
|
||
<li><a class="reference internal" href="#translations">Translations</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#evennia-0-8">Evennia 0.8</a><ul>
|
||
<li><a class="reference internal" href="#requirements">Requirements</a></li>
|
||
<li><a class="reference internal" href="#server-portal">Server/Portal</a></li>
|
||
<li><a class="reference internal" href="#prototype-changes">Prototype changes</a></li>
|
||
<li><a class="reference internal" href="#evmenu">EvMenu</a></li>
|
||
<li><a class="reference internal" href="#webclient">Webclient</a></li>
|
||
<li><a class="reference internal" href="#locks">Locks</a></li>
|
||
<li><a class="reference internal" href="#utils">Utils</a></li>
|
||
<li><a class="reference internal" href="#general">General</a></li>
|
||
<li><a class="reference internal" href="#more-contribs">More Contribs</a></li>
|
||
<li><a class="reference internal" href="#internationalization">Internationalization</a></li>
|
||
</ul>
|
||
</li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#overview-changelogs">Overview-Changelogs</a><ul>
|
||
<li><a class="reference internal" href="#sept-2017">Sept 2017:</a></li>
|
||
<li><a class="reference internal" href="#feb-2017">Feb 2017:</a></li>
|
||
<li><a class="reference internal" href="#dec-2016">Dec 2016:</a></li>
|
||
<li><a class="reference internal" href="#may-2016">May 2016:</a></li>
|
||
<li><a class="reference internal" href="#feb-2016">Feb 2016:</a></li>
|
||
<li><a class="reference internal" href="#sept-2015">Sept 2015:</a></li>
|
||
<li><a class="reference internal" href="#feb-2015">Feb 2015:</a></li>
|
||
<li><a class="reference internal" href="#sept-2014">Sept 2014:</a></li>
|
||
<li><a class="reference internal" href="#jan-2014">Jan 2014:</a></li>
|
||
<li><a class="reference internal" href="#nov-2013">Nov 2013:</a></li>
|
||
<li><a class="reference internal" href="#may-2013">May 2013:</a></li>
|
||
<li><a class="reference internal" href="#oct-2012">Oct 2012:</a></li>
|
||
<li><a class="reference internal" href="#march-2012">March 2012:</a></li>
|
||
<li><a class="reference internal" href="#nov-2011">Nov 2011:</a></li>
|
||
<li><a class="reference internal" href="#aug-2011">Aug 2011:</a></li>
|
||
<li><a class="reference internal" href="#may-2011">May 2011:</a></li>
|
||
<li><a class="reference internal" href="#aug-2010">Aug 2010:</a></li>
|
||
<li><a class="reference internal" href="#may-2010">May 2010:</a></li>
|
||
<li><a class="reference internal" href="#april-2010">April 2010:</a></li>
|
||
</ul>
|
||
</li>
|
||
<li><a class="reference internal" href="#older">Older</a></li>
|
||
</ul>
|
||
|
||
<div>
|
||
<h4>Previous topic</h4>
|
||
<p class="topless"><a href="Setting-up-PyCharm.html"
|
||
title="previous chapter">Setting up PyCharm with Evennia</a></p>
|
||
</div>
|
||
<div>
|
||
<h4>Next topic</h4>
|
||
<p class="topless"><a href="Release-Notes-1.0.html"
|
||
title="next chapter">Evennia 1.0 Release Notes</a></p>
|
||
</div>
|
||
<div role="note" aria-label="source link">
|
||
<!--h3>This Page</h3-->
|
||
<ul class="this-page-menu">
|
||
<li><a href="../_sources/Coding/Changelog.md.txt"
|
||
rel="nofollow">Show Page Source</a></li>
|
||
</ul>
|
||
</div><h3>Links</h3>
|
||
<ul>
|
||
<li><a href="https://www.evennia.com/docs/latest/index.html">Documentation Top</a> </li>
|
||
<li><a href="https://www.evennia.com">Evennia Home</a> </li>
|
||
<li><a href="https://github.com/evennia/evennia">Github</a> </li>
|
||
<li><a href="http://games.evennia.com">Game Index</a> </li>
|
||
<li>
|
||
<a href="https://discord.gg/AJJpcRUhtF">Discord</a> -
|
||
<a href="https://github.com/evennia/evennia/discussions">Discussions</a> -
|
||
<a href="https://evennia.blogspot.com/">Blog</a>
|
||
</li>
|
||
</ul>
|
||
<h3>Doc Versions</h3>
|
||
<ul>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/latest/index.html">latest (main branch)</a>
|
||
</li>
|
||
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/6.x/index.html">v6.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/5.x/index.html">v5.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/4.x/index.html">v4.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/3.x/index.html">v3.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/2.x/index.html">v2.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/1.x/index.html">v1.0.0 branch (outdated)</a>
|
||
</li>
|
||
|
||
<li>
|
||
<a href="https://www.evennia.com/docs/0.x/index.html">v0.9.5 branch (outdated)</a>
|
||
</li>
|
||
|
||
</ul>
|
||
|
||
</div>
|
||
</div>
|
||
<div class="clearer"></div>
|
||
</div>
|
||
<div class="related" role="navigation" aria-label="Related">
|
||
<h3>Navigation</h3>
|
||
<ul>
|
||
<li class="right" style="margin-right: 10px">
|
||
<a href="../genindex.html" title="General Index"
|
||
>index</a></li>
|
||
<li class="right" >
|
||
<a href="../py-modindex.html" title="Python Module Index"
|
||
>modules</a> |</li>
|
||
<li class="right" >
|
||
<a href="Release-Notes-1.0.html" title="Evennia 1.0 Release Notes"
|
||
>next</a> |</li>
|
||
<li class="right" >
|
||
<a href="Setting-up-PyCharm.html" title="Setting up PyCharm with Evennia"
|
||
>previous</a> |</li>
|
||
<li class="nav-item nav-item-0"><a href="../index.html">Evennia</a> »</li>
|
||
<li class="nav-item nav-item-1"><a href="Coding-Overview.html" >Coding and development help</a> »</li>
|
||
<li class="nav-item nav-item-this"><a href="">Changelog</a></li>
|
||
</ul>
|
||
</div>
|
||
<div class="footer" role="contentinfo">
|
||
© Copyright 2024, The Evennia developer community.
|
||
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
|
||
</div>
|
||
</body>
|
||
</html> |