# changelog

author: Jose Rivera <miguel@vitalpbx.com> 2.3.1-2
changelog:
  - Fix the way for retrieve the allowed features by a feature category
  - Introduce New IVR Stats version with MT compatibility


author: Jose Rivera <miguel@vitalpbx.com> 2.3.1-3
changelog:
  - Bump to version 2.3.1 Revision 3
  - Suggest to apply changes when a hot desking device is created or edited
  - Add search for pickup groups
  - Rename Pickup Groups to Hunting Groups
  - Fix script for resetting password
  - Improve labels and tooltips on trunks dialog
  - Update Portuguese translations
  - Handle any exceptions for CID Lookup scripts
  - Set right permissions for tenant folders
  - Use the defined moh for any ring strategy on Ring Groups
  - Core fixes and Improvements


author: Jose Rivera <miguel@vitalpbx.com> 2.3.3-1
changelog:
  - Fix permissions for MOH groups
  - Fix attachment format for Voicemail
  - Improve fail2ban configurations and Performance
  - Fix ringback tone on queues
  - Allow custom SIP/PJSIP headers when trunks are set to text mode
  - Show destinations on secondaries tenants when switch from Admin Account
  - Don't allow to create let's encrypt certificate if doesn't provide a valid FQDN
  - Don't break Apache service when assign invalid certificate
  - Show portal users again in users module
  - Add a better support for Carrier and Enterprise licensing
  - Make Sonata Communicator Server compatible with MT environment
  - Don't enable Sonata Communicator Server with VitalBPX licenses
  - Allow to distribute SCOM Server per tenant
  - Make MT license per amount of tenant
  - Update translations (en_US, es_NI)
  - Allow to use Main Tenant as Gateway for Outbound and Inbound Calls of other tenats
  - Core fixes and Improvements
  - Introduce Asterisk 16.3.0


author: Jose Rivera <miguel@vitalpbx.com> 2.3.4-1
changelog:
  - Introduce API v2
  - Introduce Asterisk 16.4.0
  - Add backward compatibility with the old licensing system
  - Improve Add-ons licensing
  - Don't break extensions importing when provided CoS doesn't exists
  - Don't break global search when current user has access to portal but has no extension assigned
  - Fix script for processing incoming fax
  - Fix labels on confirmations dialogs for power-off or restart the PBX
  - Generate the pickup extension according to the feature codes configurations
  - Fix generation of fail2ban configurations
  - Enable Autofill parameter on queues by Default
  - Fix certificates privileges in order to be accesible by asterisk
  - Allow to assign tenants through users dialog
  - Fix prompts for "Add/Remove Queue Agent" feature
  - Add queue parameter to avoid phone notifications when call is answered for someone else
  - Don't generate unnecessary CDR entries when calling a queue
  - Add local channel modifier to avoid duplicated cdr entries on CDR
  - Add an option to enable/disable the ping (ICMP)
  - Set static members as default member types on queues
  - Update Spanish and Russian Translations
  - Core Fixes & Improvements


author: Jose Rivera <miguel@vitalpbx.com> 2.3.4-2
changelog:
  - Allow to users to update its password through the user profile module
  - Exclude fax folder when a backup is performed to avoid permissions issues
  - Regenerate devices configurations when an extension is deleted
  - Send app name when registering new installation subscriber
  - Read tenant limitations in the right way
  - Add command to reconfigure all tenants
  - Don't break configurations generation when no files provided by module
  - Allow to handle same trunk provider for multiple tenants


author: Jose Rivera <miguel@vitalpbx.com> 2.3.5-1
changelog:
  - First Release Candidate
  - Make possible to add custom certificates
  - Allow including custom contexts on dialing restriction rules.
  - Make possible to perform CID Modification dynamically from MySQL or HTTP Request.
  - Add new field named "Answered Elsewhere" to prevents record missed calls on Ring Groups
  - Calls performed through "Direct Dial" feature now returns to the IVR and respect the available tries
  - Allow the HTTPS port for the Sonata Switchboard by Default
  - The Trunk from where calls are sent/received is saved as part of the CDR for future reports and statistics
  - When a portal user was updated from the user's dialog, the assigned extension was getting removed from the user.
  - The "parked" value has been replaced by "callee"  in the "Courtesy Tone" field. Setting this value on parking configurations it produces to collapsing the parking drive on Asterisk.
  - When deleting a tenant with the user "admin" assigned, this user was getting deleted along with the tenant, leaving the system without admin access.
  - On environments with more that one trunk with the same providers the calls were sent to an invalid context. This was avoiding apply certain settings defined in the trunk.
  - When dialing to an unconnected PJSIP device the dial application crashed due to the empty value generated by the function "PJSIP_DIAL_CONTACTS"
  - Invalid dials were marked as answered calls
  - The status of connected devices were not shown correctly on secondary tenants
  - The script for checking the dynamic routing status was not working as expected. The calls were not sent to the desired destination


