CHANGES
=======

1.0.1
-----

* version 1.0.1
* deactivated users must not be skipped --preserve-existing-user-preferences
* bump version 1.0.1

1.0.0
-----

* version 1.0.0
* add --preserve-existing-user-preferences for incremental updates
* getting an old version is done differently now
* v2.7.0 is now stable, welcome v2.8.0beta
* bump version 0.1.6
* do not include nginx ratelimit

0.1.5
-----

* version 0.1.5
* upgrade 2.6.5 and obsolete 2.5.5
* usernames is copied to name
* bump version 0.1.5

0.1.4
-----

* version 0.1.4
* workaround discourse\_docker regression
* add testing for v2.7.0
* avoid group name collisions
* bump version 0.1.4
* inventory/hosts.yml does not exist

0.1.3
-----

* version 0.1.3
* unpickling with python 3.7 on buster is a little different
* mailman: convert non string usernames to an empty string
* implement user active field with activate/deactivate endpoints
* bump version 0.1.3

0.1.2
-----

* version 0.1.2
* formatting
* bump version 0.1.2
* do not use content-type when raising error: it may not exist
* python3-dev is required to install on Debian GNU/Linux
* always disable rate limiting, even when public IP are used

0.1.1
-----

* version 0.1.1
* add missing module packaging

0.1.0
-----

* version 0.1.0
* replace mailman-dir with mailman-config
* update the documentation
* derive the username from the name when possible
* the discourse API does not allow for importing mail archives
* set custom\_fields[import\_id] for each category
* upgrade to v2.5.5
* keep flake8 happy
* wait for the mail queue to drain
* import mbox
* category\_set must use strings always
* main calles archive loader, but optionally
* tox: remove unneeded lines
* sidekiq debug hint
* add pytest-mock
* relax discourse constraints when testing
* log error with logger, not logging
* disable content safeguards
* bump version 0.0.4

0.0.3
-----

* version 0.0.3
* update requirements\*.txt
* verify the requirements file is up to date
* a category name must start with a letter
* --discourse is required for tests
* convert the category name into a slug
* implement access control and moderation
* implement members\_settings
* set the category info
* import user preferences
* cleanup unused tmpdir arguments
* mails are converted to lowercase
* make importer more verbose
* implement user\_preferences
* cosmetic change
* example running against a given discourse version
* value converter useful to have get == put
* locale needs to be controlled per user
* no need to expose a port
* build-discourse more verboe
* no need to sudo if already root
* update development instructions
* fix link to mbox importer
* document support for multiple versions
* flake8 happy
* run tests on multiple versions of discourse
* delivery\_status 0, '' or None are equal
* switch to 2.6.0.beta
* field conditional on 2.5.9 so it matches 2.6.0.beta
* delivery\_status '' is the same as 0
* retrieve notifications\_level to verify the modification
* make before & after user modification more predictible
* improve importer verbosity
* moderator & owner are lists, not dict
* make flake8 happy
* implement idempotency & dry-run for notifications
* test members group list
* verify group-members is not created for public categories
* imported users must be active
* fix idempotency
* implement category\_notifications
* implement moderator group settings
* rework test helpers
* group arguments must all be strings
* load private\_roster
* load subscribe\_policy
* document how subscription\_policy is translated
* remove a user that fails to be imported
* good message add group member fails because the user does not exist
* test diff output
* reduce the length of the group names
* handle create user border cases
* fix flake8 error
* show action
* user search may return multiple users, always verify
* remove debug info too noisy
* update importer with discourse interface changes
* implement dry-run for category
* implement dry-run for group\_member
* implement dry-run for user
* implement dry-run for settings
* implement dry-run for group
* implement dry-run for category and category\_set
* fix typos
* redefine the conversion (part 2)
* redefine the conversion
* implement discourse enable\_category\_group\_moderation\_setting
* implement discourse version\_check
* bump version 0.0.3

0.0.2
-----

* version 0.0.2

0.0.1
-----

* version 0.0.1
* release files
* add release management
* document bulk import
* \_get parameters as kwargs
* draft mbox import
* implement message load
* mailman uses logging instead of print
* add settings to the importer
* fix disconnect
* implement retry
* refactore settings set/get
* reminder to stop the container
* allow imports
* settings get/set
* do not throttle the API when testing
* create users and owners
* implement group\_member get/create/delete
* implement idempotence with before/after
* delete importer test resources
* get/create/delete user
* do not rate limit
* create the managers group
* get/create/delete groups
* add tests for importer
* move mailman test helpers in a separate file
* add --debug
* compare the id, not the whole category description
* discourse category creation and deletion
* set logging level according to --verbose & --debug
* fixture to connect to the discourse test instance
* add realistic config.pck from mailman test fixtures
* development instructions
* instructions on how to build discourse for tests
* move building discourse to a script
* show backups
* fix volume names
* fix argument order
* dont check prerequistes
* fix syntax
* try to run discourse
* is there python3 ?
* is there python3 ?
* try docker
* do not git pycache
* do not hacked\_sys\_modules
* implement mailman loading of config.pck
* unify presentation
* add missing info field
* document incoming email settings
* document the conversion strategy
* update requirements
* remove hack
* load with sqlite instead of mysql
* switch to mailman from the master branch instead of the release
* buster has 3.7 by default
* add tox
* reorganize sources
* --list in argument
* the api key must be an argument
* get users from discourse
* connect to discourse
* comment the fields of the database
* print lang
* query the user list for spip-dev
* python code somewhat documenting the structure of dump-mailman-subs.sql
* mysql table
* init
