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)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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
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
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.
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.
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)
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.
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.