author: Jose Rivera <miguel@vitalpbx.com> 2.3.5-2
changelog:
  - Use named call groups and pickup groups to don't limit the amount of allowed groups
  - Add support for queues callback
  - Presenting queues callback add-on
  - Add command to clean fail2ban databse & logs
  - Add support for external phone books
  - Allow to use external phone books as CID Looup source
  - Generate required configurations when creating a new tenant
  - Allow to use Voicemail Directory depending on callers tenant
  - Generate auth codes per tenant
  - Avoid overwriting CID info of secondary tenants when the main tenant is used as Gateway
  - Don't use special characters on Fax Devices


author: Jose Rivera <miguel@vitalpbx.com> 2.3.5-3
changelog:
  - Allow to change main tenant name from branding add-on (PRO Version Only)
  - Allow to define external prefix for external phone books
  - Allow to change the default music on hold
  - Allow to Play random MoH
  - Fix destinations for Outbound Routes & Trunks
  - It was not possible add dynamic participants to conferences on secondary tenants
  - Fix Queues callback RPM
  - Core Improvements


author: Jose Rivera <miguel@vitalpbx.com> 2.3.6-1
changelog:
  - Fix some GUI Styles
  - Fix delete validation on extensions
  - Don't overwrite CID provided by secondary tenants
  - Introduce the GEO Firewall add-on
  - Fix the CID Management save action
  - Introduce external contacts on phone-book
  - Allow to use external phone-books as CID Lookup source
  - Allow to change main tenant name from branding add-on
  - Introduce Queues Callback
  - Fix script for reset the queues stats
  - Introduce Hebrew Prompts
  - Allow to define the default music on hold from GUI


author: Jose Rivera <miguel@vitalpbx.com> 2.3.7-1
changelog:
  - Now it is possible to know the expiration date & time of a VitalPBX's subscription
  - Use descriptive names on call recordings to easily recognize them
  - Fix trunk pass-through dialplan
  - Add required files to enable CEL events
  - Add setting to show or not login panel for Sonata add-ons
  - Fix exporting function for speed dials
  - Build SQLite info per extension after performing a bulk modification
  - Allow sharing ARS from main tenant to secondaries tenants
  - Introduce new parameters on PJSIP profile
  - Add voicemail actions to API
  - Allow to edit parking lots extension
  - Don't overwrite MoH configured on secondary tenant trunks when the main tenant is used as a gateway
  - Allow defining which caller ID will be sent when performing a diversion
  - Avoid auto-complete function across the GUI
  - Allow defining initial ring time for follow-me
  - Deprecate "Softphone Licensing Server" add-on
  - Add phonebook actions on API
  - Introduce DID Range Mapping on Inbound Routes
  - Update GEO firewall IP addresses
  - Fix personal assistant dialplan
  - Allow customizing thanks message on queues callback
  - Allow to skip pin sets when calls come from queues callback
  - build SQLite info after perform a bulk modification for extensions
  - Refactor follow-me dialplan


author: Jose Rivera <miguel@vitalpbx.com> 2.3.8-1
changelog:
  - Update italian translations
  - Play ringback tones instead of MoH when queue moh class is set to None
  - Fully record calls when record option on the inbound routes is set to "yes"
  - Allow select/unselect all countries at once on geo-firewall add-on
  - Allow selecting/unselect countries through the module menu on geo-firewall add-on
  - Avoid call looping when the dialing manipulation rules are ambiguous on trunks
  - Allow inherit the cid name prefix between queues
  - Sort extensions menu by extension number
  - Fix transfer options for outgoing calls
  - Allow defining to whom dials first on queues callback
  - Allow globally configuring the search frequency for scheduled queue callbacks
  - Core fixes & improvements


author: Jose Rivera <miguel@vitalpbx.com> 2.3.8-2
changelog:
  - Block common SIP scanners by default
  - Don't break extensions module when an extension is assigned to an invalid FXO channel or to a DID range
  - Add timeout parameter to the CID Lookup and CID Management module
  - Don't mix pickup feature between tenants
  - Add OpenVPN settings to VitalPBX's backup
  - Allow to backup and restore voicemail folder
  - Add certificates folder to VitalPBX's backup
  - Allow restoring backups from CLI
  - Core improvements
  - i18n updates


