This changelog file follows few rules:
- rem: indicates removed features,
- new: indicates new features,
- upd: indicates updated features,
- dep: indicates deprecated features,
Deprecation means that in the next version feature will be removed.
Also, after every version there should be a brief note describing possible problems with migrating to it from older versions and usage of new features.
Users can always read the manual and dcumentation to make themselves more knowledgeable and are encouraged to do so. They only need to remember that documentation is usually more up-to-date than manual and if conflicts appear they should follow the order:
docstrings -> docs/ -> manual/
- bug:
diaspyhas problems/can't connect to pods using SNI (this is an issue with requests/urllib3/python),
In this release some bugs due to Diaspora changes where adressed, it also
contains some new functionality. Also if BeautifulSoup4 is installed it
will use it instead of the regex solution where possible. Also some manual
adjustments.
IMPORTANT: python-dateutil is a requirement now.
Note: In this version indentation changed from spaces to tabs.
-
upd:
diaspy.people.User()'sfetchguid()method can now be called with a parameter (bool), if setFalseit won't fetch the stream but only userdata, default it still does., -
upd:
diaspy.people.User()has new methodsgetPhotos()anddeletePhoto(), -
upd: Aspect
idis now removed fromdiaspy.people.User()object when removed, -
upd:
diaspy.people.Contacts()it'sget()method has thepageparameter now, -
upd: It is now optional to automatic fetch contacts for
diaspy.people.Contacts(), default it won't, -
upd:
diaspy.models.Notification()'swho()method now return wholeguids instead of partialguids, -
upd: Update
diaspy.models.Post()it's interaction data after liked, -
upd:
diaspy.connection.Connection()'sgetUserData()method will now set theConnection()object it'sself._userdata, -
upd: Posts obtained by
diaspy.streams.Generic()are now fetched once instead of twice, -
upd:
tests.py, -
fix: Streams seemed to miss posts on
more()method, should be fixed now. Also a new dependency:dateutil, -
fix: Fixes
diaspy.streams.Generic()'smore()andupdate()methods and addsidto posts, -
fix:
diaspy.streams.Aspect()itsfilter()method, -
fix:
diaspy.models.Notification()'swho()method it's regex pattern didn't always match, now it should, -
fix:
diaspy.models.Aspect()itsaddUser()method did cause CSRF errors, -
fix:
diaspy.people.User()itsgetHCard(), -
new:
diaspy.errors.SearchError()anddiaspy.errors.TagError(), -
new:
update()andmore()methods fordiaspy.notifications.Notifications, -
new:
removeAspect()method indiaspy.models.Aspect(), -
new:
diaspy.models.Comments()class, -
new:
diaspy.models.Conversation()has new methodsmessages()andupdate_messages(), it is also posible to calllen()and iterate over the object, -
new:
diaspy.models.Post()'scommentsobject is now aComments()object instead of adict(parsed json), -
new:
diaspy.models.Post()has some new methods:vote_poll(),hide(),mute(),subscribe()andunsubscribe(), -
new: It is now possible to set
diaspy.people.User()it's data manual by thedataparameter, -
new:
diaspy.people.Contacts()has new methodsadd()andremove()wich can add/remove a user to/from an aspect, -
new: Added BeautifulSoup4 (optional) support where possible instead of regex, kept regex as fallback,
-
new:
diaspy.connection.Connection().podswitch()has now a optional paramloginwith as default set toTrue, ifFalseit will only set the data and does not calllogin(), -
rem:
_obtain()fromdiaspy.streams.Outer(), it was the same as_obtain()indiaspy.streams.Generic(), -
rem:
diaspy.models.Post()itsupdate()method since it is deprecated for a while now, -
rem:
backtimeparameter removed fromdiaspy.streams.Generic.more(), -
rem:
protocolparameter removed fromdiaspy.people.User().fetchhandle().
This is a hotfix release. Plain 0.5.0 lost compatibility with older versions of Diaspora* due to a trivial assignment-related bug.
Release 0.5.0 This release fixes a bug that arose with Diaspora* 0.5.0 update which changed the way how the CSRF tokens have been embedded in HTML code. This required minor fix to the CSRF-extracting regex.
Not much besides. Fixed a typo or two.
-
new:
people.User().fetchprofile()will issue a warning when user cannot be found on current pod, -
new:
settings.Profileis now loaded during initialization (can be switched off), -
fix: fixed a bug in
__repr__()method inpeople.User()object,
This version has some small incompatibilities with 0.4.1 so read Changelog carefully.
-
new:
diaspy.people.User._fetchstream()method, -
new:
diaspy.people.Me()object representing current user, -
new:
**kwargsadded todiaspy.streams.Generic.json()methdo to give developers control over the creation of JSON, -
new:
.getHCard()method added todiaspy.people.User(), -
upd:
diaspy.connection.Connection.login()modifies connection object in-place and returns it (this allows more fluent API), -
upd:
diaspy.connection.Connection.login()no longer returns status code (if login was unsuccessful it'll raise an exception), -
upd:
diaspy.connection.Connection._login()no longer returns status code (if login was unsuccessful it'll raise an exception), -
upd: better error message in
diaspy.models.Post().__init__(), -
upd:
datavariable indiaspy.models.Post()renamed to_datato indicate that it's considered private, -
upd: after deleting a post
Activitystream is purged instead of being refilled (this preserves state of stream which is not reset to last 15 posts), -
upd:
filterByIDs()method inAspectsstream renamed tofilter(), -
rem:
diaspy.connection.Connection.getUserInfo()moved todiaspy.connection.Connection.getUserData(), -
rem:
fetchparameter removed fromdiaspy.connection.Connection.getUserData(), -
dep:
max_timeparameter indiaspy.streams.*.more()method is deprecated, -
fix: this release should fix the bug which prevented diaspy from working with some pods (e.g. diasp.eu and joindiaspora.com),
Login and authentication procedure backend received major changes in this version.
There are no longer username and password variables in Connection object.
Instead, credentials are stored (together with the token) in single variable _login_data.
This is preserved until you call login() at which point credentials are erased and
only token is left -- it can be obtained by calling repr(Connection).
Also, this release is compatible with DIASPORA* 0.2.0.0 but should still support pods running on older versions.
And the test suite was updated. Yay!
-
new:
diaspy.errors.SettingsError. -
upd:
diaspy.settings.Account.setEmail()can now raiseSettingsErrorwhen request fails, -
upd:
diaspy.settings.Account.getEmail()will now return empty string instead of raising an exception if cannot fetch mail, -
upd: improved language fetching in
diaspy.settings.Account.getLanguages(). -
rem:
diaspy/client.pyis removed,
0.4.1-rc.3 (2013-09-08):
- new:
diaspy.settings.Profile.load()method for loading profile information, - new:
diaspy.settings.Profile.update()method for updating profile information, - new:
diaspy.settings.Profile.setName()method, - new:
diaspy.settings.Profile.setBio()method, - new:
diaspy.settings.Profile.setLocation()method, - new:
diaspy.settings.Profile.setTags()method, - new:
diaspy.settings.Profile.setGender()method, - new:
diaspy.settings.Profile.setBirthDate()method, - new:
diaspy.settings.Profile.setSearchable()method, - new:
diaspy.settings.Profile.setNSFW()method,
0.4.1-rc.2 (2013-09-06):
-
new:
diaspy.search.Search.tags()method for getting tag suggestions, -
new:
diaspy.settings.Profile.getName()method, -
new:
diaspy.settings.Profile.getBio()method, -
new:
diaspy.settings.Profile.getLocation()method, -
new:
diaspy.settings.Profile.getTags()method, -
new:
diaspy.settings.Profile.getGender()method, -
new:
diaspy.settings.Profile.getBirthDate()method, -
new:
diaspy.settings.Profile.isSearchable()method, -
new:
diaspy.settings.Profile.isNSFW()method, -
new:
provider_display_nameparameter indiaspy.streams.Stream.post()(thanks @svbergerem), -
upd:
remeber_meparameter indiaspy.connection.Connection.login(), -
upd: you must supply
usernameandpasswordparameters on init ofdiaspy.connection.Connection, -
upd: you must update your testconf.py (new fields are required for settings tests),
-
upd:
diaspy.settings.Settingsrenamed todiaspy.settings.Account, -
rem:
usernameandpasswordparameters removed fromdiaspy.connection.Connection.login()must be supplied on init,
0.4.1-rc.1 (2013-09-02):
-
new:
__getitem__()indiaspy.models.Post, -
new:
__dict__()indiaspy.models.Post, -
new:
guidargument indiaspy.models.Post.__init__(), -
new:
json()method indiaspy.streams.Genericadds the possibility to export streams to JSON, -
new:
full()method indiaspy.streams.Genericwill try to fetch full stream (containing all posts), -
new:
setEmail()method indiaspy.settings.Settings, -
new:
setLanguage()method indiaspy.settings.Settings, -
new:
downloadPhotos()method indiaspy.settings.Settings, -
new:
backtimeargument inmore()method indiaspy.streams.Generic, -
new:
DiaspyErrorwill be raised when connection is created with empty password and/or username, -
new:
getSessionToken()method indiaspy.connection.Connectionreturns string from_diaspora_sessioncookie, -
new:
directparameter indiaspy.connection.Connection().get()allowing to disable pod expansion, -
upd: if
Post()is created with fetched comments, data will also be fetched as a dependency, -
upd:
idargument type is nowint(diaspy.models.Post.__init__()), -
upd:
Search().lookup_user()renamed toSearch().lookupUser(), -
upd:
diaspy.messagesrenamed todiaspy.conversations(but will be accessible under both names for this and next release), -
upd:
LoginErrormoved todiaspy.errors, -
upd:
TokenErrormoved todiaspy.errors, -
upd:
diaspy.connection.Connection.podswitch()gained two new positional arguments:usernameandpassword, -
upd:
aspect_idrenamed toidindiaspy.streams.Aspects().remove(), -
fix: fixed some bugs in regular expressions used by
diaspyinternals (html tag removal, so you get nicer notifications), -
fix: fixed authentication issues,
This release is not backwards compatible with 0.3.x line! You'll have to check your code for corrections.
Also, this release if first to officially released fork version.
-
dep:
diaspy.clientis officially deprecated (will be removed in0.4.1), -
upd:
diaspy.conversationsrenamed todiaspy.messages, -
udp:
diaspy.conversations.Conversationmoved todiaspy.models, -
new:
diaspy.messages.Mailbox()object representing diaspora* mailbox,
-
upd:
diaspy.connection.getUserData()raisesDiaspyErrorwhen it cannot find user data, -
rem:
diaspy.client.Clientmust be explicitly imported,
-
upd:
diaspy.people.sephandle()raisesInvalidHandleErrorinstead ofUserError -
upd:
models.Post()._fetch()renamed to_fetchdata()(because of new_fetchcomments()method) -
new:
models.Comment()object: wrapper for comments, not to be created manually -
new:
commentsparameter inmodels.Post: defines whether to fetch post's commets -
new:
connection.Connectionhas new parameter in__init__(): it'sschema -
new:
author()method inmodels.Post()
The new parameter in connection.Connection is useful when operating with handles.
As handle does not contain schema (http, https, etc.) _setlogin() would raise an
unhandled exception -- requests.exceptions.MissingSchema.
Now, however, Connection will catch the exception, add missing schema and try once more.
This parameter is provided to give programmers ability to manipulate it.
Also, now you can pass just pod.example.com as pod parameter. Less typing!
When it comes to posts, we are now able to fetch comments.
First edition of Changelog for diaspy.
Developers should update their code as version 0.3.0 may not be fully
backwards compatible depending on how the code is written.
If you always pass named arguments and do not rely on their order you can, at least in
theory, not worry about this update.
Version 0.3.0 introduces few new features, fixes several bugs and brings a bit of
redesign and refactoring od diaspy's code.