File: CHANGELOG

package info (click to toggle)
python-libgmail 0.0.8%2Bcvs20050208-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 172 kB
  • ctags: 412
  • sloc: python: 1,503; sh: 37; makefile: 13
file content (188 lines) | stat: -rw-r--r-- 7,168 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
== Version: 0.0.8 (23 August 2004) ==
libgmail.py
 *  Fixed login to work again after it was broken by a Gmail change.
    Centralised cookie extraction. Added debug-level logging of cookie
    extraction & storage.

 *  Add trash/delete message thread functionality to account object.

constants.py, libgmail.py, mkconstants.py
 *  Add trash/delete single message functionality to account object.

demos/gmailpopd.py
 *  Initial rough POP3 proxy server demo. Works with Mail.app when I
    tried it... :-) Sometimes causes items to be downloaded even when
    they don't *really* need to be. Causes some items to be marked as
    read even if the client doesn't actually request them.

 *  Refactored message retrieval from account snapshot to allow
    partial message retrieval (for TOP functionality).

 *  Added POP3 TOP command functionality which is required by Mozilla as it
    (wrongly) doesn't work with the absolute minimum command set
    specified by the RFC and requires TOP.

 *  Fixed copy/paste error to change 'ftp_QUIT' to 'pop_QUIT'.

 *  Moved byte-stuffing and message massaging into separate functions.

libgmail.py, demos/archive.py, demos/gmailftpd.py, demos/gmailpopd.py, demos/gmailsmtp.py, demos/sendmsg.py
 *  Added `GmailLoginFailure` exception to enable tidier handling of
    login failures (which could be bad username/password or a Gmail
    change).

 *  Updated demos to catch `GmailLoginFailure` exception.

 *  Removed non-supported "LOGIN" authentication method in SMTP demo
    that was included in the server capability response in error.

ANNOUNCE
 *  Minor typo fix.


== Version: 0.0.7 (03 August 2004) ==

constants.py, mkconstants.py
 *  Added attachment related constants. 

libgmail.py, demos/gmailsmtp.py
 *  Allow file data to be specified directly (rather than via an on-
    disk file) when specifying attachments (this allows using existing
    Message instance payloads mostly directly). Modify SMTP Proxy demo
    to handle sending attachments.

demos/gmailftpd.py
 *  Initial import of Gmail attachments FTP Proxy! 

libgmail.py
 *  Corrected version info for previous release. 

 *  Added 'getMessagesByQuery' function. Added initial attachment
    retrieval handling. Clean up handling of references to parent
    objects & account objects. Version info update.

 *  Handle sending attachments. Works, but implementation is extremely
    *cough* sub-optimal...

 *  Don't try to attach files if there are none. 


== Version: 0.0.6 (15 July 2004) ==

demos/gmailsmtp.py
 *  That was too easy, there oughta be a law! Thanks to Python's
    undocumented SMTP server module we can now send mail with a
    standard mail client via (E)SMTP. Extended standard SMTP class to
    handle ESMTP EHLO & AUTH PLAIN commands.

libgmail.py
 *  Added utility function '_retrieveJavascript' to 'GmailAccount' to
    help developers who want to look at it. (In theory also so you can
    regenerate 'constants.py' but the Javascript Gmail now uses isn't
    actually useful for that anymore...) (Added by request.)


== Version: 0.0.5 (11 July 2004) ==

libgmail.py, demos/sendmsg.py
 *  Added functionality to enable message sending. Modified automatic
    cookie handling. Added command line example to send a message.
    Enabled page requests to be either a URL or a Request instance.

constants.py, mkconstants.py
 *  Added more useful constants.


== Version: 0.0.4 (11 July 2004) ==

constants.py, mkconstants.py
 *  Include standard folder/search name constants. 

 *  Add more useful constants. 

constants.py, libgmail.py, mkconstants.py
 *  Added category name retrieval. 

mkconstants.py
 *  'mkconstants' isn't really useful anymore with the new JS version.

libgmail.py
 *  Add ability to get number of unread messages. 

 *  Handle items that might be 'bunched' such as thread lists better. 

 *  Only warn about mismatched Javascript versions once module import.
    (Note: This may mean the Javascript version may change more than
    once in a session and the second change won't be warned, but that
    shouldn't be much of an issue...)

 *  Refactor URL construction. Refactor query/search operation in
    preparation for adding searches.

 *  More refactoring. Made thread search query more generic to allow
    use by (to come) label searches etc. Threads now belong to
    'GmailSearchResult' instances rather than folders. Threads now
    retrieve their own messages rather than relying on their parent to
    do so.

 *  We now refer to categories as labels, as the UI does. Enable
    retrieval by label.

libgmail.py, demos/archive.py
 *  Allow all pages of results to be returned for a 'getFolder'
    request. (Not tested much.)

 *  Provide easy access to standard folder names. Added length
    property to folders. Examples now handle empty folders gracefully.

 *  Now uses 'getMessagesByXXXXX' style method names for folders &
    labels. Now refer to original message source as 'source' & not
    'body'. Enable demos to search by folder name or label name.



== Version: 0.0.3 (8 July 2004) ==

libgmail.py
 * Allow username to be specified on the command line instead of prompting.
 * Rough special case handling of when more than one set of thread information data is present on a page (seemed to occur when using 'all' search after a certain number of items). TODO: Make this fix work at the page parsing level, but splitting all tuples into individual items.
 * Add cookie handling code to enable us to remove requirement for ClientCookie package. (Especially for Adrian... :-) )

demos/archive.py
 * *Extremely* rough mbox creation--turns out the mails retrieved had '\r' characters at the end of the headers. The mbox file appears to be successfully imported by OS X's Mail.app client.
 * Allow username to be specified on the command line instead of prompting.


== Version: 0.0.2a (~6 July 2004) ==

* No code change, renamed to try to avoid SourceForge mirroring problems.


== Version: 0.0.2 (5 July 2004) ==

constants.py
 * Useful constants from the Gmail Javascript code as Python module.
 * Update to match current live Javascript.
 * Fudge some enumerations that we need to start at 0.

libgmail.py
 * Refactor to make use of Folder/Thread/Message model. Standardised some naming. Make use of imported Gmail constants. Centralise page retrieval & parsing.
 * Calculate number of messages in thread.
 * Refactor & reorganise code. Minor style edits. Refine design of folder, thread & message classes. Modify folders, threads & messages to be as lazy as possible when it comes to retrieving data from the net. Enable message instances to retrieve their original mail text. Add Gmail implementation notes. Hide password entry. Demo now displays threads & messages.
 * Version date change.

mkconstants.py
 * Tool to make useful constants from the Gmail Javascript code available via a Python module.
 * Fudge some enumerations that we need to start at 0.

demos/archive.py
 * Initial rough demo to archive all messages into text files.

CHANGELOG
 * Added.


== Version: 0.0.1 (2 July 2004) ==

libgmail.py
 * Initial import of version 0.0.1 (as posted in comp.lang.python).