Skip to content

Latest commit

 

History

History
494 lines (485 loc) · 22.6 KB

CHANGELOG.rst

File metadata and controls

494 lines (485 loc) · 22.6 KB

Changelog

v0.8.0 (2018-05-03)

  • Add rescName and replNum awareness. [Hao Xu]
  • Document put() method in README.rst. [Terrell Russell]
  • Add support for specifying resource hierarchy. [Hao Xu]
  • Add modDataObjMeta. [Hao Xu]
  • Use socket.recv_into() to speed up file download. [Pierre Gay]
  • Lazy load resource children. [Antoine de Torcy]
  • Test cleanup. [Antoine de Torcy]
  • Add recursive collection creation support, plus test. [Robert Davey]
  • Make query instances iterable. [Antoine de Torcy]
  • Update package information. [Antoine de Torcy]
  • Add version attribute to icat columns. [Antoine de Torcy]
  • Don't enforce DB schema in data object constructor. [Antoine de Torcy]
  • Add D_RESC_ID to data object model. [Bob Belnap]
  • SSL context from iRODSAccount instance attributes. [Antoine de Torcy]
  • Avoid calling data object create on replication node. [Antoine de Torcy]
  • Pass optional CA file to SSL context. [Antoine de Torcy]
  • Graceful SSL shutdown. [Antoine de Torcy]
  • Set open flags and IO buffer size in DataObjectManager. [Antoine de Torcy]
  • Force open flags to client os independent values. [Pierre Gay]
  • Handle Winerror 10045. [Pierre Gay]
  • Python 2/3 compability. [Jonathan de Bruin]

v0.7.0 (2017-12-15)

  • Dynamic instance method definition for Python2/3. [Antoine de Torcy]
  • Filter by collection path. [Antoine de Torcy]
  • Add truncate flag. [Antoine de Torcy]
  • Add update replica keyword. [Antoine de Torcy]
  • Client-side support for ALL_KW on put. [Antoine de Torcy]
  • Add server version to session properties. [Antoine de Torcy]
  • Pass object IO options in unpacked format. [Antoine de Torcy]
  • Refactor tests and session config. [Antoine de Torcy]
  • First pass at SSL support. [Antoine de Torcy]
  • Use reentrant lock in connection pool. [Antoine de Torcy]
  • Allow for cases with CS_NEG_DONT_CARE. [Antoine de Torcy]
  • First pass at client-server negotiation. [Antoine de Torcy]
  • Simplify session/account initialization. [Antoine de Torcy]
  • Expect multiple DNs per user. [Antoine de Torcy]
  • Use default resource host/path strings. [Antoine de Torcy]
  • Honor default resource setting. [Antoine de Torcy]
  • Add placeholder for formatting arguments. [Antoine de Torcy]
  • Add function get_html_string in results.py. [KERVELLEC Joseph]
  • Fix assertions. [Antoine de Torcy]
  • Test registration with checksum. [Antoine de Torcy]
  • Add admin option to AccessManager.set() [Antoine de Torcy]
  • Add file/dir registration. [Antoine de Torcy]
  • Remove call to sys.exc_clear() [Antoine de Torcy]
  • Force flag support on get. [Antoine de Torcy]
  • Fix intermittent encoding error. [Antoine de Torcy]
  • Update iRODSSession.configure() [Antoine de Torcy]
  • Set default iRODS authentication scheme to native. [Lazlo Westerhof]
  • Use the same naming as iRODS environment variable irods_authentication_scheme. [Lazlo Westerhof]
  • Add connection timeout. [Antoine de Torcy]
  • Extend the query condition interface. [Antoine de Torcy]
  • Better handling of byte buffers. [Antoine de Torcy]
  • Python 3 fix. [Antoine de Torcy]
  • Set OPR_TYPE to 1 on put. [Antoine de Torcy]
  • Set default empty username in iRODSAccess. [Antoine de Torcy]
  • Add ability to set user passwords. [Antoine de Torcy]
  • First pass at iRODS ticket support - ticket generation - ticket based access. [Antoine de Torcy]
  • Add dependencies to setup.py. [Antoine de Torcy]
  • Add object put/get test. [Antoine de Torcy]
  • Unpack error messages. [Antoine de Torcy]
  • Add CAT_UNKNOWN_SPECIFIC_QUERY exception. [Antoine de Torcy]
  • Commits for the english language, which apparently I'm qualified in.. [John Constable]
  • Document the use of the SpecificQuery class and irods_environment.json reading functionality. [John Constable]
  • Adds exists() to data_object manager to mirror collection manager. [Alex Lemann]
  • Remove unused exceptions. [Antoine de Torcy]
  • Fix exception hierarchy. [Antoine de Torcy]

