Changed fetching languages in diaspy/settings.py, setLanguage() now
[diaspy.git] / Changelog.markdown
CommitLineData
4285c996 1## Changelog for `diaspy`, unofficial DIASPORA\* interface for Python
6d8d47ce
MM
2
3This changelog file follows few rules:
4
5* __rem__: indicates removed features,
6* __new__: indicates new features,
7* __upd__: indicates updated features,
8* __dep__: indicates deprecated features,
9
10Deprecation means that in the next version feature will be removed.
11
12Also, after every version there should be a brief note describing possible
13problems with migrating to it from older versions and usage of new features.
14
15Users can always read the manual and dcumentation to make themselves more knowledgeable and
16are encouraged to do so. They only need to remember that documentation is usually more
17up-to-date than manual and if conflicts appear they should follow the order:
18
19*docstrings* -> *docs/* -> *manual/*
20
b74513c5
MM
21----
22
23#### Known issues
24
25* __bug__: `diaspy` has problems/can't connect to pods using SNI (this is an issue with requests/urllib3/python),
26
6d8d47ce 27
f61c14c1
MM
28----
29
73a9e0d3 30#### Version `0.4.1` (2013-09-):
f61c14c1 31
2cf8467c
MM
32Login and authentication procedure backend received major changes in this version.
33There are no longer `username` and `password` variables in `Connection` object.
34Instead, credentials are stored (together with the token) in single variable `_login_data`.
35This is preserved until you call `login()` at which point credentials are erased and
36only token is left -- it can be obtained by calling `repr(Connection)`.
37
73a9e0d3
MM
38Also, this release is compatible with DIASPORA\* 0.2.0.0 but should still support
39pods running on older versions.
40
41And the test suite was updated. Yay!
42
3def6e18 43
f50cbea3
MM
44* __new__: `diaspy.errors.SettingsError`,
45
46
47* __upd__: `diaspy.settings.Account.setEmail()` can now raise `SettingsError` when request fails,
556f2745
MM
48* __upd__: `diaspy.settings.Account.getEmail()` will now return empty string instead of raising an exception if cannot fetch mail,
49* __upd__: improved language fetching in `diaspy.settings.Account.getLanguages()`,
f50cbea3
MM
50
51
3def6e18
MM
52**`0.4.1-rc.3` (2013-09-08):**
53
54* __new__: `diaspy.settings.Profile.load()` method for loading profile information,
55* __new__: `diaspy.settings.Profile.update()` method for updating profile information,
56* __new__: `diaspy.settings.Profile.setName()` method,
57* __new__: `diaspy.settings.Profile.setBio()` method,
58* __new__: `diaspy.settings.Profile.setLocation()` method,
59* __new__: `diaspy.settings.Profile.setTags()` method,
60* __new__: `diaspy.settings.Profile.setGender()` method,
61* __new__: `diaspy.settings.Profile.setBirthDate()` method,
62* __new__: `diaspy.settings.Profile.setSearchable()` method,
63* __new__: `diaspy.settings.Profile.setNSFW()` method,
64
65
cf6a800f
MM
66**`0.4.1-rc.2` (2013-09-06):**
67
68* __new__: `diaspy.search.Search.tags()` method for getting tag suggestions,
b74513c5
MM
69* __new__: `diaspy.settings.Profile.getName()` method,
70* __new__: `diaspy.settings.Profile.getBio()` method,
71* __new__: `diaspy.settings.Profile.getLocation()` method,
f91374ce 72* __new__: `diaspy.settings.Profile.getTags()` method,
b74513c5
MM
73* __new__: `diaspy.settings.Profile.getGender()` method,
74* __new__: `diaspy.settings.Profile.getBirthDate()` method,
75* __new__: `diaspy.settings.Profile.isSearchable()` method,
76* __new__: `diaspy.settings.Profile.isNSFW()` method,
f91374ce 77* __new__: `provider_display_name` parameter in `diaspy.streams.Stream.post()` (thanks @svbergerem),
cf6a800f 78
3def6e18 79
a90eb458
MM
80* __upd__: `remeber_me` parameter in `diaspy.connection.Connection.login()`,
81* __upd__: you must supply `username` and `password` parameters on init of `diaspy.connection.Connection`,
b74513c5
MM
82* __upd__: you must update your testconf.py (new fields are required for settings tests),
83* __upd__: `diaspy.settings.Settings` renamed to `diaspy.settings.Account`,
a90eb458 84
3def6e18 85
a90eb458
MM
86* __rem__: `username` and `password` parameters removed from `diaspy.connection.Connection.login()`
87 must be supplied on init,
88
cf6a800f 89
73a9e0d3 90**`0.4.1-rc.1` (2013-09-02):**
2cf8467c 91
f61c14c1 92* __new__: `__getitem__()` in `diaspy.models.Post`,
fe783229
MM
93* __new__: `__dict__()` in `diaspy.models.Post`,
94* __new__: `guid` argument in `diaspy.models.Post.__init__()`,
f61c14c1
MM
95* __new__: `json()` method in `diaspy.streams.Generic` adds the possibility to export streams to JSON,
96* __new__: `full()` method in `diaspy.streams.Generic` will try to fetch full stream (containing all posts),
97* __new__: `setEmail()` method in `diaspy.settings.Settings`,
98* __new__: `setLanguage()` method in `diaspy.settings.Settings`,
99* __new__: `downloadPhotos()` method in `diaspy.settings.Settings`,
fe783229 100* __new__: `backtime` argument in `more()` method in `diaspy.streams.Generic`,
2cf8467c 101* __new__: `DiaspyError` will be raised when connection is created with empty password and/or username,
73a9e0d3
MM
102* __new__: `getSessionToken()` method in `diaspy.connection.Connection` returns string from `_diaspora_session` cookie,
103* __new__: `direct` parameter in `diaspy.connection.Connection().get()` allowing to disable pod expansion,
fe783229 104
3def6e18 105
fe783229
MM
106* __upd__: if `Post()` is created with fetched comments, data will also be fetched as a dependency,
107* __upd__: `id` argument type is now `int` (`diaspy.models.Post.__init__()`),
51ab5af5 108* __upd__: `Search().lookup_user()` renamed to `Search().lookupUser()`,
3a509ff5 109* __upd__: `diaspy.messages` renamed to `diaspy.conversations` (but will be accessible under both names for this and next release),
2cf8467c
MM
110* __upd__: `LoginError` moved to `diaspy.errors`,
111* __upd__: `TokenError` moved to `diaspy.errors`,
112* __upd__: `diaspy.connection.Connection.podswitch()` gained two new positional arguments: `username` and `password`,
73a9e0d3 113* __upd__: `aspect_id` renamed to `id` in `diaspy.streams.Aspects().remove()`,
f61c14c1 114
3def6e18
MM
115
116* __fix__: fixed some bugs in regular expressions used by `diaspy` internals (html tag removal, so you get nicer notifications),
5de52803 117* __fix__: fixed authentication issues,
f61c14c1
MM
118
119
1cff2093
MM
120----
121
4882952f
MM
122#### Version `0.4.0` (2013-08-20):
123
124This release is **not backwards compatible with `0.3.x` line**! You'll have to check your code for corrections.
125Also, this release if first to officially released fork version.
126
127* __dep__: `diaspy.client` is officially deprecated (will be removed in `0.4.1`),
128
3def6e18 129
4882952f
MM
130* __upd__: `diaspy.conversations` renamed to `diaspy.messages`,
131* __udp__: `diaspy.conversations.Conversation` moved to `diaspy.models`,
132
3def6e18 133
4882952f
MM
134* __new__: `diaspy.messages.Mailbox()` object representing diaspora\* mailbox,
135
136----
137
3def6e18 138#### Version `0.3.2` (2013-08-20):
1cff2093
MM
139
140* __upd__: `diaspy.connection.getUserData()` raises `DiaspyError` when it cannot find user data,
141
3def6e18 142
33735129
MM
143* __rem__: `diaspy.client.Client` must be explicitly imported,
144
615edb73
MM
145----
146
3def6e18 147#### Version `0.3.1` (2013-07-12):
615edb73
MM
148
149* __upd__: `diaspy.people.sephandle()` raises `InvalidHandleError` instead of `UserError`
63f1d9f1 150* __upd__: `models.Post()._fetch()` renamed to `_fetchdata()` (because of new `_fetchcomments()` method)
3def6e18
MM
151
152
313fb305
MM
153* __new__: `models.Comment()` object: wrapper for comments, not to be created manually
154* __new__: `comments` parameter in `models.Post`: defines whether to fetch post's commets
615edb73 155* __new__: `connection.Connection` has new parameter in `__init__()`: it's `schema`
313fb305 156* __new__: `author()` method in `models.Post()`
615edb73
MM
157
158
159The new parameter in `connection.Connection` is useful when operating with handles.
160As handle does not contain schema (`http`, `https`, etc.) `_setlogin()` would raise an
161unhandled exception -- `requests.exceptions.MissingSchema`.
162Now, however, `Connection` will catch the exception, add missing schema and try once more.
163This parameter is provided to give programmers ability to manipulate it.
164
165Also, now you can pass just `pod.example.com` as `pod` parameter. Less typing!
166
313fb305
MM
167When it comes to posts, we are now able to fetch comments.
168
6d8d47ce
MM
169----
170
3def6e18 171#### Version `0.3.0` (2013-07-07):
6d8d47ce 172
cf0105fb
MM
173First edition of Changelog for `diaspy`.
174Developers should update their code as version `0.3.0` may not be fully
175backwards compatible depending on how the code is written.
176If you always pass named arguments and do not rely on their order you can, at least in
177theory, not worry about this update.
178
179Version `0.3.0` introduces few new features, fixes several bugs and brings a bit of
180redesign and refactoring od `diaspy`'s code.
181
3def6e18 182