diff --git a/RELNOTES.md b/RELNOTES.md index 50d52dd..3f9ef6c 100644 --- a/RELNOTES.md +++ b/RELNOTES.md @@ -1,5 +1,36 @@ -# PyLink 0.9.0 -Tagged as **0.9.0** by [GLolol](https://github.com/GLolol) +# PyLink 0.9.1 +Tagged as **0.9.1** by [GLolol](https://github.com/GLolol) + +### *Important*, backwards incompatible changes for those upgrading from 0.8.x! +- The configuration file is now **pylink.yml** by default, instead of **config.yml**. +- PyLink now requires installing itself as a module, instead of simply running from source. Do this via `python3 setup.py install --user`. +- The `use_experimental_whois` option for InspIRCd servers and the `spawn_servers` option in Relay have been removed, as they are now implied. + +### Changes from 0.9.0 + +#### Bug fixes + +- Fixed various bugs in channel TS handling (this should reduce mode desyncs with relay). +- protocols/unreal: fixed services account support for older services (e.g. Anope < 2.0) that don't explicitly use account names for logins (#296). +- Mode changes are no longer sorted alphabetically when relayed: sorting now only applies for displaying a list of modes, such as in WHOIS. +- Invalid autojoin channels are now ignored, instead of passing potentially invalid data to the IRCd. + +#### Feature changes + +- `setup.py` now explicitly forbids installing on Python 2 (#297). +- The `nefarious` protocol module now forwards MODE and KICK through servers if the sender isn't opped, preventing many mode bounces, kick failures, and HACK server notices. + +#### Internal fixes / improvements + +- protocols/hybrid,ts6,unreal: Casemapping-specific lowercasing is now consistently used for channel names +- Relay now catches errors on network removal and ignores them. +- Channels names are now case normalized when receiving `@#channel` messages. + +#### Misc. changes +- Minor example configuration updates. + +# [PyLink 0.9.0](https://github.com/GLolol/PyLink/releases/tag/0.9.0) +Tagged as **0.9.0** by [GLolol](https://github.com/GLolol) on 2016-07-25T05:49:55Z ### *Important*, backwards incompatible changes for those upgrading from 0.8.x! - The configuration file is now **pylink.yml** by default, instead of **config.yml**. diff --git a/setup.py b/setup.py index 03ae8cf..2dbfb3c 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,6 @@ except ImportError: raise ImportError("Please install Setuptools and try again.") from codecs import open import subprocess -from os import path # Get version from Git tags. with open('VERSION', encoding='utf-8') as f: @@ -29,11 +28,13 @@ with open('__init__.py', 'w') as f: f.write('__version__ = %r\n' % version) f.write('real_version = %r\n' % real_version) -curdir = path.abspath(path.dirname(__file__)) - -# FIXME: Convert markdown to RST -with open(path.join(curdir, 'README.md'), encoding='utf-8') as f: - long_description = f.read() +# Convert Markdown to RST for PyPI +try: + import pypandoc + long_description = pypandoc.convert('README.md', 'rst') +except ImportError: + print('WARNING: PyPandoc not available; skipping writing long description.') + long_description = None setup( name='pylinkirc', @@ -53,20 +54,26 @@ setup( # See https://pypi.python.org/pypi?%3Aaction=list_classifiers classifiers=[ - 'Development Status :: 3 - Alpha', + 'Development Status :: 4 - Beta', 'Intended Audience :: Developers', 'Intended Audience :: System Administrators', 'Topic :: Communications :: Chat :: Internet Relay Chat', 'Topic :: Software Development :: Libraries :: Python Modules', 'License :: OSI Approved :: Mozilla Public License 2.0 (MPL 2.0)', + 'Environment :: Console', - 'Programming Language :: Python :: 3', + 'Operating System :: OS Independent', + 'Operating System :: POSIX', + + 'Natural Language :: English', + + 'Programming Language :: Python :: 3 :: Only', 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', ], - keywords='IRC services chat', + keywords='IRC services relay', install_requires=['pyyaml', 'ircmatch'], # Folders (packages of code)