v0.6.0 (2017-05-23)

  • Patch for GSI. [pdonorio]
  • Add keywords for atomic put. [Antoine de Torcy]
  • Raise recv error. Don't call exit() [Alex Lemann]
  • Allows numThreads to be configured in session. [Alex Lemann]
  • Python 3 fix. [Antoine de Torcy]
  • Encode unicode when packing. [Antoine de Torcy]
  • Optional use of icommands environment files. [Antoine de Torcy]
  • Support for user certificate management. [Antoine de Torcy]
  • Add oprType to data object open options. [Antoine de Torcy]
  • Unit tests. [Antoine de Torcy]
  • Set OprType for data object copy. [Antoine de Torcy]
  • Adding support for data object copy. [cmart]
  • Add replica number to iRODSReplica. [Antoine de Torcy]
  • Add unit test to list queries. [Antoine de Torcy]
  • SQL query support. [Antoine de Torcy]
  • Add replica example to README. [Antoine de Torcy]
  • Update test. [Antoine de Torcy]
  • Update README.md. [Antoine de Torcy]
  • Move iRODSDataObject.open() code to manager. [Antoine de Torcy]
  • Support for optional keywords on open. [Antoine de Torcy]
  • Python 3.4+ support. [Paolo D]
  • Update test. [Antoine de Torcy]
  • Change wrong irods exception. [Simon Artzet]
  • Added password obfuscation/de-obfuscation utilities from iRODS main. [Zoey Greer]
  • Cleanup. [Antoine de Torcy]
  • Lazy import gssapi. [Antoine de Torcy]
  • Cleanup. [Antoine de Torcy]
  • Refactor tests. [Antoine de Torcy]
  • Fixing problems for unittests. [pdonorio]
  • Add tests for GSI authentication. [pdonorio]
  • Add GSI authentication to Python client. [pdonorio]
  • Remove logging and update version. [Antoine de Torcy]
  • Fix ExecCmdOut_PI unpacking. [Antoine de Torcy]
  • Update README.md. [Antoine de Torcy]
  • Support for MsParam_PI packing/unpacking. [Antoine de Torcy]
  • Update README.md. [Antoine de Torcy]
  • Use comma as delimiter. [Antoine de Torcy]
  • First pass at rule execution support. [Antoine de Torcy]
  • Support for resource context management. [Antoine de Torcy]
  • Fix resource model. [Antoine de Torcy]
  • First pass at support for resource hierarchies. [Antoine de Torcy]
  • Handle missing socket.MSG_WAITALL flag. [Antoine de Torcy]
  • Example of query with 'like' condition. [Antoine de Torcy]
  • Check for empty values before sending add metadata request. [Antoine de Torcy]
  • PEP8 compliance. [Antoine de Torcy]
  • Unit test. [Antoine de Torcy]
  • First pass at data object replication. [Antoine de Torcy]

