Fix FLEXIAPI-361 Prepare the 2.0 release

This commit is contained in:
Timothée Jaussoin 2025-07-17 16:19:25 +02:00
parent a5eeb06055
commit a876a8cf82
5 changed files with 38 additions and 16 deletions

View file

@ -1,5 +1,9 @@
# Flexisip Account Manager Changelog # Flexisip Account Manager Changelog
v2.1
----
- Fix FLEXIAPI-282 Migrate to Laravel 11 and PHP 8.2+
v2.0 v2.0
---- ----
- Fix FLEXIAPI-205 Remove the deprecated endpoints, compatibility code documentation and tests. Drop the confirmation_key accounts column and activation_expirations table - Fix FLEXIAPI-205 Remove the deprecated endpoints, compatibility code documentation and tests. Drop the confirmation_key accounts column and activation_expirations table
@ -70,6 +74,7 @@ v2.0
- Fix FLEXIAPI-312 Add Redis publish event when updating the externalAccount to ping the Flexisip B2BUA - Fix FLEXIAPI-312 Add Redis publish event when updating the externalAccount to ping the Flexisip B2BUA
- Fix FLEXIAPI-363 Send the Redis publish event when the externalAccount is deleted to ping the Flexisip B2BUA - Fix FLEXIAPI-363 Send the Redis publish event when the externalAccount is deleted to ping the Flexisip B2BUA
- Fix FLEXIAPI-364 Fix a faulty redirection in the ExternalAccount controller - Fix FLEXIAPI-364 Fix a faulty redirection in the ExternalAccount controller
- Fix FLEXIAPI-361 Prepare the 2.0 release
v1.6 v1.6
---- ----

View file

