Mercurial > libervia-backend
view .hgtags @ 4212:5f2d496c633f
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
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 23 Feb 2024 13:31:04 +0100 |
parents | af09b5aaa5d7 |
children |
line wrap: on
line source
d660d1e5cee410bf9ac15b89ceb93543bcff0a6f 0.0.2 b95550704b4f965c9dca5f6681186bf8a9b64074 0.0.3 b778622b87337785252d47d2b3c4fe3085a37ab4 0.1.0 53aa958a2d3d6451ae75610e3c6fb947d3d6f21b 0.1.1 cc2afb92ab93a4c6399ca9b6cdc5224878a57a24 0.2.0 df6b9b881f0e9f335483c986b00fd58f2ed6164a 0.3.0 12cfa23c6ab9235dddb2e8887eb0fe90fc98da75 0.4.0 f93e917be3f41a254a4612da22ed9fc5e0209f80 0.4.1 a090e5ee83c2c2d9d110c7516c3d74573426a97b 0.5.0 008c8ccd5dcc4c47578ee7190e6823186720c864 0.5.1 21e6d11615eaeb7e03bacf4eb53e5c3c5d54ce08 0.6.0 b075c5a576ef3ce628e30b0ce02bf00ec35a3c4c 0.6.1 eecd84a2530aacb3255f702cdab2010b39bb1851 0.7.0a1 eecd84a2530aacb3255f702cdab2010b39bb1851 0.7.0a1 0000000000000000000000000000000000000000 0.7.0a1 0000000000000000000000000000000000000000 0.7.0a1 534b264d63df0e6241395b26cfd994b9fee187f0 0.7.0a1 b42aa52d262106ee6743d0205830be9d837ebfa9 0.7.0a2 7d2d28564b3e8c540e7dfc38f0742cbd440f9013 0.7.0a3 1798d4ace296a95fa4081b2e84fa6c97b60a22e3 0.7.0a4 c6464685fcbbb368823919affca3fc16cb3c83c4 0.7.0b1 43e5e0dc8c609cbd1d814043a384a72bef16e55e 0.7.0b2 dbf24ba40396ec3f517f8f7855531d24d0ee701f 0.7.0b3 86bfdf73d24a7a1b7f56abdf5ca51552c6e41101 0.7.0b4 c7138e9132138f79ba66b0d65c45d45399f55a2b 0.7.0 efe2445b053c989c73d0f0462cf7543de9d67f1c v0.8.0b1 f97be63871e4187d6db5667fd0df264c64017655 v0.8.0