2. changelog

  • Add a “debug” testenv
  • Streamline selftest output
  • Clean up leading space typo in test title
  • Drop Python 3.3 support
  • Add signed artifact URL to Python package metadata
  • Clean up tox.ini
  • Apply correct Python version in tox base envs
  • Test the default example config
  • Add py3 to the default tox env list
  • Run the selftest in base tox testenvs
  • Optionally manage a daemon during selftest runs
  • Resolve included files only once
  • Fix deprecated regex pattern syntax in selftests
  • Clean up at the end of every selftest run
  • Overhaul data reloading
  • Include “docs” in default tox envs list
  • Check readme suitability for PyPI
  • Rename “initial” state to “telopt_negotiation”
  • Test that ANSI input is filtered
  • Only wrap on actual spaces
  • Filter non-ASCII input when not in binary mode
  • Retool word wrapping
  • Include show version in help
  • Clean dist directory in tox dist environment
  • Add version command and diagnostic logging
  • Provide a dist environment for tox
  • Indicate Python3.7 support
  • Note platform in package metadata
  • Add keywords to Python package metadata
  • Include license info in Python packages
  • Update URLs in package metadata
  • Correct metadata entry for README
  • Clean build directory in tox docs environment
  • Update copyright year in LICENSE
  • Add copyright to api.rst
  • Add copyright to .yamllint
  • Add a docs tox env
  • Track doc building dependencies
  • Add Sphinx configuration
  • Include a documentation index
  • Include license text in documentation
  • Include generated changelog in docs
  • Basic API documentation
  • Include the mudpy logo
  • Add client configuration notes
  • Document the data model
  • Add configuration guide
  • Update coder guide for new site redirects
  • Standardize formatting for the coder guide
  • Switch to extensionless README and LICENSE files
  • Reformat README.rst
  • Test that unknown telnet commands are filtered
  • Fix TypeError with IAC escaping
  • Trim readme file
  • Update login and banner art
  • Test sample data style with yamllint
  • Indent block sequences in emitted files
  • Convert mappings and sequences from flow to block
  • Disconnect user on ConnectionResetError
  • Be careful about marking facets modified
  • Use “group” instead of “category”
  • Drop old-style Element support
  • Convert sample data to new style
  • Use new style for menu definitions
  • Convert command Elements to new-style
  • Switch archetypes to new-style Elements
  • Switch internal counters to new-style Element
  • Switch actors to new-style elements
  • Handle connection reset in selftest
  • Make new-style facet deletion more robust
  • Catch Exception when necessary
  • Clearer selftest errors on disconnection
  • Use new-style elements for accounts
  • Fix unhandled exception in show file command
  • Display flags in show files output
  • Clean up a stray comment in find_file
  • Add descriptions to sample datafiles
  • Move sample datafile copyrights into metadata
  • Data nodes starting with “_” are metadata
  • Interpret a “.” prefix as the startdir
  • Overhaul data management to get rid of __control__
  • Error if set command is used on read-only element
  • Refuse to alter read-only elements at runtime
  • Track whether loading is underway
  • Test the set command
  • Use writeable element in show element test
  • Update copyright dates for files changed this year
  • Rename internal:storage to .mudpy.filing
  • Stop unnecessarily stripping quote marks
  • Explicitly configure the root_path in examples
  • Log missing file inclusions as more severe
  • Fix file pathing in daemon mode
  • Rename internal:time to .mudpy.timing
  • Switch example listening port from 6669 to 4000
  • Fix facets method to give new-style relative names
  • Use importlib in place of imp
  • Reduce the log message priority for reload calls
  • Exercise the reload command in tests
  • Switch quoting styles to reduce escaped quotes
  • Use raw strings when escape sequences are needed
  • Correct name of the custom loglevel test
  • Handle ValueError when setting incorrect type
  • Coerce loglevel facet to int when updating
  • Clear vestigial ord() calls in telopt negotiation
  • Stop using vary_rounds with passlib
  • Guard against KeyError on universe.contents index
  • Enable initial admin account in example config
  • Ignore unpacked *.egg directories
  • Modernize coder documentation
  • Add a generic tox env for sdist generation et al
  • Add a suitable test config for the daemon
  • Package the self-test script as an entrypoint
  • Correct filesystem permissions on daemon module
  • Make the self-test script importable
  • Add missing copyright/license notices
  • Support running flake8 under tox
  • Package the daemon executable as an entrypoint
  • Make the executable importable
  • Create a Python package
  • Appease style checks
  • Clean up trailing whitespace in documentation
  • Move documentation files for packaging preparation
  • Move lib/mudpy to mudpy for packaging preparation
  • Rename internal:process to .mudpy.process
  • Rename internal:network to .mudpy.network
  • Rename internal:directions to .mudpy.movement.*
  • Rename internal:logging: to .mudpy.log
  • Update README for recent development
  • Rename internal:limits element to .mudpy.limit
  • Strip extra separators in show element command
  • Fix 8-bit Telnet with Py3K
  • Rename internal:language: to .mudpy.linguistic
  • Implement new style element support
  • Test the show element command
  • Simplify multiline matching in functional tests
  • Fix show element command for Py3K
  • Make escape_macros no-op on nontext values
  • Check that functional tests log no errors
  • Test that the show log command works
  • Fix show log command for Py3K
  • Fix recursive BrokenPipeException on disconnect
  • Switch basic data loader unit from element to node
  • Explicitly invoke Python 3.x in shebang lines
  • Test admin account restrictions
  • More thorough match on chat mode test
  • Test actor movement
  • Mention test session capture log file names
  • Add timing data to test output
  • Test chat mode
  • Add troubleshooting note to test failure output
  • Break outer loop of functional tests on failure
  • Be more explicit with periods in test matches
  • Modularize functional testing
  • Test sentence capitalization
  • Test typo replacements
  • Test implicit punctuation
  • Read pending bytes before proceeding with test
  • Fix punctuation match order and add tests
  • Test interaction between multiple connections
  • Lay groundwork for more thorough functional tests
  • Switch to yaml.safe_load for better security
  • Be more strict about file permission masks
  • Accumulate logs if necessary while loading data
  • Remove stray non-generic references in sample data
  • Switch password handler to passlib’s PBKDF2
  • Write files directly from yaml.dump
  • Remove UTF-8 encoding header from Python files
  • Fix type mismatches in save file rotation
  • Correct avatar inheritance
  • Log missing avatars
  • Accumulate logs during setup
  • Add a .gitignore file
  • Finalize INI to YAML conversion
  • Remove the git2gch utility
  • Clean up parenthetical spacing in bin/mudpy
  • Mark unused import false positives
  • Convert sample data directory index to YAML
  • Support data directory indices in YAML
  • Convert sample prop data file to YAML
  • File read-only check supports YAML
  • Convert sample area data file to YAML
  • Don’t unnecessarily recast lists and dicts
  • Initialize data file contents on creation
  • Convert menu data file to YAML
  • Catch exceptions in YAML menus
  • Convert command data file to YAML
  • Convert archetype data file to YAML
  • Begin the transition from INI to YAML
  • Correct stray use of location
  • Clean up rendering in coder documentation
  • Use area instead of location or room
  • Simplify coder documentation
  • Make exception logging failures more robust
  • Be explicit when show result raises an exception
  • Tighten exceptions for new sockets and reads
  • Fix log spamming on premature socket disconnect
  • Stop trying to rename the daemon process
  • Wrap long lines without using backslashes
  • Clean up docstrings
  • Fix reload to use a copy of datafile keys
  • Remove unused event code
  • Correct copyright date for changelog
  • Drop support for Python 2.x
  • Clean up imports
  • Fix an incorrect TODO comment line
  • Recast to unicode when normalizing on Python 2.x
  • Byte type comparisons on the output queue
  • Import a correct configparser for the interpreter
  • Correct byte types and encoding in test script
  • Use chr instead of unichr
  • Use bytes in process table manipulation
  • Use byte type for passwords hash encoding
  • Handle byte type on sockets
  • Use new 0o notation for octal constants
  • The reload function is in the imp module
  • Use int type instead of long
  • Correct copyright years for change log
  • Recast filters when comparing
  • Work around lack of dict_keys index in catch-all
  • Work around lack of dict_keys index in data loader
  • Use range instead of xrange
  • Use absolute imports in telnet service module
  • Use absolute imports in catch-all module
  • Use absolute imports in data handler module
  • Use absolute imports in package init module
  • Use strings not unicode in telnet service module
  • Use strings not unicode in password module
  • Use strings not unicode in catch-all module
  • Use strings not unicode in data handler module
  • Use strings not unicode in package init module
  • Use strings not unicode in functional test script
  • Use strings not unicode in daemon executable
  • Use strings not unicode in changelog generator
  • Additional style cleanup
  • PEP 8 conformance for package init library
  • PEP 8 conformance for monolithic library
  • PEP 8 conformance for password management library
  • PEP 8 conformance for telnet server library
  • PEP 8 conformance for data handling library
  • PEP 8 conformance for daemon executable script
  • PEP 8 conformance for ChangeLog writer script
  • PEP 8 conformance for test script
  • Back end data storage separation
  • Inline literals are more readable in source form
  • ASCII Scrub
  • Correcting docstring format
  • Correcting minor docstring typos
  • Secure, extensible, forward-compatable passwords
  • Reformatted README for 72 columns
  • Change README for new on-line documentation link
  • New coder guide document
  • Script to generate ChangeLog file from commit log
  • Regression testing script
  • Cosmetic adjustment to disconnect message
  • Proper RFC 1143 Telnet option negotiation queue
  • Clarification in README file
  • New top-level README file
  • Reformat license
  • Annual copyright update
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive
  • Imported from archive