@ -17,7 +17,7 @@ Flexisip is dual licensed, and can be licensed and distributed:
# Documentation # Documentation
Once deployed you can have access to the global and API documentation on the `/api` and `/documentation` pages. Once deployed you can have access to the global and API documentation on the `/api` and `/provisioning/documentation` pages.
# Setup # Setup
@ -25,7 +25,6 @@ Check the [INSTALL.md](INSTALL.md) and [CHANGELOG.md](CHANGELOG.md) files.
## Usage ## Usage
For the web panel, a general documentation is available under the `/documentation` page.
For the REST API, the `/api` page contains all the required documentation to authenticate and request the API. For the REST API, the `/api` page contains all the required documentation to authenticate and request the API.
FlexiAPI is also providing endpoints to provision Liblinphone powered devices. You can find more documentation about it on the `/provisioning/documentation` documentation page. FlexiAPI is also providing endpoints to provision Liblinphone powered devices. You can find more documentation about it on the `/provisioning/documentation` documentation page.
@ -41,7 +40,7 @@ Create or update a Space, required to then create accounts afterward. The `super
### Import the old DotEnv instance configuration into a Space ### Import the old DotEnv instance configuration into a Space
Since 1.7 some environnement instance configuration variables were moved into the Space configuration, you can import them using this command. Since 2.0 some environnement instance configuration variables were moved into the Space configuration, you can import them using this command.
php artisan spaces:import-configuration-from-dot-env {sip_domain} php artisan spaces:import-configuration-from-dot-env {sip_domain}

View file

@ -12,6 +12,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
- **New mandatory DotEnv variable** `APP_ROOT_HOST`, replaces `APP_URL` and `APP_SIP_DOMAIN` that are now configured using the new dedicated Artisan script. It defines the root hostname where all the Spaces will be configured. All the Spaces will be as subdomains of `APP_ROOT_HOST` except one that can be equal to `APP_ROOT_HOST`. Example: if `APP_ROOT_HOST=myhost.com` the Spaces hosts will be `myhost.com`, `alpha.myhost.com` , `beta.myhost.com`... - **New mandatory DotEnv variable** `APP_ROOT_HOST`, replaces `APP_URL` and `APP_SIP_DOMAIN` that are now configured using the new dedicated Artisan script. It defines the root hostname where all the Spaces will be configured. All the Spaces will be as subdomains of `APP_ROOT_HOST` except one that can be equal to `APP_ROOT_HOST`. Example: if `APP_ROOT_HOST=myhost.com` the Spaces hosts will be `myhost.com`, `alpha.myhost.com` , `beta.myhost.com`...
- **New DotEnv variable:** `APP_ACCOUNT_RECOVERY_TOKEN_EXPIRATION_MINUTES=0` Number of minutes before expiring the recovery tokens - **New DotEnv variable:** `APP_ACCOUNT_RECOVERY_TOKEN_EXPIRATION_MINUTES=0` Number of minutes before expiring the recovery tokens
- **New Artisan script** `php artisan spaces:create-update {sip_domain} {host} {name} {--super}`, replaces `php artisan sip_domains:create-update {sip_domain} {--super}`. Can create a Space or update a Space Host base on its Space SIP Domain. - **New Artisan script** `php artisan spaces:create-update {sip_domain} {host} {name} {--super}`, replaces `php artisan sip_domains:create-update {sip_domain} {--super}`. Can create a Space or update a Space Host base on its Space SIP Domain.
- **Push Notification endpoint** Add a /push-notification endpoint to send custom push notifications to the Flexisip Pusher
- **Add internationalisation support in the app** The web panels are now available in French and English
- **Add External Accounts** In the API and web panels, allowing users to setup an external account that can be used in another service like the B2BUA
- **Add configurable admin API Keys** Allowing admins to setup non-expiring services API Keys
- **Add provisioning email** A user can now receive a custom generated email with all the provisioning related information
- **Add API endpoints to send the password reset and provisioning emails**
- **Add an app setup wizard page** Static web page inviting the users to download the app if it is not installed yet
### Changed ### Changed
@ -31,6 +38,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/).
- ACCOUNT_PROVISIONING_RC_FILE - ACCOUNT_PROVISIONING_RC_FILE
- ACCOUNT_PROVISIONING_OVERWRITE_ALL - ACCOUNT_PROVISIONING_OVERWRITE_ALL
- ACCOUNT_PROVISIONING_USE_X_LINPHONE_PROVISIONING_HEADER - ACCOUNT_PROVISIONING_USE_X_LINPHONE_PROVISIONING_HEADER
- **Complete and reorganize the Markdown documentation**
- **Refactor the emails templates** All the emails were modernized and are now generated in HTML
### Removed
- **Remove the deprecated endpoints** The endpoints inherited from XMLRPC are now completely removed
### Migrate from [1.6] ### Migrate from [1.6]
@ -73,19 +86,27 @@ php artisan spaces:import-configuration-from-dot-env {sip_domain}
You can find more details regarding those steps in the [`INSTALL.md`](INSTALL.md) and [`README.md`](README.md) files. You can find more details regarding those steps in the [`INSTALL.md`](INSTALL.md) and [`README.md`](README.md) files.
### Deprecated
- **Last major version supporting the deprecated endpoints of the API**
## [1.6] - 2024-12-30 ## [1.6] - 2024-12-30
### Added ### Added
- **Phone validation** Phone numbers are now strictly validated and countries can be enabled disabled to prevent spam - **Allow the expiration of tokens and codes in the DotEnv configuration**
- **SIP Domains** Account SIP domains can now be managed from the UI and API - **New DotEnv variables:** check all the new `*_EXPIRATION_MINUTES` for each token and code in `.env.example`
- **CoTURN Credential** Get CoTURN credentials from the API - **Phone validation system by country code:** all the provided phone numbers are now properly validated and some countries can be forbidden
- **SIP Domain management:** the account domains are now managed in a set of panels and API endpoints, this is the base of the upcoming space administration system
- **JSON validation in the API:** the provised JSON is now validated and returns an error if an issue is detected
- **CoTURN credentials support:** TURN credentials can now be generated and return through the provisioning feature
- **RFC 8898 Support** - **RFC 8898 Support**
## Changed
- **Replace Material Icons with Phosphor**
## Deprecated
- **Last major version supporting the deprecated endpoints of the API**
### Migrate from [1.5] ### Migrate from [1.5]
Nothing specific to do Nothing specific to do

View file

@ -13,11 +13,6 @@ TERMS_OF_USE_URL= # A URL pointing to the Terms of Use
PRIVACY_POLICY_URL= # A URL pointing to the Privacy Policy PRIVACY_POLICY_URL= # A URL pointing to the Privacy Policy
APP_PROJECT_URL= # A URL pointing to the project information page APP_PROJECT_URL= # A URL pointing to the project information page
LOG_CHANNEL=stack
# Risky toggles
APP_DANGEROUS_ENDPOINTS=false # Enable some dangerous endpoints used for XMLRPC like fallback usage
# Expiration time for tokens and code, in minutes, 0 means no expiration # Expiration time for tokens and code, in minutes, 0 means no expiration
APP_API_ACCOUNT_CREATION_TOKEN_RETRY_MINUTES=60 # Number of minutes between two consecutive account_creation_token creation APP_API_ACCOUNT_CREATION_TOKEN_RETRY_MINUTES=60 # Number of minutes between two consecutive account_creation_token creation
APP_ACCOUNT_CREATION_TOKEN_EXPIRATION_MINUTES=0 APP_ACCOUNT_CREATION_TOKEN_EXPIRATION_MINUTES=0
@ -63,6 +58,7 @@ REDIS_DB=
# Logs # Logs
# Ensure that you have the proper SELinux configuration to write in the storage directory, see the README # Ensure that you have the proper SELinux configuration to write in the storage directory, see the README
LOG_CHANNEL=stack
BROADCAST_DRIVER=log BROADCAST_DRIVER=log
CACHE_DRIVER=file CACHE_DRIVER=file
QUEUE_CONNECTION=sync QUEUE_CONNECTION=sync

View file

@ -46,6 +46,7 @@ p .btn.oppose {
pointer-events: none; pointer-events: none;
} }
.btn:focus-visible,
.btn:hover { .btn:hover {
background-color: var(--main-6); background-color: var(--main-6);
border-color: var(--main-6); border-color: var(--main-6);
@ -311,8 +312,8 @@ form div select:hover {
border-color: var(--second-4); border-color: var(--second-4);
} }
form div input:focus-visible, form div input:not(.btn):focus-visible,
form div input:active, form div input:not(.btn):active,
form div textarea:focus-visible, form div textarea:focus-visible,
form div textarea:active { form div textarea:active {
color: var(--main-5); color: var(--main-5);