Pichat road map (old versions)

Last update 11/Jul/2011 by Mark Seuffert

History of changes Pichat v0.4.2

The following is the version history of Pichat v0.4.2:
New in 0.4.2.74
  • added Windows MSI/WiX installer to website
  • updated command line arguments for custom installers
New in 0.4.2.73
  • improved compatibility for Windows 7 and Vista, software updater self-elevates privileges under UAC
  • crash report on Windows is written into application data directory, not into current directory
  • application supports INI file changes for custom installers (and Wolf)
  • experimental Windows MSI/WiX installer for tester
New in 0.4.2.72
  • webchat with support for Nintendo DSi (Opera browser)
  • updated application, chat windows shows plugin menus with right click
  • updated website, software downloads with PAD file, French FAQ (thanks Gael)
  • updated SDK tools, added PAD version updater, renamed PNG comment updater
New in 0.4.2.71
  • updated web page parser with optional HTML/XHTML output and own text strings (for Feyd)
  • updated SDK with new data generator interface, also added code examples to documentation
  • added extract feature to plugins with resources
  • engine offers SharkEngine::CSystemInfo::GetTimeFormat() method
  • INI file: new setting WebPageLanguageFile=~/pichat/pichat_webserver_strings.txt, [Server] section
  • bugfix: limited number of alternate stylesheets in webchat, documented technical constraints
New in 0.4.2.70
  • updated user authentication handling, new file format with arbitrary meta data
  • updated SDK with new user authentication interface, improved file parsing, lots of refactoring
  • updated SDK tools, documentation tool with support for HTML output, improved XSLT and CSS
  • updated pipasswd for new file format and splitted off into own download
  • added simple authentication plugin, functionality was previously included in core
  • INI file: renamed setting UserAuthentication to ServerAuthentication, [GUI] section
  • INI file: renamed setting UserAuthenticationFile to ServerAuthenticationFile, [GUI] section
  • INI file: removed setting UserPermissionsFile, [Server Permissions] section
  • bugfix: setting ProxyBypassHosts supports wildcards in hostnames and IPs
New in 0.4.2.69
  • updated protocol, bot interface and /CONNECT command changed argument order to nickname, chatroom, language
  • updated session handling, automatic reconnect works better with conference rooms
  • updated webchat user list, shows if user is away (code from Wolf and Mark)
  • hyperlink parsing supports pichat scheme name in URLs, i.e. pichat://username:password@address:port
  • robustness and fuzz testing of text flow and common chat commands, using custom chat bots
  • INI file: new setting ChatroomStart, [Client] section
  • bugfix: contact group files are generated when needed (thanks Wolf for reporting)
New in 0.4.2.68
  • updated protocol for connection test, lots of refactoring and functional testing
  • updated SDK with meta data access, plugin manager with context menu for plugin commands, new plugin interface
  • improved support for simple chat clients, new echo option to enable ping replies and lag detection (for Feyd)
  • new command /GUIDE to guide users into other chatrooms
  • engine offers SharkEngine::CAsyncNetwork::SplitAddress() method, SharkEngine::CFilePreferences has changed
  • INI file: new setting PingSupportLagDetectionAbove=3, [Server] section
  • INI file: new setting PingSupportLagDetectionFallBelow=1, [Server] section
  • INI file: renamed setting WebchatEnableLagDetection to PingSupportLagDetection, [Server] section
  • INI file: renamed setting PingPongIntervall to ConnectionTestIntervall, [Server] section
  • INI file: changed default setting ShowSmileyBar=0, [GUI] section
New in 0.4.2.67
  • brand new application logo (lucky chat star)
  • updated download section with plugins for Linux and Windows, new file name for Linux/BSD chat server
  • updated options dialog with plugin manager, also available in dedicated server mode for Windows
  • added language plugin, automatic update of European language pack
  • command /PLUGIN can add and remove plugins, developers can now reload individual plugins
  • bugfix: redirect URL is checked to avoid an infinite loop of redirects
New in 0.4.2.66
  • text highlight handles "@nickname" format (Twitter friendly)
  • updated webchat HTML templates, takes echo commands and receives away status changes
  • bugfix: user generated chatroom works again with Linux glibc
New in 0.4.2.65
  • updated color scheme format, different colors for own/other text lines, new text color
  • updated color scheme examples, language text resources and webchat HTML templates
  • another echo option to generate text streams, optionally display colored nicknames
  • refactored HTTP 1.1 client class, improved internal state changes
  • added SMTP client class to core (thanks Feyd and Wolf for help)
  • server logfile shows if color schemes are incompatible
  • INI file: updated settings HighlightChatroomLevel and HighlightMessageLevel, [GUI] section
New in 0.4.2.64
  • updated language pack naming, experimental multi language plugin
  • updated website, screenshots with navigation bar for better overview
  • refactored server start, resources are loaded after plugins, new chat action
  • INI file: updated default setting LanguagePack1, [Languages] section
New in 0.4.2.63
  • chat window with smiley bar, supports text formatting and chat commands
  • configurable smiley bar and side bar menu, restructured Pichat INI file
  • configurable chat graphics for Windows GUI and webchat, PNG file format
  • refactored webchat to support custom graphics, updated webchat HTML templates and chat graphics
  • new hotkey Ctrl+S = show/hide smiley bar
  • INI file: new setting ShowSmileyBar=1, [GUI] section
  • INI file: new sections [GUI Side Bar], [GUI Smiley Bar] and [Graphics]
  • INI file: updated sections [GUI Aliases], [GUI Connect List], [GUI Sounds], [Server Chatrooms], [Server MOTD] and [Server Actions]
  • INI file: renamed section [GUI Connect List] to [GUI Address Bar]