author: Jose Rivera <miguel@vitalpbx.com> 2.3.9-1
changelog:
  - Release candidate
  - Add new video modes to conferences
  - Block brute force attacks to http service
  - Filter generated parameters on trunks
  - Introduce multiple settings on PJSIP trunks
  - Add Technology profiles on trunks
  - Fix queues compatibility with follow-me
  - Allow to schedule paging items
  - Allow to invert time conditions temporary or permanently
  - Add partial korean translations
  - DialPlan and Core Improvements


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-1
changelog:
  - Introduce VitalPBX Communicator
  - Update API core
  - Include Click to Call enpoint on the API
  - Update Phone Books
  - Improve trunks dialplan
  - Improve main dialplan
  - Use new API for let's encrypt certificates
  - Update Fail2ban configurations
  - Add different firewalld ipsets for blocking most common attackers
  - Improve RPM installaion process
  - Update Russian and Spanish translations
  - Refactor "My Voicemail" module
  - Introduce Paing PRO add-on
  - Sanitize tenants name and prefix


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-3
changelog:
  - Virtual faxes were not receiving faxes when sender CID name wasn't provided
  - Paging and Intercom features were not working with PJSIP protocol
  - Trunks headers were not sent when using PJSIP protocol
  - The time conditions BLF get stuck when loosing database connection
  - Update communicator translations
  - Update Russian translations


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-4
changelog:
  - Sanitize campaign headers for VCOM
  - Add upgrade options for fanvil's X4 models
  - Fix time zone generation for fanvils phones
  - Allow to assign shared outbound profiles on the class of services of secondaries tenants
  - Don't enable auto-answer feature if the callee has an state different to NOT_INUSE
  - Fix method to retrieve disk partitions
  - Send no answered calls to voicemail busy instead of VM unavailable
  - Allow duplicated phones on VCOM campaigns
  - Add new headers for intercom feature


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-5
changelog:
  - Respect IVR flow no matter what CoS has been selected for Free Dial option
  - Improve backup options for largest sets of recordings
  - Show date and time according to the user timezone on the IVR stats report
  - Force call recording during diversions, when these diversions come from APPs like queues, ring groups, etc


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-6
changelog:
  - Don't override portal users when updating the extension info
  - On follow me, don't prompt callee if the extension is internal
  - Load firewall blacklist in memory to avoid issues when restarting firewall-d
  - Don't backup un-existing folders to avoid unexpected exceptions
  - Add missed parameter on trunks for PJSIP registrations


author: Jose Rivera <miguel@vitalpbx.com> 2.4.0-6
changelog:
  - Don't override portal users when updating the extension info
  - On follow me, don't prompt callee if the extension is internal
  - Load firewall blacklist in memory to avoid issues when restarting firewall-d
  - Don't backup un-existing folders to avoid unexpected exceptions
  - Add missed parameter on trunks for PJSIP registrations
  - Fix follow-me feature on MT environment
  - Answer calls before call forwarding
  - Update PValues for GXP21XX
  - Update Geo Firewall zones
  - Give High priority to the Emergency CID
  - Use global email settings to use on from parameter for Virtual Faxes
  - Force tenants name to be alphanumeric
  - Allow to share trunks to be used as emergency trunks on secondary tenants
  - Allow enable/disable DND directly


author: Jose Rivera <miguel@vitalpbx.com> 2.4.1-1
changelog:
  - Fix IAX2 register string load
  - Set default type of queue members as dynamic
  - Allow to renovate let's encrypt certificates when HTTPS is forced
  - Use apache reverse proxy to load dashboard info
  - Allow to customize more elements when having a branding license
  - Update Italian translations


author: Jose Rivera <miguel@vitalpbx.com> 2.4.1-2
changelog:
  - Fix dashboard when GUI is accessed trough uncommon HTTP/HTTPS ports
  - Add white list zone to avoid IP address on whitelist be blocked by GEO firewall


author: Jose Rivera <miguel@vitalpbx.com> 2.4.1-3
changelog:
  - Make communicator add-on MT capable
  - Make Virtual Faxes add-on MT capable
  - Fix paging skip busy option
  - Fix courtesy tone in the parking module
  - Fix duplicated contexts


