Evennia 1.3.0 minor release

This commit is contained in:
Griatch 2023-04-29 08:52:29 +02:00
parent bc0023072d
commit d6b5425a9e
7 changed files with 33 additions and 21 deletions

View file

@ -1,16 +1,18 @@
# Changelog # Changelog
## Main branch ## Evennia 1.3.0
Apr 29, 2023
- Fix: The username validator did not display errors correctly in web
registration form.
- Feature: Better ANSI color fallbacks (InspectorCaracal). - Feature: Better ANSI color fallbacks (InspectorCaracal).
- Feature: Add support for saving `deque` with `maxlen` to Attributes (before - Feature: Add support for saving `deque` with `maxlen` to Attributes (before
`maxlen` was ignored). `maxlen` was ignored).
- Tools: More unit tests for scripts (Storsorken) - Fix: The username validator did not display errors correctly in web
registration form.
- Fix: Components contrib had issues with inherited typeclasses (ChrisLR) - Fix: Components contrib had issues with inherited typeclasses (ChrisLR)
- Fix: f-string fix in clothing contrib (aMiss-aWry) - Fix: f-string fix in clothing contrib (aMiss-aWry)
- Fix: Have `EvenniaTestCase` properly flush idmapper cache (bradleymarques) - Fix: Have `EvenniaTestCase` properly flush idmapper cache (bradleymarques)
- Tools: More unit tests for scripts (Storsorken)
- Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how - Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how
to change the description of an in-game object with templating. to change the description of an in-game object with templating.
- Docs: A multitude of doc issues and typos fixed. - Docs: A multitude of doc issues and typos fixed.

View file

@ -58,10 +58,10 @@ _multiversion-check-env:
@EVDIR=$(EVDIR) EVGAMEDIR=$(EVGAMEDIR) bash -e checkenv.sh multiversion @EVDIR=$(EVDIR) EVGAMEDIR=$(EVGAMEDIR) bash -e checkenv.sh multiversion
_clean_api_index: _clean_api_index:
rm source/api/* rm -f source/api/*
_clean_api_rsts: _clean_api_rsts:
rm source/api/*.rst rm -f source/api/*.rst
# remove superfluos 'module' and 'package' text from api headers # remove superfluos 'module' and 'package' text from api headers
_reformat_apidoc_headers: _reformat_apidoc_headers:

View file

@ -1,13 +1,21 @@
# Changelog # Changelog
## Main branch ## Evennia 1.3.0
Apr 29, 2023
- Feature: Better ANSI color fallbacks (InspectorCaracal).
- Feature: Add support for saving `deque` with `maxlen` to Attributes (before - Feature: Add support for saving `deque` with `maxlen` to Attributes (before
`maxlen` was ignored). `maxlen` was ignored).
- Fix: More unit tests for scripts (Storsorken) - Fix: The username validator did not display errors correctly in web
registration form.
- Fix: Components contrib had issues with inherited typeclasses (ChrisLR)
- Fix: f-string fix in clothing contrib (aMiss-aWry)
- Fix: Have `EvenniaTestCase` properly flush idmapper cache (bradleymarques)
- Tools: More unit tests for scripts (Storsorken)
- Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how - Docs: Made separate doc pages for Exits, Characters and Rooms. Expanded on how
to change the description of an in-game object with templating. to change the description of an in-game object with templating.
- Docs: Fixed a multitude of doc issues. - Docs: A multitude of doc issues and typos fixed.
## Evennia 1.2.1 ## Evennia 1.2.1

View file

@ -1,24 +1,26 @@
# Components # Components
_Contrib by ChrisLR 2021_ Contrib by ChrisLR, 2021
# The Components Contrib Expand typeclasses using a components/composition approach.
## The Components Contrib
This contrib introduces Components and Composition to Evennia. This contrib introduces Components and Composition to Evennia.
Each 'Component' class represents a feature that will be 'enabled' on a typeclass instance. Each 'Component' class represents a feature that will be 'enabled' on a typeclass instance.
You can register these components on an entire typeclass or a single object at runtime. You can register these components on an entire typeclass or a single object at runtime.
It supports both persisted attributes and in-memory attributes by using Evennia's AttributeHandler. It supports both persisted attributes and in-memory attributes by using Evennia's AttributeHandler.
# Pros ## Pros
- You can reuse a feature across multiple typeclasses without inheritance - You can reuse a feature across multiple typeclasses without inheritance
- You can cleanly organize each feature into a self-contained class. - You can cleanly organize each feature into a self-contained class.
- You can check if your object supports a feature without checking its instance. - You can check if your object supports a feature without checking its instance.
# Cons ## Cons
- It introduces additional complexity. - It introduces additional complexity.
- A host typeclass instance is required. - A host typeclass instance is required.
# How to install ## How to install
To enable component support for a typeclass, To enable component support for a typeclass,
import and inherit the ComponentHolderMixin, similar to this import and inherit the ComponentHolderMixin, similar to this
@ -126,7 +128,7 @@ from typeclasses.components import health
``` ```
Both of the above examples will work. Both of the above examples will work.
# Full Example ## Full Example
```python ```python
from evennia.contrib.base_systems import components from evennia.contrib.base_systems import components

View file

@ -111,9 +111,9 @@ Additional color markup styles for Evennia (extending or replacing the default
### `components` ### `components`
__Contrib by ChrisLR 2021__ _Contrib by ChrisLR, 2021_
# The Components Contrib Expand typeclasses using a components/composition approach.
[Read the documentation](./Contrib-Components.md) - [Browse the Code](evennia.contrib.base_systems.components) [Read the documentation](./Contrib-Components.md) - [Browse the Code](evennia.contrib.base_systems.components)

View file

@ -1 +1 @@
1.2.1 1.3.0

View file

@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "evennia" name = "evennia"
version = "1.2.1" version = "1.3.0"
maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }] maintainers = [{ name = "Griatch", email = "griatch@gmail.com" }]
description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)." description = "A full-featured toolkit and server for text-based multiplayer games (MUDs, MU*, etc)."
requires-python = ">=3.10" requires-python = ">=3.10"