New in 0.4.2.62
  • updated text input, wiki-like text formatting with bold and color, new echo option to generate text streams
  • updated language text resources and webchat HTML templates, smiley bar with wiki-like text formatting
  • chat output shows tab character like normal whitespace, also added five new chat graphics
  • command /TOPIC shows or changes topic of any chatroom
  • server logfile shows if language text resources are incompatible
  • translated website main pages, image captions and sitemap to French (thanks Gael)
  • web server with support for SSL accelerator, evaluating X-Forwarded-For and X-Forwarded-Proto HTTP headers
  • INI file: new setting AlwaysXForwardedSecure=0.0.0.0, [Server] section
New in 0.4.2.61
  • improved Windows GUI to be flicker free, using memory DC also for navigation buttons and contacts
  • improved side bar with tooltip for long text, shown when chatroom/nickname not fully visible
  • improved combobox control, added possibility to remove entries from history
  • refactored splitter control to remove unnecessary reference point when dragging separator
  • translated chat server to Bulgarian (thanks Alpha), Hungarian (thanks Miko) and French (thanks Toma)
  • bugfix: text filter is less strict in webchat and does not remove 0xFF (Telnet IAC control code)
New in 0.4.2.60
  • chat window with status bar on the bottom, owner-draw control created from scratch
  • simplified contacts and updated chat graphics, added telephone graphic (for Wolfguru)
  • updated protocol and webchat HTML templates, more chat server information, ping/pong with different payload data
  • new hotkey F3 = sticky window (always on top)
  • INI file: new setting MainWindowNavigationView=1, [GUI] section
  • INI file: new setting MainWindowContactsView=1, [GUI] section
  • INI file: removed setting MainWindowZoomed, [GUI] section
  • bugfix: text highlight works with whitespace in nicknames
New in 0.4.2.59
  • improved Windows GUI layout to prevent redraw artifacts, siblings should never overlap
  • refactored splitter control to resize controls better within small client area
  • refactored password manager, tabs with context menu entry to enter password
  • updated website, main pages also using wiki text format (pikiengine), meta information support
  • INI file: renamed setting MainWindowSplitterPos to MainWindowSeparatorPos, [GUI] section
New in 0.4.2.58
  • filtered IP-address display and logging per default
  • new command /USERINFO to show extended user information
  • new command /ROOMINFO to show extended chatroom information
  • added logbot plugin, records public conversations on chat server (for Wolfguru)
  • changed text color types to be in RGB order, updated webchat HTML templates and quizbot plugin
  • improved support for simple chat clients, more echo options to generate text streams (for Feyd)
  • updated hotkeys Ctrl+P = write colored, Ctrl+K = change color scheme, Ctrl+Shift+O = show chat options
  • INI file: new setting FilterIpNetmaskChat=16, [Server] section
  • INI file: new setting FilterIpNetmaskHttp=16, [Server] section
  • INI file: new setting UserInformationExpireTime=3600, [Server Permissions] section
  • INI file: new setting ChatroomInformationExpireTime=3600, [Server Permissions] section
  • INI file: removed setting WebchatEnableSoundEffects, [Server] section
New in 0.4.2.57
  • users can log chat conversations and private messages
  • updated options dialog with logfile manager, shows and deletes logfiles
  • refactored file logging, moved visualisation logging into application code, new chat action
  • INI file: updated format in section [Server Chatrooms]
  • INI file: new setting ClientChatLogging=0, [GUI] section
  • INI file: new section [Logfiles], moved other logfile settings into this section
  • INI file: removed settings VisualisationLogfile and VisualisationLogLevel, [3D Visualisation] section
  • bugfix: shutdown is working properly on Windows (thanks Wolfguru for reporting)
New in 0.4.2.56
  • bugfix: telnet access fixed after recent protocol update, tested with PuTTY and Linux telnet client
New in 0.4.2.55
  • more flexibility for logfiles, directories can be created on the fly
  • updated SDK with better bot interface for multiple languages, updated examples and plugins
  • updated website, more plugin documentation
  • aliases with support for multiple commands consecutively executed
  • INI file: new setting MainWindowCloseButtonMinimise=1, [GUI] section
  • INI file: added wildcard entries to sections [Color Schemes] and [Languages]
New in 0.4.2.54
  • improved chat server connection at application start (for BohBoh)
  • experimental chat graphics for application and systray (for Wolfguru)
  • protocol updated, more information about user's reconnect status
  • updated webchat HTML templates, changed some graphic names
  • INI file: updated format in sections [GUI Sounds] and [Server Actions]
  • bugfix: chat input with a custom border needed for Windows Vista
  • bugfix: webchat redirect works with multiple arguments
New in 0.4.2.53
  • improved terminal service support, files and settings are stored in user's home directory, chat/web server can be disabled, software updates can be disabled, more control for sysadmins
  • automatic detection of free listening ports on first start
  • updated Windows user interface, new default font in color schemes
  • updated SDK with access to INI file, updated examples and plugins
  • INI file: new section [Plugins]
  • INI file: new setting EnableUpdates, [Updates] section
  • INI file: new setting ColorSchemeGuiFont, [Color Schemes] section
  • INI file: renamed setting ShowFirstStartMessage to ShowStartupMessage, [GUI] section
New in 0.4.2.52
  • chat output with better text selection, double click selects whole word
  • improved webchat parser for special cases (thanks Feyd for reporting)
New in 0.4.2.51
  • chat output repaired for Windows Vista (thanks Rickard and Rouv for testing)
  • crash report includes base address of loaded modules
New in 0.4.2.50
  • updated chat output with better scrolling, text selection and zoomable text size
  • new hotkeys to change text size in chat window, also refined Ctrl+A functionality
New in 0.4.2.49
  • improved splitter control in case of resizing/dragging effect being disabled
  • bugfix: systray animation without GDI leaks
New in 0.4.2.48
  • intensively tested Windows user interface, faster main window resize, fixed visual glitches
  • refactored splitter control to resize controls/widgets without visual artifacts
  • new tab sets caret into chat server address field
  • new hotkey F4 = show/hide status and contacts