v0.5.0 (2016-08-15)

  • Update package files. [Antoine de Torcy]
  • Add set operation for metadata. [Illyoung Choi]
  • Add truncate function to data_object class and test case for it. [Illyoung Choi]
  • Support truncate operation. [Illyoung Choi]
  • Test for PEP based checksum computation. [Antoine de Torcy]
  • Add jenkins test status. [Antoine de Torcy]
  • Add tests for connection pooling. [Matthew R Hanlon]
  • NetworkException on disconnect should still release the connection. [Matthew R Hanlon]
  • Remove idle connections from pool on release. [Matthew R Hanlon]
  • Catch formatting exceptions. [Antoine de Torcy]
  • Do not rely on socket.MSG_WAITALL flag since it doesn't guarantee a message will be in exact requested len when interrupt occurs. [Illyoung Choi]
  • Consecutive open/read tests. [Antoine de Torcy]
  • Use generator to get subcollections and objects in collection manager. [Antoine de Torcy]
  • Typo. [Antoine de Torcy]
  • Fix aggregation example in README. [Wataru Takase]
  • Add aggregation feature for query. [Wataru Takase]
  • Update setup and README. [Antoine de Torcy]
  • Collection ACL + test. [Antoine de Torcy]
  • Cleanup. [Antoine de Torcy]
  • First pass at ACL management. [Antoine de Torcy]
  • Fix naming. [Antoine de Torcy]
  • Update test group size. [Antoine de Torcy]
  • First pass at user group management. [Antoine de Torcy]
  • Dropping unofficial support for Python 2.6. [Antoine de Torcy]
  • Remove leftover resource group reference. [Antoine de Torcy]
  • Add force flag to DataObjectManager.unlink() + test. [Antoine de Torcy]
  • Typo. [Terrell Russell]
  • Update README. [Antoine de Torcy]
  • Make resource management backward compatible. [Antoine de Torcy]
  • Strip gen queries going to older servers. [Antoine de Torcy]
  • Update README. [Antoine de Torcy]
  • Support for moving objects and collections. [Antoine de Torcy]
  • Better support for unicode strings. [adetorcy]
  • Updated README.md. [Antoine de Torcy]
  • Test cleanup. [Antoine de Torcy]
  • Added responses to collOprStat calls from the server in the collection manager. [Antoine de Torcy]
  • Added generator method to Query. [Antoine de Torcy]
  • Updated DataObject model and tests. [Antoine de Torcy]
  • Patch by @lewisct. [Antoine de Torcy]
  • More resource mangement + tests. [Antoine de Torcy]
  • Added optional parameters to DataObjectManager.create() [Antoine de Torcy]
  • Added resource management support. [Antoine de Torcy]
  • Updated resource model (with context, parent, children, etc...) [Antoine de Torcy]
  • First stab at user modification and resource management support. [Antoine de Torcy]
  • New lines. [Antoine de Torcy]
  • Support for user creation and deletion + tests. [Antoine de Torcy]
  • Fixed Query._clone() [Antoine de Torcy]
  • Sort results in metadata test to avoid mixup in assertion. [Antoine de Torcy]
  • Removed resource groups and resc_info for 4.1. [Antoine de Torcy]
  • Typo. [Antoine de Torcy]
  • Update version. [J. Matt Peterson]
  • Test results update. [Antoine de Torcy]
  • Test results update. [Antoine de Torcy]
  • Use test credentials from config module. [Antoine de Torcy]
  • Comments. [Antoine de Torcy]
  • Updated API and packing instructions for FileCloseRequest() [Antoine de Torcy]
  • Update to new API for collection creation. [Matthew Turk]
  • Update setup.py. [Low Kian Seong]
  • Change for initial pypi release. modified: .gitignore new file: AUTHORS new file: CHANGES new file: LICENSE new file: MANIFEST.in modified: setup.py. [J. Matt Peterson]
  • Upped to version 0.3. [Chris LaRose]
  • Destroying connections that encounter broken pipes. This makes connections more resiliant to connection resets by the iRODS host. [Chris LaRose]
  • Upped version number. [Chris La Rose]
  • Added iRODSReplica class. [Chris La Rose]
  • Getting data_objects of a collection where there exists replicas no longer returns duplicate data_objects. [Chris La Rose]
  • DataObjectManager.get now no longer fails when trying to get a data object that is replicated. DataObject now stores a list of four-tuples representing its replicas. [Chris La Rose]
  • Added repr method for column. [Chris La Rose]
  • Corrected typo in exception. [Chris La Rose]
  • Thread safe connection pool. [Falmarri]
  • Replaced instances of logging.{debug, info, warn, error} with logging.getLogger(__name__).{debug, info, warn, error} for better logging support. [Christopher La Rose]
  • Fixed closing files. [Chris La Rose]
  • Reimplemented buffered reading and writing with new io module. [Chris La Rose]
  • Fix bug where port keyword didn't work if it was a string. [J. Matt Peterson]
  • Fixed null comparison. [Christopher La Rose]
  • Readlines is a generator. [Falmarri]
  • Implmented iRODSDataObjectFile.[readline(), readlines()] [Chris LaRose]
  • Changed project name in setup. [Chris LaRose]
  • Rename from pycommands to python-irodsclient. [JMatt Peterson]
  • Consolidate tests. [Michael Gatto]
  • Update TODOs. [Chris LaRose]
  • Updated install link in readme. Updated TODOs. [Chris LaRose]
  • Major test restructuring. [Michael Gatto]
  • Minor change. [Michael Gatto]
  • Run all tests at once, if desired. [Michael Gatto]
  • Added license. [Chris La Rose]
  • Added convenience methods for removing data objects and collections. Renamed CollectionManager.[delete=>remove] [Chris La Rose]
  • Removed useless file. [Chris La Rose]
  • Updated version to 0.1. [Steve Gregory]
  • Update README.md with proxy instructions. [Chris LaRose]
  • Remove double import. [Michael Gatto]
  • Update results. [Michael Gatto]
  • Add heading for test results. [Michael Gatto]
  • Rename to match naming convention of rest of tests in this package. [Michael Gatto]
  • Moved tests to own package within the irods package. [Michael Gatto]
  • Placed client_user and client_zone properties onto the iRODSAccount class. [Chris La Rose]
  • Ignore commonly-produced cruft files. [Michael Gatto]
  • Added walk() implementation to collection. [Steve Gregory]
  • StatupPack construction works for proxying a user. [Chris La Rose]
  • Added ability to initialize session with proxy_user and proxy_zone options. [Chris La Rose]
  • Absolute imports in all the modules! [Chris La Rose]
  • Resource manager files all now use absolute imports. [Christopher La Rose]
  • Moved resource managers into self contained module. [Chris LaRose]
  • Fixed prettytable requirement in setup.py. [Chris LaRose]
  • Formatting readme. [Chris La Rose]
  • Added note about python 2.7 requirement. [Chris La Rose]
  • Added missing import statement. [Chris La Rose]
  • Queries now support order_by. [Chris La Rose]
  • Removed logging. [Chris La Rose]
  • Implemented ordering on queries. [Chris La Rose]
  • Added print statement for results in readme. [Chris La Rose]
  • Implemented query._clone() [Chris La Rose]
  • Added query offsets. [Chris La Rose]
  • Added ability to remove collections. [Chris La Rose]
  • Added ability to create new collections. [Chris La Rose]
  • Added pretttable output to readme. [Chris La Rose]
  • Result objects will now print a prettytable. [Chris La Rose]
  • Fixed setup script. [Chris La Rose]
  • Added prettytable as a dependency. [Chris La Rose]
  • Implemented Query.first() and Query.one() [Chris La Rose]
  • Adding and removing metadata can now be performed with positional arguments instead of iRODSMeta objects. [Chris La Rose]
  • Manager method renaming. [Chris La Rose]
  • Cleaning up managers. [Chris La Rose]
  • Fixed references in managers to session. [Chris La Rose]
  • Added appropriate imports. [Chris La Rose]
  • Made a bunch of manager classes. Nothing likely works. [Chris La Rose]
  • Removed logging statements. [Chris La Rose]
  • Added note about gen queries in readme. [Chris La Rose]
  • Fixed file create, metadata add. [Chris La Rose]
  • Added note about file iteration in readme. [Chris La Rose]
  • Files are now iterable. [Chris La Rose]
  • Fixed file seek. [Chris La Rose]
  • Spelling mistakes. [Chris La Rose]
  • Added collection message. [Chris La Rose]
  • Added browse test. [Chris La Rose]
  • Began to rename messages. [Chris La Rose]
  • Basic connection pool now reusing connections. [Chris La Rose]
  • Added option to data_object_file to close file descriptor after full read. [Chris La Rose]
  • Release connections even after a failure to close a file. [Chris La Rose]
  • Fixed type error when trying to read a file with no specified size. [Chris La Rose]
  • Added checksum and timestamp attributes to data objects. [Chris La Rose]
  • Failed collection request for a data object rasies DataObjectDoesNotExist. [Chris La Rose]
  • Forced file operations to be performed on the same connection. [Chris La Rose]
  • Added account, connection, and pool classes. [Chris La Rose]
  • Added iRODSMeta.__dict__ [Chris La Rose]
  • Unbroke collection metadata. [Chris La Rose]
  • Unbroke dataobject.read() [Chris La Rose]
  • Renamed read_all to read_gen. [Chris La Rose]
  • Corrected subcollection query. [Chris La Rose]
  • Corrected dataobject.read_all() [Chris La Rose]
  • Changed visibility of iRODSDataObject.read_all() to public. [Chris La Rose]
  • Added DoesNotExist exceptions. [Chris La Rose]
  • Corrected data object path. [Chris La Rose]
  • Collection and data object both now have normalized name and path attributes. [Chris La Rose]
  • Added installation instructions. [Chris La Rose]
  • Fixed ability to initialize session without account parameters. [Chris La Rose]
  • Added message module to setup.py. [Chris La Rose]
  • Added session.configure. [Chris La Rose]
  • Replaced py_modules with packages in setup. [Chris La Rose]
  • More setup. [Chris La Rose]
  • More setup. [Chris La Rose]
  • Correct invalid module in setup.py. [Chris La Rose]
  • Added setup.py. [Chris La Rose]
  • Update readme. [Chris La Rose]
  • Updated readme. [Chris La Rose]
  • Updated readme, fixed error when deleting meta with null units. [Chris La Rose]
  • Fixed metadata for collections. [Chris La Rose]
  • Update readme. [Chris La Rose]
  • Closing file descriptors after creating new data objects. [Chris La Rose]
  • Updated todos. [Chris La Rose]
  • Corrected syntax mistakes in iRODSMetaCollection. [Chris La Rose]
  • Null result sets return empty lists instead of raising exceptions. [Chris La Rose]
  • Fixed runtime errors. [Chris La Rose]
  • Added todo. [Chris La Rose]
  • Added todos. [Chris La Rose]
  • Added meta.iRODSMetaCollection. [Chris La Rose]
  • Modified session metadata api to accept model classes. [Chris La Rose]
  • Update README.md. [Chris LaRose]
  • Added iRODSSession.{add_meta, remove_meta, copy_meta} [Chris La Rose]
  • IRODSSession.get_meta now returns a list of type iRODSMeta. [Chris La Rose]
  • Added ability to query metadata. [Chris La Rose]
  • Updated todos. [Chris La Rose]
  • Supporting ability to delete data objects. [Chris La Rose]
  • Update README.md. [Chris LaRose]
  • Formatted task list. [Chris La Rose]
  • Added todo list to readme. [Chris La Rose]
  • Updated readme with file creation. [Chris La Rose]
  • Added iRODSSession.create_data_object. [Chris La Rose]
  • Added default port to irods session. [Chris La Rose]
  • Added ability to use with statement for irods file objects. [Chris La Rose]
  • Added wait all flag on receiving sockets. [Chris La Rose]
  • Changed read all size. [Chris La Rose]
  • Added ability to read entire file. [Chris La Rose]
  • Added ability to close files. [Chris La Rose]
  • File seek support. [Chris La Rose]
  • Now supporting writing to existing files. [Chris La Rose]
  • Added cases for open flags. [Chris La Rose]
  • Added default file read size. [Chris La Rose]
  • Successfully reading file contents. [Chris La Rose]
  • Sending data read message. [Chris La Rose]
  • Removed unnecessary constants. [Chris La Rose]
  • Changed api_numbers to dict. [Chris La Rose]
  • Added magic numbers for api calls. [Chris La Rose]
  • Added data object file class. [Chris La Rose]
  • Received messages raise the appropriate error response. [Chris La Rose]
  • Added all exceptions as classes. [Chris La Rose]
  • Successfully opening file for reading. [Chris La Rose]
  • Short readme addition for data objects. [Chris La Rose]
  • Removed old messages file. [Chris La Rose]
  • Result set str formatting. [Chris La Rose]
  • Correctly forming result sets. [Chris La Rose]
  • Correct representation of empty map messages. [Chris La Rose]
  • Tests passing again. [Chris La Rose]
  • Corrected construction of gen query inp messages. [Chris La Rose]
  • Fixed login. [Chris La Rose]
  • Added data obj inp. [Chris La Rose]
  • Cleanup. [Chris La Rose]
  • Changed unpacking convention to allow for arrays of submessages. [Chris La Rose]
  • Added sql result test. [Chris La Rose]
  • Finished gen query inp test. [Chris La Rose]
  • Added test for gen query inp. [Chris La Rose]
  • Added message init method for convenience. [Chris La Rose]
  • Added test for key value pair. [Chris La Rose]
  • Added test for inxivalpair. [Chris La Rose]
  • Binary property now properly performs base64 encoding and decoding. [Chris La Rose]
  • Added test for startuppack. [Chris La Rose]
  • Added unit test file. [Chris La Rose]
  • Renamed test. [Chris La Rose]
  • Fixed array and submessage unpacking. [Chris La Rose]
  • Added unpacking. [Chris La Rose]
  • Fixed submessage property. [Chris La Rose]
  • Fixed array property. [Chris La Rose]
  • AuthResponseInp_PI proof of concept. [Chris La Rose]
  • Added some messages. [Chris La Rose]
  • Removed irrelevant _format property of Message classes. [Chris La Rose]
  • Beginning to reimplement messages. [Chris La Rose]
  • Moved old messages into tempory file. [Chris La Rose]
  • Property.format is no longer static. [Chris La Rose]
  • Redefined property packing for more flexibility. [Chris La Rose]
  • Added message.pack method. [Chris La Rose]
  • Added ordered properties. [Chris La Rose]
  • Added DataObjInp message. [Chris La Rose]
  • Removed session.collection_exists. [Chris La Rose]
  • Added some exceptions. [Chris La Rose]
  • Added syntax highlighting to readme. [Chris LaRose]
  • Formatting headers of result set string representation. [Chris La Rose]
  • Added missing fields to DataObject model. [Chris La Rose]
  • Added collection.subcollections and collection.data_objects. [Chris La Rose]
  • Added session.get_data_object. [Chris La Rose]
  • Corrected formatting of datetime columns in queries. [Chris La Rose]
  • Convert irods timestamsp to datetime.datetime objs. [Chris La Rose]
  • Update README.md. [Chris LaRose]
  • Reimplemented result sets, added session.get_collection. [Chris La Rose]
  • Formatted result sets as a list of dictionaries. [Chris La Rose]
  • Fixed 'not equal' operator for criteria. [Chris La Rose]
  • Changed nameds of startup pack and auth response messages to match irods api. [Chris La Rose]
  • Added ResultSet class with a __str__ method that prints a result set as a table SQL style. [Chris La Rose]
  • Added Zone and Resource models. [Chris La Rose]
  • Added iRODSException class. [Chris La Rose]
  • Added query.first() placeholder. [Chris La Rose]
  • Create README.md. [Chris LaRose]
  • GenQueryInp constructor now accepts messages instead of strings. [Chris La Rose]
  • Added GenQueryOut unapcking. [Chris La Rose]
  • Changed column name on data object. [Chris La Rose]
  • Added dataobject model. [Chris La Rose]
  • Added GenQueOut message. [Chris La Rose]
  • Added test for collection existance. [Chris La Rose]
  • Added auth check for session.execute_query() [Chris La Rose]
  • Special cases for keyval pair and inxival pair messages when length is 0. [Chris La Rose]
  • Added query.all(), session.execute_query() [Chris La Rose]
  • Added general query message. [Chris La Rose]
  • Added query._kw_message() [Chris La Rose]
  • Added query._conds_message() [Chris La Rose]
  • Added InxValPair. [Chris La Rose]
  • Added query._select_message() [Chris La Rose]
  • Added InxIvalPair message. [Chris La Rose]
  • Completed keyword implementation. [Chris La Rose]
  • Added QueryKey which is a superclass of Column and Keyword. [Chris La Rose]
  • Added Query.filter. [Chris La Rose]
  • Query object now maintains a dict of columns. [Chris La Rose]
  • Added Query class. [Chris La Rose]
  • Model metaclass now stores only a list of columns, not their associated attribute names. [Chris La Rose]
  • Added model base class. [Chris La Rose]
  • Added Criterion class. [Chris La Rose]
  • Added columns.py. [Chris La Rose]
  • Added magic numbers. [Chris La Rose]
  • Added models. [Chris La Rose]
  • Added comments for packing instructions for gen query. [Chris La Rose]
  • IRODSMessage must be of type MainMessage now. [Chris La Rose]
  • Added file.py. [Chris La Rose]
  • Removed hardcoded username and password. [Chris La Rose]
  • Added session destructor. [Chris La Rose]
  • Added logging. [Chris La Rose]
  • Added MAX_PASSWORD_LENGTH constant. [Chris La Rose]
  • Added message.StartupMessage. [Chris La Rose]
  • Added message and session classes. [Chris La Rose]
  • Successfully disconnnecting. [Chris La Rose]
  • Initial commit. [Chris La Rose]