3.59.0 (2022-04-08)
- Windows binaries: Updated zlib, used purely to cache re-scaled versions of icons shipped with FileZilla, to 1.2.12
- Updated to libfilezilla 0.37.1
3.59.0-rc1 (2022-04-01)
- Updated to libfilezilla 0.37.0
- Non-blocking communication with SFTP process
- macOS, *nix: Fixed "All files" category in file picker dialogs
0.37.2 (2022-04-29)
+ Added a null_logger that doesn't do anything
- MSW: fz::mkdir with restricted permissions now uses inheritable ACLs
- MSW: Minor performance improvements reading from fz::process and explicit cancellation of pending I/O when killing child processes.
0.37.1 (2022-04-08)
+ Added convenience functions ot fz::json
- MSW: Fixed spawning fz::process with blocking communication
0.37.0 (2022-04-01)
+ *nix: password-less impersonation can take an optional group
+ Added demo https client showcasing usage of fz::socket and fz::tls_layer
+ Added some compile-time checks for fz::sprintf arguments
+ MSW: Added fz::registry
+ Added a way to use non-blocking read/write with fz::process
- Added fz::logger_interface::log_u which assumes string arguments are in UTF-8 as opposed to the character set used by the current locale
- Disallow spawning additional threads while fz::thread_pool is in the process of being destroyed
- *nix: poll() is now mandatory, the select() based socket event loop has been removed
- Simplified fz::socket implementation through use of internal fz::poller
3.10.0
Added
Add --zone-id CLI flag for route53 provider
Add yandexcloud provider dedicated to Yandex Cloud solution
Modified
Improve documentation with auto-generation
Clarify that yandex provider supports Yandex PDD only
Use UUIDs in aliyun provider to avoid nonce collisions
A network diagnostic tool, inspired by mtr, https://github.com/traviscross/mtr
Trippy uses a raw socket which require elevated privileges. Enabling the
required privilege can be achieved in several ways.
Trippy is made possible by tui-rs , crossterm & pnet as well as several common
foundational Rust libraries.
Sometimes you need a networked program to bind to a port that can't
be hard-coded. Generally this is when you want to run several of
them in parallel; if they all bind to port 8080, only one of them
can succeed.
The usual solution is the "port 0 trick". If you bind to port 0,
your kernel will find some arbitrary high-numbered port that's
unused and bind to that. Afterward you can query the actual port
that was bound to if you need to use the port number elsewhere.
However, there are cases where the port 0 trick won't work. For
example, mysqld takes port 0 to mean "the port configured in my.cnf".
Docker can bind your containers to port 0, but uses its own
implementation to find a free port which races and fails in the
face of parallelism.
ephemeral-port-reserve provides an implementation of the port 0
trick which is reliable and race-free.
RabbitMQ 3.9.16
Core Server
Enhancements
Quorum queues: better forward compatibility with (currently in preview) RabbitMQ 3.10.
Significantly faster exchange re-import from definitions
on subsequent node restarts. Initial definition import still takes
the same amount of time as before.
RabbitMQ nodes will now filter out certain log messages related to
connections, channels, and queue leader replicas receiving internal protocol messages
sent to this node before a restart. These messages usually raise more questions
and cause confusion than help.
It is still possible to detect relevant underlying events (node or connection failures)
from other log messages.
Bug Fixes
rabbitmq-upgrade await_online_synchronized_mirror is now a no-op in single node
clusters
Prometheus Plugin
Bug Fixes
One metric that was exposed via CLI tools and management plugin's HTTP API
was not exposed via Prometheus scraping API.
Changes in version 0.4.7.7 - 2022-04-27
This is the first stable version of the 0.4.7.x series. This series includes
several major bugfixes from previous series and one massive new feature:
congestion control.
Congestion control should improve traffic speed and stability on the network
once a majority of Exit upgrade. You can find more details about it in
proposal 324 in the torspec.git repository.
For a complete list of changes since 0.4.6.10, see the ReleaseNotes file.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on April 27, 2022.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2022/04/27.
o Minor bugfixes (congestion control, client side logs):
- Demote a warn about 1-hop circuits using congestion control down to
info; Demote the 4-hop case to notice. Fixes bug 40598; bugfix on
0.4.5-alpha.
Changes in version 0.4.7.6-rc - 2022-04-07
This is the first release candidate of the 0.4.7.x series. Only one minor
bugfix went in since the last alpha couple weeks ago. We strongly recommend
anyone running an alpha version to upgrade to this version. Unless major
problems are found, the next release will finally be the stable!
o Minor features (fallbackdir):
- Regenerate fallback directories generated on April 07, 2022.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2022/04/07.
o Minor features (linux seccomp2 sandbox):
- Permit the clone3 syscall, which is apparently used in glibc-2.34
and later. Closes ticket 40590.
Changes in version 0.4.7.5-alpha - 2022-03-25
This version contains, of what we hope, the final work for congestion
control paving the way to the stable version. We expect this to be the last
alpha version of the 0.4.7.x series. Mostly minor bugfixes except one major
bugfix that changes how Tor behaves with DNS timeouts for Exit relays. As
always with an alpha, we recommend all relay operators to upgrade from
previous alpha to this one.
o Major bugfixes (onion service, congestion control):
- Fix the onion service upload case where the congestion control
parameters were not added to the right object. Fixes bug 40586;
bugfix on 0.4.7.4-alpha.
o Major bugfixes (relay, DNS):
- Lower the DNS timeout from 3 attempts at 5 seconds each to 2
attempts at 1 seconds each. Two new consensus parameters were
added to control these values. This change should improve observed
performance under DNS load; see ticket for more details. Fixes bug
40312; bugfix on 0.3.5.1-alpha.
o Minor features (control port):
- Provide congestion control fields on CIRC_BW and STREAM control
port events, for use by sbws. Closes ticket 40568.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on March 25, 2022.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2022/03/25.
o Minor bugfixes (DNSPort, dormant mode):
- A request on the DNSPort now wakes up a dormant tor. Fixes bug
40577; bugfix on 0.3.5.1-alpha.
o Minor bugfixes (metrics port, onion service):
- Fix the metrics with a port label to be unique. Before this, all
ports of an onion service would be on the same line which violates
the Prometheus rules of unique labels. Fixes bug 40581; bugfix
on 0.4.5.1-alpha.
o Minor bugfixes (onion service congestion control):
- Avoid a non-fatal assertion failure in the case where we fail to
set up congestion control on a rendezvous circuit. This could
happen naturally if a cache entry expired at an unexpected time.
Fixes bug 40576; bugfix on 0.4.7.4-alpha.
o Minor bugfixes (onion service, client):
- Fix a rare but fatal assertion failure due to a guard subsystem
recursion triggered by the onion service client. Fixes bug 40579;
bugfix on 0.3.5.1-alpha.
o Minor bugfixes (relay, overload):
- Decide whether to signal overload based on a fraction and
assessment period of ntor handshake drops. Previously, a single
drop could trigger an overload state, which caused many false
positives. Fixes bug 40560; bugfix on 0.4.7.1-alpha.
Changes in version 0.4.7.4-alpha - 2022-02-25
This version contains the negotiation congestion control work which is the
final part needed before going stable. There are also various bugfixes
including two major ones detailed below. Last, the Exit notice page layout
has been modernized but the text is unchanged. We recommend that all relay
operators running any previous alpha upgrade to this one.
o Major features (relay, client, onion services):
- Implement RTT-based congestion control for exits and onion
services, from Proposal 324. Disabled by default. Enabled by the
'cc_alg' consensus parameter. Closes ticket 40444.
o Major bugfixes (client):
- Stop caching TCP connect failures to relays/bridges when we
initiated the connection as a client. Now we only cache connect
failures as a relay or bridge when we initiated them because of an
EXTEND request. Declining to re-attempt the client-based
connections could cause problems when we lose connectivity and try
to reconnect. Fixes bug 40499; bugfix on 0.3.3.4-alpha.
o Major bugfixes (relay, overload):
- Do not trigger a general overload on DNS timeout. Even after
fixing 40527, some code remained that triggered the overload.
Fixes bug 40564; bugfix on 0.4.7.1-alpha.
o Minor feature (authority, relay):
- Reject End-Of-Life relays running version 0.3.5.x. Closes
ticket 40559.
o Minor features (fallbackdir):
- Regenerate fallback directories generated on February 25, 2022.
o Minor features (geoip data):
- Update the geoip files to match the IPFire Location Database, as
retrieved on 2022/02/25.
o Minor bugfix (logging):
- Update a log notice dead URL to a working one. Fixes bug 40544;
bugfix on 0.3.5.1-alpha.
o Minor bugfix (relay):
- Remove the HSDir and HSIntro onion service v2 protocol versions so
relay stop advertising that they support them. Fixes bug 40509;
bugfix on 0.3.5.17.
o Minor bugfixes (cell scheduling):
- Avoid writing empty payload with NSS write.
- Don't attempt to write 0 bytes after a cell scheduling loop. No
empty payload was put on the wire. Fixes bug 40548; bugfix
on 0.3.5.1-alpha.
o Minor bugfixes (compilation):
- Resume being able to build on old / esoteric gcc versions. Fixes
bug 40550; bugfix on 0.4.7.1-alpha.
o Minor bugfixes (compiler warnings):
- Fix couple compiler warnings on latest Ubuntu Jammy. Fixes bug
40516; bugfix on 0.3.5.1-alpha.
o Documentation:
- Provide an improved version of the tor-exit-notice.html file for
exit relays to use as a landing page. The text is unchanged, but
the page design and layout are significantly modernized, and
several links are fixed. Patch from "n_user"; closes ticket 40529.
## [4.7.0] - 2022-04-26
### Added
- Allow disabling the internal DHCP server
- icmp: Support falling back on trying a SOCK_RAW socket
- Support Unix sockets in hostfwd
- IPv6 DNS proxying support
- bootp: add support for UEFI HTTP boot
- New callback that supports CFI better
### Fixed
- dhcp: Always send DHCP_OPT_LEN bytes in options
- Fix Haiku build
- Fix memory leak when using libresolv
- Ensure sin6_scope_id is zero for global addresses
- resolv: fix IPv6 resolution on Darwin
- socket: Initialize so_type in socreate
- Handle ECONNABORTED from recv
2.5.6
- BUG/MINOR: tools: fix url2sa return value with IPv4
- BUG/MINOR: httpclient/lua: stuck when closing without data
- MINOR: server: export server_parse_sni_expr() function
- BUG/MINOR: httpclient: send the SNI using the host header
- BUILD: httpclient: fix build without SSL
- BUG/MINOR: server/ssl: free the SNI sample expression
- BUG/MINOR: httpclient: only check co_data() instead of HTTP_MSG_DATA
- BUG/MINOR: httpclient: process the response when received before the end of the request
- BUG/MINOR: httpclient: CF_SHUTW_NOW should be tested with channel_is_empty()
- CI: github actions: switch to LibreSSL-3.5.1
- BUG/MEDIUM: mux-h1: only turn CO_FL_ERROR to CS_FL_ERROR with empty ibuf
- BUG/MEDIUM: stream-int: do not rely on the connection error once established
- BUG/MEDIUM: trace: avoid race condition when retrieving session from conn->owner
- MEDIUM: mux-h2: slightly relax timeout management rules
- BUG/MEDIUM: mux-h2: make use of http-request and keep-alive timeouts
- BUG/MINOR: rules: Initialize the list element when allocating a new rule
- MEDIUM: mqtt: support mqtt_is_valid and mqtt_field_value converters for MQTTv3.1
- DOC: config: Explictly add supported MQTT versions
- BUG/MINOR: tools: url2sa reads too far when no port nor path
- DOC: reflect H2 timeout changes
- BUG/MEDIUM: mux-fcgi: Properly handle return value of headers/trailers parsing
- BUG/MEDIUM: mux-h1: Properly detect full buffer cases during message parsing
- REGTESTS: ssl: use X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY for cert check
- BUG/MINOR: samples: add missing context names for sample fetch functions
- BUG/MINOR: cli/stream: fix "shutdown session" to iterate over all threads
- BUG/MAJOR: mux_pt: always report the connection error to the conn_stream
- DOC: remove double blanks in configuration.txt
- CI: github actions: update OpenSSL to 3.0.2
- BUG/MINOR: ssl/cli: Remove empty lines from CLI output
- BUG/MINOR: httpclient: end callback in applet release
- BUG/MINOR: fcgi-app: Don't add C-L header on response to HEAD requests
- BUG/MEDIUM: stats: Be sure to never set EOM flag on an empty HTX message
- BUG/MEDIUM: hlua: Don't set EOM flag on an empty HTX message in HTTP applet
- BUG/MEDIUM: promex: Be sure to never set EOM flag on an empty HTX message
- BUG/MEDIUM: mux-h1: Set outgoing message to DONE when payload length is reached
- BUG/MEDIUM: http-conv: Fix url_enc() to not crush const samples
- BUG/MEDIUM: http-act: Don't replace URI if path is not found or invalid
- BUG/MINOR: opentracing: setting the return value in function flt_ot_var_set()
- BUG/BUILD: opentracing: fixed OT_DEFINE variable setting
- EXAMPLES: opentracing: refined shell scripts for testing filter performance
- DOC: opentracing: corrected comments in function descriptions
- CLEANUP: opentracing: removed unused function flt_ot_var_unset()
- CLEANUP: opentracing: removed unused function flt_ot_var_get()
- Revert "MINOR: opentracing: change the scope of the variable 'ot.uuid' from 'sess' to 'txn'"
- MINOR: opentracing: only takes the variables lock on shared entries
- CLEANUP: opentracing: added flt_ot_smp_init() function
- CLEANUP: opentracing: added variable to store variable length
- MINOR: opentracing: improved normalization of context variable names
- DEBUG: opentracing: show return values of all functions in the debug output
- CLEANUP: opentracing: added FLT_OT_PARSE_INVALID_enum enum
- DEBUG: opentracing: display the contents of the err variable after setting
- MAJOR: opentracing: reenable usage of vars to transmit opentracing context
- Revert "BUILD: opentracing: display warning in case of using OT_USE_VARS at compile time"
- MEDIUM: global: Add a "close-spread-time" option to spread soft-stop on time window
- CI: Update to actions/checkout@v3
- CI: Update to actions/cache@v3
- BUG/MINOR: stats: define the description' background color in dark color scheme
- CI: github actions: disable -Wno-deprecated
- CI: cirrus: switch to FreeBSD-13.0
- BUG/MINOR: mux-h2: do not send GOAWAY if SETTINGS were not sent
- BUG/MINOR: cache: do not display expired entries in "show cache"
- BUILD: debug: mark the __start_mem_stats/__stop_mem_stats symbols as weak
- BUG/MINOR: mux-h2: do not use timeout http-keep-alive on backend side
- BUG/MINOR: mux-h2: use timeout http-request as a fallback for http-keep-alive
- BUG/MEDIUM: mux-h1: Don't request more room on partial trailers
- BUILD: sched: workaround crazy and dangerous warning in Clang 14
- BUILD: compiler: use a more portable set of asm(".weak") statements
- BUG/MEDIUM: stream: do not abort connection setup too early
- BUG/MEDIUM: fcgi-app: Use http_msg flags to know if C-L header can be added
- BUG/MEDIUM: compression: Don't forget to update htx_sl and http_msg flags
- SCRIPTS: announce-release: update the doc's URL
- DOC: lua: update a few doc URLs
- SCRIPTS: announce-release: add shortened links to pending issues
- BUILD: calltrace: fix wrong include when building with TRACE=1
- BUG/MINOR: cache: Disable cache if applet creation fails
- BUG/MAJOR: connection: Never remove connection from idle lists outside the lock
- MINOR: task: add a new task_instant_wakeup() function
- MEDIUM: queue: use tasklet_instant_wakeup() to wake tasks
- DOC: remove my name from the config doc
- BUG/MINOR: rules: Forbid captures in defaults section if used by a backend
- BUG/MEDIUM: rules: Be able to use captures defined in defaults section
- BUG/MINOR: rules: Fix check_capture() function to use the right rule arguments
- Revert "CI: github actions: disable -Wno-deprecated"
- BUG/MINOR: sample: add missing use_backend/use-server contexts in smp_resolve_args
- BUG/MINOR: connection: "connection:close" header added despite 'close-spread-time'
- REGTESTS: fix the race conditions in be2dec.vtc ad field.vtc
3.2.1 (2022-04-11)
* Bugfixes
* Fix incorrect namespace used for caching function returns
* Remove redundant encode
* Remove redundant lowercase
* Remove unused `try`/`except` path
* Add types to the private API (disallow untyped calls and defs)
* Rely on `python_requires` instead of runtime check
* Docs
* Fix docs with updated types
* Fix link in Travis CI badge
* Rewrite documentation intro
* Remove unnecessary subheading
* Unify case
3.2.0 (2022-02-20)
* Features
* Add types to the public API
* Bugfixes
* Add support for Python 3.10
* Drop support for EOL Python 3.6
* Remove py2 tag from wheel
* Remove extra backtick in README
0.14.1
[BUGFIX] Revert choose_encoder being renamed to choose_formatter to fix a breaking change. For the 0.14.x release cycle choose_formatter will still exist, but will be removed in 0.15.0.
5.81.0
qtquickengine: Do not forward intermediate states
quickengine: Emit entryEvent signal with enum which is exposed to QML
Create a NewStuff.Action component, add NewStuff.Settings global
Less risk of infinite spinner on uninstalling KPackage based things
5.82.0
Deprecate quickengine changedEntries & related methods
Do not show error when installation is canceled
NewStuff Dialog: Forward entryEvent signal
NewStuff Button: Forward entryEvent signal
Make QML GHNS dialog a tiny bit wider
ensure .desktop files are executable
5.83.0
Ensure XmlLoader works in the expected, asynchronous fashion
Add functionality to have a local providers file
Don't show Go to... action unless it has children
Fix opensearch parsing
Make Syndication optional and only build OPDS plugin when present
Change the role names in the search preset to custom ones
Add in tagfilters and filter out entries that are not openaccess for now
Add recommended and subscription to the searchpreset types
Ensure to use the 'self' link relation for resolving relative urls
Add download size if said information is available
Add concept of search presets to hold navigation links for opds feed
Make sure the documents are valid feed documents
Fix some misunderstandings with Download Link information
Engine: Deprecate configSearchLocations and setConfigLocationFallback methods
Make knewstuff-dialog work more reliable
KNSCore::Engine: Add method to list all available knsrc files
KNSCore::Question: Use nested event loop for waiting
5.84.0
Download missing BSD-2-Clause, CC0-1.0 and LGPL-3.0-or-later licenses
Forward the error code signal from Engine through to QML
Sort and capitalise items in the knewstuff-dialog tool's sidebar
Align messagebox icon to the top (closer to how widget ones look)
Add an icon to the messageboxsheet
Quick little @since for the new enum value
Registering the error codes from KNSCore to allow them to be used easily in
QtQuick
Handle a 503 for OPDS opensearch urls, and schedule a reload
Forward the httpjob's error through xmlloader
Handle the provider file failing on a 503, and schedule reloading
Add in a status signal forward for 503 errors for httpjob
Handle "temporarily down" situations (http 503) more gracefully
5.85.0
Rework UploadDialog, add QML version, and a new ProvidersModel
Simplify lookup of knsrc files using KFileUtils::findAllUniqueFiles method
Forward Attica provider icons to KNSCore::Provider
Handle payload-only entries during update operations
5.86.0
Port from KMountPoint to QStorageInfo
Set KLocalizedContext for QtQuickDialogWrapper
Use QToolButton for reset button as we have the same style
5.87.0
staticxml: Do not report installed packages for page != 0
Engine: Do not require waiting for the providers to tell our installed entries
Fix crash in DownloadWidget
Add licenses CC0 license info to non-copyrightable files
Add BSD-2-Clause license info to cmake files
Add CC0-1.0 license identifier to non-copyrightable files
Include a user agent on KNS requests
attica: use compile-time connects
Add support for static builds - fixes
Add missing find_package(Qt5Gui)
Add support for static builds
FileCopyJob: implement error handling
Page: Remind/notify users that everything here is 3rd-party content
5.88.0
Port to enum values for KAuthorized::authorizeAction
5.89.0
Improve presentation of multi-file download sheet
Use RTL half-star rating icon when in RTL mode
5.90.0
Drop lib prefix when building for Windows
Remove defunct manual khotnewstuff_upload test
Revert "Adapt build system for building against qt6" (commited in bad
Revert "Add volker fix about cmake variable" (commited in bad branch)
Fix i18n* functions for knewstuff-dialog not existing
Move KNS3::Action class to new KNSWidgets submodule
New class: KNS3::Action
5.91.0
Update code snippet for NewStuff.Action
Register KNSCore::Entry under name "Entry" as a Q_GADGET to QML
Consume string views before they become invalid
Focus search field by default unless doing so would show the virtual keyboard
Deprecate KNS3::Button class in favor of KNSWidgets::Button
Introduce KNSWidgets::Button class for better compatibility with KF6 changes
KNSWidgets::Action add compatibility for unified entry class in KF6
Unify how kpackageType is determined for the addons
Button.qml Fix binding for engine property
Button.qml: Use QML loaders for dialog component
Fix broken usage example for NewStuff.Action
5.92.0
kmoretools: Fix OBS appstream id
Add conditional cache preference to http requests
Engine: Ensure we are not using the wrong ProvidersUrl
Add http2 to KNewStuff requests
KNSCore::Engine: Expose our Attica::Provider
5.93.0
Fix problems renaming a temporary file on Windows
Installation: don't let QTemporaryFile delete the file before using it
Do not set user-visible name as additional agent information when copying
provider
Do not set user-visible name as additional agent information
Engine: Default to autoconfig.kde.org for reading ProvidersUrl
Port to ECMQmlModule
Fix close button for NewStuff.Dialog not existing on X11
Fix certain tars not being recognized as valid archives
Version 0.73 (2021/02/19)
improve error reporting
fixed another configuration parsing bug
Version 0.72 (2021/02/16)
fixed a configuration parsing bug making 0.71 almost unusable
Version 0.71 (2021/02/14)
IPv6 support
fixed a display overflow in data usage statistics
made the configuration parser more tolerant with service names that contain
dashes (e.g. snmp-trap) or hostnames with underscores
create the log file if it does not exist
new Visual Studio project file
Version 0.70 (2017/09/09)
UDP support
source address binding support
use a real grammar for the configuration file and get rid of the hand-made
parser
Version 0.63 (2017/07/19)
added a -f flag to run in the foreground
quit cleanly when SIGINT is received
increased data buffer size for better performance
fixed random uninitialised data accesses
fixed a memory leak in connection reallocation
fixed a file descriptor leak in configuration reload
fixed configuration file parsing (many bugs including a buffer overflow)
fixed configuration error reporting (line numbers were wrong)
log accepted connections in addition to denied ones
log DNS errors
code quality refactoring: got rid of a lot of old code, used C library
functions instead of custom ones, enforced const correctness