New in 0.4.2.47
  • experimental new chat output, owner-draw control created from scratch (thanks Feyd for help)
  • improved hyperlink parsing for special cases (thanks Feyd for finding them)
  • improved JavaScript for better webchat customisation, new webchat HTML templates
  • website with improved screenshot handling, individual pages with meta information
  • translated website main pages and sitemap to Swedish (thanks Håkan and Rickard for help)
  • engine offers SharkEngine::CFileStream::MakeFile() method
  • INI file: removed setting NachoTimeStampLevel, [GUI] sectioon
  • INI file: removed setting NachoTimeStampMultiColor, [GUI] section
  • INI file: removed setting HighlightFullLine, [GUI] section
  • INI file: removed setting FlickerFreeDrawing, [GUI] section
  • INI file: removed setting OpenNewBrowserWindow, [GUI] section
New in 0.4.2.46
  • updated options dialog with setting to run chat application at startup
  • improved chat graphics for dark color schemes, added cola graphics (for Rickard)
New in 0.4.2.45
  • updated side bar with chatroom in which user enters the chat
  • updated language text resources, shortened chat status text in user interface
  • command /BAN with possibility to ban problematic users from all chatrooms
  • INI file: new setting ChatBanTime=10800, [Server Permissions] section
New in 0.4.2.44
  • updated Windows GUI resources, completed Swedish translation (thanks Magnus for help)
  • updated SDK web page parser with language detection based on user agent language
  • renamed simple chat mode to simple text mode in HTML templates
  • documentation tool with support for wiki text format (pikiengine)
  • improved documentation with more content and images, FAQ with more questions
  • website with wider layout and new documentation engine, MediaWiki/ReStructuredText-like text formatting suitable for technical documentation, JPEG/PNG image support
New in 0.4.2.43
  • internationalisation for Windows GUI resources, defaults are English/German/Swedish
  • updated options dialog with language selection, application restart after change
  • INI file: new setting LanguageGuiDefault, [Languages] section
New in 0.4.2.42
  • updated SDK with manual authentication for bots, C++ interface changed
New in 0.4.2.41
  • updated status dialog with chat activity and user number in current color scheme
  • refactored chat text drawing, custom calculation for word wrap and ellipsis
  • refactored web page parser, added to SDK and updated webcam plugin
  • homepage with two more screenshots, webchat and telnet example
New in 0.4.2.40
  • updated webchat HTML templates, more layout control (for Feyd)
New in 0.4.2.39
  • webchat with support for Wii (Opera browser) and iPhone (Safari browser)
  • webchat with support for custom style sheet extensions, CSS skinning
  • updated webchat HTML templates, optional send button and better error handling
  • INI file: new setting SideBarLevel=2, [GUI] section
New in 0.4.2.38
  • side bar with chatrooms and users for user interface and webchat
  • command /WHO shows users in any chatroom, added to side bar
  • protocol updated, server sends more chatroom information, new chat actions
  • changed some color names, new colorscheme examples in download section
  • homepage with CSS layout and updated screenshots
  • INI file: new setting ChatroomListUpdateIntervall=120, [Server] section
  • INI file: renamed setting ShowUserList to ShowSideBar, [GUI] section
New in 0.4.2.37
  • experimental dynamic user list in webchat, add/change/remove with JavaScript and DOM
  • experimental new webchat HTML templates, simplified for easier integration into existing layouts, moved JavaScript into namespace, shorter loading time, tested with FF and IE
  • most pages in standards compliant mode and HTML/CSS validated
  • chat status page shows users in permanent chatrooms
  • quizbot plugin with support for multiple languages
  • webcam plugin with context menu in preview window
New in 0.4.2.36
  • added blinking title bar to webchat and user interface
  • user interface with interactive login if authentication is required
  • startup connections via contacts
  • homepage with sitemap in English/German (for search engines)
  • INI file: added setting StartupCommands, [Pichat] section
  • INI file: added setting AnimateWindowTitle=1, [GUI] section
  • INI file: removed setting Connect, [Pichat] section
New in 0.4.2.35
  • user interface optionally with precise time stamp
  • updated SDK with access to logfile, updated plugin interface (for Feyd)
  • added quiz plugin for running a chatroom quizbot, example trivia in download section
  • better webcam plugin with logo for online, offline and on the air status (for Rickard)
  • INI file: new setting NachoTimeStampPrecise=0, [GUI] section
  • INI file: renamed setting ShowPingPrecise to PingPrecise, [GUI] section
New in 0.4.2.34
  • user interface with button to show chat options
  • updated preferences dialog with advanced server settings
  • homepage with more pages in English/German
  • INI file: new setting MainWindowOptions=1, [GUI] section
  • INI file: changed settings for permanent chatrooms, [Server Chatrooms]
  • bugfix: bots can be added and removed on runtime (bug 1054)
New in 0.4.2.33
  • updated preferences dialog with user interface settings
  • new hotkey Windows+P = show/hide main window (for Feyd)
  • protocol updated, more chatroom information for bots, new chat actions
  • homepage with developer documentation in English/German
  • Winamp plugin with option to ignore song titles with specific text
  • INI file: renamed setting ChatServerJoins to ChatServerUsers, [GUI] section
  • INI file: removed setting MainWindow3dCheckbox, [GUI] section
  • INI file: removed setting MainWindowStatusButtons, [GUI] section
New in 0.4.2.32
  • updated preferences dialog with network settings and a password manager
  • manual software updates with detailed error feedback
  • crash report includes information about plugins (for Feyd)
  • improved file parser class to read and write configuration data
  • INI file: new setting ClearInputAndOutput=1, [GUI] section
  • INI file: new setting UserAuthentication=1, [GUI] section
  • INI file: new setting UserAuthenticationFile=pichat_user_authentication.ini, [GUI] section
  • bugfix: HTTP/1.0 server closes non-persistent connections immediately (bug 1053)
