Version 4.0.9 (2012-01-16) ========================== * You can now configure the number of (web) ServiceManager threads (PION-1131) * Fixed problem that prevented recovery from reactor locking errors (PION-1154) * Fixed ownership problems with log files generated by Pion (PION-1135) * Lots of error handling improvements for i18n routines (PION-898) * configure --with-ostream-logging and --disable-logging (PION-1113) Version 4.0.7 (2011-09-12) ========================== * HTTPProtocol - fixed rare segmentation fault when content is truncated (1166) * HTTPProtocol - enforce that request and response content is UTF-8 (1160) * Database Output Reactor - multiple threads for concurrent bulk inserts (1159) * Database Output Reactor - automatically recover from lost connections (1167) * Event string terms now automatically ensure that content is UTF-8 (1158) * Fixed pget --addkey server timeout regression (1163) * Fixed pget --removekey error reporting failures (1164) Version 4.0.5 (2011-06-24) ========================== * Database Output Reactor - no longer stops if it encounters errors (974) * TransformReactor - regression in AssignValue created empty terms (1145) * HTTPProtocol - fixed crashes caused by truncation of UTF8 sequences (1146) * MonitorService - improved concurrency locking and logging (1156) * Now using i18n regex routines for HTTPProtocol & Comparisons (1147) * Improved error handling of bad regular expressions (584) * Fixed regression causing seg fault crashes during shutdown (1155) * Fixed regression causing 100% CPU usage on RHEL5 32-bit (1151) * User account changes in UI logged passwords in config.log (1152) * Improved propagation of web service errors into UI (1153) * Log viewer in UI only showed one event of given severity per second (1135) * Added constraints on maximum memory usage for Linux platforms (1123) * pmon.py now includes metric for events queued in Reaction Engine (1124) Version 4.0.3 (2011-04-14) ========================== * Monitor Service - added support to display multi-value terms (1095) * UI will now generate at most one fatal error dialog per minute (1110) * Thread safety issue when adding new workspaces - backup log warnings (1115) * Startup failures when current directory was not readable by pion user (596) * Added support for new libraries and build environments (1105, 1106, 1107) Version 3.0.27 (2011-04-14) =========================== * Improved performance of HideCreditCardNumbers feature (1121) * Added Webtrends and Unica reactor statistics to pmon.py (1111) Version 4.0.1 (2011-03-08) ========================== * TransformReactor - support for URL encode/decode transformations (1061, 1063) * Resolved various crashes and CPU loops caused during shutdown (1078, 1084) * Updated Pion Core database library to SQLite version 3.7.5 (1059) * Added read() and write() methods to HTTPMessage for serialization (1086) * Improved error handling in HTTP(Request/Response)(Reader/Writer) (1083) Version 3.1.7 (2011-03-05) ========================== * Missing DLL in win32 build (1090) Version 3.0.25 (2011-03-05) =========================== * LogInputReactor - mysterious crashes (1085) Version 3.1.5 (2011-02-18) ========================== * Embedded SQLite/Replay; detect schema before altering (1060) * TransformReactor fails non-string-type conversions (1069) * Publish Reactor configuration guide on pion.org (1004) * PythonReactor - zero copy events and other things (1048) * Do not allow dupe column names in Replay (or DBInserter) (1057) * At exit, tls_destructor core dumps (1056) * piondb - sqlite3 shell program using pion-sqlite library (1068) * pmon.py - lost connection when interval given (1072) * HTTP Protocol - performance regression (1077) * Windows 64-bit installer has problems with previous 32-bit installations (1062) Version 3.0.23 (2011-02-10) =========================== * TransformReactor - multi-value collapsing functions (620) Version 3.1.3 (2011-01-30) ========================== * Universal support for i18n character sets (592, 778, 935, 941) * Incorporated log notifications & management into UI (743, 986, 1053, 1054) * New MonitorService to view event streams between reactors (956, 997) * Cross-workspace connections & fine-grained permissions (645, 683, 684, 862) * LogInput & LogOutput Reactors now use DataDirectory for relative paths (967) * PythonReactor - Added new pymodules directory and clickstream module (979) * PythonReactor - fixed "Python26.dll not found" error on Windows (998) * HTTPProtocol - allow multiple extractions per rule (1034) * Various Event memory management optimizations to reduce footprint (205) * Modified how a universal Vocabulary is managed within the platform API (970) * Protocol::readNext() can now return multiple events using EventVector (971) * All configuration changes made via the web UI are now logged (772) * Added "Copy Reactor" context menu link in UI (895) * Added Help links in Pion UI to new docs available on pion.org (1010) * Fixed Logout UI link for users of Google Chrome (1042) * Removed dojo Javascript files that were flagged as security risks (880) * Wizard - now caches responses and re-uses them on subsequent runs (879) * Wizard - pre-populate with default Google & Omniture cookies (881) * Wizard - removed redundant warning before saving configuration (918) * pget.py now longer displays SSL key password as you type it in (882) * Added pupgrade.py script to help automate Pion upgrades (865) * Windows installer now sets up Pion to run as a service (884, 904) * Pion for Windows is now being built using VC9 on WinServ2003 (957, 958, 837) * Now building Pion for 64-bit Windows platforms (738, 939, 963, 977) Version 3.0.21 (2011-01-25) =========================== * HTTP Parser - fixed various chunked content parsing errors (991) * HTTP Parser - now recovers gracefully if status line is missing comment (994) * HTTP Parser - handle "deflate" encoded content with zlib headers (1008) * HTTP Parser - ignore tab characters in query string content (1014) * HTTP Parser - allow for empty cookie names (1015) * HTTP Parser - don't remove unquoted spaces from cookie values (1016) * HTTP Parser - allow for responses with no HTTP headers (1017) * HTTP Parser - improve recovery from truncated requests (1033) * HTTP Parser - recover from empty query parameter names (1006) * HTTP Parser - raw headers strings were sometimes truncated (1031) * Crashes when running wizard with certain configurations (950, 1044, 1049) * TCPTimer.cpp was missing boost/bind.hpp include file (1005) * TCPConnection - now allows for SSL state change (1024) * HTTPMessage - added headers_only options for send() and receive() (1025) Version 3.0.19 (2010-11-01) =========================== * PythonReactor -- compile with optimizations (980) * HTTPProtocol might calculate invalid request/response times (987) Version 3.0.17 (2010-10-05) =========================== * LogOutputReactor - changes require restart (966) Version 3.0.15 (2010-08-10) =========================== * PythonReactor -- deadlock condition fixed (962, 961) * TransformReactor -- Rules do not support event-type term comparisons (919) * TransformReactor should allow assignments across DateTime types (951) Version 3.0.13 (2010-06-25) =========================== * Add a UTF8 validator so browsers would not crash when handed binary/other charset data (945) Version 3.0.11 (2010-06-11) =========================== * Pion wizard should initialize the cookie fields with default values (936) * If an edition cookie with value 'Lite' or 'Core' is found, the EditionSelectorDialog should never appear (937) * UI to use dbengines.xml instead of databases.json (927) * Pion UI wizard link to be visible on a per-user basis (933) Version 3.0.9 (2010-04-30) ========================== * HTTPReader - add support for timeouts (900) Version 3.0.7 (2010-04-09) ========================== * Add "Show Stats" to right-click reactor menu (899) * Reactor Types - too many scrollbars (909) * Wizard - strip client IP checkbox (908) Version 3.0.5 (2010-04-02) ========================== * String comparisons did not work on zblob type terms (888) * Wizard does not reject expired license keys (893) * FissionReactor - CopyAllTerms option (903) * Import XML locks UI if window is too short (892) * reactors.xml does not have line feeds after wizard completes (896) * Windows - run Pion as application instead of service (898) * TCPConnection - add accessors for ssl socket object (901) Version 3.0.3 (2010-03-12) ========================== * Mac OS X application package was missing required data directory (866) * HTTPTypes::url_encode() crashes when input string has negative char (877) * TCPConnection::write() was not passing error_code by reference (878) Version 3.0.1 (2010-03-01) ========================== * Full design refresh of the Pion UI for 3.0 release (855) * Pion Community Edition has been renamed to Pion Core (803) * Pion now supports user access controls for the various UI tabs (741) * Pion web services can now be updated dynamically via config API (834) * Fixed various UI problems occurring only in Internet Explorer (856) * Error messages in UI now display links to Pion Knowledge Base (813) * Fixed errors caused when storing NULL or empty fields to databases (852) * Reactor running states were being removed with configuration updates (863) * Added scrollbars for Reactor configuration grids that can be very long (849) * Added named signal/slots support to Pion Core Reactor API (751) * Added ability to dynamically remove resources from HTTPServers (834) * Added support to HTTPParser for saving the raw HTTP headers (842) * HTTPParser now uses a default status code of 0 instead of 200 (817) * Removed build numbers from Unix library names (861) Version 2.2.12 (2010-02-16) =========================== * Updated HTTPProtocol config so that it extracts JSON responses (839) * Made HTTP query parameter map case-insensitive (836) Version 2.2.10 (2010-01-20) =========================== * Fixed various memory leaks within PythonReactor (818) * Fixed deadlocks when using multiple PythonReactors in same data flow (824) * TransformReactor now allows assignments from any type, not just strings (811) * TransformReactor now continues evaluating rules after is-(not-)defined (791) * TransformReactor rules now stop when the first condition matches (797) * Added new cs-cookie and sc-cookie extraction rules for HTTPProtocol (796) * Added EventsQueued statistic to ReactionEngine /config/reactors/stats (823) * Added new visitor-status field to clickstream vocabulary (785) * HTTPParser will now ignore attributes from Set-Cookie HTTP headers (808) * Disabled default building of static libraries in Unix autoconf scripts (825) Version 2.2.8 (2009-12-04) ========================== * Fixed exceptions in pget.py when reactor names or comments were empty (773) * HTTP client library not sending payload content that started with NULL (777) * Added support for newer Boost releases (through 1.41) and for gcc 4.4 (780) Version 2.2.6 (2009-11-25) ========================== * Windows installer no longer attempts to start/stop the Pion service (758) * Windows installer now makes backups of configuration files (759) * Pion now includes its version number in all configuration files (760) * Updated Webtrends (IIS) Codec to include support for substatus field (761) Version 2.2.4 (2009-10-27) ========================== * Updated "start_pion.bat" on Windows to start Pion as an application (739) * Multiple Pion instances were able to bind to the same port on Windows (707) * Linux RPM installer used the wrong permissions for /var/log/pion (746) Version 2.2.2 (2009-10-09) ========================== * Added a new PythonReactor that allows you to build Reactors using Python (651) * Reactor connections can now be easily deleted by just clicking on them (682) * Added new cp-rtt and ps-rtt "round trip time" performance metrics (660) * Fixed broken handling of zblob data type in various Codec plug-ins (724) * HTTPProtocol now defaults to using case-sensitive regular expressions (686) * Improved Windows installer to be much simpler and better integrated (668, 680) * Added pget.py and pmon.py scripts for monitoring and managing Pion (593, 604) * Added -M pion executable option to lock memory usage on Unix platforms (371) * Updated UI "restore default" and "delete" buttons to be consistent (733) * Updated Pion user interface to use Dojo 1.3.2 (558) * HTTPParser query parameter parsing failed on LF & CR characters (681) * Improved autoconf detection for support of Boost.Lockfree library (692) * Improved error handling in PluginManager when loading fails (736) * Fixed "make install" on Unix platforms using autoconf (378) * Pion's unit tests now use random port numbers (690) Version 2.1.12 (2009-10-07) =========================== * DatabaseOutputReactor queued events indefinitely when DB open failed (728) * SQLite default page cache sizes were causing ~4GB memory usage (730) * HTTPProtocol was not handling "100 Continue" responses properly (737) Version 2.1.10 (2009-09-25) =========================== * Made ConfigManager::xml_encode() more robust when given binary data (726) Version 2.1.8 (2009-09-16) ========================== * Fixed occasional LogInputReactor unit test failures on Unix (273) * Increased default SQLite cache sizes to improve insert performance (717) * Updated default config file to use localtime instead of GMT for logging (722) Version 2.1.6 (2009-08-28) ========================== * TransformReactor was not working for numeric & date source terms (705) * LogOutputReactor with ELFCodec was not reliably writing log headers (696) * Changes to HTTPProtocol configurations via UI was not working properly (701) * Protocol configuration updates via UI was sending too many requests (702) Version 2.1.4 (2009-07-31) ========================== * Switched default logging to use log4cplus 1.0.3 instead of log4cxx (274, 514) * Updated and merged in the latest version of the boost.lockfree library (647) * Added PionId class to replace dependency on the OSSP UUID library (515) * The Unix build scripts now auto-detect everything correctly (591) * Fixed copy methods for HTTPMessage, HTTPRequest & HTTPResponse (590) * Added setMaxContentLength() method to HTTPServer (589) * Added detailed documentation and screenshots for all Pion reactors (315) * A new MSI installer now automates installation of Pion on Windows (276) * Pion now runs as a service on Windows and logs to the OS Event Log (211, 284) * Updated the JSONCodec to use YAJL library version 1.0.5 (646) * Reduced the default stack size of threads in the start_pion script (570) * Created a new DatabaseInserter class based upon DBOR refactoring (612) * Replaced string storage in Events with reference-counting PionBlob (252) * DatabaseInserter support for indexed field mappings (605, 659) * DatabaseInserter support for unique index cache (658 * DatabaseInserter no longer stops the Reactor if database is busy (656) * Fixed various concurrency bugs in PionPerformanceTests (648) Version 2.0.10 (2009-06-29) =========================== * TransformReactor rules were sometimes updating the wrong term value (617) * Transform & Filter reactors did not allow empty string comparisons (615) * Setting a term value to an empty string now removes it from the event (625) * HTTPProtocol now checks X-Forwarded-For for client IP, if available (619) * Added proxy-ip, which is defined if an X-Forwarded-For header is found (619) * Fixed slow load of DatabaseOutputReactor UI when opened several times (632) Version 2.0.8 (2009-06-05) ========================== * ServiceManager shutdown was sometimes causing segmentation faults (597) * Updated DatabaseOutputReactor so that database writes are asynchronous (599) * Drastically improved the insert performance of SQLiteDatabase (600) * Fixed bug with "./configure --with-debug" failing on boost thread tests (598) Version 2.0.6 (2009-05-26) ========================== * Improved TransformReactor error handling for bad regular expressions (581) * Fixed UI bugs in IE that caused accordion grid contents to spill out (559) * UI login page no longer sends/displays password in browser URL field (580) * "Match All Comparisons" checkbox in FilterReactor UI was incorrect (576) * Added DebugMode flag to platform.xml for alternative testing behaviors (586) * HTTPParser exception thrown when Content-Length had leading whitespace (585) * Miscellaneous improvements to Windows MSVC build projects (564) Version 2.0.4 (2009-05-01) ========================== * Added a time zone offset feature to LogCodec (545) * Added the first user manual documentation for Pion (551) * Resolved SQLite linking problems on RHEL5 & OSX via log4cxx rebuild (547) * Fixed date/time data storage when using a SQLiteDatabase engine (526) * Fixed crashes due to NULL/empty event fields with SQLiteDatabase (550) * SQLiteDatabase now using _v2 calls and mutexes for better concurrency (548) * Added FullQuery and getMore functionality to Database classes (549) Version 1.2.6 (2009-04-03) ========================== * Added a urlencode configuration option to LogCodec field mappings (513) * Updated Webtrends log codec to use url-encoding for certain fields (441) Version 1.2.4 (2009-03-27) ========================== * New FissionReactor for splitting a single event into many (442, 457) * Added Atom & RSS Vocabularies, Codecs and examples (458, 459, 476, 487, 491) * LogOutputReactor now ignores events when their type does not match Codec (485) * HTTPProtocol now supports gzip/deflate decoding of payload content (465) * TransformReactor supports CSV import/export for lookup key-value pairs (453) * Updated ScriptReactor to work much better on Windows (440) * Added input and output feeds to the Reactor Connection grids (451) * Made XMLCodec more flexible & configurable for both input and ouput (455) * Vocabulary terms are now sorted in the TermSelectors & can filter types (447) * Fixed display of server errors in UI to escape HTML characters (479) * Fixed spurious events in/out reactor counters (484) * Added clickstream#content-type vocabulary term & support in HTTPProtocol (488) * Added DataDirectory to platform.xml, now default location for databases (519) * Improved OpenSSL initialization on Windows platforms (480) * Removed dependencies on sqlite since it is now embedded into platform (475) * HTTPParser dropping requests when TCP connection contained 304 responses (481) * Updated PionLockedQueue so that it now always keeps track of the size (469) Version 1.1.4 (2009-02-16) ========================== * New ScriptReactor (232) * TransformReactor -- refactored with all new features (385, 386, 424) * All new term selection tool for UI (359, 405, 95) * FilterReactor UI supports MatchAllValues (383) * TransformReactor supports MatchAllValues (384, 386) * Log parsing error no longer skips rest of the log file (311) * Build updated to Boost 1.36 & 1.37 (314, 270) * Overall speed improvement due to non-locking config changes (341, 145) * Fixed unit tests (419, 423) * Replace "filtering" selects with regular selects in UI (428) * Count and track errors in HTTPRequestSender (436) Version 1.0.12 (2009-02-10) =========================== * Added additional clickstream request and response time stamps (434) * Added support to HTTPProtocol for digest HTTP authentication (429) * Added support to HTTPProtocol for data center and end user times (433) * Added support to HTTPProtocol for various packet counters (430) Version 1.0.10 (2009-01-22) =========================== * Added new cs-ack-time and sc-ack-time clickstream vocabulary terms (410) * HTTPProtocol now populates the urn:vocab:clickstream#authuser term (411) * Added support to LogOutputReactor for rotation triggered by QueryService (88) * Fixed broken DatabaseOutputReactor UI that prevented mapping of fields (402) * Failures to backup configuration files will no longer throw exceptions (395) * Updated HTTPProtocol to recover from missing packets and other errors (407) * LogInputReactor was spawning additional threads after reading each file (417) * Refactored RuleChain class out from FilterReactor into platform library (414) * Updated bytes, cs-bytes and sc-bytes clickstream terms to be 64-bits (418) * Fixed occasional checkDatabaseOutputReactor unit test failures (215) * Added support and unit tests for maximum HTTP payload content sizes (399) * Updated HTTPParser to recover from missing packets and other errors (407) * TCPServer can now bind to privileged ports when running as setuid (522) * Fixed occasional crashes in pion-net unit tests on multi-core systems (528) Version 1.0.8 (2008-12-17) ========================== * FilterReactor now has "Match All Comparisons" (382) * TransformReactor supports full regex output formatting (380) * TransformReactor uses Replace Term instead of Add Term (380) * UI now XML escapes all fields, allowing for &<>'" characters (389,391) * DatabaseOutputReactor validates column names (388) * Renaming a workspace updates the configuration of its reactors (350) * MySQL test in ./configure is removed (348) * "make check" now has dependency on "make docs" (379) * TransformReactor has option to suppress delivering original if new event is created (380) * Build/make enhancements for docs Version 1.0.6 (2008-11-21) ========================== * Faster vocabulary pane loading * Update to Dojo 1.2.1 for UI (280) * Context menus now available on Firefox/MacOSX * Robot field in clickstream vocabulary (345) * SQLite engine refactored; configurability, read/write (271) * Database class reads SQL configuration from dbengines.xml (271) * Works with Safari 3.1 and earlier with debugging mode disabled (352) * Debugging mode is now off by default (352) * Now correctly destroying dialogs * DateTime now handled correctly in TransformReactor and FilterReactor * Reactor start/stop status persisted across shutdown (110) * Moving (visually) reactors no longer restarts reactors (342) * autoconf/autogen fixed for RHEL/CentOS < 5.0 (347) Version 1.0.4 (2008-10-17) ========================== * LogCodec supports configurable separators, terminators, c-style escapes * Database class has the stubs for supporting read values for a SELECT statement * Event class has copyValues(), set(), and write() members * A new Protocol configuration page * Optional fields for LogCodec * Tweaks to make IE work better * LogCodec UI changes to accomodate new functionality * HTTPProtocol has new content extraction * XML for codecs/dbs/reactors/connections can now be pasted in * HTTP protocol now stores request packets timestamp (#300) * Fixed make_binary.pl for Mac (#325) * PionLockedQueue::pop() fixed (#304) Version 1.0.2 (2008-09-26) ========================== * If LogInputReactor::readFromLog() catches an exception, it now adds the log file to the list of consumed files, so it doesn't keep trying to read it. * Replaced r667 with new patch that works for any field delimiter * Cache files for LogInputReactor are now written to the config directory instead of the log file directory. * Reverting changes made in revision 656 (in preparation for Dojo 1.2), because they don't work in IE. * Added support in LogInputReactor for optional 'tail -f' behavior when reading log files. * Added --version command line parameter to pion server executable * Added "EventsQueued" statistic to DatabaseOutputReactor::query() * Added 'tail -f' option in the LogInputReactor UI and did some refactoring. * Added Reactor context menu item to show the Reactor's configuration as raw XML. (The XML can be copied, but not changed.) * Fixed ReactionScheduler so that if io_service users throw it should no longer crash Pion * Updated query stats returned by LogInputReactor to include ConsumedLog and CurrentLog elements * Updated LogInputReactor to stop itself if it unable to write cache files to the input directory * Shift-double-clicking on a Reactor now gives you a dialog with the results of /query/reactors/. * Updated Reactor::query() so that default returns reactor statistics info Misc refactoring of reactor stats code * Added a Komodo project file for Pion UI code. * QueryService (Reactor/ReactionEngine) * Added QueueTimeout field in DatabaseOutputReactorDialog. * Added QueueTimeout parameter to DatabaseOutputReactor (default is 10 seconds) * Updated ServiceManager to send ascii text 500 server error responses * Added patch for LogInputReactor crashing when removed Version 0.6.0 (2008-08-29) ========================== * LogInputReactor keeps track of which logs it has consumed & how much (89) * LogInputReactor supports reading gzip and bzip2 log files natively (93) * Added "About" user interface page with license & third party libs (264) * Added MaxThreads and MultiThreadBranches ReactionEngine parameters (251) * Misc Vocabulary and Codec updates for managing clickstream traffic (202) * Fixed user interface for browser languages other than English (255) * Fixed bug with is-defined and is-not-defined Comparison types (275) * Fixed failures within the checkDatabaseOutputReactor unit test (215) * Fixed bug with the --disable-logging configure option breaking build (254) * Updated HTTPParser::parseCookieHeader() to be usable for char[] as well * Only HTML documentation is now build with Doxygen when using "make docs" * The boost.iostreams, gzip (zlib) and bzip2 libraries are now required Version 0.5.8 (2008-07-18) ========================== * Added new XML and JSON Codecs for event serialization (74, 104) * Added a new Transform Reactor for data cleansing, normalizing, etc. (105) * Added a new "Protocol" plugin type, for sniffing network traffic (182) * Fixed bug in regex comparisons that caused Pion to crash (212) * Regex comparisons no longer require the entire value to match (214) * Updated LogInputReactor's JustOne feature so that it handles restarts (216) * UI dialog boxes now provide scrollbars if they cannot fit on Desktop (219) * Fixed crash caused when Reactor connections were removed at runtime (238) * Updated UI so that it better auto-detects which plugins are available (244) * Pion now listens to port 8888, and SSL is disabled (126, 218) * Added support to the UI for the Safari web browser (165) * Added --with-boost-extension option to Unix configure script (217) * Misc updates to get things building on gcc 4.2 and gcc 4.3 (241) * See also the Pion Network Library ChangeLog for 0.5.8 Version 0.5.6 (2008-05-02) ========================== * Added support for user authentication and user management in the UI * Added support for adding, changing and deleting Vocabularies in the UI * Updated UI to support the Internet Explorer 7; Safari is still broken * Improved performance of Event memory operations & ReactionEngine scheduling * Made SQLite external: use --with-sqlite to enable support for Unix builds * Fixed compatibility problems with RHEL5 that was causing unit tests to fail * Added "JustOne" parameter to LogInputReactor for performance/load testing * Vocabulary locks in the UI should now correctly prevent any modifications * Fixed some bugs with the display of Comparisons in FilterReactors dialogs * Fixed a bug that displayed non-existing connections to deleted Reactors * Fixed problems with using multiple Reactor workspaces in the UI * Deleting a Reactor workspace in the UI now deletes all Reactors it contains * Updated JavaScript to use Dojo 1.1.1 and optimized UI code for size/speed * Added a "stocks" vocabulary and code, to server as another metadata example * Added "make docs" Unix build option that uses Doxygen to build all the docs * Unix build scripts now support dynamic versions of the Boost.UnitTest libs * Boost 1.35.0 or later is now REQUIRED (it includes ASIO); see README.boost Version 0.5.4 (2008-03-07) ========================== * First functional alpha preview release