Releases: SKevo18/pyflarum
v1.0.2
v1.0.1
v1.0.0
A (relatively) stable release. Nothing new, except for tests cleanup (+ tests are now run via GH actions automatically).
Full Changelog: v1.0.11-beta...v1.0.0
v1.0.11-beta
This update adds support for database manipulations. This is more of an "experimental" release - bugs will be squashed before v1.1 (stable) is released.
pyFlarum was basically split into two things: client
and database
client
has all the stuff that you already know. It allows you to manipulate with Flarum's REST API.database
is new and allows you to connect to a database server-side & query it.
Disclaimer: Database support is still new and in beta (as the rest of this library anyways).
Database has no support for extensions that are not included in Flarum by default. This is because it is very difficult to maintain the support
for all the different columns that extensions create - when pyFlarum defines/doesn't define a column that is not/is in the database, it breaks.
It is also technically not possible to monkey-patch database properties the same way it is possible to do in FlarumUser
.
My vision about the database support is to provide an easy way to create migration scripts to Flarum. You can see my other repository for my upcoming migration scripts.
Contributions to both the migrations and this project are welcome!
Full Changelog: v1.0.10-beta...v1.0.11-beta
v1.0.10-beta
v1.0.9.3-beta
- Fix documentation README
- Update pdoc
- Fix
content
available only inPostFromNotification
, when it's available in all posts (under certain circumstances, e. g. post is renamed, then that post has acontent
property withdict
as metadata - what was renamed, etc.) - Other tweaks
v1.0.9.2-beta
Hotfix:
- Exclude
tests
directory from the package - Fix
pyflarum
import
v1.0.9-beta
-
Add
__all__
to all core imports -
Installation will now finish normally, even if
requests
isn't installed. Before, it would fail because therequests
package wasn't installed before.- Note: pyFlarum still depends on the
requests
library.
- Note: pyFlarum still depends on the
-
forum_url
is now parsed by theurllib
module. pyFlarum now checks whether the URL uses ahttps://
orhttp://
protocol - if not, aTypeError
is raised when initializingFlarumUser
.- This removes the requirement that
forum_url
mustn't end with slash - now, it can, as the URL will always be parsed to the root one (e. g.forum_url = "https://forum.com/abc/def"
is now valid)
- This removes the requirement that
-
Added ability to scrap all posts from a long discussion that doesn't contain complete data for all posts
- This feature wasn't properly tested yet, but possible improvements will be made in the future
- This uses the new
ids
parameter to speed things up and fetch multiple posts by their IDs, in chunks - See an example
-
Filter
:- Improved/added docstring
- Added
ids
parameter toFilter
to fetch multiple entries with specific IDs at once in the API - Added a warning when a
Filter
withlimit
above 50 is created - Flarum can only fetch max. 50 entires from API by default, and there is no reason to go above that.
v1.1.x will be a stable one. All that is left is making posts' and users' data more complete. No ETA.
v1.0.8-beta
- Better docs & type hints
- Prepare for Python 3.10 Union syntax (just strings for now for backwards compatibility)
- Fix disabling extension
v1.0.7-beta
- Lots of new documentation
- Bug fixes and improvements
Breaking changes:
FlarumUser.all_discussions()
,.all_posts()
, etc. got renamed to.get_discussions()
,.get_posts()
...FlarumUser.username
got renamed toFlarumUser.username_or_email
, so logging with E-mail is now possible. Please, useFlarumUser(username_or_email=...)
instead ofFlarumUser(username=...)
- Type hints for extensions broke - this will be addressed in next updates, I still need to figure it out
1.1 will most likely be a stable release.