New in 0.4.2.31
  • updated MOTD (message of the day) with better support for multiple languages
  • added ability to check manually for software updates (for Domk)
  • added status plugin with list of all users in TEXT/XML format
  • updated SDK with access to more server and user information, updated bot interface
  • refactored connection manager, download updates optionally via HTTP proxy
  • bugfix: compressing binary packages with correct length (bug 1052)
New in 0.4.2.30
  • homepage with user handbook in English/German (for Mattze)
  • custom title in main window and systray (for Mattze)
  • HTTP 1.1 client allows dynamic change of traffic limitations during upload/download
  • bugfix: XML translation without access violation, improved stability (bug 1051)
New in 0.4.2.29
  • profiling and stress testing of network classes and incoming traffic
  • bugfix: better handling for telnet and tinygrams (bug 1050)
New in 0.4.2.28
  • webchat with own help page in English/German/Swedish
  • command /WHOIS shows if user is registered and optional description
  • command /LOGOUT and /QUIT to leave chat
  • updated chat status query with more server information (for Feyd)
  • updated password tool with IP ranges for all users types
  • updated SDK to make it VC8 friendly, some incompatibilities as usual
  • bugfix: web server handles requests with bare CR (bug 1050)
New in 0.4.2.27
  • web server with support for reverse HTTP proxy (for Feyd)
  • command /COLORSCHEME is the default command to change color scheme
  • renamed colorsheme to colorscheme, updated webchat HTML templates
  • INI file: new setting FollowXForwardedFor=127.0.0.1, [Server] section
  • INI file: removed setting AssistantButtonsLevel, [GUI] section
  • INI file: renamed section [Color Shemes] to [Color Schemes]
  • bugfix: user login works reliable (bug 1049)
New in 0.4.2.26
  • protocol updated for comunities that require registration, updated password tool
  • new command /CHATMODE to change chat server mode
  • new command /USER to log in or out as registered user
  • updated SDK with text container and access to server information
  • INI file, new setting ChatModeDefault=CHAT_OPEN, [Server Permissions] section
  • INI file, new setting VisitorRestrictionChatroom=1, [Server Permissions] section
  • INI file, new setting VisitorRestrictionNickname=1, [Server Permissions] section
  • INI file, new setting SafeguardLoginFailedMax=10, [Server Permissions] section
  • INI file, new setting SafeguardExpireTime=600, [Server Permissions] section
  • INI file, new setting ClosedQuitTime=300, [Server Permissions] section
New in 0.4.2.25
  • new application icons
  • homepage with screenshot section, merged download and plugin section into one section
  • added webcam plugin, shows picture in JPEG format (code from Feyd and Mark)
  • added Winamp plugin, shows current song title
  • INI file: changed setting SmileysAndGraphicsLevel=6, [GUI] section
New in 0.4.2.24
  • updated visualisation and graphical user interface according to coding standard
  • added PNG decoder to visualisation (code from Feyd), refactored TGA decoder in same style
  • refactored visualisation input handling and data formats for stricter encapsulation
  • refactored visualisation data manager classes to use polymorphism instead of templates
  • profiling of file stream and string classes, improved implementation
  • bugfix: automatic update unpacks files from download container
  • bugfix: simple chat mode opens links in new browser window (bug 1048)
New in 0.4.2.23
  • added automatic download of updates, also known as "nacholoading" (for Nacho)
  • new tool to create file repository with version information and SHA256 checksum
  • INI file, new section [Updates]
New in 0.4.2.22
  • refactored HTTP server to offer data exchange with plugins, added to SDK
  • refactored file/memory stream class to be shareable across library boundaries
  • INI file: moved setting DedicatedServer to ServerDedicated, [Profile] section
  • bugfix: STL is not used across DLL boundaries (bug 1047)
New in 0.4.2.21
  • improved HTTP 1.1 client with partial file transfer and traffic limitations
  • improved documentation tool with XML output (shown as HTML in standard web browser)
  • refactored string parser for easier use, updated SDK examples
  • bugfix: nickname change is reported to bots
New in 0.4.2.20
  • added HTTP 1.1 client class to core, updated unit tests
  • added SDK tools to download page, contains mkdoc + mkres + pipasswd + pngcomment
  • improved memory stream class with read/write access
  • refactored network error handling and data exchange
  • bots with better text output and multi-threading support
  • bugfix: trimming text lines before sending to chat server (bug 1046)
  • bugfix: methods TrimTextEllipsis() and TrimTextLine() work without crashing
New in 0.4.2.19
  • bugfix: flicker free drawing without GDI leaks (thanks Feyd for help)
New in 0.4.2.18
  • rewrote tabs with theme support, images and close buttons (thanks Feyd for help)
  • tabs show connection problems and blink if highlighted text is waiting
  • refactored chat graphics and theme handling to work without singelton
  • refactored system tray and icon animation
  • INI file, new setting TabsCloseButton=1, [GUI] section
New in 0.4.2.17
  • rewrote buttons with theme support, reorganised buttons in main dialog
  • protocol updated, server sends more status information, new chat action
  • bugfix: input focus and default button (owner-draw) is handled better
  • bugfix: auto away message is not shown when text filter is enabled
New in 0.4.2.16
  • web server supports authentication, updated password tool with IP ranges
  • server puts automatic safeguard on user names with too many failed login attempts
  • user interface with status button to zoom main window in/out
  • user interface supports filtered text output (for Domk and Nacho)
  • new hotkey Ctrl+R = enable/disable text filter
  • new hotkey Ctrl+L = clear chat window
  • documentation tool with more options and error feedback
  • INI file: new setting DomkoTextFilter=0, [GUI] section
  • INI file: new setting MainWindowZoomed=1, [GUI] section
  • INI file: new setting ServerHttpLocationProtected="/private", [Server] section
  • INI file: renamed setting MainWindowStatusAndContacts to MainWindowStatusView, [GUI] section
