Updated tests and Changelog
[diaspy.git] / Changelog.markdown
... / ...
CommitLineData
1## Changelog for `diaspy`, unofficial DIASPORA\* interface for Python
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
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
27
28----
29
30#### Version `0.4.1` (2013-09-):
31
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
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
43**`0.4.1-rc.2` (2013-09-06):**
44
45* __new__: `diaspy.search.Search.tags()` method for getting tag suggestions,
46* __new__: `diaspy.settings.Profile.getName()` method,
47* __new__: `diaspy.settings.Profile.getBio()` method,
48* __new__: `diaspy.settings.Profile.getLocation()` method,
49* __new__: `diaspy.settings.Profile.getTags()` method,
50* __new__: `diaspy.settings.Profile.getGender()` method,
51* __new__: `diaspy.settings.Profile.getBirthDate()` method,
52* __new__: `diaspy.settings.Profile.isSearchable()` method,
53* __new__: `diaspy.settings.Profile.isNSFW()` method,
54* __new__: `provider_display_name` parameter in `diaspy.streams.Stream.post()` (thanks @svbergerem),
55
56* __upd__: `remeber_me` parameter in `diaspy.connection.Connection.login()`,
57* __upd__: you must supply `username` and `password` parameters on init of `diaspy.connection.Connection`,
58* __upd__: you must update your testconf.py (new fields are required for settings tests),
59* __upd__: `diaspy.settings.Settings` renamed to `diaspy.settings.Account`,
60
61* __rem__: `username` and `password` parameters removed from `diaspy.connection.Connection.login()`
62 must be supplied on init,
63
64
65**`0.4.1-rc.1` (2013-09-02):**
66
67* __new__: `__getitem__()` in `diaspy.models.Post`,
68* __new__: `__dict__()` in `diaspy.models.Post`,
69* __new__: `guid` argument in `diaspy.models.Post.__init__()`,
70* __new__: `json()` method in `diaspy.streams.Generic` adds the possibility to export streams to JSON,
71* __new__: `full()` method in `diaspy.streams.Generic` will try to fetch full stream (containing all posts),
72* __new__: `setEmail()` method in `diaspy.settings.Settings`,
73* __new__: `setLanguage()` method in `diaspy.settings.Settings`,
74* __new__: `downloadPhotos()` method in `diaspy.settings.Settings`,
75* __new__: `backtime` argument in `more()` method in `diaspy.streams.Generic`,
76* __new__: `DiaspyError` will be raised when connection is created with empty password and/or username,
77* __new__: `getSessionToken()` method in `diaspy.connection.Connection` returns string from `_diaspora_session` cookie,
78* __new__: `direct` parameter in `diaspy.connection.Connection().get()` allowing to disable pod expansion,
79
80* __upd__: if `Post()` is created with fetched comments, data will also be fetched as a dependency,
81* __upd__: `id` argument type is now `int` (`diaspy.models.Post.__init__()`),
82* __upd__: `Search().lookup_user()` renamed to `Search().lookupUser()`,
83* __upd__: `diaspy.messages` renamed to `diaspy.conversations` (but will be accessible under both names for this and next release),
84* __upd__: `LoginError` moved to `diaspy.errors`,
85* __upd__: `TokenError` moved to `diaspy.errors`,
86* __upd__: `diaspy.connection.Connection.podswitch()` gained two new positional arguments: `username` and `password`,
87* __upd__: `aspect_id` renamed to `id` in `diaspy.streams.Aspects().remove()`,
88
89* __fix__: fixed some bugs in regular expressions used by `diaspy` internals
90 (html tag removal, so you get nicer notifications),
91* __fix__: fixed authentication issues,
92
93
94----
95
96#### Version `0.4.0` (2013-08-20):
97
98This release is **not backwards compatible with `0.3.x` line**! You'll have to check your code for corrections.
99Also, this release if first to officially released fork version.
100
101* __dep__: `diaspy.client` is officially deprecated (will be removed in `0.4.1`),
102
103* __upd__: `diaspy.conversations` renamed to `diaspy.messages`,
104* __udp__: `diaspy.conversations.Conversation` moved to `diaspy.models`,
105
106* __new__: `diaspy.messages.Mailbox()` object representing diaspora\* mailbox,
107
108----
109
110Version `0.3.2` (2013-08-20):
111
112* __upd__: `diaspy.connection.getUserData()` raises `DiaspyError` when it cannot find user data,
113
114* __rem__: `diaspy.client.Client` must be explicitly imported,
115
116----
117
118Version `0.3.1` (2013-07-12):
119
120* __upd__: `diaspy.people.sephandle()` raises `InvalidHandleError` instead of `UserError`
121* __upd__: `models.Post()._fetch()` renamed to `_fetchdata()` (because of new `_fetchcomments()` method)
122* __new__: `models.Comment()` object: wrapper for comments, not to be created manually
123* __new__: `comments` parameter in `models.Post`: defines whether to fetch post's commets
124* __new__: `connection.Connection` has new parameter in `__init__()`: it's `schema`
125* __new__: `author()` method in `models.Post()`
126
127
128The new parameter in `connection.Connection` is useful when operating with handles.
129As handle does not contain schema (`http`, `https`, etc.) `_setlogin()` would raise an
130unhandled exception -- `requests.exceptions.MissingSchema`.
131Now, however, `Connection` will catch the exception, add missing schema and try once more.
132This parameter is provided to give programmers ability to manipulate it.
133
134Also, now you can pass just `pod.example.com` as `pod` parameter. Less typing!
135
136When it comes to posts, we are now able to fetch comments.
137
138----
139
140Version `0.3.0` (2013-07-07):
141
142First edition of Changelog for `diaspy`.
143Developers should update their code as version `0.3.0` may not be fully
144backwards compatible depending on how the code is written.
145If you always pass named arguments and do not rely on their order you can, at least in
146theory, not worry about this update.
147
148Version `0.3.0` introduces few new features, fixes several bugs and brings a bit of
149redesign and refactoring od `diaspy`'s code.
150
151----