Thanks to visit codestin.com
Credit goes to github.com

Skip to content
This repository was archived by the owner on Jan 4, 2023. It is now read-only.

Releases: PyLink/PyLink

PyLink 0.4.6-dev

01 Oct 23:44

Choose a tag to compare

PyLink 0.4.6-dev Pre-release
Pre-release

Bugfix release:

f20e677 relay: fix PMs across the relay (7d919e6 regression)
55d9eb2 classes.Irc: prettier repr

PyLink 0.4.5-dev

30 Sep 04:14

Choose a tag to compare

PyLink 0.4.5-dev Pre-release
Pre-release

The "fancy stuff!" release.

New features including in-place config reloading (rehashing) (#89), FANTASY support (#111), and plugin (re/un)loading without a restart.

Full diff since 0.4.0-dev: 0.4.0-dev...0.4.5-dev
4883186 validateConf: allow autojoin channels to be empty; nothing wrong with that
54414f3 commands: new REHASH command (Closes #89)
e84a2d1 Modularize our import hacks, make Irc() take a conf object again
9e07949 relay: make spawning of subservers toggleable
55b642e Revert "relay: remove ENDBURST hook (is this needed anymore?)"
630aa83 core: add some rudimentary config file validation
0d3a7a5 exec: import world, for easier access to it
5aeaac0 commands: only allow loading plugins that aren't already loaded
38a350a Revert "pylink: use sys.path instead of imp library hacks"
4a9a29e relay: remove ENDBURST hook (is this needed anymore?)
a14e8a7 relay: add (experimental) support for plugin reloading
07fe720 commands: add plugin loading/unloading/reloading support
bbedd38 world: rename command_hooks=>hooks, bot_commands=>commands
cc171eb relay: abort connection when spawning a server fails
cf2ba4b pylink: use sys.path instead of imp library hacks
a903f97 Make world.plugins a dict instead of a list
a37d4b6 fantasy: only work when the main PyLink client is in the channel
7470efc commands: add an echo command
7d919e6 relay: forward messages from the main PyLink client too
97a135a classes: add special PYLINK_SELF(PRIVMSG/NOTICE) hooks for command loopback
034731a core: log which plugin is being called when calling hooks
0378fcc fantasy: don't allow internal clients to trigger
8e444c5 plugins: support FANTASY (where reasonable) by using irc.msg(irc.called_by, ...) instead of irc.msg(source, ...)
f55d227 example conf: add fantasy.py to list and plugin descriptions
4509e07 FANTASY support plugin (Closes #111)
822544e core: keep track of where last command was called & make command calling a shared function
5afa621 utils.parseModes: add missing string formatting
da3251c utils.parseModes: check to make sure target channel/user exists
aaeeeda start-cpulimit: pass command line options to ./pylink
f884d71 docs/pmodule-spec.md: formatting again
86495db docs/pmodule-spec: formatting
f015fe5 Documentation updates, finish off pmodule-spec.md (#113)
3351aaf inspircd: fix wrong arguments in numericServer() stub
c77d170 Move parseArgs and removeClient into the base Protocol class

PyLink 0.3.50-dev

19 Sep 18:28

Choose a tag to compare

PyLink 0.3.50-dev Pre-release
Pre-release

Many updates to core, preparing for an (eventual) 0.4.x release. Commits:

63189e9 relay: look at the right prefix mode list when rejoining from KILL
cb83db4 relay: don't allow creating a channel that's already part of a relay
8faf86a relay: rejoin killed users to the RIGHT channels
2e0a5e5 utils.parseModes: fix IndexError on empty query
1f95774 inspircd: add proper fallback value for OPERTYPE?
d6cb9d4 Merge commit '320de2079a78202e99c7b6aeb53c28c13f43ba47'
320de20 relay: add INVITE support (Closes #94)
60dc3fe relay: use "Channel delinked." part message when delinking channels
9a47ff8 Merge branch 'master' into devel
ace0ddf relay: use JOIN instead of SJOIN for non-burst joins
c2ee9ef Merge branch 'master' into devel
19fa31d relay: fix incorrect logging in getSupportedUmodes()
2f760c8 relay: Don't send empty user mode changes
4f40fae relay: in logs, be a bit more specific why we're blocking KILLs and KICKs
0b590d6 relay/protocols: use utils.toLower() for channel names, respecting IRCd casemappings
4525b81 relay.handle_kill: prevent yet another RuntimeError
26e102f Show oper types on WHOIS
8d19057 relay: set umode +H (hideoper) on all remote opered clients
5480ae1 classes: Remove "opertype" IrcUser() argument
531ebbb Merge branch 'master' into devel
f9b4457 Decorate relay clients, etc. with custom OPERTYPEs
4a964b1 Merge branch 'master' into devel
1062e47 classes.IrcChannel: default modes to +nt on join
d270a18 Remove unused imports
94f83eb relay.showuser: show home network/nick, and relay nicks regardless of oper status
5503477 commands: distinguish commands with multiple binds in 'list'
8976322 Replace admin.showuser with prettier whois-style cmds in 'commands' and 'relay'
e1e31f6 Allow multiple plugins to bind to one command name!
afd6d8c Refactor conf loading; skip the file-loading parts entirely for tests (#56)
cda54c7 main: Fix b71e508.
a58bee7 Modularize tests using common classes, add our custom test runner (#56)
549a1d1 classes: IrcServer.users is now a set()
adb9ef1 classes: fixes for the test API
973aba6 Move utils' global variables to world.py
b71e508 classes.Irc no longer needs a conf argument; tweak tests again
ad5fc97 Many fixes to test API, utils.reverseModes stub
ab4cb4d Merge branch 'master' into devel
2fe9b62 Consistently capitalize errors and other messages
bc7765b Let's use consistent "Unknown command" errors, right?
d059bd4 Move 'exec' command into its separate plugin
3d621b0 Move checkAuthenticated() to utils, and give it and isOper() toggles for allowing oper/PyLink logins
090fa85 Move Irc() from main.py to classes.py

PyLink 0.3.1-dev

03 Sep 06:56

Choose a tag to compare

PyLink 0.3.1-dev Pre-release
Pre-release

Bugfix release + LINKACL support for relay. Commits since 0.3.0-dev:

043fccf Fix previous commit (Closes #100)
708d949 relay: join remote users before sending ours
8d44830 relay.handle_kill: prevent yet another RuntimeError
6d66069 relay: coerse "/" to "|" in nicks if "/" isn't present in the separator
c8e7b72 protocols: lowercase channel names in PRIVMSG handling
37eecd7 pr/inspircd: use OPERTYPE to oper up clients correctly, and handle the metadata accordingly 9f0f4cb relay: burst the right set of modes
7620cd7 pr/inspircd: fix compatibility with channel mode +q (~)
3523f8f LINKACL support
51389b9 relay: LINKACL command (Closes #88)

PyLink 0.2.5-dev

16 Aug 05:39

Choose a tag to compare

PyLink 0.2.5-dev Pre-release
Pre-release

See the diff for this development build: 0.2.3-dev...0.2.5-dev

PyLink 0.2.3-dev

26 Jul 06:11

Choose a tag to compare

PyLink 0.2.3-dev Pre-release
Pre-release

The "prevent PyLink from wrecking my server's CPU" release.

Mostly bug fixes here, with a couple of scripts added (start-cpulimit.sh and kill.sh) added to assist running PyLink under the protection of CPUlimit. :)

New features

  • relay: Block most duplicate modes from being relayed (#71)
  • main: write a PID file to pylink.pid (f85fbd9)
  • ts6: support +AOS charybdis extension modes, warning if the IRCd doesn't support them (146ab5e)

Fixes

  • relay: quit users who aren't on any shared channels after KICK (71a3464)
  • Use RFC1459 for case mapping on InspIRCd (01220b3)
  • relay: Fix handling of local SAVE (e4da670) and KILL (a4da9b5) commands
  • relay: fix nick collision loop on SAVE + when both tagged (i.e. _42XAAAAAA) and untagged (42XAAAAAA) versions of a UID nick exist (e354ada)
  • relay: Fix command arguments of DELINK on home networks (c07cfb1)
  • relay: SJOIN users once, and only once (#71, b681a67)
  • main.Irc: catch OSError (bad file descriptor) errors and disconnect
  • ts6: add QS as a required capability (69e16e5)
  • ts6: fix JOIN handling and parse_as key handling in hooks (ddefd38)
  • relay: only wait for irc.connected once per network (4d7d7ce)

Full diff: 0.2.2-dev...0.2.3-dev

PyLink 0.2.2-dev

24 Jul 18:09

Choose a tag to compare

PyLink 0.2.2-dev Pre-release
Pre-release

The "please don't break again :( " release.

  • Added WHOIS handling support for TS6 IRCds.
  • ts6: fix handling of SID, CHGHOST, and SQUIT commands.
  • Support noctcp (mode +C) on charybdis, and wallops (+w) in relay.
  • Raised fallback ping frequency to 30

...And of course, lots and lots of bug fixes; I won't bother to list them all.

Full diff: 0.2.0-dev...0.2.2-dev

PyLink 0.2.0-dev

23 Jul 04:44

Choose a tag to compare

PyLink 0.2.0-dev Pre-release
Pre-release

Many changes in this development release, including:

  • New ts6 protocol module, for charybdis 3.x.
  • relay: add nick collision handling via SAVE (#61).
  • relay: trivial tasks like TOPIC, MODE, KICK and PART no longer spawn new clients for their senders, and are routed through the pseudoserver when applicable instead (e76d31d c0f8259).
  • Irc: be safer against UnicodeDecodeError caused by socket.recv() cutoff, by decoding each individual line instead (06d17d5).
  • relay: make the nick/net separator a per-network config option. (ad34f6c).
  • relay: Use a whitelist when it comes to relaying modes (#54), and strip out bans that don't match nick!user@host syntax (#55).
  • relay: Handle user mode changes (#64).
  • Support different case mappings for nicknames (RFC1459 vs ASCII) (#75).
  • inspircd: remove RSQUIT command handler (3494d4f).

And of course, many, many bug fixes! (relay should now work properly with more than 2 networks, for example...)

Full diff: 0.1.6-dev...0.2.0-dev

PyLink 0.1.6-dev

20 Jul 06:09

Choose a tag to compare

PyLink 0.1.6-dev Pre-release
Pre-release

Bug fixes and improvements from 0.1.5-dev

  • Irc.send: catch AttributeError when self.socket doesn't exist; i.e. when initial connection fails (b627513)
  • Log output to log/pylink.log, along with console (#52, 61804b1 fbc2fbf)
  • main/coreplugin: use log.exception() instead of traceback.print_exc(), so logs aren't only printed to screen (536366d)
  • relay: don't relay messages sent to the PyLink client (688675d)
  • relay: add a save command, and make rescheduling optional in exportDB() (c00da49)
  • utils: add getHostmask() (1b09a00)
  • various: Log command usage, exec usage, successful logins, and access denied errors in admin.py's commands (57e9bf6)

Full diff: 0.1.5-dev...0.1.6-dev

PyLink 0.1.5-dev

18 Jul 20:01

Choose a tag to compare

PyLink 0.1.5-dev Pre-release
Pre-release

New features

  • Hooks for CHGHOST, CHGIDENT, and CHGNAME (f9d8215 35f1c88)
  • IrcUser: Implement user channel tracking via an IrcUser.channels attribute (d97fce8)
  • Send PING to our uplink periodically, and quit if we don't get a response (#42, #57)
    • New server pingfreq option is introduced to set the time between PINGs.
  • relay: Only spawn clients if they share a channel, and quit them when they leave all shared channels (cf32461)
  • Support autoreconnecting to networks! A new autoconnect server setting is added to set autoconnect delay.
  • New PYLINK_DISCONNECT hook to keep track of network disconnections (3f6f78b)
  • relay: add a LINKED command (#65, bbcd70b)
  • commands: add a HELP command (#8, 6508cb3 4553eda)

Bug fixes

  • relay: don't spawn tagged clones for the internal PyLink client (40fd9e3)
  • relay: don't send empty MODE commands if there are no supported modes left after filtering (2a586a6)
  • protocol/inspircd: don't raise KeyError when removing channel from user fails (73c625a)
  • relay: only join PyLink to channels & set topics if there's actually a relay on the network (49943a7)
  • relay: fix the wrong modes being propagated to the wrong channels on LINK (#53, ccf7596)
  • relay: fix "RuntimeError: dictionary changed size during iteration" in handle_part (d30890c)
  • relay: Only allow messaging users in common channels / channels that you're in (#62, 024ac16)

Misc. changes

  • Move client/server spawning, hook calling, command handling, and KILL/KICK detection outside the protocol module (0aa2f98 fdea348)
  • Fix fakeirc and tests for relay (#56, a51cfcb)

Removed features

  • commands: remove debug command; it's useless now that exec, showchan, and showuser exist (50665ec)
  • admin: tell command has been removed. Rationale: limited usefulness; doesn't wrap long messages properly. (4553eda)

You can view the full diff here: 0.1.0-dev...0.1.5-dev