0.10.7 - Tue 3 Jul, 2018¶
- Fix errors in setup.py avoiding the package from being uploaded to pypi
- Fix author in debian changelog
0.10.6 - Fri 29 Jun, 2018¶
- [feature] Improvements to the Blobs Filesystem backend
- [feature] Add bandwidth throttling to the blobs client
- [docs] Clarify offline use for tests
0.10.5 - Wed 22 Nov, 2017¶
- [feature] add the SOLEDAD_COUCH_URL environment variable on server side
- [bug] properly shutdown server if startup checks fail
- [bug] fix and improve logging of server startup checks
0.10.4 - Wed 15 Nov, 2017¶
- [feature] improve server entrypoint (several refactors and introduction of binary in debian package)
- [feature] improve speed of server startup
- [bug] wait for couch schema, configuration and environment checks before running servers.
- [bug] debian package now reports the correct version
- [pkg] improve user db creation script (fixes and man page)
- [bug] limit concurrent blob writes in server
- [feature] support unsynced local only blobs
- [feature] add/fix blob deletion
- [feature] add and control concurrency of blobs local and remote operations
- [feature] add retries for blob transfers
- [bug] fixes in blob download/upload pipeline
- [bug] improve resilience of blobs concurrent access to sqlcipher
- [bug] fix blobs preamble flakiness
- [refactor] split blobs backend in many modules
- [doc] many documentation improvements
- [doc] documentation was mirrored in https://leap.se/en/docs/design/soledad
- [benchmarks] add server scalability tests
- [benchmarks] add outlier detection
- [test] add e2e test for incoming mail pipeline
- [pkg] Add packages for debian buster.
- [pkg] deb: Make soledad-client depend on soledad-common
0.10.3 - Mon 11 Sep, 2017¶
- [feat] Finished adding support for Incoming API
- [feat] Get config file name from environment variable.
- [bug] Add DELETE method to url mapper.
- [bug] Use correct keyword argument for server state initialization.
- #8924: [bug] FileBodyProducer consumer usage wasn’t closing the file
- [feat] Add columns for sync state of blobs inside sqlcipher
- [bug] Several bugfixes for BlobManager initialization.
- [bug] Fix usage of StringIO class in gzip middleware.
- #8924: [bug] FileBodyProducer consumer usage wasn’t closing the file
- Use latest version of pytest-benchmark.
- Find correct twistd when outside tox envs
- Build packages for zesty and stretch.
- Add benchmark comparing legacy vs blobs sync.
- Add reactor responsiveness tests.
0.10.2 - Mon 21 Aug, 2017¶
- Enforce namespace to default on server
- Add path partitioning to namespaces
- Add namespace to local blobs db table
- Track namespace information on blobs client
0.10.1 - Mon 07 Aug, 2017¶
- Fixes IncomingBox missing preamble separator (space) which causes client to fail parsing.
- Adds IncomingBoxProcessLoop and implement the process flow for IncominBox specification.
- Adds IIncomingBoxConsumer interface, which can be used by Soledad apps to implement consumers for IncomingBox feature.
0.10.0 - 18 July, 2017¶
- Add an incoming API for email delivery. In the future, this may be used by external applications for message delivery.
- Add namespace capability.
- List incoming blobs in chronological order.
- Finish minimal filesystem backend for blobs.
- Update BlobManager to support new server features, such as: namespaces, incoming and listing.
- Make the backend configurable for incoming API, so it can use CouchDB now and Blobs later.
- Use OpenSSL backend for scrypt if OpenSSL >= 1.1
- Refactor preamble to account for PGP encryption scheme
- Removes scrypt dependency
- Unification of Client, Server and Common in a Single python package.
- Build soledad debian package with git-buildpackage.
- Document deprecation policy.
- Documentation is automatically uploaded to: https://soledad.readthedocs.io/
- Launch benchmarks website: https://benchmarks.leap.se/
0.9.6 - 31 May, 2017¶
- Minimal Filesystem BlobsBackend implementation, disabled by default.
- Minimal Blobs manager implementation
- Blobs API
- Ability to generate recovery code.
- Fix deprecated multibackend call (cryptography).
- Post benchmark results to elasticsearch
- Build docker image and push it to registry every time the dockerfile used for tests is changed
- Fix flaky tests
- Cleanup old documentation.
- Added dependency on treq.
- Improve cpu/memory profiling.
- Bumped version to upload wheels to pypi, to workaround for dbschema.sql not found after installation in virtualenv.
0.9.5 - 17 March, 2017¶
- Make database creation appear in logs
- #8721: Remove offline flag
- Fix raising of invalid auth token error
- Add default version when decrypting secrets
- Secrets version defaults to v1
- First steps porting soledad to python3
0.9.3 - 06 March, 2017¶
- #8758: Add blob size to the crypto preamble
- Improve secrets generation and storage code
- Add offline status to soledad client api.
- Remove syncable property
- Improvements in performance benchmarks.
0.9.2 - 22 December, 2016¶
- use AES 256 GCM mode instead of CTR-HMAC.
- streaming encryption/decryption and data transfer.
- move server to a twisted resource entrypoint.
- use twisted http agent in the client.
- maintain backwards compatibility with old crypto scheme (AES 256 CTR-HMAC). No migration for now, only in 0.10.
- remove the encryption/decryption pools, replace for inline streaming crypto.
- use sqlcipher transactions on sync.
0.9.1 - 27 November, 2016¶
Server side bug fixes¶
- fix import on create-user-db script
- patch twisted logger so it works with twistd –syslog
- delay couch state initialization
- improve missing couch config doc error logging
- separate server application into another file
0.9.0 - 11 November, 2016¶
- Server-side changes in couch backend schema.
- Use of tox and pytest to run tests.
- Performance tests.
* Attention: Migration needed! *
Because of that, you need to run a migration script on your database. Check the scripts/migration/0.9.0/ diretctory for instructions on how to run the migration script on your database. Don’t forget to backup before running the script!
- Fix order of multipart serialization when writing to couch.
- Log to syslog.
- Remove usage of design documents in couch backend.
- Use _local couch docs for metadata storage.
- Other small improvements in couch backend.
0.8.1 - 14 July, 2016¶
- Add recovery document format version for future migrations.
- Use DeferredLock instead of its locking cousin.
- Use DeferredSemaphore instead of its locking cousin.
- #8180: Initialize OpenSSL context just once.
- Remove document content conversion to unicode. Users of API are responsible for only passing valid JSON to Soledad for storage.
- Add ability to get information about sync phases for profiling purposes.
- Add script for setting up develop environment.
- Refactor bootstrap to remove shared db lock.
- Removed multiprocessing from encdecpool with some extra refactoring.
- Remove user_id argument from Soledad init.
0.8.0 - 18 Apr, 2016¶
- #7656: Emit multi-user aware events.
- Client will now send documents at a limited size batch due to changes on SyncTarget. The default limit is 500kB. Disabled by default.
- #7503: Do not signal sync completion if sync failed.
- Handle missing design doc at GET (get_sync_info). Soledad server can handle this during sync.
- Upload phase of client syncs is still quite slow. Enabling size limited batching can help, but you have to make sure that your server is compatible.
- General performance improvements.
- #7509: Moves config directory from /etc/leap to /etc/soledad.
- Adds a new config parameter ‘create_cmd’, which allows sysadmin to specify which command will create a database. That command was added in pkg/create-user-db and debian package automates steps needed for sudo access.
- Read netrc path from configuration file for create-user-db command.
- ‘create-user-db’ script now can be configured from soledad-server.conf when generating the user’s security document.
- Migrating a user’s database to newest design documents is now possible by using a parameter ‘–migrate-all’ on ‘create-user-db’ script.
- Remove tsafe monkeypatch from SSL lib, as it was needed for Twisted <12
- Added two methods to start and finish a batch on backend. They can be used to change database behaviour, allowing batch operations to be optimized.