c87aacb | Valentin Lorentz | 21 February 2019, 21:43:09 UTC | Fix prefix commit. | 21 February 2019, 21:43:09 UTC |
b882d1c | Valentin Lorentz | 21 February 2019, 21:34:31 UTC | Fix PyPI packages. It was broken by b1db15c0562ff9f719570842358b7e6d2605a209. | 21 February 2019, 21:34:31 UTC |
61f03ff | Gordon Shumway | 14 February 2019, 19:23:11 UTC | Add oddluck's repo | 14 February 2019, 19:55:10 UTC |
6d938e0 | Valentin Lorentz | 07 February 2019, 21:10:24 UTC | Fix test for pypy 3. | 07 February 2019, 21:10:24 UTC |
233deee | Valentin Lorentz | 07 February 2019, 20:35:39 UTC | Fix previous commit for py2 and pypy. | 07 February 2019, 20:35:39 UTC |
969b9ed | Valentin Lorentz | 07 February 2019, 20:00:56 UTC | Make utils.python.collect_extra_debug_data support objects with __slots__. | 07 February 2019, 20:00:56 UTC |
0f82f89 | Valentin Lorentz | 01 February 2019, 20:02:57 UTC | Web: Fix encoding issue on Python 2. Closes GH-1359. | 01 February 2019, 20:02:57 UTC |
624553c | Valentin Lorentz | 27 January 2019, 08:10:06 UTC | irclib: Don't return the same nick twice when duplicates in supybot.nick.alternates + supybot.nick. It migt crash on: 'assert newNick != self.nick' | 27 January 2019, 08:10:06 UTC |
d20e418 | cottongin | 15 January 2019, 20:13:24 UTC | adds supybot-reset-password script | 15 January 2019, 20:45:26 UTC |
a6839dd | cottongin | 08 January 2019, 21:59:34 UTC | Create supybot-reset-password Adds ability to reset passwords for bot users from the shell | 08 January 2019, 22:04:01 UTC |
b051537 | Valentin Lorentz | 06 January 2019, 17:08:15 UTC | Add support for Python 3.8/nightly. | 06 January 2019, 17:08:15 UTC |
7adc958 | Valentin Lorentz | 06 January 2019, 17:06:44 UTC | Fix SyntaxWarnings on Python 3.8 | 06 January 2019, 17:06:44 UTC |
f7d0042 | Valentin Lorentz | 06 January 2019, 16:19:42 UTC | travis: Mix Trusty and Xenial depending on Python version. | 06 January 2019, 16:19:42 UTC |
8f503f8 | Valentin Lorentz | 06 January 2019, 16:09:18 UTC | temporarily rollback travis config. | 06 January 2019, 16:09:18 UTC |
a03a897 | Valentin Lorentz | 06 January 2019, 15:48:04 UTC | Fix bugs in wrapping IRC messages. | 06 January 2019, 15:48:11 UTC |
922012a | James Lu | 06 January 2019, 09:56:24 UTC | .travis.yml: use dist: xenial for Python 3.7+ to be installable | 06 January 2019, 09:56:41 UTC |
93b0476 | Valentin Lorentz | 05 January 2019, 22:47:56 UTC | Fix text wrapping when colors cross message boundaries. | 05 January 2019, 22:47:56 UTC |
b2f2b01 | Valentin Lorentz | 02 January 2019, 13:49:08 UTC | MANIFEST.in: add .travis.yml and requirements.txt. | 02 January 2019, 13:49:08 UTC |
ad04b5d | Valentin Lorentz | 02 January 2019, 13:47:59 UTC | .travis.yml: python 3.7 is was released. | 02 January 2019, 13:47:59 UTC |
05c86fc | Valentin Lorentz | 02 January 2019, 13:41:08 UTC | Add MANIFEST.in, to include license and makefile in the sdist. | 02 January 2019, 13:41:08 UTC |
e2b334a | Valentin Lorentz | 02 January 2019, 13:32:22 UTC | Fix broken links in CONTRIBUTING.md. | 02 January 2019, 13:32:22 UTC |
b1db15c | Valentin Lorentz | 02 January 2019, 13:29:32 UTC | Add a symlink supybot pointing to src/ + move locales/ to src/ This looks like a more standard source tree, and allows for running tests without installing. | 02 January 2019, 13:29:32 UTC |
4693537 | Valentin Lorentz | 02 January 2019, 10:26:55 UTC | Clarify warning. | 02 January 2019, 10:26:55 UTC |
2ee0be3 | Valentin Lorentz | 02 January 2019, 09:55:36 UTC | setup: Add DeprecationWarning for Python 2. | 02 January 2019, 09:55:36 UTC |
fcf30a5 | Valentin Lorentz | 29 December 2018, 22:36:57 UTC | Fix FutureWarning related to nested sets. See https://bugs.python.org/issue30349 | 29 December 2018, 22:36:57 UTC |
2c7c83b | Valentin Lorentz | 19 December 2018, 08:38:07 UTC | Success: Declare __slots__ Required since 1ac7812d7a0c02dd440094ac5d8e035a4564a7a5. | 19 December 2018, 08:38:07 UTC |
0640059 | Valentin Lorentz | 15 December 2018, 21:15:12 UTC | Prevent commands.process from trying to increase heap size. Closes GH-1353. | 15 December 2018, 21:15:12 UTC |
c7716de | James Lu | 14 October 2018, 19:41:43 UTC | RSS: add a quick test for a malformed feed that has no entries (Only both of these combined gives new output so far.) | 14 October 2018, 19:42:15 UTC |
2fdc433 | James Lu | 14 October 2018, 19:38:10 UTC | RSS: show soft errors set by feedparser when no entries are found Hopefully this will ease debugging - e.g. a bad TLS certificate will now show "Error: Couldn't get RSS feed. Parser error: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:720)>" instead of only a generic message. | 14 October 2018, 19:41:22 UTC |
c1d3bad | Valentin Lorentz | 06 October 2018, 06:13:06 UTC | Raise error even if supybot.replies.(generic)noCapability is empty. | 06 October 2018, 06:13:11 UTC |
11dd504 | Valentin Lorentz | 06 October 2018, 06:11:31 UTC | Fix MITM warning. | 06 October 2018, 06:13:10 UTC |
9ba21a1 | James Lu | 01 October 2018, 01:03:29 UTC | Unix: fix a typo in sysuname & sysuptime's command descriptions runnning -> running | 01 October 2018, 01:03:29 UTC |
88894d6 | Valentin Lorentz | 25 September 2018, 18:04:07 UTC | Fix fa2c11eec1f55ea260f128ef8f558d85d4da6e1a. | 25 September 2018, 18:04:07 UTC |
1ac7812 | Valentin Lorentz | 25 September 2018, 16:59:46 UTC | Use __slots__ for core config values. | 25 September 2018, 16:59:46 UTC |
fa2c11e | Valentin Lorentz | 25 September 2018, 16:55:23 UTC | registry: Get rid of the 'class X'-based hack. | 25 September 2018, 16:55:42 UTC |
296d443 | Mikaela Suomalainen | 16 September 2018, 10:13:25 UTC | src/conf.py: clarify supybot.protocols.http.proxy | 16 September 2018, 12:19:30 UTC |
be36591 | Valentin Lorentz | 11 September 2018, 05:33:16 UTC | Fix test. | 11 September 2018, 05:33:16 UTC |
c433f05 | Valentin Lorentz | 10 September 2018, 20:48:49 UTC | Add a config var to require SASL auth when connecting. | 10 September 2018, 20:48:49 UTC |
7cc7b4f | Valentin Lorentz | 10 September 2018, 20:39:45 UTC | Redesign the message truncation algorithm. | 10 September 2018, 20:39:45 UTC |
1f400e4 | Valentin Lorentz | 09 September 2018, 22:57:04 UTC | Fix Python 3.7 support, and run Travis tests on 3.7. Travis' "nightly" python is actually older than 3.7.0 (3.7.0a4+) | 09 September 2018, 22:57:04 UTC |
fb3c897 | Laurent Kislaire | 01 September 2018, 00:50:14 UTC | Small fix on french translation (#1344) | 01 September 2018, 00:50:14 UTC |
69e1b6f | Alexandre Gauthier | 03 August 2018, 11:44:23 UTC | Fix time namespaces in setup.py when version file is unavailable | 03 August 2018, 11:57:53 UTC |
2242aad | James Lu | 22 July 2018, 03:55:52 UTC | Web: add trailing space for snarferPrefix at runtime Before, the trailing space in the default snarferPrefix value disappears after a reload because spaces at the end of config lines are ignored. | 22 July 2018, 04:01:21 UTC |
9374c1f | Valentin Lorentz | 09 July 2018, 10:01:27 UTC | Update README. | 09 July 2018, 10:15:09 UTC |
c517511 | James Lu | 09 July 2018, 03:36:39 UTC | Socket: fix 91a38887a with backported ipaddress on Python 2 Closes GH-1342. | 09 July 2018, 03:37:10 UTC |
00b8b6b | Valentin Lorentz | 05 July 2018, 17:48:43 UTC | Later: Add support for hostmasks. | 05 July 2018, 17:48:43 UTC |
50c41f5 | Valentin Lorentz | 27 June 2018, 09:10:14 UTC | Fix previous commit on python 2. | 27 June 2018, 09:10:14 UTC |
1840b94 | Valentin Lorentz | 26 June 2018, 22:54:58 UTC | Later: load the db with utf8 encoding (the default for AtomicFile). | 26 June 2018, 22:54:58 UTC |
6f9deec | James Lu | 25 June 2018, 21:04:45 UTC | test_plugin_create: skip if supybot-plugin-create is not installed This is often the case when tests are run automatically as part of a package build process (e.g. in Debian). Reported by @unit193. | 25 June 2018, 21:04:45 UTC |
11d4015 | James Lu | 20 June 2018, 15:18:46 UTC | Fixes and tests to supybot-plugin-create; modernize the plugin template (#1340) * supybot-plugin-create: compactify import statements in the template * supybot-plugin-create: prefer importlib over imp on Python >= 3.4 The imp module is deprecated as of Python 3.4[1], with importlib being the successor. However, importlib is only available in Python 2.7+ and 3.1+, so we should still use a fallback. [1]: https://docs.python.org/3.6/library/imp.html * test: add test cases for supybot-plugin-create * -plugin-create: fix errors when only a subset of args are given * -plugin-create: rename --real-name to --author/-a These days, working under a pseudonym or alias is not unheard of, so putting emphasis on real names feels somewhat out of place. * -plugin-create: add -d as an alias to --desc for consistency | 20 June 2018, 15:18:46 UTC |
72c4801 | James Lu | 19 June 2018, 19:13:45 UTC | Socket: fix previous commit | 19 June 2018, 19:13:45 UTC |
91a3888 | James Lu | 19 June 2018, 18:59:42 UTC | Socket: suppress "not using TLS" errors on loopback addresses This is a refined version of #1317. | 19 June 2018, 18:59:42 UTC |
36309ad | Valentin Lorentz | 01 June 2018, 06:29:51 UTC | If SOURCE_DATE_EPOCH is available, use it to get a proper version instead of 'installed on'. #1338 | 01 June 2018, 06:29:51 UTC |
cd8ad1e | Bernhard M. Wiedemann | 01 June 2018, 05:12:08 UTC | Allow to override build date in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. | 01 June 2018, 06:24:20 UTC |
01e4427 | Valentin Lorentz | 29 May 2018, 20:46:56 UTC | Config: Fix previous commit. | 29 May 2018, 20:46:56 UTC |
c2b6305 | Valentin Lorentz | 29 May 2018, 20:17:19 UTC | Config: Support arbitrarily many channels for '@config channel'. | 29 May 2018, 20:17:28 UTC |
43ee68e | James Lu | 19 May 2018, 19:45:58 UTC | conf: maxHistoryLength no longer requires a restart to apply 03c4529d9e3f6ce13c288fa1aa4bfb933288f27d made irc.state.history network specific, so reconnecting each network separately will update its history buffer's max length. | 19 May 2018, 19:50:56 UTC |
2d084f4 | Valentin Lorentz | 10 May 2018, 04:20:55 UTC | Math: Convert the output of factorial() to a float. | 10 May 2018, 04:20:55 UTC |
0d627c0 | Valentin Lorentz | 14 April 2018, 20:31:30 UTC | Do not break UTF-8 characters in long words. Closes GH-1333. | 14 April 2018, 20:31:30 UTC |
cd47971 | Valentin Lorentz | 14 April 2018, 19:50:32 UTC | Web: Add supybot.plugins.snarfMultipleUrls. Also, fix Web's test cases. | 14 April 2018, 19:50:32 UTC |
f26f098 | Valentin Lorentz | 11 April 2018, 09:57:06 UTC | supybot-wizard: Warn if run with ~/.local/bin as CWD. | 11 April 2018, 09:57:12 UTC |
6a8921f | James Lu | 04 April 2018, 01:13:22 UTC | Merge pull request #1334 from JohnVillalovos/setup setup.py: Remove unneeded import of match for ceil() function | 04 April 2018, 01:13:22 UTC |
626443b | John L. Villalovos | 04 April 2018, 01:06:54 UTC | setup.py: Remove unneeded import of match for ceil() function The ceil() function was previously used in setup.py was removed by commit c3a2c800f1c36adff0db9651c2d74c3f6a648f84. So we no longer need it. | 04 April 2018, 01:08:08 UTC |
75e6816 | James Lu | 26 March 2018, 15:10:12 UTC | Merge pull request #1332 from farooqkz/master Added docstring for getIrc() | 26 March 2018, 15:10:12 UTC |
3a4b77c | Farooq Karimi Zadeh | 26 March 2018, 09:10:15 UTC | Added docstring for getIrc() | 26 March 2018, 09:10:15 UTC |
b900a36 | Tasos Sahanidis | 13 March 2018, 22:32:17 UTC | RSS: Fix feeds with missing description or title An AttributeError would be raised when a blacklist or a whitelist would be set on feeds that miss either a title or a description. | 13 March 2018, 22:50:47 UTC |
e2180a1 | Valentin Lorentz | 02 March 2018, 00:26:00 UTC | Add variable supybot.plugins.Web.snarferPrefix. | 02 March 2018, 00:26:00 UTC |
c930edd | Valentin Lorentz | 02 March 2018, 00:20:52 UTC | Report 'Limnoria <foo>' instead of 'Limnoria Limnoria <foo>' as a version. | 02 March 2018, 00:20:52 UTC |
af98c0c | Valentin Lorentz | 06 February 2018, 14:35:49 UTC | Allow MODE arguments that do not start with a + or a -. | 06 February 2018, 14:35:49 UTC |
9c1d46d | Valentin Lorentz | 06 February 2018, 13:20:37 UTC | Add channel-specific config variables that are only settable by the owner. | 06 February 2018, 13:20:37 UTC |
636712b | Valentin Lorentz | 02 February 2018, 17:20:05 UTC | Limit the number of combinations of capabilities required for command names with spaces. To call a command named 'X Y Z' in plugin 'P', we used to require lots of capabilities, like 'P.X', 'P.Y', 'P.Z', 'P.X.Y', 'X.Y', 'P.Y', ... Now, we only require 'P', 'P.X', 'P.X.Y', 'P.X.Y.Z', and 'Z'. It makes it a lot easier to work with command names with a space when supybot.capabilities.default is False. | 02 February 2018, 17:20:05 UTC |
2472e85 | Valentin Lorentz | 01 February 2018, 23:19:37 UTC | Fix test on Python 3. | 01 February 2018, 23:19:37 UTC |
39dacf6 | Valentin Lorentz | 01 February 2018, 22:21:18 UTC | Fix Python 2 support. | 01 February 2018, 22:21:18 UTC |
030ce5e | Valentin Lorentz | 01 February 2018, 21:37:24 UTC | Fix previous commit. | 01 February 2018, 21:37:24 UTC |
63a17f7 | Valentin Lorentz | 01 February 2018, 20:32:14 UTC | Rewrite text wrapping to count line size in bytes instead of characters. Also, fix shitty comparisons that were done in reverse. | 01 February 2018, 20:32:14 UTC |
55723c2 | James Lu | 27 January 2018, 21:13:44 UTC | Services: fix rejoin-on-kickban with atheme 7.x - Adjust _chanRe to only match channels, as atheme also puts the target nick in bold - Look for "unbanned <botnick>" messages in ChanServ notices (after stripping formatting) This likely fixes GH-166. atheme has been using this format since at least 2005[1], so it's possible that Supybot's rejoin-on-ban had never worked with it. [1]: https://github.com/atheme/atheme/commit/4017c0da85129d11533bb433886139a3a0d75275#diff-ba2bdc02ba7b29fd7e4931cafe63baa0R218 | 27 January 2018, 21:22:21 UTC |
add3ceb | James Lu | 27 January 2018, 20:51:15 UTC | Services: do not send the bot's nick in ChanServ commands On Atheme, Anope, and oftc-ircservices, /cs unban, invite, op, and voice implicitly assume the caller if no nick is given. However, certain combinations such as /cs invite *with* a nick are not supported on atheme per https://github.com/atheme/atheme/issues/568, and cause rejoin-on-kick to +i channels to fail. This fixes one part of GH-1118. | 27 January 2018, 21:22:15 UTC |
eb1cb9b | James Lu | 27 January 2018, 20:33:21 UTC | Services: don't mangle the case of NickServ notices in logging This might be confusing if you're dealing with password changes, etc. | 27 January 2018, 20:33:36 UTC |
5daaa14 | Valentin Lorentz | 25 January 2018, 13:09:19 UTC | NickAuth: Fix NameError caused by e7329316880c486769d260a0d0d05a9d450ea5c1. | 25 January 2018, 13:09:19 UTC |
7e98802 | Valentin Lorentz | 24 January 2018, 08:27:39 UTC | Drop STARTTLS support, it complicates the connection initialization too much. | 24 January 2018, 08:27:39 UTC |
e732931 | Nicolas Coevoet | 17 January 2018, 08:51:27 UTC | Modified NickAuth to match the new WHOX | 23 January 2018, 18:37:19 UTC |
2b030ac | Nicolas Coevoet | 16 January 2018, 15:21:41 UTC | more arguments added for WHOX, to avoid external plugins recall same requests | 23 January 2018, 18:37:19 UTC |
d521a5c | Valentin Lorentz | 14 January 2018, 22:17:47 UTC | .travis.yml: no optional dep of py2.6; sqlalchemy no longer supports that version. | 14 January 2018, 22:17:47 UTC |
40b9bbc | Valentin Lorentz | 14 January 2018, 21:53:40 UTC | Send 'AUTHENTICATE :+' at the end of a SCRAM auth. https://github.com/ircv3/ircv3-specifications/pull/326 | 14 January 2018, 21:53:40 UTC |
64f27ef | Valentin Lorentz | 12 January 2018, 23:08:22 UTC | Clean up previous commit. | 12 January 2018, 23:08:22 UTC |
b6af3ba | Valentin Lorentz | 12 January 2018, 23:05:14 UTC | UTC calculation fix in setup.py * Streamlined all date calculation based on git timestamps. * Removed incorrect utc_date calculation. * Minimised the code differences for Python versions (down to one line). * Changed the git show command to leverage the output displaying the number of seconds since the epoch. * Thus making the final UTC calculation simply a function of specifying that in a time.gmtime call instead of attempting offset based calculations (which the original code got wrong). | 12 January 2018, 23:05:14 UTC |
8981b22 | James Lu | 06 January 2018, 18:39:05 UTC | ircdb: fix typo in supybot.capabilities.registeredUsers description | 06 January 2018, 18:39:05 UTC |
b9a159b | Valentin Lorentz | 05 January 2018, 18:24:54 UTC | Add supybot.capabilities.registeredUsers, to give default capabilities to all registered users. | 05 January 2018, 18:24:54 UTC |
d656db4 | Valentin Lorentz | 30 December 2017, 17:47:09 UTC | User: if '@hostmask add' detects a conflict and the caller is the owner, tell them who the conflicting user is. | 30 December 2017, 17:47:09 UTC |
bd39deb | Valentin Lorentz | 30 December 2017, 16:07:53 UTC | User: Simplify owner-checking logic, and fix crash when @hostmask remove is called by an unregistered user. | 30 December 2017, 16:12:35 UTC |
8cfb841 | Valentin Lorentz | 26 December 2017, 04:46:31 UTC | BadWords: better tests. | 26 December 2017, 04:46:46 UTC |
37a42b0 | James Lu | 17 December 2017, 09:18:36 UTC | ircutils: split ! and @ in hostmasks from the right This fixes /names parsing when ! is a prefix character and userhost-in-names is enabled: previously, strings such as "!@user!ident@some.host" were incorrectly split into "" for nick and "@user!ident@some.host" for ident@host. | 17 December 2017, 09:21:35 UTC |
dbbd7b4 | James Lu | 13 December 2017, 01:54:34 UTC | log: fix a typo (normal->normally) | 13 December 2017, 01:54:34 UTC |
289c894 | James Lu | 10 December 2017, 19:00:36 UTC | Services: log all messages from NickServ to info Closes GH-1016. | 10 December 2017, 19:03:30 UTC |
3ab226c | Valentin Lorentz | 10 December 2017, 08:38:27 UTC | RSS: Only defer feed loading at plugin load while the bot is starting. Defering it if the plugin is (re)loaded while already running is useless. Closes GH-922. | 10 December 2017, 08:39:20 UTC |
bdd0adf | James Lu | 10 December 2017, 07:03:14 UTC | RSS: add missing configuration help for feed URL options This fixes confusing "That configuration group exists, but seems to have no help." errors on the URL options for feeds, when these options are actually relevant and settable. | 10 December 2017, 07:03:42 UTC |
c78aff2 | James Lu | 09 November 2017, 17:08:25 UTC | Hashes: fix copyright year format [skip ci] | 09 November 2017, 17:08:41 UTC |
fffe1ef | James Lu | 09 November 2017, 17:05:58 UTC | Hashes: remove duplicate check for hashlib.algorithms_available This code is never wrap()'ed if the attribute is unavailable, so it isn't necessary to check for it in runtime twice. | 09 November 2017, 17:05:58 UTC |
287610b | James Lu | 09 November 2017, 17:04:21 UTC | Hashes: simplify test suites - Use hasattr instead of assigning the import availability to a variable - Use a simple if statement instead of redefining skipIf | 09 November 2017, 17:04:21 UTC |
41830a4 | James Lu | 09 November 2017, 16:59:18 UTC | String, Hashes: remove links describing hashing methods These are either dead or don't accurately describe the state of these methods today. For example, the SHA1 site still describes SHA-1 and MD5 as "trusted" despite widely reported collision attacks already being possible[1][2][3]. [1]: https://www.computerworld.com/article/3173616/security/the-sha1-hash-function-is-now-completely-unsafe.html [2]: https://arstechnica.com/information-technology/2017/02/at-deaths-door-for-years-widely-used-sha1-function-is-now-dead/ [3]: https://techcrunch.com/2017/02/23/security-researchers-announce-first-practical-sha-1-collision-attack/ | 09 November 2017, 17:01:29 UTC |