report any expired sites & nodes
[monitor.git] / Rpyc / changelog.txt
1 1.2:\r
2 -----\r
3 the first 1.XX release. supports synchronous operations\r
4 \r
5 1.21:\r
6 -----\r
7 bugfix release: fixed the problem with objects that don't have a __repr__ or \r
8 __str__\r
9 \r
10 1.6:\r
11 -----\r
12 this version never came public. added thread synchronization and events,\r
13 which allow the server to inform the client of events, without blocking\r
14 for client response.\r
15 \r
16 2.2:\r
17 -----\r
18 non backwards-compatible!\r
19 first 2.XX release, added asynchronous proxies and thread synchronization\r
20 this has brought with it a new kind of server -- the threaded_server,\r
21 which performs well on both linux and windows. the older 'events' mechanism\r
22 was removed as asynchornous proxies are much better, and also allow \r
23 distributed computing.\r
24 also, added the Utils module, which provide many convenience functions.\r
25 in version 1.XX, i just overridden, which was something\r
26 you might not have wanted. so now you do "from Utils import *"\r
27 also: revised demos\r
28 note: the selecing and simple servers and deprecated, and are there only\r
29 for systems that don't support threads (some older flavors of unix).\r
30 \r
31 knonw bugs:\r
32  * windows bug: the pipe parent/child dont work on windows\r
33 \r
34 2.22:\r
35 -----\r
36 some bug fixes to the servers, etc.\r
37 the selecting server turned out buggy. don't use it.\r
38 added a new demo\r
39 \r
40 known bugs:\r
41  * the selecting server\r
42  * windows bug: the Utils.remote_shell doesnt redirect the output of the\r
43 spawned command.\r
44 \r
45 2.25:\r
46 -----\r
47 fixed the selecting server\r
48 fixed a bug in download (the problem with copy-paste). thanks go to steff.\r
49 added two new utils: upload_package and update_module. they allow you to\r
50 upload packages to the server, and update and existing module. i dont think \r
51 they are very useful, but what the heck.\r
52 \r
53 2.26:\r
54 -----\r
55 fixed a bug when the remote object does not provide __nonzero__\r
56 \r
57 2.30:\r
58 -----\r
59 fixed several minor bugs (mostly semantic)\r
60 added protection for installing excepthook more than once\r
61 added the `obtain` funcion, which "brings forth" a remote object \r
62 added remote_post_mortem (debugging the traceback of a remote exception)\r
63 added an optional callback for Async proxies (which is called when they are ready)\r
64 therefore, the AsyncCallback mechanism was removed. \r
65 changed demo-3 and added demo-5.\r
66 fixed a bug: __del__ should not be synchronous\r
67 connection objects now have a `remote_conn` property, letting you mess around with\r
68 the remote side of the connection\r
69 \r
70 2.31:\r
71 -----\r
72 when you close() a connection, it releases all resources as well (this is done to \r
73 untangle cyclic-dependencies and make the gc happy)\r
74 thanks to that, servers now release resources better and sooner\r
75 \r
76 2.32:\r
77 -----\r
78 fixed a bug in __all__ of\r
79 removed all the stuff from (just useless)\r
80 cleanups\r
81 semantic corrections\r
82 \r
83 2.35:\r
84 -----\r
85 fixed a potential bug in Connection.close\r
86 converted FullyDyanmicMetaClass to a function (instead of a class). metaclasses are \r
87 too magical by themselves, so i didn't want to over-do it. this caused trouble with\r
88 __doc__ of netproxies, but i found a way around it.\r
89 added docstrings throughout the code\r
90 updated the servers\r
91 i will add an ssl-enabled server when i have time\r
92 w00t! rpyc is getting very stable (no real bugs)\r
93 \r
94 2.36:\r
95 -----\r
96 added 'threaded_server' to ServerUtils. it's a mix-in you can use wherever you\r
97 like, instead of writing a server by yourself.\r
98 improved the logging mechanism of ServerUtils\r
99 \r
100 2.40:\r
101 -----\r
102 added imports to, so you can now do "from Rpyc import *". this\r
103 is backwards compatible however, "from Rpyc.Factories import SocketConnection"\r
104 still works. \r
105 cleaned a little the __all__ of\r
106 new feature: added 'execute' and 'namespace'. 'execute' lets you execute code\r
107 on the remote side of the connection, and 'namespace' is the namespace in which\r
108 'execute' evaluates.\r
109 added to show how to use it\r
110 fixed (now that remote_interpreter isn't a part of Utils.__al__)\r
111 \r
112 2.45:\r
113 -----\r
114 cleanups: improved the unboxing of ImmDicts, some other minor things\r
115 bugfix: PipeStream.write expected write to return the number of bytes written,\r
116 as is the case with sockets. this is not the case with file objects, however,\r
117 which meant the operation blocked indefinitely. thanks to rotem yaari for\r
118 reporting the bug\r
119 this also solves a long time bug with windows: the pipe demo now works with\r
120 windows. i had to stub stream.wait() and stream.is_available() on windows,\r
121 so it's less efficient and Async wouldn't work properly, but that's life.\r
122 changed a little the semantics of Stream and Channel\r
123 added authentication: this will make several people happy. the auth_server \r
124 was added, which supports authentication, so you can run the server over the\r
125 internet. only authentication is added, not encryption. you are still encouraged\r
126 to use SSL/VPNs. this was added because many people had trouble with python SSL.\r
127 \r
128 \r
129 \r