farstream 0.2.9 (March 11, 2020)
================================
- Add OPUS specific SDP OA negotiation to match RFC
- Switch VP8 to standard encoding name
- Removed MSN plugin, MSN Messenger is long dead
- Port away from deprecated libnice signals
- Bug fixes
## v0.2.10
### Merged PRs:
- add undef guard in tox_many_tcp_test
- Fix bazel build version at 0.22.0 for CI.
- Disable failing TCP server test
- Do not send the same packet to the same node twice
- add configurable limit on number of stored frozen peers
- Expose api functions for enabling and disabling AV in AV groups
- Specify that buffer size for tox_conference_peer_get_name is given by $size
### Closed issues:
- CirrusCI is failing and blocking PRs
- Onion client review
- Persistent conference's offline peer list always grows and never decreases
- Loaded persistent groups fail to send audio
- How to make libtox4j-c.so for android?
- Bump so version
- Message length is too large log spam
## v0.2.9
### Merged PRs:
- Add some const qualifiers
- Implement all min/max functions for (un)signed int types.
- Fix misaligned 4-byte access in trace logging.
- Use correct path to test log to cat on error.
- Display build log for autotools build on failure.
- Enable auto tests under STRICT_ABI if static libs are available.
- Add MIN_LOGGER_LEVEL to the Circle CI builds.
- Avoid sending group messages to a peer before we have its group number
- Use new WineHQ Debian package repository key
- Release 0.2.9
- Merge irungentoo/master back into toktok/master.
- Allow unauthenticated wine packages in the Windows build.
- Add cmake option for building additional tests
- Define tox_conference_id_size and tox_conference_uid_size
- Avoid format truncation in save compatibility test
- Upgrade bazel to 0.19.0 to fix the bazel build.
- Return TOX_ERR_CONFERENCE_SEND_MESSAGE_NO_CONNECTION if we are not
connected to any peers
- Fix indices calculation for congestion control.
- Improve handling of peers entering and leaving conferences
- Expose offline conference peers in API
- Fix critical stack overflow arising from VLA usage
- Add some hopefully helpful documentation to the functions in mono_time.h
- Change method of PK production for FAKE friend in DHT
- Increase NOFILE limit for tox-bootstrapd
- Use `bool` for IPv6 flag in test programs and `DHT_bootstrap`.
- Add `LOGGER_ASSERT` for checking fatal error conditions.
- Include `CTest` in CMakeLists.txt to get valgrind support.
- Consistently use camel case enum names.
- Add AUTOTEST option to CMakeLists.txt
- Make tox-bootstrapd free memory on SIGINT and SIGTERM
- Support DragonFlyBSD and prune unused variables.
- Ensure save data unchanged after save and load
- Make saving and loading the responsibility of Tox rather than Messenger
- Some improvements to tox-bootstrapd's Dockerfile
- Remove Alpine Linux bootstrap daemon dockerfile.
- Improve Windows compatibility of toxav code.
- Add LAN_discovery to the list of apidsl-generated files.
- conferences saving
### Closed issues:
- Persistent group titles get mixed up
- How to run test case?
- Save file corruption
- tox_conference_id_size() symbol missing
- Fails to build with STRICT_ABI option
- PK should not be generated with random_bytes
- Test #1081
- friendlist access (add, delete, ...) causes crashes sometimes
- Proposal: TFCL [Tox Friend Capabilities Level]
- packet ranges not very clearly explained
- Proposal: reduce Video corruption even more by negotating the
reference frame between sender and receiver
- Proposal: Tox MessageV2
- libvpx vulnerability
- please add documentation to: bwcontroller.c
- function names misleading in ToxAV
- WIP: ToxIdenticon - howto
- PACKET_LOSSY_AV_RESERVED 8 # why?
- payload_type hardcoded
- running a normal tox node as tcp relay is not possible
- [INFO]: network graphs 0.1.9 vs 0.1.10
- toxcore removes message receipts and filetransfers from memory, when client has short network outage
- Invalid bit rate prevents call
## v0.2.8
### Merged PRs:
- Release 0.2.8
- Avoid use of IPv6 in tests if not supported (e.g. on Travis).
- Fix memory leak in tcp server by wiping priority queues on deletion.
- Fix logger level defaulting to TRACE in CMake
- Remove a function-like macro and replace it with a function.
- Use a working DHT node for bootstrap tests.
- Revert "Improve cmake build for MSVC."
- Reset onion search rate for a friend when we see evidence that they are
online
- Run tests on Appveyor (Windows native build).
- Add Cirrus CI configuration.
- Use new `@pthread` library from toktok-stack for Windows compat.
- Run UBSAN (undefined behaviour sanitizer) on Circle CI.
- Fix using uninitialized mutex on call end
- Send rejoin packets on conference disconnection
- Improve cmake build for MSVC
- Fix yamllint test (it's gone from bazel, add a new one).
- Fix typos in comments and log and test assertion messages.
- Fixed a silly boolean practice using uint8_t
- Format yaml files according to yamllint's requirements and remove branch
filter for appveyor.
- Use most recent version of Bazel (0.17.1).
- Use C++ style casts in C++ code.
- Use run_auto_test fixture in typing_test.c
- Standardise header guards.
- Assert that we don't kill tox before killing toxav.
- Always use the passed logger (from Messenger) in msi_kill.
- Fix typo: tcp_replays -> tcp_relays.
- Use `(void)` for empty parameter lists in C.
- Ignore "unused-result" warning in super_donators code.
- Fix login issue on Travis-CI FreeBSD build
- Include necessary opencv2 header on OSX.
- Clean up `add_to_list` function a bit.
- Avoid recursion in `ip_is_lan` and `ip_is_local`.
- Add tool to find directly recursive calls in toxcore.
- Remove the use of `CLOCK_MONOTONIC_RAW`.
- Avoid use of global mutable state in mono_time on win32.
- Use `code font` for tool names and flags in INSTALL.md.
- Simplify configure.ac for faster autotools build.
- Use test clock in run_auto_test tests and dht test
- Add mechanism for recovering from disconnections in conferences
- Finish the messenger state plugin system
- Feature bootstrap trace/debug log output
### Closed issues:
- Massive red shutdown of nodes
- Windows cross-compilation is broken
- Persistent groups don't work properly when using toxync bot
- How to get groupchat identifier?
# v0.19.4
## Bugfix
- slack: fix regression with slack library (#264)
- slack: fix an unexpected panic (#263)
# v0.19.3
## Enhancement
* general: Add UPDATELASTVIEWED command, and make DisableAutoView work consistently (#255)
* slack: Handle message edits and deletion (#260)
* slack: Add handling of reactions, stars and pins (#229)
## Bugfix
* mattermost: Fix a panic #247
* mattermost: Fixes incorrect users because of paging. #244
* mattermost: Fix outdated channel issue
* mattermost: Add paging so we can see > 200 users in a channel #248
* mattermost: Fix expired session panic #259
* general: Fix datarace #246
* general: Fix empty JoinInclude
* general: Fix panic #257
This release couldn't exist without the following contributors:
@Aketzu, @bucko909, @42wim
# v0.19.2
## Enhancement
* general: Add a default value matterirc.toml for the '-conf' flag (#240)
* slack: library updated
* mattermost: library updated
* mattermost: Add support for channel created/deleted events
## Bugfix
* mattermost: Remove ourselves from the channel when removed in mattermost. Fixes#233
* mattermost: Add/remove ourselves to the channel if we join using the GUI. #239
* mattermost: Update topics in mattermost. Closes#241
* mattermost: Fix pastes and attachments in direct message. Closes#228
* mattermost: Update channels if not known on join yet
# v0.19.1
## New features
* mattermost: Added support for disabling of automatic view flag updates (#226). See DisableAutoView in matterircd.toml.example
* slack: Add message showing enhancements and add slackbot to all channels (#230)
## Bugfix
* general: Fix tight loop (100% CPU). Closes#231
# v0.19.0
## New features
* irc: Add support for spoofing query messages. #195
* You can now see your own messages you've typed on slack/mattermost web in irc
* irc: Add PasteBufferTimeout option (send ascii-art!)
* See matterircd.toml.example for an example.
* PasteBufferTimeout specifies the amount of time in milliseconds that messages get kept in matterircd internal buffer before being sent to
mattermost or slack. Messages that will be received in this time will be concatenated together
So this can be used to paste stuff like ascii-art or code.
Default 0 (is disabled)
Depending on how fast you type 2500 is a good number
## Bugfix
* slack: Correctly handle different nick and username #203
* slack: Ignore channel join messages #198
Changes since 8.2.29:
-- Noteworthy changes in version 8.2.30 (2020-03-01)
o) "QUOTE HELP extban" didn't work because the extban help file hasn't been
installed properly during 'make install'
o) Fixed broken libcrypto detection which caused the ircd not to work with
openssl under certain circumstances
o) Extban $n of type 'acting' has been implemented. This extban prevents
matching users from changing their nick while in the channel. Users
with voice or above are not affected.
o) Channel mode +N has been changed so channel members with +v can change
their nick name as well
o) For a full list of all changes in this release, see https://git.io/JvgAq
"This version of jabberd is very very old and no longer maintained."
The wip package jabberd14 indicates that it can eventually be imported
as jabberd14 rather than directly replacing this package, but isn't
ready yet due to stability concerns.
v1.5.0
------
* BREAKING CHANGE: the search_v1 API is now gone from Mastodon, Mastodon.py will still let you use it where available / use it where needed if you call search()
* Support for new 3.0.0 features
* Added profile directory API: directory()
* Added featured and suggested tags API: featured_tags(), featured_tag_suggestions(), featured_tag_create(), featured_tag_delete() (Thanks Gargron for the advice)
* Added read-markers API: markers_get(), markers_set()
* Re-added trends API: trends()
* Added health api: instance_health()
* Added nodeinfo support: instance_nodeinfo()
* Added new parameters to search (exclude_unreviewed) and create_account (reason)
* Added ability to persist base URLs together with access token and client id / secret files
* Documented that status_card endpoint has been removed, switched to alternate method of retrieving cards if function is still used
* Added blurhash as a core dependency, since it is now licensed permissively again
* Added me() function as synonym for account_verify_credentials() to lessen confusion
* Fixed notification-dismiss to use new API endpoint where the old one is not available (Thanks kensanata)
* Fixed status_reply to match status_post
* Add basic support for non-mainline featuresvia the feature_set parameter
* Added support for fedibirds quote_id parameter in status_post
* Future-proofed webpush cryptography api while trying to remain very backwards compatible so that it can hopefully in the future become part of the core
* Clarified and updated the documentation and improved the tests in various ways
== Version 2.7.1 (2020-02-20)
Bug fixes::
* irc: fix crash when receiving a malformed message 352 (who)
* irc: fix crash when a new message 005 is received with longer nick prefixes
* irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
UnrealIRCd 5.0.3.1
-------------------
This fixes a crash issue after REHASH in 5.0.3.
UnrealIRCd 5.0.3
-----------------
Fixes:
* Fix serious flood issue in labeled-response implementation.
* An IRCOp SQUIT'ing a far remote server may cause a broken link topology
* In channels that are +D (delayed join), PARTs were not shown correctly to
channel operators.
Enhancements:
* A new HISTORY command for history playback (```HISTORY #channel number-of-lines```)
which allows you to fetch more lines than the on-join history playback.
Of course, taking into account the set limits in the +H channel mode.
This command is one of the [two interfaces](https://www.unrealircd.org/docs/Channel_history#Ways_to_retrieve_history)
to [Channel history](https://www.unrealircd.org/docs/Channel_history).
* Two new [message tags](https://www.unrealircd.org/docs/Message_tags),
```unrealircd.org/userip``` and ```unrealircd.org/userhost```
which communicate the user@ip and real user@host to IRCOps.
Changes:
* Drop the draft/ prefix now that the IRCv3
[labeled-response](https://ircv3.net/specs/extensions/labeled-response.html)
specification is out of draft.
* The operclass permission ```immune:target-limit``` is now called
```immune:max-concurrent-conversations```, since it bypasses
[set::anti-flood::max-concurrent-conversations](https://www.unrealircd.org/docs/Set_block#set::anti-flood::max-concurrent-conversations).
For 99% of the users this change is not important, but it may be
if you use highly customized [operclass blocks](https://www.unrealircd.org/docs/Operclass_block)
Are you upgrading from UnrealIRCd 4.x to UnrealIRCd 5? If so,
then check out the *UnrealIRCd 5* release notes [further down](#unrealircd-5). At the
very least, check out [Upgrading from 4.x](https://www.unrealircd.org/docs/Upgrading_from_4.x).
Changes since 8.2.28:
-- Noteworthy changes in version 8.2.29 (2020-02-19)
o) Extbans have been implemented. Currently supported extbans:
Matching:
$a:<account> Matches users logged into a matching account.
$c:<channel> Matches users that are on the given channel. An additional
prefix of either @, %, or + can be specified to test for
certain channel privileges.
$o:<class> Matches IRC operators that have joined a class
matching the mask.
$r:<realname> Matches users with a matching realname.
$s:<server> Matches users that are connected to a server matching the mask.
$u:<modes> Matches users having the specified user modes set or not set.
$z:<certfp> Matches users having the given TLS certificate fingerprint.
Acting:
$j:<banmask> Prevents matching users from joining the channel.
$m:<banmask> Blocks messages from matching users. Users with voice
or above are not affected.
For more details, see help/extban.
o) Added 'channel::enable_extbans' configuration option. See doc/reference.conf
for more information.
o) For a full list of all changes in this release, see https://git.io/JvBca
Changes:
* Added support for the IRCv3 Labeled Response specification.
* Added support for help topics to the helpop module.
* Added support for pagination to the index output of the HELPOP
command.
* Added support for passing module names to --{disable,enable} using
their short names (e.g. --enable-extras ssl_gnutls).
* Added support for passing space-delimited module names to
--{disable,enable}-extras (e.g. --enable-extras "ssl_gnutls
ssl_mbedtls").
* Added support for the X-Real-IP and X-Forwarded-For headers to the
websocket module.
* Added the codepage module — a better solution for custom 8-bit
character set support than the incredibly broken and undocumented
nationalchars module.
* Changed the default for <waitpong:sendsnotice> to no.
* Changed the user count in LUSERS so that it no longer includes
services pseudoclients.
* Developer: add Channel::WriteRemoteNotice which sends a notice to
remote users as well as local users.
* Developer: add a status char option to Channel::WriteNotice for
sending status messages.
* Developer: add the ClientProtocol::MessageTagEvent class to allow
handling message tags easier.
* Developer: added MessageTarget::GetName to allow easily getting the
name of a message target.
* Developer: added a status char option to the TagMessage constructor
for sending status messages.
* Developer: added an "oper only" parameter to
Simple{Channel,User}ModeHandler.
* Developer: added empty string checks to the
Numerics::NoSuch{Channel,Nick} constructors.
* Developer: added several variadic overloads of the
IRCv3::Replies::Reply::Send method.
* Developer: added the OnCommandBlocked event for when the execution of
a command is blocked.
* Developer: added the UserManager::ULineCount method for counting
pseudoclients on ulined servers.
* Developer: added the inspircd.org/poison capability which rejects any
attempt to request it to avoid clients requesting all available
capabilities rather than the ones they support.
* Developer: added the stdalgo:delete_zero method for deleting and
zeroing a pointer.
* Developer: deprecated the ProtocolInterface::Send{Channel,User}Notice
methods in favour of SendMessage.
* Developer: disabled CULLLIST log messages unless the server has been
built in debug mode.
* Developer: switched from Travis CI to GitHub Actions.
* Developer: the FailedPort type now contains the config tag that the
listener was created from.
* Fix connections to ports which have an invalid I/O hook configured not
being rejected.
* Fix various Perl tools not looking in the right directory for the
make::* modules.
* Fixed a bug in helpop.conf.example where the SWHOIS key was not using
the correct value name.
* Fixed allowing TAGMSG messages to be sent without any tags attached.
* Fixed boolean configuration options not being matched in a case
insensitive way.
* Fixed not using case insensitive comparisons for the DCCALLOW
subcommands.
* Fixed not using case insensitive matching when checking if a SSL
rehash has been requested.
* Fixed not using the ERR_INVALIDMODEPARAM numeric when not enough
parameters are given to the snomask mode.
* Fixed not using the RPL_REHASHING numeric for remote rehashes.
* Fixed parsing CTCPs in the dccallow module.
* Fixed prioritisation of custom events provided by modules.
* Fixed spamming the log with DNS cache clearing notices when nothing
was actually cleared.
* Fixed status messages not working with the TAGMSG command.
* Fixed the chanhistory module not storing message tags.
* Fixed the chanhistory module not storing notices.
* Fixed the chanhistory module storing CTCPs.
* Fixed the legacy PROTOCTL NAMESX command not using case insensitive
matching.
* Fixed the legacy PROTOCTL UHNAMES command not using case insensitive
matching.
* Fixed the nationalchars module allowing nicknames which begin with a
number.
* Fixed the nationalchars module not rebuilding the 005 numerics on
unload.
* Fixed the nationalchars module not restoring the previous casemapping
name on unload.
* Fixed the systemd unit file starting InspIRCd before the network is
online.
* Fixed unnecessarily making N*2-1 too many copies of the command
arguments when processing a command with multiple targets.
* Improve the warning process when starting InspIRCd as root.
* Improved the ban message shown to users if they are banned by an
extban.
* Improved the output when a port can not be bound.
* Removed the preceding - from the MOTD, server operator MOTD, and any
custom MOTDs added with the showfile module.
* Renamed <chanhistory:notice> to <chanhistory:prefixmsg> so the
behaviour is less ambiguous.
* Replace the Windows getopt_long shim with the ya_getopt library.
* Updated the example MOTD and server operator MOTD to be a bit prettier
and show off some of the escape codes.
Upgrade notes (seem like there are very few breaking changes):
https://www.unrealircd.org/docs/Upgrading_from_4.x
What's new in UnrealIRCd 5:
* Channel history. You can now see the last couple of lines that have
been said on channels when you JOIN. For this you need to set channel
mode +H, eg: eg: /MODE #chan +H 15:1440
* More IRCv3 features. Additional details are communicated to clients
which may help with displaying information. Implemented specs are:
account-tag, message-ids, time, echo-message, labeled-response and
BATCH.
* Ban exceptions (/ELINE). You can now exempt users dynamically on IRC
from *LINES, spamfilter, throttling, blacklist checking, connection
floods, bypassing antirandom, etc. Just type /ELINE on IRC to see
details.
* *LINES and Spamfilters are remembered: All of these are saved to a
file every few minutes and saved across reboots. This uses the new
tkldb module (loaded by default). No need for services for that
anymore.
* Persistent channels are remembered: For channels which have mode +P
set we now save all channel settings across reboots (topic, regular
modes and +beI lists). This via the channeldb module (loaded by
default).
* Anti connect-flood measures. In the last few 4.2.x versions we
introduced Connthrottle and reputation. In 5.x these modules are now
loaded by default for increased security.
* Easily restrict commands to fight drones. You can now disable any
command or impose restrictions, such as: command can only be executed
after being connected for XX seconds, or if you are identified to
services, etc. See the example for how to restrict LIST, INVITE and
messaging.
* Module manager for managing 3rd party modules easily. Install and
update modules with a single command.
* Condition configuration. You can have condition configuration where
you e.g. @define $IP "203.0.113.1" and can use $IP everywhere in the
configuration file. Similarly, support for @if-blocks. This is
especially useful for advanced users who like to use the same
configuration file on multiple machines, usually with the help of
remote includes.
* Improved Channel Mode +L now kicks in for any rejected join, so not
just for +l but also for +b, +i, +O, +z, +R and +k. If, for example,
the channel is +L #insecure and also +z then, when an insecure user
ties to join they will be redirected to #insecure.
* Ban forwards. New extended ban ~f to forward users to the specified
channel if the ban matches. Example: MODE #chan +b
~f:#badisp:*!*@*.isp.org
* Improved WebSocket support. We already supported websockets, but now
we support websocket type 'text', which is compatible with web IRC
clients such as Kiwi IRC.
* Code cleanups. The biggest effort of all went into cleaning up old
code and making the code much more readable. This also means that
UnrealIRCd 5 will not be able to link with really older servers or
services, like UnrealIRCd 3.2.x.
* Windows version is 64-bits. This should allow for increased address
space and security. This also means UnrealIRCd 5 will not run on
32-bits Windows (should be rare nowadays, anyway)
Changes since 8.2.27:
-- Noteworthy changes in version 8.2.28 (2020-01-26)
o) Fixed issue with topics set by TBURST not being propagated properly to clients
o) Allow IRC operators to search for real hosts in "WHO"
o) Ban/exempt/invex masks are now also tested against realhosts to prevent clients
from bypassing channel bans by activating a fakehost
o) For a full list of all changes in this release, see https://git.io/JvqpT
pkglint -r --network --only "migrate"
As a side-effect of migrating the homepages, pkglint also fixed a few
indentations in unrelated lines. These and the new homepages have been
checked manually.
Update prepared in wip by Tiago Seco.
Changes in 0.11.4
=================
Fixes and improvements
core.rostermanager: Improve performance by caching rosters of offline #1233
mod_pep: Handling subscriptions more efficiently #1372
Minor changes
util.interpolation: Support unescaped variables with more modifiers #1452
MUC: Mark source of historic messages correctly #1416
mod_auth_internal_hashed: Pass on errors #1477
mod_mam, mod_muc_mam: Improve logging of failures #1478, #1480, #1481
mod_muc, mod_muc_mam: Reschedule message expiry in case of failure
mod_mam: Add flag to session when it performs a MAM query
prosodyctl check: Warn about conflict between mod_pep and mod_pep_simple
prosodyctl check: Warn about conflict between mod_vcard and mod_vcard_legacy #1469
core.modulemanager: Disable mod_vcard if mod_vcard_legacy is enabled to prevent conflict #1469
MUC: Strip tags with MUC-related namespaces from private messages #1427
MUC: Don't advertise registration feature on host #1451
mod_vcard_legacy: Fix handling of empty photo elements #1432
mod_vcard_legacy: Advertise lack of avatar correctly #1431
prosodyctl: Handle if the setting proxy65_address has the wrong type
prosodyctl: Print a blank line to improve spacing and readability
MUC: Fix role loss in Nickname change #1466
util.pposix: Fix reporting of memory usage in 2-4GB range #1445
util.startup: Fix a regression concerning directory paths #1430
mod_websocket: Don't mask WebSocket pong answers #1484
net.resolvers: Apply IDNA conversion to ascii for DNS lookups (affects only HTTP queries) #1426
net.resolvers.basic: Fix resolution of IPv6 literals (in brackets) #1459
Changes since 8.2.26:
-- Noteworthy changes in version 8.2.27 (2020-01-22)
o) Experimental support for wolfSSL has been implemented. Minimum supported version is 4.3.0
o) The --enable-openssl, --enable-gnutls switches, and their disabling counterparts
--disable-openssl and --disable-gnutls, have been replaced with the --with-tls switch
which takes one of the following options: 'openssl', 'wolfssl', 'gnutls', and 'none'.
If nothing has been specified, configure tries to autodetect in the following order:
openssl/libressl -> gnutls -> wolfssl.
o) Fixed segfault with GnuTLS/libgmp in case there's no DH parameters file
defined in 'serverinfo::ssl_dh_param_file' or if that file is missing
o) The connection timeout for connect{} blocks can now be configured via
the 'connect::timeout' configuration directive
o) Minimum supported OpenSSL version is 1.1.1 now
o) Minimum supported GnuTLS version is 3.6.5 now
o) Supported TLSv1.3 cipher suites can now be configured explicitely via the
new 'serverinfo::tls_cipher_suites' configuration directive
o) In the serverinfo {} block, the following configuration directives have been renamed:
ssl_certificate_file -> tls_certificate_file
ssl_dh_param_file -> tls_dh_param_file
ssl_dh_elliptic_curve -> tls_supported_groups
ssl_cipher_list -> tls_cipher_list
ssl_message_digest_algorithm -> tls_message_digest_algorithm
o) In the operator {} block, the following configuration directives have been renamed:
ssl_certificate_fingerprint -> tls_certificate_fingerprint
ssl_connection_required -> tls_connection_required
o) In the connect {} block, the following configuration directives have been renamed:
ssl_cipher_list -> tls_cipher_list
ssl_certificate_fingerprint -> tls_certificate_fingerprint
libgadu is library for handling Gadu-Gadu instant messenger protocol. For a
long time it was an intergral part of ekg application but due to packaging
issues and use in other appliactions it became a project on its own.
Proprietary protocol was reverse engineered which may make libgadu less than
100% compatible with the original.
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.