- Removed ability to pickle the
LinkedInMessagingcookies. Usefrom_cookiesand passJSESSIONIDandli_atindividually.
- Added objects to support message edits.
- Added objects to support voice messages.
- Updated versions of many dependencies and all of the pre-commit hooks.
- Add back support for the
TIMEOUTspecial event. All other errors still need to be handled by API consumers.
-
Fix the
__license__property in the package. -
Added some objects to support posts media. Contributed by @mehdiirh in #5
-
Dropped support for the
STREAM_ERRORandTIMEOUTspecial events. Consumers of that API should just handle errors thrown by thestart_listenercall and perform the appropriate error mitigations. -
Examples
- Add
ALL_EVENTSlistener example.
- Add
-
Internal:
- Convert to flit for managing the package and dependencies.
-
Developer experience:
- Add dependabot for GitHub Actions and Python requirements.
- Use pre-commit/action for linting in CI.
- Update all of the pre-commit hooks.
-
Add manual login option where you can specify the
li_atandJSESSIONIDcookies manually. For example, you could open a private browser window, log in, and extract the cookies from the developer tools. -
Internal:
- Update GitHub Actions workflow to not use a matrix for Python versions.
-
Parse timestamp from LinkedIn as UTC timestamps in case the server's timezone is different than UTC.
-
Internal:
- Add isort and pre-commit.
- Changed maximum line length from 88 to 99.
- Reordered imports to be more in line with other mautrix bridges.
- Add objects for typing notifications and read receipts.
- Add
set_typingfunction for sending typing notifications.
- Add objects for shared feed updates.
- Add conversation name field to
Conversationand name update custom content toMessageCustomContent.
- Explicitly specify the timeout of each event stream connection to help avoid weird states where the event stream is open but not receiving events.
- Add more logging and error handling when event listener handlers fail.
- Added special events for monitoring listener connection status.
- Added the ability to mark a conversation as read.
- Dropped support for everything except for Python 3.9+.
- Made all API fields optional.
- Add support for deleting messages.
- Added support for the
recalled_atproperty onMessageEvents. - Add support for adding and removing reactions.
- Add support for getting the reactors of a message and emoji.
- Improved error handling when there is a JSON decode error.
- Removed
liapcookie as required for being authenticated.
- Implemented logout endpoint.
- Fix typo in InMail parsing.
- Add support for parsing alternate names and images for InMail profiles
- Add support for parsing InMail messages
- Add
py.typedfile to indicate that the library has type hints.
- Made the
URNobject hashable. This is useful for usingURNs as keys for dictionaries - Added more function type annotations and enforced using annotations via flake8-annotations.
- Add a few convenience methods for URNs.
- Add
get_all_conversationsasync generator for iterating through all of the user's conversations. - Add better error handling to download functions.
- Add examples
This is the initial release. Features include:
- Login helper and session manager. Works with 2FA.
- Get a list of the user's conversations.
- Retrieve the messages and media in a particular conversation.
- Send messages to a particular conversation or set of recipients. Multimedia is supported.
- An event listener structure for listening for new events.