❌

Normale weergave

Part-DB 2.4.0

Door: jbtronics
4 Januari 2026 om 22:13

Part-DB 2.4.0

Tip

If you like Part-DB, consider donating to support the development. Press the sponsor button on the main github page, for more info.

Important

If you are using Part-DB it would be helpful if you fill out this short survey on your usage of Part-DB (Google Forms): https://forms.gle/Q15twx3YYq3qCNfe8

New features

  • Added info provider for Buerklin (thanks to @mkne, #1151)
  • Show part IDs in project BOMs

Improvements

  • Use more performant hash algorithms for cache keys
  • Increase label generator PDF preview height to show PDF toolbar (@mkne , #1171)
  • Show info provider capabilities in fixed order

Bug fixes

  • Fixed exception if DigiKey has no media for a part (#1154)

Miscellaneous

  • Updated dependencies

New Contributors

Full Changelog: v2.3.0...v2.4.0

  •  

Asterisk Release 22.7.0

20 November 2025 om 21:00

The Asterisk Development Team would like to announce
the release of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0

Links:

Summary:

  • Commits: 52
  • Commit Authors: 16
  • Issues Resolved: 36
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 21.12.0

20 November 2025 om 20:48

The Asterisk Development Team would like to announce
the release of asterisk-21.12.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 21.12.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-21.12.0

Links:

Summary:

  • Commits: 20
  • Commit Authors: 10
  • Issues Resolved: 13
  • Security Advisories Resolved: 0

User Notes:

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

Developer Notes:

Commit Authors:

  • Bastian Triller: (1)
  • Ben Ford: (1)
  • George Joseph: (4)
  • Igor Goncharovsky: (1)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (4)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • phoneben: (1)

  •  

Asterisk Release 23.1.0

20 November 2025 om 19:13

The Asterisk Development Team would like to announce
the release of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0

Links:

Summary:

  • Commits: 53
  • Commit Authors: 17
  • Issues Resolved: 37
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Allan Nathanson: (1)
  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 20.17.0

20 November 2025 om 19:12

The Asterisk Development Team would like to announce
the release of asterisk-20.17.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.17.0
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.17.0

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.17.0

Links:

Summary:

  • Commits: 50
  • Commit Authors: 16
  • Issues Resolved: 34
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (1)
  • Christoph Moench-Tegeder: (1)
  • George Joseph: (9)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (6)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (17)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-mucw: (1)
  • gauravs456: (1)
  • phoneben: (2)

  •  

Asterisk Release 23.1.0-rc2

13 November 2025 om 18:16

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 22.7.0-rc2

13 November 2025 om 18:15

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 21.12.0-rc2

13 November 2025 om 18:14

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-21.12.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/21.12.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 21.12.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-21.12.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 20.17.0-rc2

13 November 2025 om 18:14

The Asterisk Development Team would like to announce
release candidate 2 of asterisk-20.17.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/20.17.0-rc2
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 20.17.0-rc2

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-20.17.0-rc2

Links:

Summary:

  • Commits: 1
  • Commit Authors: 1
  • Issues Resolved: 1
  • Security Advisories Resolved: 0

User Notes:

Upgrade Notes:

Developer Notes:

Commit Authors:

  • George Joseph: (1)

Issue and Commit Detail:

Closed Issues:

  • 1578: [bug]: Deadlock with externalMedia custom channel id and cpp map channel backend

Commits By Author:

  • George Joseph (1):

Commit List:

  • channelstorage: Allow storage driver read locking to be skipped.

Commit Details:

channelstorage: Allow storage driver read locking to be skipped.

Author: George Joseph
Date: 2025-11-06

After PR #1498 added read locking to channelstorage_cpp_map_name_id, if ARI
channels/externalMedia was called with a custom channel id AND the
cpp_map_name_id channel storage backend is in use, a deadlock can occur when
hanging up the channel. It's actually triggered in
channel.c:__ast_channel_alloc_ap() when it gets a write lock on the
channelstorage driver then subsequently does a lookup for channel uniqueid
which now does a read lock. This is an invalid operation and causes the lock
state to get "bad". When the channels try to hang up, a write lock is
attempted again which hangs and causes the deadlock.

Now instead of the cpp_map_name_id channelstorage driver "get" APIs
automatically performing a read lock, they take a "lock" parameter which
allows a caller who already has a write lock to indicate that the "get" API
must not attempt its own lock. This prevents the state from getting mesed up.

The ao2_legacy driver uses the ao2 container's recursive mutex so doesn't
have this issue but since it also implements the common channelstorage API,
it needed its "get" implementations updated to take the lock parameter. They
just don't use it.

Resolves: #1578

  •  

Asterisk Release 22.7.0-rc1

30 Oktober 2025 om 17:17

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-22.7.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/22.7.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 22.7.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-22.7.0-rc1

Links:

Summary:

  • Commits: 53
  • Commit Authors: 16
  • Issues Resolved: 35
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • pjsip: Move from threadpool to taskpool

    The threadpool_* options in pjsip.conf have now
    been deprecated though they continue to be read and used.
    They have been replaced with taskpool options that give greater
    control over the underlying taskpool used for PJSIP. An alembic
    upgrade script has been added to add these options to realtime
    as well.

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • Gauravs456: (1)
  • George Joseph: (8)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (8)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Phoneben: (2)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-Mucw: (1)

  •  

Asterisk Release 23.1.0-rc1

30 Oktober 2025 om 17:15

The Asterisk Development Team would like to announce
release candidate 1 of asterisk-23.1.0.

The release artifacts are available for immediate download at
https://github.com/asterisk/asterisk/releases/tag/23.1.0-rc1
and
https://downloads.asterisk.org/pub/telephony/asterisk

Repository: https://github.com/asterisk/asterisk
Tag: 23.1.0-rc1

This release resolves issues reported by the community
and would have not been possible without your participation.

Thank You!

Change Log for Release asterisk-23.1.0-rc1

Links:

Summary:

  • Commits: 54
  • Commit Authors: 17
  • Issues Resolved: 36
  • Security Advisories Resolved: 0

User Notes:

  • res_stir_shaken: Add STIR_SHAKEN_ATTESTATION dialplan function.

    The STIR_SHAKEN_ATTESTATION dialplan function has been added
    which will allow suppressing attestation on a call-by-call basis
    regardless of the profile attached to the outgoing endpoint.

  • func_channel: Allow R/W of ADSI CPE capability setting.

    CHANNEL(adsicpe) can now be read or written to change
    the channels' ADSI CPE capability setting.

  • func_hangupcause.c: Add access to Reason headers via HANGUPCAUSE()

    Added a new option to HANGUPCAUSE to access additional
    information about hangup reason. Reason headers from pjsip
    could be read using 'tech_extended' cause type.

  • func_math: Add DIGIT_SUM function.

    The DIGIT_SUM function can be used to return the digit sum of
    a number.

  • app_sf: Add post-digit timer option to ReceiveSF.

    The 't' option for ReceiveSF now allows for a timer since
    the last digit received, in addition to the number-wide timeout.

  • app_dial: Allow fractional seconds for dial timeouts.

    The answer and progress dial timeouts now have millisecond
    precision, instead of having to be whole numbers.

  • chan_dahdi: Add DAHDI_CHANNEL function.

    The DAHDI_CHANNEL function allows for getting/setting
    certain properties about DAHDI channels from the dialplan.

Upgrade Notes:

  • pjsip: Move from threadpool to taskpool

    The threadpool_* options in pjsip.conf have now
    been deprecated though they continue to be read and used.
    They have been replaced with taskpool options that give greater
    control over the underlying taskpool used for PJSIP. An alembic
    upgrade script has been added to add these options to realtime
    as well.

  • app_queue.c: Fix error in Queue parameter documentation.

    As part of Asterisk 21, macros were removed from Asterisk.
    This resulted in argument order changing for the Queue dialplan
    application since the macro argument was removed. Upgrade notice was
    missed when this was done, so this upgrade note has been added to
    provide a record of such and a notice to users who may have not upgraded
    yet.

  • res_audiosocket: add message types for all slin sample rates

    New audiosocket message types 0x11 - 0x18 has been added
    for slin12, slin16, slin24, slin32, slin44, slin48, slin96, and
    slin192 audio. External applications using audiosocket may need to be
    updated to support these message types if the audiosocket channel is
    created with one of these audio formats.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The threadpool_* options in stasis.conf have now been deprecated
    though they continue to be read and used. They have been replaced with taskpool
    options that give greater control over the underlying taskpool used for stasis.

Developer Notes:

  • chan_pjsip: Add technology-specific off-nominal hangup cause to events.

    A "tech_cause" parameter has been added to the
    ChannelHangupRequest and ChannelDestroyed ARI event messages and a "TechCause"
    parameter has been added to the HangupRequest, SoftHangupRequest and Hangup
    AMI event messages. For chan_pjsip, these will be set to the last SIP
    response status code for off-nominally terminated calls. The parameter is
    suppressed for nominal termination.

  • ARI: The bridges play and record APIs now handle sample rates > 8K correctly.

    The ARI /bridges/play and /bridges/record REST APIs have new
    parameters that allow the caller to specify the format to be used on the
    "Announcer" and "Recorder" channels respecitvely.

  • taskpool: Add taskpool API, switch Stasis to using it.

    The taskpool API has been added for common usage of a
    pool of taskprocessors. It is suggested to use this API instead of the
    threadpool+taskprocessor approach.

Commit Authors:

  • Allan Nathanson: (1)
  • Anthony Minessale: (1)
  • Bastian Triller: (1)
  • Ben Ford: (2)
  • Christoph Moench-Tegeder: (1)
  • Gauravs456: (1)
  • George Joseph: (8)
  • Igor Goncharovsky: (1)
  • Joshua C. Colp: (8)
  • Max Grobecker: (1)
  • Nathan Monfils: (1)
  • Naveen Albert: (18)
  • Phoneben: (2)
  • Roman Pertsev: (1)
  • Sean Bright: (3)
  • Sven Kube: (3)
  • Tinet-Mucw: (1)

  •  

HeidiSQL Linux v12.14.1.1

11 December 2025 om 20:54

12.14.1.1 - 2025-12-11

⛰️ Features

  • Shell script for creating macOS app bundle - (af24108)
  • Support XML formatting in grid popup text editor - (913fc9d)
  • Switch to grayscale icons on inactive query tabs - (917e046)
  • Support SSH tunnel configuration per commandline - (35a5225)
  • Display some known file type icons in file open/save dialog - (b4c0566)
  • Finalize keyboard shortcut customization in preferences - (637d2d6)
  • Add new keyboard shortcut editors on preferences dialog - (cc4e6f1)
  • Keep time fractions intact for CSV exports - (06322de)
  • Use custom folder icons in tree on file dialogs, in non-Windows mode - (3094d79)
  • Show NULL values in system variables listing - (06b44eb)
  • Highlight same text in grids based on all selected rows - (afc9d8c)
  • Support fractional UNIX timestamps in grids - (65c1472)
  • Add "source table: xyz" hint to query result column headers - (2863a80)
  • Support click on path parts on top label of file dialog - (98b796b)
  • Convert all save/open dialogs to the new custom one - (4a8c53c)
  • Create file-save dialog with linebreaks selector - (d5d34ad)
  • Recreate basic TExtFileOpenDialog without OS owned dialog and room for customization - (bac0d7a)
  • Full support for different icon packs, Silk and Icons8 - (dbca69d)
  • Add 206 Silk icons into new TImageList - (769afa5)
  • Require libsybdb5 in DEB package - (e1781f9)
  • Mark MS SQL protocols like named pipe as unsupported, advise the user to change to TCP/IP - (b20f121)
  • Dirty and basic support for MS SQL - (3df3673)
  • Show more detailed backtrace in crash dialog - (bc0a7de)
  • Support SSH passwords via sshpass - (f2b2dc3)

πŸš€ Enhancements

  • Position session manager centered over main form, ignore position set by user - (571c671)
  • Align bottom buttons on session manager - (ca7aad6)
  • Set font style and color of size column in tree - (f987c81)
  • Move RightEdge on SQL editors out of sight - (2a23e26)
  • Light text color instead of ghosted/ugly icon for unseen tree nodes - (76aefb3)
  • Disable tree option asDoubleClickInsertsNodeText by default - (1c9321c)

πŸ› Bug Fixes

  • Connect MS SQL query to session transaction, run .ExecSQL - (59191da)
  • Prevent SQL delimiter being set to PostgreSQL quotes - (a3acc04)
  • Crash when grid-exporting without required key - (ff6050f)
  • Delete CLI-created session settings from registry after disconnect - (8778d40)
  • Another broken thousand separator - (24f3e36)
  • New attempt to hide SynEdit caret when unfocused - (03f4a5f)
  • A TSpeedButton connected to a TAction, and a TMenuItem were not auto-checking - (42abf46)
  • Database icon in Icons8 list too small - (dda44be)
  • Cannot save new table when added column was removed - (1fe709a)
  • Compile without MS SQL support on macOS - (9a4d841)
  • Query batch stops at second last query if it has errors but StopOnErrors is off - (6e40c62)
  • Drag'n drop on Linux requires VT.DragType = dtVCL - (4fd646c)
  • Enable drag'n drop in table editor and session manager - (9afc60f)
  • Detected empty text DEFAULT value for table columns - (4c0617d)
  • Append quick filter without linebreak - (8ea3b94)
  • Wrong icon sizes, disable right-click select for column list so selection is kept - (a145fc5)
  • Remove dead code, fix some compiler hints - (79bcd1d)
  • Bad position of TEdit on TInplaceEditorLink - (8d119a0)
  • Quick filter > "more values" submenu not created/shown - (8696e61)
  • Empty KeyStrokes list on text editor - (db00c83)
  • Broken caption on inline text edit button - (1730956)
  • User queries not showing up in log panel - (222a386)
  • Do not edit grid cell on right-click, and set HotCursor on DBtree - (0257867)
  • Flashing main form in background after cancel session manager - (0563b4d)
  • Work around empty space artifact in ShellListView - (cf9ed85)
  • Move all Application event assignments to .lpr file - (64919d6)
  • Confusion with (selected) folder icons - (b488ca2)
  • Tree with keyboard actions shows wrong captions - (5e20c53)
  • Binary result values displayed as 000... - (4322372)
  • TMySQLQuery.TableName() returns wrong string, and introduce apphelpers.GetAppDir - (bb517d7)
  • Crash in AnyGridPaintText with no query result - (59659f0)
  • Error: (4004) Variable identifier expected - (13a0127)
  • Crash in printer dialog with 0 printers available - (6eecdd8)
  • Missing file for previous commit - (857cca8)
  • Some remaining issues in the new file-open/save dialogs - (34e3f32)
  • Work around out-of-view item in left tree after FormShow - (ec4c237)
  • Navigate to directory of currently loaded file when user opens dialog for loading another file - (251f632)
  • Broken support for non UTF-8 encoding - (fe65231)
  • Prompt to overwrite only if file exists - (91de2fc)
  • Add encoding selector to file-open dialog - (56b783d)
  • Crash when app exits, with deleted TSynGutterSeparator - (00627ae)
  • Optical stuff, add bookmark icons for SynEdit - (29d1abc)
  • Use GetApplicationName in InitMoFile as well, plus documentation - (93bf989)
  • Make LCLTranslator independent of executable filename - (0469dd9)
  • Make GetAppConfigDir independent of executable filename - (9e2611e)
  • Make translation filename independent of executable filename - (5d487bb)
  • More painting related crashes on QT, this time in OperationRunning() - (fbe32db)
  • Compiler warnings, re-enable active line background - (a1c84ae)
  • Two crashes in QT caused by aggressive control repainting - (7650efe)
  • Hide library files which ldconfig shows up but don't exist - (85cf230)
  • Provide at least one libmysql for macOS, plus its dependencies - (1fbc2ab)
  • Fix compiler errors on macOS, set DYLD_LIBRARY_PATH run param to fix wrong path for libssl - (58b210a)
  • Wrong integer size/type for ClientFlag in mysql_real_connect - (3213fe9)

βš™οΈ Miscellaneous Tasks

  • Bump version to 12.14.1.1 - (1a2f1f3)
  • Use Lazarus logo in readme - (aa49736)
  • Remove now unused doc, written for converting to Lazarus - (b01e732)
  • Fix generation of .deb - (e95aca8)
  • Fix missing Package variable - (13c55ce)
  • Using v4 of git-cliff-action - (81d613b)

Contributors

[12.13.1.1] - 2025-11-03

⛰️ Features

  • Sort session folders at top per setting - (93dc936)
  • Filter box in user manager - (b57b764)
  • Add checkbox "Open file after creation" to grid export dialog - (613f4d8)
  • Allow sorting columns in table designer - (8541eb4)

πŸš€ Enhancements

  • Make file exit action OS friendly - (1f19d00)

πŸ› Bug Fixes

  • List procedures in PostgreSQL - (db902f7)
  • Missing DELETE HISTORY privilege on MariaDB - (f7b80db)
  • Prevent crash in auto-refresh action - (2c25e04)
  • Bad message with no library selected - (f9a486b)
  • Generate missing values for geometry columns - (eb1b5ea)
  • Allow modify length of index with binary column - (173efeb)
  • End global "edit function" mode for grid editing early - (5cac850)
  • Take care for escaped ENUM definitions - (328fb72)
  • Support return data type of stored function containing white spaces - (d7b1faa)
  • Safety replacement for folder separator when renaming a session or folder - (18a21ef)
  • Leave away schema when double-click table for inserting into query editor - (b72f259)
  • Sticky empty-password warning after setting a non-empty one - (f2028e1)
  • Support double dollar quotes on PostgreSQL - (caeae88)

πŸ“š Documentation

  • (CHANGELOG) Proper changelog - (79bb279)

βš™οΈ Miscellaneous Tasks

  • Bumping version to 12.13.1.1 - (bf23332)
  • Using correct target of build-* - (16a54a5)
  • Fixing some blantant mistakes - (76dfa98)
  • New category: Enhancements - (dd1ad34)
  • Removing unnecessary tx-push recipe - (d293d64)
  • Forgot to copy .ini files on run-* - (c513e53)
  • Completing run-gtk2, run-qt5 - (04650d9)
  • Adding empty tx-push to Makefile - (3ceed39)
  • Adjusting workflow to skip secrets detection - (14dd9ce)
  • Adding usage of secrets.mk - (123a2e7)
  • Forgot to change the output folder - (78f1415)
  • First batch of changes - (2bee126)

New Contributors ❀️

  • @gcarreno made their first contribution
  • @ansgarbecker made their first contribution
  • @ made their first contribution

Note

For a list of all the changes up to date, please read CHANGELOG.md.

  •  

HeidiSQL Windows 12.14.0.7165

11 December 2025 om 19:30

Note: You can already get a preview of v13 for Windows, built on the same codebase as the Linux version. See the
download page for a zip package.

3rd party updates:

  • update SQLite library to v3.51.0

Bugfixes and enhancements:

  • fix: crash when grid-exporting without required key (issue #2311)
  • fix: cannot save new table when added column was removed (issue #2326)
  • fix: delete CLI-created session settings from registry after disconnect (issue #2162)
  • fix: query batch stops at second last query if it has errors but StopOnErrors is off (issue #2317)
  • feat: support SSH tunnel configuration per commandline (issue #2322)
  • disable tree option asDoubleClickInsertsNodeText by default (issue #2307)
  • fix: require elevation per build button only if app directory is not writable by user (issue #2305)
  • feat: keep time fractions intact for CSV exports (issue #2098)
  • fix: crash in AnyGridPaintText with no query result
  • feat: show NULL values in system variables listing (issue #1281)
  • feat: highlight same text in grids based on all selected rows
  • fix: crash in printer dialog with 0 printers available (issue #2283)
  • feat: support fractional UNIX timestamps in grids (issue #884)
  • feat: add "source table: xyz" hint to query result column headers https://www.heidisql.com/forum.php?t=44554

  •  

HeidiSQL Linux v12.13.1.1

8 November 2025 om 13:06

[12.13.1.1] - 2025-11-03

⛰️ Features

  • Sort session folders at top per setting - (93dc936)
  • Filter box in user manager - (b57b764)
  • Add checkbox "Open file after creation" to grid export dialog - (613f4d8)
  • Allow sorting columns in table designer - (8541eb4)

πŸš€ Enhancements

  • Make file exit action OS friendly - (1f19d00)

πŸ› Bug Fixes

  • List procedures in PostgreSQL - (db902f7)
  • Missing DELETE HISTORY privilege on MariaDB - (f7b80db)
  • Prevent crash in auto-refresh action - (2c25e04)
  • Bad message with no library selected - (f9a486b)
  • Generate missing values for geometry columns - (eb1b5ea)
  • Allow modify length of index with binary column - (173efeb)
  • End global "edit function" mode for grid editing early - (5cac850)
  • Take care for escaped ENUM definitions - (328fb72)
  • Support return data type of stored function containing white spaces - (d7b1faa)
  • Safety replacement for folder separator when renaming a session or folder - (18a21ef)
  • Leave away schema when double-click table for inserting into query editor - (b72f259)
  • Sticky empty-password warning after setting a non-empty one - (f2028e1)
  • Support double dollar quotes on PostgreSQL - (caeae88)

πŸ“š Documentation

  • (CHANGELOG) Proper changelog - (79bb279)

βš™οΈ Miscellaneous Tasks

  • Bumping version to 12.13.1.1 - (bf23332)
  • Using correct target of build-* - (16a54a5)
  • Fixing some blantant mistakes - (76dfa98)
  • New category: Enhancements - (dd1ad34)
  • Removing unnecessary tx-push recipe - (d293d64)
  • Forgot to copy .ini files on run-* - (c513e53)
  • Completing run-gtk2, run-qt5 - (04650d9)
  • Adding empty tx-push to Makefile - (3ceed39)
  • Adjusting workflow to skip secrets detection - (14dd9ce)
  • Adding usage of secrets.mk - (123a2e7)
  • Forgot to change the output folder - (78f1415)
  • First batch of changes - (2bee126)

Note

For a list of all the changes up to date, please read CHANGELOG.md.

Tip

This version has problems loading libmariadb library. The issue will be fixed in the next release. To work around in this release you may switch to libmysqlclient instead. If the library drop-down does not show libmysqlclient, install it via sudo apt install libmysqlclient-dev.

  •  

12.10

5 November 2025 om 08:38

Get it from the download page

3rd party updates:

  • Issue #2076: exchange 32 bit SSL libraries with their 64 bit pendants, fixing SSL connections with libpq and libmariadb

  •  

12.10.1.133 Linux

5 November 2025 om 08:36

First Linux version as a release with a tag.

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • SSH tunnel support now works, using external ssh command, like in the Windows version
  • Translation support for 35 languages, through .mo files. Thanks to all the translators on Transifex!
  • Icons on status bar
  • Enable bracket highlighting in SQL editors
  • Grid cell editors working (with quite a few crashes)
  • Enabled automatic tab restore
  • Table editor and the others (view, routine, trigger, event) working now
  • All forms now use Lazarus' excellent anchorings for controls

Known issues:

  • #2149: Missing support for MS SQL and Interbase/Firebird
  • #2131: Crashes in grid cell editors, especially after hitting the Esc key
  • #2143: No .rpm package for RedHat based Linux. Help appreciated.
  • #2141: no wordwrap in SQL editors

A big thanks go to the Lazarus team for providing such a nice and responsive IDE. Congratulations for releasing Lazarus 4.0 these days. HeidiSQL for Linux is yet built with Lazarus v3.8 and FreePascal v3.2.2.

  •  

12.11 Windows

5 November 2025 om 08:35

Get it from the download page

3rd party updates:

New stuff:

  • Issue #604: add context menu item "Select top 1000 rows"
  • Issue #2175: if asShowRowId option is enabled, show also the index of columns in their header, through the OnAdvancedHeaderDraw/ownerdraw event
  • Issue #2168: select rows from table to export by its primary key columns, so PostgreSQL does not apply a random sorting
  • Issue #2155: paint session background and icon in session drop-down of SQL export dialog
  • Issue #2107: add "invert check" menu item on table tools tree
  • Issue #2068: support MariaDB's new VECTOR index in table designer, without M and DISTANCE settings yet
  • Issue #2068: support MariaDB's new VECTOR data type in table designer, categorize as binary
  • Issue #2083: add menu item "Copy all lines" for copying visible and initialized nodes from any VirtualTree instance as CSV data
  • Issue #1975: add "keep asking" checkbox to reformat dialog
  • Issue #646: forget setting for "Favorite objects only" on each connection start
  • Issue #2064: support UTF-8 BOM encoding when loading and saving editor files

Bugfixes and enhancements:

  • Issue #1253: fix index creation on PostgreSQL tables, use separate CREATE INDEX queries
  • Issue #2187: Fixed EAccessViolation when closing editor while using non-default theme
  • Create helper table with the servers' default engine when exporting a view. See https://www.heidisql.com/forum.php?t=44125
  • Issue #2186: fix wrong number of rows shown in grid export dialog when post filter is active
  • Issue #2118: activate legacy-stdio-prompts mode in plink SSH tunnel, to fix non prompted passphrase since plink 0.82
  • Issue #604: sync number of rows to query with the per-page data grid setting
  • Issue #604: support multiple tables and views selected on database tab, in new "Select top 1000 rows" feature
  • Issue #2172: fix wrong comment
  • Issue #2172: prompt for password again, when connection has timeout or broke
  • Issue #2159: fix memory leak
  • Issue #2159: SQLite: export separated table indexes, and export views and triggers
  • Issue #2168: turn off synchronize_seqscans variable in PostgreSQL mode, to be sure SELECT's show a stable row sorting. See https://www.postgresql.org/docs/8.3/runtime-config-compatible.html#GUC-SYNCHRONIZE-SEQSCANS
  • Issue #1853: try to fix column definition changes on MS SQL wrt collation quoting and default value
  • Issue #2155: high DPI fix for painting icons in SQL export target drop-down
  • Issue #2156: unescape generated column expression when loading from IS.COLUMNS
  • Keep retrieving exact row count on data tab header after activated via context menu, until another table has focus
  • Display number or rows in data tab header for views. See https://www.heidisql.com/forum.php?t=44057
  • Issue #214: when refreshing, ask user if he wants to discard modifications in table/view/routine/... editors
  • Prefer Boolean over Bool type in owned code
  • Issue #2139: fix missing AND's in REQUIRE clause, and move REQUIRE clause from GRANT to ALTER USER query, as MySQL does not support that in GRANT since v8.x
  • Issue #2133: revert broken characters and encoding of apphelpers unit
  • implementation of Unicode logic for password encryption
  • Issue #2132: fix crash when saving an sql file previously loaded with auto-detected encoding
  • Issue #2123: prevent crash in libpq when disconnecting an already disconnected connection
  • Issue #2128: fix wrong encoding of connection string for PQconnectdb()
  • Issue #2123: fix reconnect mechanism in TPGConnection.Ping()
  • Issue #2119: optimize calculation of status bar panel widths
  • Issue #1986: do not set CLIENT_SSL flag with libmariadb, which seems to cause a "bad handshake" in mysql_real_connect()
  • Issue #2103: fix latin1 charset used with libmysql v8.x which reports "utf8mb4" by mysql_character_set_name()
  • Issue #2101: attempt to reactivate progress bar in status bar when running through Wine, now with a safety check for IsWindow()
  • Update default functions-mysql.ini with predefined line breaks and much more help content
  • Update functions-mysql8.ini with predefined line breaks and much more help content
  • Enable padding in multiline tooltips with a derived THintWindow class
  • Reduce web page openings to once after successful nightly update
  • Wrap long lines in data type hints. See https://www.heidisql.com/forum.php?t=43881
  • Simplify and optimize functions generator for MariaDB, and update functions-mariadb.ini with predefined line breaks
  • Issue #2095: fix wrong/no control characters used when changing format to Excel csv via file-save dialog
  • Issue #2083: use empty field delimiter and tab separator for new copy-lines feature
  • Issue #2085: tell TStringStream.Create not to free its TEncoding object after usage, as we use application-lifetime-available encoding instances
  • Issue #2084: show numeric values in variables tab locally formatted in a tooltip
  • Show type of exception happening through AppSettings.ExportSettings
  • Issue #835: move prompt for overwriting output file from save-dialog to later when exporting is started, catching cases where the previous filename is used
  • Issue #2079: work with the "default" set of SQLite encryption parameters, not the transient ones
  • Prevent connection activity through hovering table token while user query is running. Similar to issue #278

  •  

12.11.1.167 Linux

5 November 2025 om 08:33

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • Most of the updates done on the Windows version, plus:
  • Issue #2197: Can't set logging due to file not open error
  • Issue #2182: mariadb cannot add users
  • Issue #2177: Sort icons in column headers of data and query grid
  • Issue #2165: Support libperconaserverclient for MySQL
  • Issue #2189: wrong digit separator localized version

  •  

12.12 Windows

5 November 2025 om 08:32

Get it from the download page

The v12.12 release now abandons the 32 bit portable releases and nightly builds.

Back in Jan 2019, for v10.0, I created the first 64 bit release with the support of the Delphi 10.3 at that time. Since that release I provided both 32 and 64 bit releases for more than 6 years now. Due to the decreasing availability of 32 bit drivers and libraries, and with a user base of ~0.5% it makes sense to safe the effort for these. Note the previous releases with 32 bit variants are still available on the download page.

Also notable: heidisql.com has been moved to Manitu, an excellent hosting provider in Germany. Update checks, SQL formatting and statistic calls should benefit from the enhanced speed.

New stuff:

  • Issue #2254: Support for trigger editing on SQLite

3rd party updates:

  • Upgrade compiler to Delphi 12.3.
  • Update MariaDB Connector/C to v3.4.7
  • Add MySQL Connector libmysql v9.0.4
  • Update SQLite libraries to v3.50.4
  • Update SQLite multiple cipher libraries to v2.2.4.
  • Update PostgreSQL libpq/17 to v17.0.6
  • Update PostgreSQL libpq/15 to v15.0.14
  • Remove PostgreSQL libpq/10 and 12, depending on the outdated and insecure libssl v1.1.1w
  • Update Virtual-TreeView component to v8.2 from Sep 5 2025

Bugfixes and enhancements:

  • Issue #2161: fix reading and writing user limitations in newer MySQL versions
  • Issue #2126: rephrase SQL query for retrieving the oid of citext data type, to prevent errors in the server logs
  • Issue #2257: fix height of grid column header
  • Issue #2122: support table comment syntax when creating new PostgreSQL tables
  • Issue #41: use N(ational) prefix on MS SQL strings on all quoted strings, regardless of their exact data type, to support Unicode in meta queries as well
  • Issue #2167: remove fallback to insecure http calls when https failed
  • Issue #2250: use N(ational) prefix in MS SQL for any text value going through the second version of EscapeString(), supporting Unicode now when importing a file into a table.
  • Fix unsaved highlighter selection of default "General"
  • Fix memory leak
  • Issue #2249: call FixVT() in FormCreate consequently, so the trees do not change their row height after the second use. Also increase TextMargin and reduce Margin.
  • Issue #2243: keep UserKnownHostsFile enabled in ssh.exe mode, so the message saying "permanently added xyz to the list of known hosts" is telling the truth now
  • Do not require a "Content-Length" response header in THttpDownload. Responses mostly come compressed with "Transfer-Encoding: chunked" and then need hacks to get a Content-Length header. See https://www.heidisql.com/forum.php?t=44407
  • Issue #1313: support MariaDB's COMPRESSED attribute for columns in table editor
  • Issue #2243: suppress prompt to save a yet unknown host key in ssh.exe mode, by disabling StrictHostKeyChecking and UserKnownHostsFile . I have no clue to where ssh.exe sends that message, it's neither in stdOut nor in stdErr.
  • Issue #2243: fix input being ignored by plink by adding a linefeed after y/n
  • Issue #2243: add -legacy-stdio-prompts argument only to plink v0.82 or newer, not on older versions
  • Issue #2233: fix detection of column length in SQLite, when the column type contains a space before parenthesis
  • Issue #2212: add type prefix to export file name, when exporting one file per object, to fix overwriting same filename for different object types
  • Issue #2218: don't disable completion proposal when cursor is right besides a string or comment
  • Issue #2205: Remove subpart from column indexes when user changed its data type to non-text
  • Issue #2193: expect some more characters to indicate a boundary for an identifier: ! < >
  • Table data generator: use only space, new line and letters in text columns, and limit to 1024 characters
  • Issue #176: move foreign key column value behind the text value, in the grid foreign key drop-down, so a user may select an item by typing letters
  • Leave space for column id in grid column headers. See https://www.heidisql.com/forum.php?t=44161
  • Issue #2266: Invisible virtual column syntax is generated wrong

  •  

12.12 Linux

5 November 2025 om 08:31

Get it from the download page

Full changelog: https://github.com/HeidiSQL/HeidiSQL/commits/lazarus/

Latest notable changes:

  • Most of the updates done on the Windows version, plus:
  • Fix a bunch of compiler warnings and hints
  • Update check: do not confuse users with a changelog link of the Windows version, and hide (Windows) nightly build text
  • Issue #2201: allow GetSessionNames() to create the given ParentPath if it does not exist, in this case the empty "Sessions" root key
  • Let PortOpen() return true when netstat command could not be run, to prevent loops with broken commands
  • Remove dead comments from THttpDownload
  • Issue #2225: fix crash in grid editing, when canceling through Esc key
  • Issue #2225: fix crash in grid value change, apply patch from hennerdrewes with Application.QueueAsyncCall in DoEndEdit
  • Prefer UTF-8 encoding for loading files, instead of auto-detection, which breaks in many cases. See https://www.heidisql.com/forum.php?t=44351
  • Issue #2229: prefer const over constref for FPC>=3.2.4, fix unsupported TabOrder on TSpeedbutton, pass a float value to FloatToStr
  • remove unused units from uses clause in lpr project file
  • Issue #2221: fix wrong detection of table alias and following dot, with text after the current cursor position
  • Issue #2221: enhance SQL completion proposal in a way SynEdit/Lazarus propagates it, with a focus on column names
  • Issue #2227: enable formatter for JSON code in text editor
  • Issue #2203: auto-convert Windows home path to Linux home path when importing a setting file
  • Issue #2222: fix missing last character in CREATE TABLE code on table editor and copy-table dialog
  • Issue #2202: show a more helpful hint when no library was selected (and none is available) for connecting
  • Issue #2216: remove predefined SynMemo keystrokes ecLineBreak, ecInsertLine, ecDeleteWord. The latter one inactivates Ctrl+T shortcut for new query tab
  • Issue #2202: prefer libmariadb over libmysql when none of them is installed. Also, prefer the -dev packages.
  • Issue #2202: depend on libgtk2.0-0t64, openssl and openssh-client. Also, require all of the database driver libraries so users are not potentially left with an empty library drop-down.

  •  

HeidiSQL Windows 12.13.0.7147

3 November 2025 om 17:15

New stuff:

  • feat: sort sessions and folders according to user locale (#1828)
  • feat: sort session folders at top per setting (#1828)
  • feat: filter box in user manager (#2275)
  • add checkbox "Open file after creation" to grid export dialog (#912)

Bugfixes and enhancements:

  • fix: sort empty session folders like non-empty ones (#1828)
  • fix: set modified flag after move per button (#2220)
  • fix: column reordering per drag and drop (#2220)
  • fix: list procedures in PostgreSQL(#2278)
  • fix: missing DELETE HISTORY privilege on MariaDB (#1026)
  • fix: prevent crash in auto-refresh action (#1060)
  • fix: bad message with no library selected (#1020)
  • Table data generator: generate missing values for geometry columns
  • allow modify length of index with binary column (#900)
  • fix no longer working move up/down of selected columns, see https://www.heidisql.com/forum.php?t=44467 (#2220)
  • end global "edit function" mode for grid editing early (#875)
  • take care for escaped ENUM definitions (#799)
  • work around non-greedy expression when extracting the return data type of a stored function with a space in it. (#768)
  • safety replacement for folder separator when renaming a session or folder (#682)
  • leave away schema when double-click table for inserting into query editor (#551)
  • fix sticky empty-password warning after setting a non-empty one (#441)
  • allow sorting columns in table designer by click on their header (#2220)
  • ignore semicolon between double-dollar quoted strings when separating SQL queries by semicolon, e.g. $$ foo; bar $$ (#1326)

  •  

sftp is fine too

Door: 9001
9 Januari 2026 om 02:38

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2025-09-07)

recent important news

πŸ§ͺ new features

  • sftp server 4714c2f ec7ea30
  • #1135 right-click menu (thx @stackxp and @Scotsguy!) 82c4960 05a4472
  • PUT can now append to existing files 63d8e5a
    • new option apnd-who to configure who is allowed to do that
  • #1128 added option to skip uploading a file if the filename is already taken on the server (thx @Scotsguy!) fa32e15
  • #1127 descript.ion now also works for folders 2c26aec
  • in file listings, up_by and up_ip (uploader info) can now be displayed for non-admin users by adding them to the mte option 7bfd370
  • #1120 display the disk-space quota instead of the underlying HDD size (thx @rabid-dev!) 511dc01 e0845b2
  • option to skip dotfiles/dotfolders when using download-as-zip 7d7a151
  • #1124 button to skip files with a filename collision when copying/moving files 85639ad
  • #1151 u2c (commandline uploader): option to use basic-auth instead of the PW header (thx @Le0Developer!) 120fdfb
  • the name of the pw url-param and http-header can be changed f81d80b
    • mainly to force basic-auth, but perhaps also for other purposes
    • changing these will break support for many clients, so you probably want to keep the default

🩹 bugfixes

  • image-viewer:
    • images now scale properly when rotated while the zoom feature is enabled c0e167f
    • the current image rotation will now be applied to the next image as well 485c60c c82a3cb
  • groups announced by an IdP will now also apply for native (copyparty-config) users f08cb25
  • windows: download-as-zip would flatten everything to a single folder 2d1d295
  • #1157 dirkeys did not work in grid-view d1ddcb1
  • #1123 the ui-notree option to simplify the UI would simplify a bit too much 4c73704
  • don't add the trailing slash to a volume in the controlpanel when the volume is a file 80a3749
    • the link couldn't be clicked on Windows CE 4.20 using Internet Explorer 4.01

πŸ”§ other changes

  • #1158 updated german translation (thx @Scotsguy!) 3bf80c8
  • the dotfiles button now also toggles showing unlisted files e55e5a4
  • /?h&ls (the api to list volumes) now includes the user's permissions for each volume 1f6e811
  • #1142 new option dav-port to open a dedicated port for webdav clients 4642d32
    • workaround for certain clients which pretend to be webbrowsers
  • #1147 workaround for a buggy browser-extension 8551472
  • detect (and panic) when a webbrowser has failed to load one of the javascript files af3f777
    • replaces the confusing errormessage resulting from half of the code missing

🌠 fun facts


⚠️ not the latest version!

  •  

uNmINeD 0.19.54-dev

Door: megasys
31 December 2025 om 19:12

New uNmINeD development snapshot is available for download!

Changes:

  • Fixed support for Bedrock worlds without a LevelDB log file
  • Updated to .NET 10
  • Updated to Avalonia 11.3.10
  •  

ElegantFin Theme v25.12.31 for Jellyfin

Door: lscambo13
31 December 2025 om 16:22

This is the 13th β€” and last β€” update of the year to ElegantFin.

Key Changes

  • Fixed an issue that made posters disappear on some TVs (#182 - thanks @BullenMoore)
  • Fixed some issues caused by episode grid layout on some tablets (#217)
  • Fixed an issue that caused Live TV channel logos to become unevenly sized (#216)
  • Fixed the App bar tabs becoming partially cut-off and scrollable on some tablets after rotating (#220)
  • Program cells in Live TV guide are correctly highlighted when selected
  • Reworked the expanded and collapsed app bar states for more reliability on TVs
  • Improved responsiveness of the app bar and page content to avoid overlaps in certain cases
  • Updated the Media Bar plugin add-on with redesigned slide indicators, improved layout and much more (a3e52a4)
  • Simplified the code for better maintainability
  • Updated the Customization section with alternative color themes

You can read the full commit history here.

Known issues

  • Jellyfin Media Player and some outdated TVs are not fully supported as they lack support for the latest CSS specs.
  • Read more about some common issues in the Troubleshooting section.

You may use the provided CSS file for self-hosting purposes. Alternatively, you may use the following code snippet to get the latest version via a free CDN.

@import url("https://cdn.jsdelivr.net/gh/lscambo13/ElegantFin@main/Theme/ElegantFin-jellyfin-theme-build-latest-minified.css");

For more detailed information, be sure to read the README.md file.

  •  

BookStack v25.12.1

30 December 2025 om 18:25

Security Release

BookStack v25.12.1 has been released.

This is a security release which adds limits to search operations, and adds size checks to ZIP import files before they are extracted.
These changes help prevent potential abuse to host disk space usage and/or service availability.

We recommended to update your instance if untrusted users have ZIP import permissions, or if untrusted users can perform searches.

Thanks to Jeong Woo Lee (@eclipse07077-ljw) and Gabriel Rodrigues (aka TEXUGO) for reporting these vulnerabilities.

Full List of Changes

  • Updated application PHP dependencies.
  • Add some additional resource-based limits. (#5968)
  • Updated translations with latest Crowdin changes. (#5962)

  •  

v0.19.6

30 December 2025 om 16:38

Starting with this release the app will show a warning if used with a Jellyfin 10.10 server. The app will keep working with Jellyfin 10.10 until the next major app release.

If you appreciate my work, you can show your support with a donation through Buy Me a Coffee or GitHub sponsors. Your support helps me continue improving and growing the app. Thank you!

πŸ—οΈ Enhancements

πŸ”§ Bugfixes

Contributors

  •  

Bitfocus Companion v4.2.2

Door: Julusian
28 December 2025 om 22:02

πŸ“¦ Downloads available at

πŸ’΅ Donate to the project at

Companion v4.2.2 - Release Notes

🐞 BUG FIXES

  • add keepalive interval for client websocket
  • improve emulator behaviour when websocket closes
  • revert: limit environment variables exposed to internal actions
  • only search labels in dropdown fields
  • unable to edit color inputs as hex
  • bluetooth support for blackmagic controllers
  • open help links in a new windows
  • isVisibleExpression clone error
  • loupedeck ct bad key map
  • sidebar dom issues
  • better suppress some common/excessive errors

Full Changelog: v4.2.1...v4.2.2

  •  

5.2.5

25 December 2025 om 10:23

Note

UpSnap is, and always will be, free and open source software.

If someone is asking you to pay money for access to UpSnap binaries, source code, or licenses, you are being scammed.

The official and only trusted source for UpSnap is this repository (and its linked releases).
Do not pay third parties for something that is provided here for free.

Changelog

Others

Go dependencies

Npm dependencies

Github Actions

  •  

FreshRSS 1.28.0

Door: Alkarex
24 December 2025 om 20:27

This is a major release, just in time for the holidays πŸŽ„

Selected new features ✨:

  • New sorting and filtering by date of User modified, with corresponding search operator, e.g. userdate:PT1H for the past hour
  • New sorting by article length
  • New advanced search form
  • New overview of dates with most unread articles
  • New ability to share feed visibility through API (implemented by e.g. Capy Reader)
    • Bonus: Capy Reader is also the first open source Android app to support user labels
  • Better transitions UI between groups of articles
  • New links in UI for transitions between groups of articles, and jump to next transition
  • Docker default image updated to Debian 13 Trixie with PHP 8.4.11
  • And much more…

Improved performance 🏎️:

  • Scaling of user statistics in Web UI and CLI, to help instances with 1k+ users
  • Improve SQL speed for some critical requests for large databases
  • API performance optimisation thanks to streaming of large responses

Selected bug fixes πŸ›:

  • Fix OpenID Connect with Debian 13
  • Fix MySQL / MariaDB bug wrongly sorting new articles
  • Fix SQLite bind bug when adding tag

Breaking changes πŸ’₯:

  • Move unsafe autologin to an extension
  • Potential breaking changes for some extensions (which have to rename some old functions)

This release has been made by @Alkarex, @Frenzie, @Inverle, @aledeg, @andris155, @horvi28, @math-GH, @minna-xD and newcomers @Darkentia, @FollowTheWizard, @GreyChame1eon, @McFev, @jocmp, @larsks, @martinhartmann, @matthew-neavling, @pudymody, @raspo, @scharmach, @scollovati, @stag-enterprises, @vandys, @xtmd, @yzx9.

Full changelog:

  • Features
    • New sorting and filtering by date of User modified #7886, #8090,
      #8105, #8118, #8130
      • Corresponding search operator, e.g. userdate:PT1H for the past hour #8093
      • Allows finding articles marked by the local user as read/unread or starred/unstarred at specific dates for e.g. undo action.
    • New sorting by article length #8119
    • New advanced search form #8103, #8122, #8226
    • Add compatibility with PCRE word boundary \b and \B for regex search using PostgreSQL #8141
    • More uniform SQL search and PHP search for accents and case-sensitivity (e.g. for automatically marking as read) #8329
    • New overview of dates with most unread articles #8089
    • Allow marking as read articles older than 1 or 7 days also when sorting by publication date #8163
    • New option to show user labels instead of tags in RSS share #8112
    • Add new feed visibility (priority) Show in its feed #7972
    • New ability to share feed visibility through API (implemented by e.g. Capy Reader) #7583, #8158
    • Configurable notification timeout #7942
    • OPML export/import of unicity criteria #8243
    • Ensure stable IDs (categories, feeds, labels) during export/import #7988
    • Add username and timestamp to SQLite export from Web UI #8169
    • Add option to apply filter actions to existing articles #7959, #8259
    • Support CSS selector ~ subsequent-sibling #8154
    • Rework saving of configuration files for more reliability in case of e.g. full disk #8220
    • Web scraping support date format as milliseconds for Unix epoch #8266
    • Allow negative category sort numbers #8330
  • Performance
    • Improve SQL speed for updating cached information #6957, #8207,
      #8255, #8254, #8255
    • Fix SQL performance issue with MySQL, using an index hint #8211
    • Scaling of user statistics in Web UI and CLI, to help instances with 1k+ users #8277
    • API streaming of large responses for reducing memory consumption and increasing speed #8041
  • Security
    • πŸ’₯ Move unsafe autologin to an extension #7958
    • Fix some CSRFs #8035
    • Strengthen some crypto (login, tokens, nonces) #8061, #8320
    • Create separate HTTP Retry-After rules for proxies #8029, #8218
    • Add data: to CSP in subscription controller #8253
    • Improve anonymous authentication logic #8165
    • Enable GitHub release immutability #8205
  • Bug fixing
    • Exclude local networks for domain-wide HTTP Retry-After #8195
    • Fix OpenID Connect with Debian 13 #8032
    • Fix MySQL / MariaDB bug wrongly sorting new articles #8223
    • Fix MySQL / MariaDB database size calculation #8282
    • Fix SQLite bind bug when adding tag #8101
    • Fix SQL auto-update of field f.kind to ease migrations from FreshRSS versions older than 1.20.0 #8148
    • Fix search encoding and quoting #8311, #8324, #8338
    • Fix handling of database unexpected null content (during migrations) #8319, #8321
    • Fix drag & drop of user query losing information #8113
    • Fix DOM error while filtering retrieved full content #8132, #8161
    • Fix config.custom.php during install #8033
    • Fix do not mark important feeds as read from category #8067
    • Fix regression of warnings in Web browser console due to lack of window.bcrypt object #8166
    • Fix chart resize regression due to chart.js v4 update #8298
    • Fix CLI user creation warning when language is not given #8283
    • Fix merging of custom HTTP headers #8251
    • Fix bug in the case of duplicated mark-as-read filters #8322
  • SimplePie
  • Deployment
    • Docker default image updated to Debian 13 Trixie with PHP 8.4.11 and Apache 2.4.65 #8032
    • Docker alternative image updated to Alpine 3.23 with PHP 8.4.15 and Apache 2.4.65 #8285
    • Fix Docker healthcheck cli/health.php compatibility with OpenID Connect #8040
    • Improve Docker for compatibility with other base images such as Arch Linux #8299
      • Improve cli/access-permissions.sh to detect the correct permission Web group such as www-data, apache, or http
    • Update PostgreSQL volume for Docker #8216, #8224
    • Catch lack of exec() function for git update #8228
    • Work around DOMDocument::saveHTML() scrambling charset encoding in some versions of libxml2 #8296
    • Improve configuration checks for PHP extensions (in Web UI and CLI), including recommending e.g. php-intl #8334
  • UI
    • New button for toggling sidebar on desktop view #8201, #8286
    • Better transitions between groups of articles #8174
    • New links in transitions and jump to next transition #8294
    • More visible selected article #8230
    • Show the parsed search query instead of the original user input #8293,
      #8306, #8341
    • Show search query in the page title #8217
    • Scroll into filtered feed/category on page load in the sidebar #8281, #8307
    • Fix autocomplete issues in change password form #7812
    • Fix navigating between read feeds using shortcut shift+j/k #8057
    • Dark background in Web app manifest to avoid white flash when opening #8140
    • Increase button visibility in UI to change theme #8149
    • Replace arrow navigation in theme switcher with <select> #8190
    • Improve scroll of article after load of user labels #7962
    • Keep scroll state of page when closing the slider #8295, #8301
    • Scroll into filtered feed/category on page load #8281
    • Display sidebar dropdowns above if no space below #8335, #8336
    • Use native CSS instead of SCSS #8200, #8241
    • Various UI and style improvements: #8171, #8185, #8196
    • JavaScript finalise migration from Promise to async/await: #8182
  • API
    • API performance optimisation: streaming of large responses #8041
    • Fever API: Add with_ids parameter to mass-change read/unread/saved/unsaved on lists of articles #8312
    • Misc API: better REST error semantics #8232
  • Extensions
    • Add support for extension priority #8038
    • Add support for extension compatibility #8081
    • Improve PHP code with hook enums #8036
    • New hook nav_entries #8054
    • Rename Extensions default branch from master to main #8194
  • I18n
    • Translation status as text in README #7842
    • Add new translate CLI commands move #8214
    • Change some regional language codes to comply with RFC 5646 / IETF BCP 47 / ISO 3166 / ISO 639-1 #8065
    • Improve German #8028
    • Improve Greek #8146
    • Improve Finnish #8073, #8092
    • Improve Hungarian #8244
    • Improve Italian #8115, #8186
    • Improve Polish #8134, #8135
    • Improve Russian #8155, #8197
    • Improve Simplified Chinese #8308, #8313
  • Misc.

  •  
❌