First steps in making diaspy work with D* 0.2.0.0
[diaspy.git] / Changelog.markdown
CommitLineData
6d8d47ce
MM
1## Changelog for `diaspy`, unofficla Diaspora\* API 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
f61c14c1
MM
22----
23
24#### Version `0.4.1` (2013-08-):
25
2cf8467c
MM
26Login and authentication procedure backend received major changes in this version.
27There are no longer `username` and `password` variables in `Connection` object.
28Instead, credentials are stored (together with the token) in single variable `_login_data`.
29This is preserved until you call `login()` at which point credentials are erased and
30only token is left -- it can be obtained by calling `repr(Connection)`.
31
32
f61c14c1 33* __new__: `__getitem__()` in `diaspy.models.Post`,
fe783229
MM
34* __new__: `__dict__()` in `diaspy.models.Post`,
35* __new__: `guid` argument in `diaspy.models.Post.__init__()`,
f61c14c1
MM
36* __new__: `json()` method in `diaspy.streams.Generic` adds the possibility to export streams to JSON,
37* __new__: `full()` method in `diaspy.streams.Generic` will try to fetch full stream (containing all posts),
38* __new__: `setEmail()` method in `diaspy.settings.Settings`,
39* __new__: `setLanguage()` method in `diaspy.settings.Settings`,
40* __new__: `downloadPhotos()` method in `diaspy.settings.Settings`,
fe783229 41* __new__: `backtime` argument in `more()` method in `diaspy.streams.Generic`,
2cf8467c 42* __new__: `DiaspyError` will be raised when connection is created with empty password and/or username,
5de52803 43* __new__: `getSessionToken()` method in `diaspy.connection.Connection`,
fe783229
MM
44
45* __upd__: if `Post()` is created with fetched comments, data will also be fetched as a dependency,
46* __upd__: `id` argument type is now `int` (`diaspy.models.Post.__init__()`),
51ab5af5 47* __upd__: `Search().lookup_user()` renamed to `Search().lookupUser()`,
3a509ff5 48* __upd__: `diaspy.messages` renamed to `diaspy.conversations` (but will be accessible under both names for this and next release),
2cf8467c
MM
49* __upd__: `LoginError` moved to `diaspy.errors`,
50* __upd__: `TokenError` moved to `diaspy.errors`,
51* __upd__: `diaspy.connection.Connection.podswitch()` gained two new positional arguments: `username` and `password`,
f61c14c1
MM
52
53* __fix__: fixed some bugs in regular expressions used by `diaspy` internals
54 (html tag removal, so you get nicer notifications),
5de52803 55* __fix__: fixed authentication issues,
f61c14c1
MM
56
57
1cff2093
MM
58----
59
4882952f
MM
60#### Version `0.4.0` (2013-08-20):
61
62This release is **not backwards compatible with `0.3.x` line**! You'll have to check your code for corrections.
63Also, this release if first to officially released fork version.
64
65* __dep__: `diaspy.client` is officially deprecated (will be removed in `0.4.1`),
66
67* __upd__: `diaspy.conversations` renamed to `diaspy.messages`,
68* __udp__: `diaspy.conversations.Conversation` moved to `diaspy.models`,
69
70* __new__: `diaspy.messages.Mailbox()` object representing diaspora\* mailbox,
71
72----
73
74Version `0.3.2` (2013-08-20):
1cff2093
MM
75
76* __upd__: `diaspy.connection.getUserData()` raises `DiaspyError` when it cannot find user data,
77
33735129
MM
78* __rem__: `diaspy.client.Client` must be explicitly imported,
79
615edb73
MM
80----
81
82Version `0.3.1` (2013-07-12):
83
84* __upd__: `diaspy.people.sephandle()` raises `InvalidHandleError` instead of `UserError`
63f1d9f1 85* __upd__: `models.Post()._fetch()` renamed to `_fetchdata()` (because of new `_fetchcomments()` method)
313fb305
MM
86* __new__: `models.Comment()` object: wrapper for comments, not to be created manually
87* __new__: `comments` parameter in `models.Post`: defines whether to fetch post's commets
615edb73 88* __new__: `connection.Connection` has new parameter in `__init__()`: it's `schema`
313fb305 89* __new__: `author()` method in `models.Post()`
615edb73
MM
90
91
92The new parameter in `connection.Connection` is useful when operating with handles.
93As handle does not contain schema (`http`, `https`, etc.) `_setlogin()` would raise an
94unhandled exception -- `requests.exceptions.MissingSchema`.
95Now, however, `Connection` will catch the exception, add missing schema and try once more.
96This parameter is provided to give programmers ability to manipulate it.
97
98Also, now you can pass just `pod.example.com` as `pod` parameter. Less typing!
99
313fb305
MM
100When it comes to posts, we are now able to fetch comments.
101
6d8d47ce
MM
102----
103
104Version `0.3.0` (2013-07-07):
105
cf0105fb
MM
106First edition of Changelog for `diaspy`.
107Developers should update their code as version `0.3.0` may not be fully
108backwards compatible depending on how the code is written.
109If you always pass named arguments and do not rely on their order you can, at least in
110theory, not worry about this update.
111
112Version `0.3.0` introduces few new features, fixes several bugs and brings a bit of
113redesign and refactoring od `diaspy`'s code.
114
115----