changes.txt - KyD (kyd@home.nl) http://www.upp-irc.tk summary of the major changes since version 1.51 so far: [ general ] * channel settings are now grouped in the new channel dialog, which allows you to quickly enable/disable channel services or toggle them for any of the channels you are on. (channel -> settings...) * fixed recognition of hardware: the general dialog now shows a list of detected installed hardware, so you can select which is used. * custom ctcp version reply dll can be disabled * added option to autoreclaim your main nick after it times out * added option for infinite server retries * auto pinger can be channel acces level restricted * uptime record keeping can be disabled * added "debug" module which, if loaded, spits out debugging info * thanks system now supports thanks for hops * nickcomplete now completes multiple nicks (seperate partial nicks by kommas), e.g.: ky,us,so: hi ---> would show --> (kyd,user,someoneelse): hi * join alias supports input in the form: /join a,b,c --> will be read as --> /join #a,#b,#c * fixed bug in kick/ban alias: upp won't try to deop the user if you're a hop on the channel * added option to sync autoop/autovoice lists when (h)opped in the general dialog. this will voice/op every user in your autovoice/autoop list for that channel when you're (h)opped * replaced /remote off by /events off wherever used. allows for the script to restore normal operation after a crash. * pasted input in the status window is no longer evaluated, because this can freeze or crash mirc at times * removed "wipe ignore list on connect" setting from the default usermode options * /show alias now works in status window too * added /show option to show current video playing with windows media player * added /show option for my power on multiple networks * allows you to set what messages will be shown on start * added "show repeated servermodes" feature (general dialog -> irc) * the alternate nicks (show class on join option) remembered for a host in the userstats module is now limited to 900 chars * fixed bugs for channels in the form #$foobar (due to evaluation) for the fservead/unsetting flood modes/xdcc ad/unbanuser alias [ networks ] * allows you to specify settings, and networkservicessyntaxes used for any network's chanserv/nickservices also allows you to set opchannels (and the rights you have to services on that channel), registered nicks. * increased amount of channels that can be saved in a network.channel listbox (900 chars in channels per network available) * channel settings are loaded dynamically, not on join * supports more raws, no longer shows networkservices replies in the server window (on certain networks) * the usermodes to be set on connect can be specified per network aswell * dynamic network services popup menu support * added option to disable using the notifylist to check if the services are online before sending commands * auto request chanserv invite now requests invite for +k and +l aswell * added floodprotection for outgoing networkservices commands * added "don't ask again"-option for the "chanserv access watch" on channels. these can be reset from the general dialog, reset tab * besides +c, upp now also strips messages if mode +S is set on a channel [ popups ] * completely reorganized and rewrote all popups for easier use and more functionality * no more dual popups * all submenus are now popups can now be unloaded * fixed problem of hanging popups (not responding after a while) * allows you to specify which folders/files to open in the open folder/file menu. * popup menus are divided in two parts, there is an upper part (called the system popups) which can always be loaded, then there is a divider and then the lower popups: these are popups belonging to the modules loaded. * popups reside in the remote section of the script now. this allows to disable certain parts of it using mirc groups, so that popups that don't show up, are not loaded. * control panel only shows icons of loaded dialogs * added temporary ban submenu to the control submenu of the nicklist popup menu "personal" * added "unban" option to the control submenu of the nicklist popup menu "personal" * fixed use of +h/-h modes for halfops in popups when you're a halfop * fixed bugs in aop/avoice/friend list multiple network entry removal through the popups * added "view last modified log"-feature in the logs menubar popup submenu, opens the last modified (non channel/status window) log, useful if you closed a query window right after someone said something * the logviewer now displays the modified time of a log in the titlebar [ dialogs ] * all dialogs open and close faster due to improved scripting * erroneous expressions in dialog previews are no longer evaluated * fixed bug that dialog previews would "hang" if you type faster than the previews are generated * previews in dialog now use the correct color at the beginning of a line if it is wrapped on multiple lines * leaving the editbox empty to set the default setting now works for ANY setting. * completely reorganized general dialog: settings are grouped and easier to find * positions of all major dialogs are saved * fixed that notification settings aren't saved if pressed cancel on general dialog * simplified format for most customizable messages: the default message shows which variables (e.g. %counter instead of $dat(channel,$chan).counter) can be used in a message. direct identifiers like $nick and $chan might work in some occacions but not on all (because the use of signals). * redesigned some dialogs for a more consistent use of staticedge/clientedge borders on controls [ theme engine ] * themes now have the .upp extension (renamed zip files), so every theme, whether or not it includes pictures, consists of a single file. .upp themes will be automatically loaded if dragged/dropped from an explorer window onto a channel/query window. * allows you to fully specify what events should be shown and which should not, like dcc transfer messages, or the on disconnect logo/message * all server related messages are now be prefixed with the networkname if they're not from the active connection id * fixed display of hop prefix for own text * themes load faster! * the theme font size is now the actual font size used, not mirc fontsizes * allows you to disable global timestamping * spaces now are allowed in theme names * channel status nick prefixes can be disabled * prefix for +a (!) and +q (*) can be themed * control panel icons/text/textbg colors and caption can be themed * notify list icons/text/textbg colors and caption can be themed * fixed leak in dll when loading themes * fixed msg, describe and say aliases not to show output if prefixed with a . * modes, kicks, quits show prefixed nicks, if enabled. * added option to disable clonescan on join for the theme engine (see the themes dialog) * idle times for $cnick are now saved correctly * nicklist colors for channelmode % in $cnicks are now saved correctly * the theme engine now uses a greater delay between the extraction and the loading of backgrounds, so as to work on slower hd's * fixed mirc's built in highlighter (alt+o -> irc -> highlight) to work on themed events * removed autogreet underline setting from the wb alias, it is now included in the parameters sent to the alias * when the server window is disabled server messages are now shown in the status window (instead of the active window), adhering to mirc default settings [ fileserver ] * "new", "on server" and "note" messages can be specified per network * caching procedure will no longer cause ping timeouts: takes a quick break in between mounting roots * caching procedure shows the total size of the files cached * progress dialog shows correct % even when skipping files/folders cos of excludes. * added option to disable showing directories in uppercase. * empty fileserver directories are now accesible * fixed sendonly option: added option to auto-disable if there are free queues/sends again * fserve schedule works: timers are restarted so that it will work without having to restart after a day * having multiple chat sessions and having an fserve session open to the same user works now * fixed @find: - searches can be limited based on duration - fixed bug: in channel @finds, only shows matches found in part of the fserve cache of the triggers that the user has access to. - added option to include matching directories in the results - fixed bug in @find taking extremely long on searches containing "mb/" - textual matches in @find results are placed in boldface * dccwatch warning can be customized * fixed bugs in dccwatch not removing queues because the ip was resolved incorrectly * fserve welcome message can be customized * fserve ad in @find reply shows ad in two lines if the the split ad option is enabled * added option to cloak nicks/ips in queuelists * fixed bugs concerning fservelogins for different users with the same nick on different networks * fservelogins work now even if the user runs the dccserver on another mirc (e.g. another nick but same ip) * fixed bug that caused upp to stop responding when someone queued a file on the fileserver * fixed bug that banlist in fserve dialog wouldn't be saved correctly * fixed sorting in the radixsort algorithm used for fserve caching (e.g. the directory "foo" is now sorted before "foo - bar") * fserve caching no longer shows a file in a directory multiple times if it exists in overlaying directories (with different filesizes that is) [ function keys ] * function keys are now configurable: load the function key manager with the module manager to choose the function key functionality you want. messages such as press f to start this file are dynamically adjusted to show the key that is currently bound to the action, if any. * fixed all function key aliases to work with hops * improved filter window: allows you to exclude text from results [ backup & restore ] * now allows multiple backup/restore configurations * also saves what theme/modules/libraries are loaded [ importer ] * now also imports themes from < 2.00 upp installs, converting them to the 2.00 format * will not import all customizable texts, this is not a bug. upp 2.00 uses a different format so conversion is not possible, same goes for action/user history [ autoconnect ] * added support for passwords * now uses portrange instead of a single port for a server * autoconnect servers can be individually excluded from autoconnect, without deleting them. * no longer disconnects on start if mirc tries to connect to the right server [ autojoin ] * added excess flood protection for autojoin [ online stats ] * fixed online statistics to work with multiple networks correctly [ autovoice ] * fserve and ftp ad matches can optionally be filtered by a regular expression to filter out fake ads. * the autovoice on !list feature no longer depends on the input event, so it works /msg #channel !list aswell * autovoice on !list can now handle !listing on any number of channels at the same time [ nickalert ] * speeded up nickalert by using a case insensitive regular expression * nickalert now also works for nicks containing regular expression invalid ([]\{}|.+*?) characters * added feature: nickalert -> messages window -> when mirc is inactive (general dialog, log tab) [ titlebar ] * allows you to enable/disable titlebar control * added option to show sends and queues of active queuepools in the titlebar * added option only to show information for the active server (servername, notify list, lagtime) [ serving ] * channel priority can be set for hops too now * priority can include the max number of queues for individuals (not just channels) * added default priority level for hops * added "count sends as queues" option for all serving systems. works for the 'queue-by-size'-queuepools too * different users with the same nick on multiple networks now have seperate failqueues * redesigned failqueue manager dialog * added option to specify if the size of a file to be queued should be seen as a users' bytes queued for the "queue by size" feature (see the sends dialog, settings tab) * improved keepspeed when initiating a new send: it now selects the queue to send, based on both the numer of sends and the lowest queueslot in use by a user * added "requeue sends on exit" option to the sends dialog * added "hide ips when displaying sends" option to the sends dialog * added option to allow prioritized users to overrule the max. queues limit for a queuepool, the queuepool growth can be limited by a percentage [ min. cps ] * can be set to warn a number of times on detection, before cutting the send * messages editable [ mp3 ] * fixed all bugs in reading mp3idv2 tags * added button in mp3 skinner dialog to set the default winamp colors * short mp3 ad format can now be fully specified, using %time and %song * upp now uses a seperate short mp3 ad (one when serving and one when not serving) * mp3 serving supports ctcp mode triggers * fixed bug: when quickly switching mp3s, flooding a channel with ads showing the same mp3 repeatedly [ notice triggers ] * added hop support [ protection ] * added option to ban by default one mask (2) instead of 2 (2,3) * advanced flood protection can be and is by default disabled * full support for hops in all protection services * protected users list is now a mirc user level (10) * badwords can be set not to ban * badnick works on the on nickchange event * guestkick: added option to check on nickchange for guests * revenge options work for any chanserv access channel (not just founderchannels) with unban/deop etc. access * personal floodprotection now shows which query windows are blocked and why (in the status window) * fixed bug in the "close query windows"-feature in the personal protection now closes all query windows [ clones ] * fixed bugs in spam detector clones on servers without a /motd * clones automatically rename when their nick is in use * clones auto rejoin when kicked * fixed display of server messages, kicks, modes, nickchanges and other events (it kind of uses its own theme engine now) * when a clone disconnects its window remains open, so clones waiting for a retry are shown * added functionality to the clones popup menu to change server/port/nick/hoptime and channel clone settings on the fly, for clones that are already started [ xdcc ] * fixed limits on files / xdcc pack: now supports infinite files per pack * allows you to restrict xdccs to a certain channel access level [ tdcc ] * allows you to restrict tdccs to a certain channel acces level [ shitlist ] * redesigned shitlist dialog * shitlist now saves reason, dateadded, lastseennetwork, lastseennick, lastseendate with a every entry * removed default shitlist mask: mask is determined by the address: ip mask for ips, address mask for addresses * added option to enable/disable the shitlist to the protection dialog * shitlist has fully working halfop support now * removing a user from the shitlist now removes from the ignore list aswell (if needed) * shitlist enforcing now works for any number of clones on any number of channels and will work if you're hopped too * shitlist ignore now ignores temporary (1 hour) * simplified "add user to shitlist dialog", this uses the default /shit alias to resolve nicks/addresses [ away system ] * fixed pager always on option, this enables the pager when not being away, but only if the pager is enabled. * fixed /away -s option without a reason behind it -> returns from away * pager saves address and network with a page * pager shows unread pages in different color * the pager now selects the line of the page being read * added "mark as read/unread" option for pages in the pager submenu * pager now also shows how much unread pages you have when you open it [ addons ] * added support for multiline comments * added mathgraph addon for drawing mathematical functions [ dccserver addon ] * added alias to cancel a single dccserver transfer to the dcccserver addon (without stopping the dccserver itself) * added $servget(N) alias to the dccserver addon to retrieve information about dccservergets. works just like mirc's $get() alias, supporting properties: port, ip, status, file, path, size, rcvd, cps, pc, secs, done, resume * added /dccserv list alias to the dccserver addon. lists all dccserver ports in use and shows what they're doing * dccserver addon now supports multiple transfers on one dccserver listening socket [ scripting ] * reorganized and rewrote pretty much all code for efficiency and speed. * modularization: all upp functionality is divided into 70 modules (remotes) and 8 libraries (aliases) you can load/unload modules with the new module manager dialog (it is possible, for example, to unload the theme engine) functionality that you do not use is not loaded (dynamic loading/unloading of modules) * using dynamically set mirc groups instead of evaluation in remotes * added case sensitivity for all settings (except for uids and network.channels), meaning if you change a setting "foobar" to "FooBar", this change is actually saved * changed window buffer size in default mirc.ini (to keep used memory down) * dynamic hashtable sizes for optimal speed/memory use * channel settings work dynamic, no need for rebuilding * restricted hashtable sizes for limited use of memory * easy editable settings: to list the most important new files/folders under the system folder: system\settings\ : contains all and only your personal settings, these can be modified with any text editor, when upp is not running or directly after flushing the cache to disk settings are saved in different files, based on data type, class, etc. system\defaults\ : holds the scripts default settings. modifying these may cause the script no longer to function system\initial\ : hold initial settings (used after a /reset) system\data\classes.ini : contains metadata about storing and retrieving data with $inf and $dat system\data\resources.ini : specifies default formats and layouts system\data\constants.ini : containts global script constants * upp no longer loads all settings: only settings you use are loaded, when needed. * smart caching: upp caches most settings, and flushes the cache to disk with periodic intervals you can also specify which settings not to cache. due to the caching, for example, the general dialog opens much faster the second time you open it. however running multiple instances of upp (from the same directory) is still unsupported, because settings are cached and altered in memory, when running multiple instances, the cached configurations will eventually differ, causing corrupt settings when flushing to the same files.