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.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.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.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.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