New in 0.4.2.15
  • improved string and buffer classes with memory allocator
  • added smart pointer templates (owned/shared), new engine unit test
  • updated SDK coding standard with a new section about C++ memory handling
  • reduced webchat to three browser types: dynamic, simple, unsupported
  • INI file: new setting WebchatScreenSizeBrowserSimple=12, [Server] section
  • INI file: renamed setting ServerDefaultEntryPage to ServerDefaultHomepage, [Server] section
  • INI file: changed setting DataTransferBufferSize=32768, [Server] section
  • INI file: removed setting WebchatBrowserNormal, [Server] section
New in 0.4.2.14
  • added STL independent string and buffer classes for better binary compatibility
  • refactored connection manager and plugin manager to use same pattern
  • refactored command parser with proper encapsulation
New in 0.4.2.13
  • improved chat server plugin support, new bot interface
  • updated SDK with library documentation and more engine unit tests
  • homepage with plugin section for tester
  • new hotkey F12 = show 3D window
  • bugfix: chat server announces correct name in LAN
  • bugfix: user interface minimises without resizing views (bug 1011, bug 1017)
New in 0.4.2.12
  • improved chat server plugin support, new command interface
New in 0.4.2.11
  • improved chat server plugin support, new interfaces
  • new command /PLUGIN to show and configure chat plugins (for Domk)
  • resource tool with configurable namespace label
  • INI file: new setting AnnounceNetworks=255.255.255.255, [Server] section
New in 0.4.2.10
  • UDP scan for running chat servers in LAN, added to contacts, new chat actions
  • new hotkey F5 = update contacts
  • different icons for application and download container
  • INI file: new setting ServerAnnounceLocalNetwork=1, [Server] section
  • INI file: new setting AnnounceIntervall=60, [Server] section
  • INI file: renamed setting EngineLogfile to VisualisationLogfile, [3D Visualisation] section
  • INI file: renamed setting EngineLogLevel to VisualisationLogLevel, [3D Visualisation] section
  • bugfix: webchat with stubborn web browsers requires initial stream update
  • bugfix: webchat refresh initialises the stream compression
New in 0.4.2.9
  • added simple chat server plugin support
  • added simple software development kit (SDK) to download page
  • updated engine unit tests, dynamically linked, all runs automatic, added to SDK
  • refactored and splitted engine classes to reduce header dependencies
New in 0.4.2.8
  • experimental chat plugin support (for Feyd)
  • server logfile lists shared libraries and chat plugins in server debug mode
New in 0.4.2.7
  • improved server reconnect, detects when local network connection has been restored
  • command /COLORSHEME is the default command to change color sheme
  • INI file: new setting ConnectRetryLocalNetwork=3, [Client] section
  • bugfix: user interface clears chat output correct (means without crashing)
New in 0.4.2.6
  • contacts with multiple groups
  • INI file: new setting ContactGroupAddresses=Default, [GUI Connect List]
  • INI file: removed section [GUI Connect List Favourites]
  • bugfix: download container sets original file date after extraction
  • bugfix: chatroom list is not wrong after update to a new build
New in 0.4.2.5
  • added context menu in user bar with clickable chat commands
  • added context menu for status and contacts
  • refactored core data containers for stricter encapsulation
  • refactored 3D visualisation error handling and logging, similar to chat server
  • INI file: new section [Contacts]
  • INI file: new setting EngineLogfile=pichat_3d.log, [3D Visualisation] section
  • INI file: new setting EngineLogLevel=2, [3D Visualisation] section
New in 0.4.2.4
  • added tabs for multiple chat windows
  • preference dialog with checkbox for sticky window mode (always on top)
  • INI file: new setting TabsWhenChatWindowNumber=2, [GUI] section
  • INI file: renamed setting MainWindowHomepageButton to MainWindowStatusButtons, [GUI] section
New in 0.4.2.3
  • added preferences dialog for basic chat settings like nickname
  • updated hotkeys Ctrl+P = show chat preferences, Ctrl+G = pong back last user
  • user can hide right part of chat dialog (for Phantomix)
  • INI file: new setting MainWindowStatusAndContacts=1, [GUI] section
  • INI file: changed setting ShowUserList=1, [GUI] section
New in 0.4.2.2
  • splitted off core and engine into shared libraries (dll/so)
  • redesigned engine resource handling to be more flexible
  • reduced build time by making better use of precompiled headers
  • bugfix: download container can run only once at a time
New in 0.4.2.1
  • added download container for Windows, unpacks and starts exe
  • added set of engine unit tests for Linux/BSD to download page
  • redesigned source code structure into application + core + engine
  • resource tool supports compression and file modification dates
  • bugfix: user list is not empty on startup
New in 0.4.2.0
  • protocol updated, client sends preferred languages with first line, new chat actions
  • refactored client classes to have the same simple design
  • command /MESSAGE is the default command to send private messages
  • homepage relaunch with download section

History of changes Pichat v0.4.1

The following is the version history of Pichat v0.4.1:
New in 0.4.1.41
  • chat status page shows users in entrance (for Nacho)
  • chat server user number is updated delayed, less traffic on very active servers
  • cleaned up internal chat actions
  • INI file: new setting WebchatTextBreakLength=40, [Server] section
  • INI file: new setting WebchatLinkBreakLength=40, [Server] section
  • INI file: new setting UserNumberUpdateIntervall=20, [Server] section
  • bugfix: webchat login shows correct error message
New in 0.4.1.40
  • added command /ROOMMODE for chat admins
  • added conference rooms and moderated chatrooms
  • server logfile shows user permission problems in server debug mode
  • INI file: new setting ChatroomEnterInAny=1, [Server Permissions] section
