* added an separate adblock rundir (/var/run/adblock)
* refine the cpu/core detection
* behaviour change: allowlist domains now also removes subdomains from the blocklist
* flock/serialize the etag writing in the f_etag function
* code clean-up/linting
Chen Minqiang [Mon, 30 Mar 2026 16:21:21 +0000 (00:21 +0800)]
openvpn: handler: refine netifd routing and config
Introduce a new `ipv6` proto option for OpenVPN netifd integration and
export it to the hotplug environment. IPv6 remains enabled by default,
but can now be explicitly disabled per instance.
Update the hotplug helper to apply IPv6 addresses and routes only when
IPv6 is enabled, allowing cleaner IPv4-only tunnel deployments.
Also improve route handling by:
- ignoring invalid default gateway values (0.0.0.0 / ::)
- replacing fixed `seq` loops with shell-safe while loops
- keeping trusted peer host routes conditional on valid gateways
* fixed the initialization of the banIP rundir (reported in the forum)
* sanitize possible windows line endings in local block- and allowlist
* refine the cpu/core detection
* code clean-up/linting
python-constantly: drop versioneer build dependency
The release tarball already contains a pre-generated _version.py with
the version hardcoded, so versioneer is not needed at build time.
Patch pyproject.toml to only require setuptools and remove
PKG_BUILD_DEPENDS:=python-versioneer/host.
Remove python-versioneer package as it is no longer needed.
PyUSB provides easy USB access in Python via libusb backend:
- Pure Python implementation working with libusb-1.0/0.1.x
- Requires Python >= 3.9
- High-level Pythonic interface to USB devices
- Supports bulk/interrupt/control/isochronous transfers
- Homepage: https://pyusb.github.io/pyusb
Lu Dai [Sat, 7 Feb 2026 01:06:11 +0000 (02:06 +0100)]
glib2: fix builds by explicitly disabling libelf
The libelf Meson option defaults to auto. Since commit 71b7b4478906 ("glib2: do not set default meson options"),
glib2 can enable libelf support nondeterministically depending on whether libelf.pc is visible during configure.
On failing builders Meson reports:
Run-time dependency libelf found: YES 0.192
and gresource later fails with:
../gio/gresource-tool.c:34:10: fatal error: libelf.h: No such file or directory
On passing builders we see:
Run-time dependency libelf found: NO (tried pkgconfig and cmake)
So explicitly disable libelf again to restore deterministic builds.
Fixes: #23459 Fixes: 71b7b4478906 ("glib2: do not set default meson options") Signed-off-by: Lu Dai <redacted> Signed-off-by: Christian Marangi <redacted>
0.10.0:
- Added support for PEP 794 (METADATA 2.5) import-names and
import-namespaces fields
- Dropped Python 3.7 support
- Fixed minimum required version of packaging dependency
0.11.0:
- Refactored internals to separate conversion and validation, yielding
better error messages
- Added downstream project testing in CI
- Removed lingering PEP 621 terminology in favor of pyproject.toml
terminology
Changes since 3.4.1:
- Remove the deprecated pyfuse3_asyncio module (long-renamed to
pyfuse3.asyncio)
- Fix a test failure in test_examples.py
- Modernize the build process and add more type annotations
Update package to 1.0.0. This is the first stable release.
Changes since 0.7.0:
- Dropped support for Python 3.7, 3.8, 3.9; added Python 3.13/3.14
- Added --overwrite-existing and --validate-record CLI options
- Support installing multiple wheels in a single invocation
- Security: fixed a path traversal bug
- Do not install __pycache__ directories from wheels
- Switch to stream-based validation instead of in-memory (lower memory)
- Sort entries before writing RECORD; fixed Windows relative path bug
- Complete type annotations with strict mypy enforcement
- API change: SchemeDictionaryDestination.overwrite_existing now defaults
to True (was False); update patch 001 accordingly
Remove patch 001-don-t-raise-error-if-file-exists.patch and
set '--overwrite-existing' in build scripts.
1.3.0:
- Added full type hints; Value and Outcome are now generic classes
- Added Maybe type alias as a union of Value[T] and Error
- Added typed __all__ exports and marked __version__ as a public constant
- Functions that do not return are now captured as Error
- Added pyright --verifytypes to CI; strict mypy mode enabled
Bump version 0.22.2 -> 0.33.0.
Add python3-ctypes, python3-logging, python3-openssl to DEPENDS
(required by the new version).
Add test.sh to verify nursery-based concurrent task execution.
Seo Suchan [Wed, 25 Feb 2026 19:39:12 +0000 (04:39 +0900)]
acme: make virtual package satisfiable by uacme
currently acme metapackage only able to satisfied with acme-acmesh,
but make is satisfieable by uacme if it's already installed.
still defaults to acme.sh
Bump version 2.4.0 -> 3.1.1.
Add python3-urllib to DEPENDS (required by new version).
Add test.sh to verify open_database and InvalidDatabaseError imports.
python-awesomeversion: update to 25.8.0; add test.sh
Bump version 23.5.0 -> 25.8.0.
Switch build dependency from python-poetry-core to python-hatchling.
Add test.sh to verify version parsing, comparison, and strategy detection.
Qingfang Deng [Thu, 2 Apr 2026 02:42:09 +0000 (10:42 +0800)]
ovpn-dco: switch to the new source
The ovpn kernel module is is part of the Linux kernel starting from
version 6.16.
Switch to the new officially maintained backports source:
https://github.com/OpenVPN/ovpn-backports
Build is failing for a while now with error:
```
14.3.0_musl/usr/include -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-mipsel_24kc_gcc-14.3.0_musl/include -I/builder/shared-workdir/build/sdk/staging_dir/toolchain-mipsel_24kc_gcc-14.3.0_musl/include/fortify -I/builder/shared-workdir/build/sdk/staging_dir/target-mipsel_24kc_musl/usr/include/python3.14 -fPIC -I/builder/shared-workdir/build/sdk/staging_dir/target-mipsel_24kc_musl/usr/include/python3.14 -c ./ubus_python.c -o build/temp.linux-mipsel-cpython-314/ubus_python.o
./ubus_python.c: In function 'ubus_python_add':
./ubus_python.c:1081:17: error: implicit declaration of function 'PyEval_CallMethod'; did you mean 'PyObject_CallMethod'? [-Wimplicit-function-declaration]
1081 | PyEval_CallMethod(python_alloc_list, "pop", "");
| ^~~~~~~~~~~~~~~~~
| PyObject_CallMethod
error: command '/builder/shared-workdir/build/sdk/staging_dir/toolc
```
This has been fixed on version 0.1.3, but that hasn't been
published to pypi yet.
Major version 2.0 breaking changes:
- Hub API deprecated; replaced with new_scope / isolation_scope API;
configure_scope / push_scope removed; Hub class retained but deprecated
- Python 2.7 support dropped; internal SDK data model refactored
- Migration guide: https://docs.sentry.io/platforms/python/migration/1.x-to-2.x
New features (2.0 - 2.57):
- Many integrations now auto-activate if the package is detected:
Ariadne, ARQ, asyncpg, Chalice, Loguru, PyMongo, Quart, Starlite,
Strawberry, Anthropic, Cohere, Graphene, LiteLLM, Google GenAI
- Extensive AI/LLM monitoring with gen_ai.* span attributes aligned
with OpenTelemetry semantic conventions
- Feature flag tracking: LaunchDarkly, Unleash integrations
- Sentry structured logs (beta, 2.30): capture Loguru log messages
- New SysExitIntegration (2.14)
- failed_request_status_codes configurable for FastAPI/Starlette (2.5)
- Client cert/key support for HttpTransport (2.10)
- Experimental async transport added (2.57)
0.7.0: SSE-C arguments now passed to CompleteMultipartUpload for upload
operations.
0.8.0 (CRT improvements): Wider CRT upload functionality; CRC32
auto-configured for CRT uploads; file-like object support for seekable
and non-seekable streams; dynamic target throughput via AWS CRT system
detection.
0.9.0: Python 3.7 dropped.
0.10.0: S3 Express support for CRT; Multi-Region Access Point support
for CRT (0.10.4).
0.11.0 (CRC32 default): Now uses CRC32 by default and supports
user-provided full-object checksums.
0.12.0: Python 3.8 dropped.
0.13.0: ETag validation during multipart downloads.
0.15.0: ETag validation during multipart copies.
0.16.0: TransferConfig options (multipart_threshold, multipart_chunksize,
max_request_concurrency) now supported in CRTTransferManager.
1.32.1: botocore wheel now ships compressed service models to reduce
disk footprint.
1.33.0: Version aligned; boto3/botocore share the same version number.
1.36.0 (S3 checksum overhaul): CRC32 default for uploads; CRC64NVME
support via awscrt; configurable via request_checksum_calculation and
response_checksum_validation settings.
1.37.0 (Account-based endpoints): DynamoDB support for account-based
endpoint routing; smithy-rpc-v2-cbor protocol support (1.37.2).
1.33.0: boto3 and botocore now share the same version number.
1.36.0 (S3 checksum overhaul): CRC32 is now calculated by default for
all supported S3 operations; Content-MD5 header no longer auto-populated;
response checksum validation added; CRC64NVME and SHA512 algorithms
supported via optional awscrt.
1.38.0 (Account-based endpoints): DynamoDB and future services now use
https://<account-id>.ddb.<region>.amazonaws.com endpoints when account
ID is available. Python 3.8 end of support.
1.40.0 (STS endpoint default): Changed from legacy to regional; override
via sts_regional_endpoints config or AWS_STS_REGIONAL_ENDPOINTS env var.
1.41.0 (New credential provider): login credential provider added,
allowing use of AWS Management Console credentials.
Hundreds of API additions across Bedrock, ECS, EKS, Lambda, SageMaker,
and many more services.
* fixed two issues in the mail template, reported in the forum
* tweak the f_report function
* changed the f_actual function to reduce subshell calls
* further optimize the monitor function:
* fixed a possible RDAP rate-limit race condition,
serialize the rdap_tsfile via flock
* block_cache bounded growth, when the cache reaches 500
entries it resets to empty, preventing unbounded string growth
in the monitor loop
* set the printf format string in single quotes (overall)
7.3.0:
- License changed from MIT to 0BSD (no attribution required)
- New mime_type field in all detection results -- identifies binary and text
file types via magic number matching (40+ formats supported)
- Performance: 4 additional modules compiled with mypyc; per-file detection
capped at 16 KB (worst-case time: 62ms -> 26ms)
- Added riscv64 prebuilt wheel support
- Bug fix: null-separated ASCII data was misdetected as UTF-16-BE
7.4.0:
- Accuracy improved from 98.6% to 99.3%; speed improved with new dense
zlib-compressed model format (cold start: ~75ms -> ~13ms with mypyc)
- Training data overhauled: added MADLAD-400 and Wikipedia sources,
eliminated train/test overlap, samples increased from 15K to 25K per
language/encoding pair
- Bug fix: dedicated structural analyzers added for CP932, CP949, and
Big5-HKSCS (previously sharing base encoding byte-range analyzer)
7.4.1:
- Bug fix: BOM-prefixed UTF-16/32 input now correctly returns utf-16/utf-32
instead of endian-specific variants (utf-16-le/utf-16-be/etc.), which
previously caused a stray U+FEFF character at the start of decoded text
Security fixes:
- CVE-2026-33033: DoS fix in MultiPartParser -- base64-encoded multipart
uploads with excessive whitespace could cause repeated memory copying
- CVE-2026-3902: ASGI header spoofing fixed -- headers containing underscores
are now ignored by ASGIRequest to prevent hyphen/underscore conflation
attacks
- CVE-2026-4277: Privilege abuse in GenericInlineModelAdmin -- add permissions
on inline model instances were not validated against forged POST data
- CVE-2026-4292: Privilege abuse in ModelAdmin.list_editable -- changelist
forms incorrectly allowed new instances to be created via forged POST data
- CVE-2026-33034: DoS via ASGI memory upload limit bypass -- missing or
understated Content-Length could bypass DATA_UPLOAD_MAX_MEMORY_SIZE
Bug fixes:
- alogin/alogout regression where request.user was not set/cleared if already
materialized by sync middleware
- RelatedFieldWidgetWrapper regression incorrectly wrapping all widgets in a
fieldset in admin forms
Qingfang Deng [Sat, 11 Apr 2026 06:50:22 +0000 (09:50 +0300)]
collectd: remove redundant liblua link flag
The link flag makes the main program depend on liblua in official
package feeds, even if collectd-mod-lua is not installed.
The plugin is already linked against liblua.so, so this can be removed.
Signed-off-by: Qingfang Deng <redacted>
[added PKG_RELEASE bump]
watchcat: use logical network to fix restart_interface
Watchcat was failing to restart layer-3 interfaces when in mode
'restart_iface'. The previously attempted fix made the situation
worse in that it resulted in layer 2 interfaces also failing to
start.
This was because we are passed the interface name (e.g. eth0,
l2p0, or br-lan), but ifup needs the logical network (e.g. 'lan'
which corresponds to the network device).
Update to use find_config from /lib/network/config.sh to find the
logical network from the interface name, and use ifup on the
logical network to restart the underlying interface(s) associated
with the logical network.