renovate[bot]
32de0b9221
⬆️ (dependencies) update python dependencies
2026-02-05 17:12:34 +00:00
renovate[bot]
1384640a3a
⬆️ (dependencies) update django to v5.2.11 [SECURITY]
2026-02-03 21:00:40 +00:00
Quentin BEY
38d2125ecf
🏗️ (core) migrate from pip to uv
...
We want to migrate our projects from pip to uv to take the benefits of
the lock file and have reproducible installations.
A first uv.lock file is comitted and the Dockerfile and compose are
modified to work with uv
2026-01-29 23:16:16 +01:00
Marie PUPO JEAMMET
6ae195b90c
🔥 (cleanup) remove comment from permissions file
...
remote remaining commented line from previous PR's tests
2026-01-28 14:49:31 +00:00
Marie PUPO JEAMMET
be64abb22f
✨ (invitations) can delete domain invitations
...
add delete method to domain viewset
2026-01-28 14:49:31 +00:00
mjeammet
ca56eb0cac
🌐 (i18n) update translated strings
...
Update translated files with new translations
2026-01-26 11:30:57 +00:00
Marie PUPO JEAMMET
99ca34719f
🔖 (patch) release version 1.22.2
...
Update all version files and changelog for patch release.
2026-01-26 11:30:57 +00:00
Marie PUPO JEAMMET
99433a6722
🐛 (aliases) alias destination can be devnull@devnull
...
devnull@devnull is not considered a valid email address by django's
EmailFieldValidator but it's a special address in dimail's config.
Make "destination" a CharField instead of an EmailField to replace
validator and add devnull to allowlist.
2026-01-23 17:56:53 +00:00
Marie PUPO JEAMMET
5ebc88bcff
🔖 (patch) release version 1.22.1
...
Update all version files and changelog for patch release.
2026-01-22 11:10:44 +00:00
Quentin BEY
a65e61bd96
🔒 ️(organization) the first user is not admin
...
The first user of a organization is probably not an admin.
This was implemented for first tests but for now it's more
a security issue than something helpful.
FIXES #775
2026-01-22 11:26:58 +01:00
Marie PUPO JEAMMET
b8beb56135
🐛 (admin) fix broken alias import
...
fix admin action to sync aliases of a given domain
2026-01-21 17:30:30 +00:00
mjeammet
37e5b5b346
🌐 (i18n) update translated strings
...
Update translated files with new translations
2026-01-20 12:29:49 +00:00
Marie PUPO JEAMMET
31201fbd59
🔖 (minor) release version 1.22.0
...
Update all version files and changelog for minor release.
2026-01-20 12:29:49 +00:00
Marie PUPO JEAMMET
54219d25b8
✅ (tests) update auth-related tests after bumping django-lasuite
...
update the expected number of queries in authentication-related tests
due to bumping django-lasuite to 0.0.22
2026-01-19 10:09:29 +00:00
renovate[bot]
89e7703d53
⬆️ (dependencies) update python dependencies
...
keep django < 6.0 for compatibility with django-celery-beat
See https://github.com/celery/django-celery-beat/issues/977
2026-01-19 10:09:29 +00:00
Marie PUPO JEAMMET
7d44e54913
✨ (admin) manage aliases from admin
...
manage aliases from admin, including alias creation,
deletion and sync
2026-01-16 15:19:37 +00:00
Marie PUPO JEAMMET
01583ba94f
🐛 (aliases) sort aliases by local part
...
sort aliases by local part to ease front-end interface
2026-01-16 15:19:37 +00:00
Marie PUPO JEAMMET
5feee53bdd
🔒 ️(security) upgrade python version to fix vulnerability
...
Vulnerability in jaraco.context caused security issue
in setuptools and python3. change python version to fix
see https://github.com/advisories/GHSA-58pv-8j8x-9vj2
2026-01-16 11:23:55 +00:00
Marie PUPO JEAMMET
9c62efc9f8
🐛 (dimail) authorize alias and mailbox with same local part
...
a mailbox and alias can coexist despite having the same local part
2026-01-15 10:29:49 +00:00
Marie PUPO JEAMMET
d2ef9e0beb
🐛 (dimail) ignore oxadmin mailboxes when importing mailboxes
...
oxadmin mailbox are technical mailboxes used by dimail. It should
not be imported when importing mailboxes from dimail.
2026-01-15 10:29:49 +00:00
Marie PUPO JEAMMET
bc1cbef168
✨ (aliases) delete all aliases of a given local part
...
added a bulk delete method for aliases, when filtering on local part
this is convenient when in need to delete the local part and all its
destinations in a single call
2026-01-12 14:31:53 +00:00
Marie PUPO JEAMMET
f498e3b6d2
♻️ (lint) mark a few dimail methods as private
...
mark a few dimail methods as private, to calm linter
2026-01-12 14:31:53 +00:00
Marie PUPO JEAMMET
e47573e22f
✨ (aliases) delete aliases
...
delete a single alias using its pk
2026-01-12 14:31:53 +00:00
Sabrina Demagny
c7aab6f5b5
🔥 (plugins) remove CommuneCreation plugin
...
Remove the French communes auto-provisioning plugin that handled
SIRET lookup, DNS setup, and MailDomain creation.
2026-01-09 09:38:01 +01:00
Marie PUPO JEAMMET
30aea9b350
🔖 (minor) release version 1.21.0
...
Update all version files and changelog for minor release.
2025-12-05 16:34:06 +00:00
Marie PUPO JEAMMET
e01b422c13
✨ (mailboxes) check imported mailboxes don't clash with existing alias
...
check that dimail imported mailboxes don't use the same username
as existing aliases.
2025-12-05 15:03:17 +00:00
Marie PUPO JEAMMET
040f949e5e
✨ (aliases) import existing aliases from dimail
...
import existing aliases from dimail, making sure usernames don't clash with
existing mailboxes. Convenient when people fall out of sync
with dimail or for domains partially operated outside people.
2025-12-05 15:03:17 +00:00
renovate[bot]
befcecf33c
⬆️ (dependencies) update django to v5.2.9 [SECURITY]
2025-12-04 13:21:36 +00:00
Marie PUPO JEAMMET
3a2b5a6428
🛂 (permissions) return 404 to users with no domain access
...
users having no domain access should be forbidden to know the domain is
managed in people. To this effect, 403_FORBIDDEN responses have been
replaced by 404_NOT_FOUND.
2025-11-21 17:04:20 +00:00
Marie PUPO JEAMMET
15337a2226
✨ (aliases) warn that domain is out of sync when unexpected 404
...
deleting an alias should trigger a request to dimail. if dimail's
response if a 404, it means people and dimail are out of sync with
each other. log error and warn user
2025-11-20 11:24:59 +00:00
Marie PUPO JEAMMET
0f7e312eb6
✨ (mailboxes) cannot create mailbox with same local part as alias
...
should not be able to create a mailbox having the same local part as an alias
2025-11-20 11:24:59 +00:00
Marie PUPO JEAMMET
23561cd0e0
🔥 (sops) remove obsolete sops file
...
remove obsolete sops file
2025-11-20 11:24:59 +00:00
Marie PUPO JEAMMET
53d0336755
✨ (aliases) delete aliases
...
add feature to delete aliases
2025-11-20 11:24:59 +00:00
Marie PUPO JEAMMET
b79e12b4be
✨ (aliases) list aliases
...
Can GET a list of all aliases of a domain
2025-11-20 11:24:59 +00:00
Marie PUPO JEAMMET
c237bb4b10
✨ (aliases) create aliases
...
allow domain managers to create aliases on their domain
2025-11-20 11:24:59 +00:00
renovate[bot]
64068efff4
⬆️ (dependencies) update django to v5.2.8 [SECURITY]
2025-11-06 00:11:45 +01:00
renovate[bot]
6866babb32
⬆️ (dependencies) update Brotli to v1.2.0 [SECURITY]
2025-11-06 00:11:04 +01:00
mjeammet
33faa5f224
🌐 (i18n) update translated strings
...
Update translated files with new translations
2025-10-22 10:18:21 +00:00
Marie PUPO JEAMMET
99967b450e
🔖 (minor) release version 1.20.0
...
Update all version files and changelog for minor release.
2025-10-22 10:18:21 +00:00
Marie PUPO JEAMMET
71a7bf688f
🐛 (mailbox) fix case-sensitive duplicate display names
...
uniqueness on first name + last name was case-sensitive, which allowed
duplicates
2025-10-22 08:22:48 +00:00
Marie PUPO JEAMMET
4262f469d6
♻️ (tests) refacto dimail tests with fixtures
...
test_api_mailboxes_create exceeded 1000 lines. By using fixtures, we can
at least factorize dimail response when token is ok or mailbox_data sent
to our API when creating a mailbox.
2025-10-14 10:00:28 +00:00
Marie PUPO JEAMMET
b24cb23a83
✨ (models) impose uniqueness on display name, to match ox's constraint
...
OpenXchange's primary key is display name (= first name + last name).
It must be unique in the domain's context. We don't have context info
but we can impose uniqueness by domain.
2025-10-14 10:00:28 +00:00
Marie PUPO JEAMMET
608f8c6988
🐛 (dimail) grab duplicate displayname error
...
OpenXchange's primary key is display name (= first name + last name).
In absence of clear error message from dimail (yet), we catch errors 500 and
check if they're not due to the display name already existing in the context
2025-10-14 10:00:28 +00:00
renovate[bot]
6b8cb16bd5
⬆️ (dependencies) update django to v5.2.7 [SECURITY]
2025-10-13 08:50:32 +00:00
Laurent Bossavit
230ff21220
✨ (mailbox) synchronize password of newly created mailbox with Dimail's
...
When using La Régie as Identity Provider this allows signing in.
2025-09-23 17:40:08 +02:00
mjeammet
80da8bea74
🌐 (i18n) update translated strings
...
Update translated files with new translations
2025-09-19 17:04:02 +02:00
Marie PUPO JEAMMET
76f4bf36c7
🔖 (patch) release version 1.19.1
...
Update all version files and changelog for patch release.
2025-09-19 17:04:02 +02:00
Marie PUPO JEAMMET
0ad60ab292
⬆️ (backend) bump Django to 5.2.6
...
Bump Django version to 5.2.6, fixing CVE-2025-57833. See
https://www.djangoproject.com/weblog/2025/sep/03/security-releases/
2025-09-15 14:36:26 +02:00
mjeammet
0875fae87b
🌐 (i18n) update translated strings
...
Update translated files with new translations
2025-09-03 11:52:42 +02:00
Marie PUPO JEAMMET
668a296142
🔖 (minor) release version 1.19.0
...
Update all version files and changelog for minor release.
2025-09-03 11:52:42 +02:00