New in 0.4.1.39
  • chat admins with ability to ban users (for Phantomix and Domk)
  • added commands /BAN, /UNBAN, /USERMODE for chat admins
  • cleaned up commands and arguments, no extrawurscht
  • user identification and session management updated
  • INI file: new setting UserTypeDefault=USER_NORMAL, [Server Permissions] section
  • INI file: new setting VisitorRestrictionLevel=0, [Server Permissions] section
  • INI file: new setting ZombieQuitTime=120, [Server Permissions] section
  • INI file: new setting VisitorQuitTime=3600, [Server Permissions] section
  • INI file: new setting NormalQuitTime=0, [Server Permissions] section
  • INI file: new setting ChatroomBanTime=120, [Server Permissions] section
New in 0.4.1.38
  • added commands /ADMIN, /BROADCAST for chat admins
  • added tool to change user permission, server supports SHA-256 and plaintext passwords
  • improved HTML version of documentation, clickable section links
  • INI file: new section [Server Permissions], moved some server settings to it
  • INI file: new setting UserPermissionsFile, [Server Permissions] section
  • INI file: new setting ChatroomBanned=Zillout, [Server Permissions] section
  • INI file: new setting DisabledCommands, [Client] section
  • INI file: new setting ChatAdminCommands=1, [GUI] section
  • INI file: changed setting AutoQuitWebchatAfterIdle=10800, [Server] section
New in 0.4.1.37
  • webchat porting finished, private release party with pizza and beer :)
  • added a newbie friendly introduction to user handbook
  • added topic and chatroom user list to webchat parser arguments (for Nacho)
  • bugfix: chat locations are treated case insensitive (bug 1043)
  • bugfix: URL encoding corrected (bug 1042)
New in 0.4.1.36
  • refactored server classes for ordered handling of socket write errors
  • refactored network class event handling to be more flexible
  • webchat shows if user is disconnected or blocked by a proxy
  • INI file: changed setting WebchatPageRefreshIntervall=240, [Server] section
  • bugfix: redirect works again with webchat help (bug 1041)
  • bugfix: FF does not steal input focus with webchat sound effects (bug 1039)
  • bugfix: GUI sound effects work again on Windows XP
New in 0.4.1.35
  • web server stress testing with siege and torture, improved transactions per second
  • web server supports logfile with referer and user agent
  • refactored HTTP class for more efficient use of TCP and better caching of static content
  • INI file: new setting ServerHttpLogfile=pichat_webserver.log, [Server] section
  • INI file: renamed setting ServerLogfile to ServerChatLogfile, [Server] section
  • INI file: renamed setting ServerLogfileHourStatus to ServerHourStatus, [Server] section
  • INI file: more default users in MaxUsersTextchat and MaxUsersWebchat, [Server] section
  • bugfix: Accept-Encoding header with wildcard also triggers content compression
  • bugfix: transition between server timeouts works properly
New in 0.4.1.34
  • webchat templates cleanup, most pages are HTML/CSS validated, porting step 14
  • splitting content and layout where possible, generally better use of CSS, no inline style/scripting where it makes sense, no uppercase or obsolete tags
  • web server with default entry page
  • INI file: new setting ServerDefaultEntryPage=1, [Server] section
  • INI file: new settings WebPageHeader and WebPageFooter, [Server] section
New in 0.4.1.33
  • webchat templates more flexible, porting step 13
  • color shemes with alternative colors for text and background
  • ghost session resurrection (for Nacho and Domk), regain nickname after disconnect
  • INI file: new setting GhostSessionResurrection=1, [Client] section
  • INI file: changed setting WebchatStreamPaddingSize=1024, [Server] section
  • bugfix: stream padding uses uncompressed byte size, for brain dead browsers
New in 0.4.1.32
  • webchat templates more comfortable, porting step 12
  • bigger chat input with cursor hotkeys, requires web browser with JavaScript
  • chat input history places cursor at end of line and ignores empty lines
  • command /ECHO shows chat output settings, /TIMESTAMP for all chat users
  • added session management with resurrection, protocol updated
  • INI file: new setting WebchatPageRefreshIntervall=300, [Server] section
  • INI file: changed setting WebchatStreamForceIntervall=15, [Server] section
  • INI file: changed setting NachoTimeStampLevel=2, [GUI] section
  • INI file: removed setting HistoryUniqueEntries, [GUI] section
New in 0.4.1.31
  • experimental new webchat templates for tester, porting step 11
  • webchat control bar with list of chatrooms and smileys
  • multi language welcome message, various language resource updates
  • INI file: removed setting Welcome, [Pichat] section
  • INI file: moved setting ServerName and ServerVersion to [Pichat Profile] section
  • INI file: new setting Interests=chat, [Pichat Profile] section
New in 0.4.1.30
  • webchat with automatic LAG detection, porting step 10
  • webchat is more HTTP cache friendly, reduced parsed files and login traffic
  • command /PING and /LAG with estimated time for webchat users, always good to have
  • INI file: renamed setting ServerHttpRoot and all HTTP locations, [Server] section
  • INI file: renamed setting WebchatBrowserStatic to WebchatBrowserSimple, [Server] section
  • INI file: new setting DataCompressionFileSizeMin=128, [Server] section
  • INI file: new setting WebchatEnableLagDetection=1, [Server] section
New in 0.4.1.29
  • webchat with sound, porting step 9
  • configurable sound effects (for Domk and Jamie), ping/pong sounds included
  • configurable chat server actions for invoking external programs or scripts
  • investigated how to fork processes from a thread
  • hyperlink parsing allows comma and semicolon in URLs
  • INI file: renamed Enable3dVisualisation to MainWindow3dCheckbox, [GUI section]
  • INI file: removed 'phantomix', [GUI Connect List Favourites] section
  • INI file: new section [GUI Sounds], also moved setting EnableSoundEffects to it
  • INI file: new section [Server Actions]
New in 0.4.1.28
  • refactored webchat parser, more flexible and with changed syntax
  • session management prevents collisions with old session IDs
  • bugfix: webchat parser prevents code injection (Cross Side Scripting)
  • bugfix: chat output drawing code is more defensive, hopefully (bug 1036)
  • bugfix: using latest zlib library (Windows version has static library linked)
