libervia-backend/libervia/backend
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Goffi a8348576ae core: get rid of pickle:
Use of `pickle` to serialise data was a technical legacy that was causing trouble to store
in database, to update (if a class was serialised, a change could break update), and to
security (pickle can lead to code execution).

This patch remove all use of Pickle in favour in JSON, notably:
- for caching data, a Pydantic model is now used instead
- for SQLAlchemy model, the LegacyPickle is replaced by JSON serialisation
- in XEP-0373 a class `PublicKeyMetadata` was serialised. New method `from_dict` and
  `to_dict` method have been implemented to do serialisation.
- new methods to (de)serialise data can now be specified with Identity data types. It is
  notably used to (de)serialise `path` of avatars.

A migration script has been created to convert data (for upgrade or downgrade), with
special care for XEP-0373 case. Depending of size of database, this migration script can
be long to run.

rel 443
2024-02-23 13:31:04 +01:00
..
bridge core: add new init_script_path option: 2023-12-13 22:00:22 +01:00
core core: use a user specific directory for PID file: 2024-01-14 17:48:02 +01:00
memory core: get rid of pickle: 2024-02-23 13:31:04 +01:00
models plugin XEP-0424: message retraction update: 2023-11-30 13:23:53 +01:00
plugins core: get rid of pickle: 2024-02-23 13:31:04 +01:00
stdui refactoring: renamed sat package to libervia.backend 2023-06-02 11:49:51 +02:00
test backend: rename SatRosterProtocol to LiberviaRosterProtocol 2023-06-30 15:11:05 +02:00
tools core: add new init_script_path option: 2023-12-13 22:00:22 +01:00
__init__.py version: use standard Python's dev0 instead of Libervia specific D for dev version 2023-06-06 12:41:53 +02:00
VERSION refactoring: renamed sat package to libervia.backend 2023-06-02 11:49:51 +02:00