pull in additional changes from 2.0 branch.
[monitor.git] / monitor / Rpyc / changelog.txt
diff --git a/monitor/Rpyc/changelog.txt b/monitor/Rpyc/changelog.txt
new file mode 100644 (file)
index 0000000..698b93e
--- /dev/null
@@ -0,0 +1,129 @@
+1.2:\r
+-----\r
+the first 1.XX release. supports synchronous operations\r
+\r
+1.21:\r
+-----\r
+bugfix release: fixed the problem with objects that don't have a __repr__ or \r
+__str__\r
+\r
+1.6:\r
+-----\r
+this version never came public. added thread synchronization and events,\r
+which allow the server to inform the client of events, without blocking\r
+for client response.\r
+\r
+2.2:\r
+-----\r
+non backwards-compatible!\r
+first 2.XX release, added asynchronous proxies and thread synchronization\r
+this has brought with it a new kind of server -- the threaded_server,\r
+which performs well on both linux and windows. the older 'events' mechanism\r
+was removed as asynchornous proxies are much better, and also allow \r
+distributed computing.\r
+also, added the Utils module, which provide many convenience functions.\r
+in version 1.XX, i just overridden __builtin__.xxx, which was something\r
+you might not have wanted. so now you do "from Utils import *"\r
+also: revised demos\r
+note: the selecing and simple servers and deprecated, and are there only\r
+for systems that don't support threads (some older flavors of unix).\r
+\r
+knonw bugs:\r
+ * windows bug: the pipe parent/child dont work on windows\r
+\r
+2.22:\r
+-----\r
+some bug fixes to the servers, etc.\r
+the selecting server turned out buggy. don't use it.\r
+added a new demo\r
+\r
+known bugs:\r
+ * the selecting server\r
+ * windows bug: the Utils.remote_shell doesnt redirect the output of the\r
+spawned command.\r
+\r
+2.25:\r
+-----\r
+fixed the selecting server\r
+fixed a bug in download (the problem with copy-paste). thanks go to steff.\r
+added two new utils: upload_package and update_module. they allow you to\r
+upload packages to the server, and update and existing module. i dont think \r
+they are very useful, but what the heck.\r
+\r
+2.26:\r
+-----\r
+fixed a bug when the remote object does not provide __nonzero__\r
+\r
+2.30:\r
+-----\r
+fixed several minor bugs (mostly semantic)\r
+added protection for installing excepthook more than once\r
+added the `obtain` funcion, which "brings forth" a remote object \r
+added remote_post_mortem (debugging the traceback of a remote exception)\r
+added an optional callback for Async proxies (which is called when they are ready)\r
+therefore, the AsyncCallback mechanism was removed. \r
+changed demo-3 and added demo-5.\r
+fixed a bug: __del__ should not be synchronous\r
+connection objects now have a `remote_conn` property, letting you mess around with\r
+the remote side of the connection\r
+\r
+2.31:\r
+-----\r
+when you close() a connection, it releases all resources as well (this is done to \r
+untangle cyclic-dependencies and make the gc happy)\r
+thanks to that, servers now release resources better and sooner\r
+\r
+2.32:\r
+-----\r
+fixed a bug in __all__ of factories.py\r
+removed all the stuff from __init__.py (just useless)\r
+cleanups\r
+semantic corrections\r
+\r
+2.35:\r
+-----\r
+fixed a potential bug in Connection.close\r
+converted FullyDyanmicMetaClass to a function (instead of a class). metaclasses are \r
+too magical by themselves, so i didn't want to over-do it. this caused trouble with\r
+__doc__ of netproxies, but i found a way around it.\r
+added docstrings throughout the code\r
+updated the servers\r
+i will add an ssl-enabled server when i have time\r
+w00t! rpyc is getting very stable (no real bugs)\r
+\r
+2.36:\r
+-----\r
+added 'threaded_server' to ServerUtils. it's a mix-in you can use wherever you\r
+like, instead of writing a server by yourself.\r
+improved the logging mechanism of ServerUtils\r
+\r
+2.40:\r
+-----\r
+added imports to __init__.py, so you can now do "from Rpyc import *". this\r
+is backwards compatible however, "from Rpyc.Factories import SocketConnection"\r
+still works. \r
+cleaned a little the __all__ of Utils.py\r
+new feature: added 'execute' and 'namespace'. 'execute' lets you execute code\r
+on the remote side of the connection, and 'namespace' is the namespace in which\r
+'execute' evaluates.\r
+added demo-6.py to show how to use it\r
+fixed demo-2.py (now that remote_interpreter isn't a part of Utils.__al__)\r
+\r
+2.45:\r
+-----\r
+cleanups: improved the unboxing of ImmDicts, some other minor things\r
+bugfix: PipeStream.write expected write to return the number of bytes written,\r
+as is the case with sockets. this is not the case with file objects, however,\r
+which meant the operation blocked indefinitely. thanks to rotem yaari for\r
+reporting the bug\r
+this also solves a long time bug with windows: the pipe demo now works with\r
+windows. i had to stub stream.wait() and stream.is_available() on windows,\r
+so it's less efficient and Async wouldn't work properly, but that's life.\r
+changed a little the semantics of Stream and Channel\r
+added authentication: this will make several people happy. the auth_server \r
+was added, which supports authentication, so you can run the server over the\r
+internet. only authentication is added, not encryption. you are still encouraged\r
+to use SSL/VPNs. this was added because many people had trouble with python SSL.\r
+\r
+\r
+\r