New in 0.4.1.27
  • webchat with response for commands which are not supported, porting step 8
  • private messages in web/text chat show once how to answer
  • chat status available as RSS feed, let's be nice to the semantic web
  • chat status with activity statistics and optional full hour status in logfile
  • server logfile shows more/different information in server debug mode
  • more documentation about chat personalisation, status and statistics
  • INI file: renamed setting Port to PortChat, [Server] section
  • INI file: new setting ServerLogfileHourStatus=0, [Server] section
  • INI file: new setting MaxUsersPichat=100, [Server] section
  • bugfix: file transfar works properly with persistent connections
New in 0.4.1.26
  • webchat with humble improvements for users behind proxy, porting step 7
  • server logfile shows possible webchat problems in server debug mode
  • server logfile with system info in server debug mode
  • automatic browser detection also catches broken browsers, lots of testing
  • directory listing shows rounded file size
  • INI file: renamed settings WebchatBrowserNormal/Dynamic/Static/Unsupported, [Server] section
  • INI file: changed setting WebchatSessionIpNetmask=30, [Server] section
  • INI file: new setting WebchatStreamPaddingSize=2048, [Server] section
  • INI file: new setting WebchatStreamForceIntervall=10, [Server] section
  • bugfix: hyperlink parsing and graphic parsing more strict (bug 1035)
New in 0.4.1.25
  • webchat with smileys and graphics, porting step 6
  • reorganised image names, ca 100 images included with chat server
  • refactored chat graphics class and added GUI independent version for server
  • server logfile shows compression library problems on startup (bug 1033)
  • server logfile shows invalid chatroom names on startup (bug 1034)
  • INI file: new setting WebchatSessionIpNetmask = 28, [Server] section
  • INI file: new setting WebchatSmileysAndGraphicsLevel = 5, [Server] section
New in 0.4.1.24
  • resource tool supports command line arguments and configuration file
  • bugfix: nickname is taken from a valid login name (bug 1032)
  • bugfix: POST method works properly with persistent connections
New in 0.4.1.23
  • webchat with improvements for slow internet connections, porting step 5
  • web server supports persistent connections and chunked transfer
  • auto unaway also for webchat and simple text chat (bug 1028)
  • INI file: renamed setting AutoAwayAfter to AutoAwayAfterIdle, [GUI] section
  • INI file: new setting DataTransferKeepAlive=30, [Server] section
  • INI file: new setting DataTransferPersistentMax=500, [Server] section
  • INI file: new setting AutoAwayTextchatLevel=1, [Server] section
  • INI file: new setting AutoAwayWebchatLevel=1, [Server] section
New in 0.4.1.22
  • webchat and dynamic web pages use default color sheme, porting step 4
  • command /COLORS for webchat users, requires web browser with CSS, JavaScript and DOM
  • GUI with assistant button to toggle color sheme (day/night mode)
  • refactored chat colors class, updated color shemes format, more internal restructuring
  • INI file: renamed setting AssistantButtons to AssistantButtonsLevel, [GUI] section
  • INI file: renamed section [GUI Color Shemes] to [Color Shemes]
New in 0.4.1.21
  • webchat with clickable hyperlinks, porting step 3
  • hyperlinks in webchat via redirector to protect user's identity
  • refactored chat hyperlinks class, meta chars in URLs are filtered out
  • external temperature sensor with sun shield, available in Malmö
  • web server supports '304 Not Modified', now is allround HTTP 1.0/1.1 server
New in 0.4.1.20
  • webchat with multi language login and status page, porting step 2
  • covering wide range of web browsers including text browsers and broken ones
  • commands /CLEAR and /ECHOSCREEN for webchat users
  • server logfile shows web browser user agent in server debug mode
  • INI file: new setting AutoAwayWebchatAfterIdle=900, [Server] section
  • INI file: new setting AutoQuitWebchatAfterIdle=3600, [Server] section
  • INI file: new setting WebchatBrowserDynamicOnly=MSIE,Opera, [Server] section
  • INI file: new setting WebchatBrowserStaticOnly=Lynx, [Server] section
New in 0.4.1.19
  • very simple webchat, ported my old Perl HTTP chat daemon from 1998
  • protocol and error handling updated again, more flexible for future purpose
  • INI file: new setting ServerRootHTTPLocationChat=/chat, [Server] section
  • INI file: new setting ServerRootHttpLocationMedia=/chatmedia, [Server] section
  • INI file: changed setting MaxUsersWebchat=5, [Server] section
  • bugfix: admins can change language also when being in offline mode
  • bugfix: solved race condition when two users log in with same nickname
New in 0.4.1.18
  • chat server with compression public available, protocol and error handling updated
  • chat clients won't transfar chat conversation as plaintext anymore
  • web server supports GET/HEAD/POST methods and dynamic parsed web pages
  • server logfile shows handshake errors
New in 0.4.1.17
  • experimental chat server with compression for tester
  • refactored network classes for improved handling of line based and binary protocols
  • server logfile and traffic statistics show overall compression ratio
  • resizer and splitter class detect dead window handles in debug builds
  • bugfix: aliases work on first start (bug 1025)
New in 0.4.1.16
  • builtin web server, small HTTP 1.0/1.1 server
  • web server supports partial file transfar, compression and directory browsing
  • INI file: new setting ServerRootHttp=webserver, [Server] section
  • INI file: new setting ServerRootHttpLocationStatus=/chatstatus, [Server] section
  • INI file: new setting ServerMimeFile=, [Server] section
  • INI file: new setting DataTransfarTimeout=10, [Server] section
  • INI file: new setting DataTransfarBufferSize=16384, [Server] section
  • INI file: new setting DataCompressionFileSizeMax=1048576 (1MB), [Server] section
  • INI file: new setting DataCompressionFilesExclude=gif,gz,jpeg,jpg,mp3,mpeg,mpg,tgz,zip [Server] section
  • INI file: new setting DirectoryBrowsing=1, [Server] section
New in 0.4.1.15
  • experimental web server
  • updated traffic statistics, web traffic now means all headers plus payload
  • added multi platform file directory class, new functionality test
  • added multi platform data compression class based on zlib, new functionality test
  • Windows uses zlib static library, Linux uses zlib shared library
New in 0.4.1.14
  • chatrooms can be accessed by name or number, Domk deluxe request
  • friendly and forced shutdown of server, a lot of testing
  • INI file, new setting DisconnectTimeout=20, [Server] section
New in 0.4.1.13
  • profiling to improve asynchronous bulk data transfar
  • refactored network classes for proper disconnect (active/passive/gracefull close)
  • refactored network classes for easier use and maintainability
  • added functionality tests for file, network and thread classes
  • bugfix: small multi language update (bug 1024)
New in 0.4.1.12
  • command /CHATROOMS, list chatrooms on a chat server
  • last chatroom is preferably used on rejoin
  • optionally show topic and user list when joining a chatroom
  • optionally admins can see when new user has entered chat (in any chatroom)
  • INI file: new setting ChatroomTopic=1, [GUI] section
  • INI file: new setting ChatroomUsers=0, [GUI] section
  • INI file: new setting ChatServerJoins=0, [GUI] section
  • INI file: renamed setting ShowHighlight to Highlight, [GUI] section
New in 0.4.1.11
  • multiple chatrooms on chat server, including permanent chatrooms
  • commands /JOIN and /LEAVE, to join or leave a chatroom
  • INI file: renamed setting Topic to Welcome, [Pichat] section
  • INI file: new setting ChatroomAdminCanCreate=1, [Server] section
  • INI file: new setting ChatroomUserCanCreate=0, [Server] section
  • INI file: new setting ChatroomDefault=Entrance, [Server] section
  • INI file: new section [Server Chatrooms] with 4 default chatrooms
  • bugfix: small update of builtin language resources (bug 1023)
New in 0.4.1.10
  • simple contacts with EU and US chat server, double click will connect
  • added version and build number to crash report, silly without
  • port 9009 was officially assigned by IANA
  • INI file: new section [Pichat Profile]
  • INI file: new setting ServerName, [Server] section
New in 0.4.1.9
  • multi server support, including multiple startup connections
  • updated hotkeys Ctrl+N = new chat window, Ctrl+E = next color sheme (day/night mode)
  • server logfile shows full INI file path in server debug mode
New in 0.4.1.8
  • review of swedish translation, thanks Magnus!
  • changing color sheme is shown in all windows, similar to away change
  • server logfile with optional debug output for better trouble shooting
  • INI file: new setting ServerDebugMode=0, [Server] section
  • bugfix: dedicated server not freezing when disconnected from LAN (bug 1021)
  • bugfix: client shows better error text when disconnected from proxy
New in 0.4.1.7
  • multi language chat server, now supports loading own language packs
  • refactored file parser classes to be more flexible, as a side effect also became faster
  • home page with documentation for chat personalisation
  • INI file: changed sections [GUI Color Shemes] and [Languages], new format
  • INI file: renamed MainWindowEscKeyMinimize to MainWindowEscKeyMinimise, [GUI] section
  • INI file: renamed MainWindowAnimateMinimize to MainWindowAnimateMinimise, [GUI] section
New in 0.4.1.6
  • multi language chat server, English, German and Swedish language included
  • INI file: new setting LanguagesPreferred, [Languages] section
  • INI file: new setting LanguagesSupported=en,de,sv [Languages] section
New in 0.4.1.5
  • time stamp format in 12 and 24 hours
  • original nickname is preferably used on rejoin
  • simple text chat offers interactive and automatic login
  • first start detects if HTTP port 80 or alternative port 8008 available
  • home page with improved HTML version of documentation, Mozilla and IE friendly
  • INI file: new setting NachoTimeStampHours=24, [GUI] section
  • INI file: renamed setting ShowWelcomeMessage to ShowFirstStartMessage, [GUI] section
  • INI file: renamed section [Aliases] to [GUI Aliases]
New in 0.4.1.4
  • chat server status with traffic statistics
  • server logfile shows user and traffic statistics on shutdown
  • home page with HTML version of documentation, thanks Domk!
New in 0.4.1.3
  • Linux chat server public available after more testing, thanks Nacho!
  • command line argument for INI file path
  • support for local server logfile
  • INI file: new setting Enable3DVisualisation=1, [GUI] section
  • INI file: new setting ServerLogfile=pichat_server.log, [Server] section
  • INI file: added 'domk', [GUI Connect List Favourites] section
New in 0.4.1.2
  • experimental Linux chat server for tester
  • added multi platform resource management and resource tool
  • added multi platform buffered file and memory stream class, integrated everywhere
  • added multi platform file parser classes, refactored from old preferences code
  • added a simple status page for web browser
New in 0.4.1.1
  • new improved network core, tri-threaded asynchronous network model
  • ported network core to Linux and Windows, platform independent code is shared
  • added multi platform thread and locking classes
  • added multi platform thread safe event handler class (event queue)
  • added automatic timer events (can't flood event queue)
New in 0.4.1.0
  • summer cleanup: update of coding style, code with less comments but instead self explaining code and more design documents, strict encapsulation (composition rather than multiple/mixed inheritance), strict const correctness, strictly not poluting global namespace
  • redesigned engine classes and files for easier multi platform support, did some research and profiling to select appropriate design pattern
  • splitted up files, compiling from multiple directories
  • refactored network classes to use STL like string class (8 bit characters)
  • refactored network classes to get rid of duplicate code
Pichat is a simple to use chat software. It comes with integrated LAN messenger and webchat. The chat server supports multiple chatrooms, text formatting with smileys and a user-friendly webchat (HTML, CSS, DOM, JavaScript). The webchat works with nearly any web browser, easily integrated into your design, no PHP/Flash/Java required. Software for free information exchange for Linux and Windows. Built with Yellow