Changelog:
===========
* When using 'assert_all_requests_are_fired=True', assertions about
unfired requests are now raised even when an exception occurs in the context manager or
decorated function. Previously, these assertions were suppressed when exceptions occurred.
This new behavior provides valuable debugging context about which mocked requests were
or weren't called.
* Consider the 'Retry-After' header when handling retries
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
==========
- Added \z as alias of \Z, like in re module.
- Added prefixmatch as alias of match, like in re module.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
===========
- Avoid emitting dedents after an escaped new line
- Add --json support to the CLI
- Fix quiet mode in the CLI
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
============
- Fix type invariance causing too strict typing
- Add E2E testing infrastructure using mkosi for running tests in a real systemd environment
- Improve type annotations throughout pystemd, modernizing to Python 3.10+ syntax
- Add AmbientCapabilities to systemd1 KNOWN_UNIT_SIGNATURES
- Improve README.md clarity, spelling, and grammar
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
============
- SimDevice / SimRuntime fixes.
- No inter_frame_time check for baudrate > 38000.
- Fix smaller bugs in test, part 2.
- simulator startup armoring and update 3.x docs
- Fix smaller bugs in test, part 1.
- Update README.rst.
- Coverage limit is 99.95% (to allow a little margin).
- Removed simulator README, due to unused.
- fix: add warning log when using internal default simulator config
- Document simulator entrypoint in README
- Upgrade library versions installed by pip.
- SimData/Device integrate in server.
- Add bind to ModbusUdpClient.
- Solve Zuban problem.
- Fix wrong parameter name in function docstring. Fix set_values does not accept tuple.
- Add context.async_get/setValues with device_id.
- SimData/SimDevice ready for server integration.
- Reactivate pytest coverage.
- No blank issue template.
- Update issue templates
- Fix ReadFifoQueueResponse count
- Limited support for multiple devices on RS485.
- Simulator DataBlock docstring corrections
- fix README.rst and troubleshooting
- Solve DoS vulnerability.
- server handle_local_echo only in comm_params.
- di is for discrete input
- Allow any dev_id, when requesting dev_id 0.
- Allow response transaction_id 0.
- Use relative import.
- ModbusServerContext.device_ids() docstring
- Include ModbusSequentialDataBlock into the documentation
- Fix Modbus TCP protocol ID validation in FramerSocket
- Remove idle_time() from sync client, which anyhow was void.
- Correct check_ci.sh.
- Replace mypy with zuban
- Fix monitoring of functions
- Improve types
- dicts have preserved insertion order since 3.7
- asyncio.iscoroutinefunction() is deprecated
- Remove pypi-alias.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
===========
- Fix microsecond precision loss in timestamp parsing
- allow triggering CI manually
- Actually raise exception
- readme: Clarify 'd' type
- Bump actions/checkout from 5 to 6 in the actions-infrastructure group
- Allow grouping char (,_) in decimal format string
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
Fix a crash on Python 3.10 if there are active greenlets during interpreter shutdown.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Features
----------
- honor NO_GCE_CHECK environment variable
- add configurable GCE Metadata Server retries
- add cryptography as required dependency
- Support the mTLS IAM domain for Certificate based Access
Bug Fixes
----------
- resolve circular imports
- Use user_verification=preferred for ReAuth WebAuthn challenge
- removes content-header from AWS IMDS get request
- detect correct auth when ADC env var is set but empty
- replace deprecated utcfromtimestamp
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
============
- Drop support for Python 3.9.Add support for Python 3.14.
- To avoid merge errors, add the line number to the name of the unknown function.
- If intermediate files are kept, rename the gcov files before processing them to log the final filename.
- Use the first line after a function definition and not the first line which is hit.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
New features:
--------------
- search_dates() can now detect time spans from expressions like "past
- month", "last week", etc. For details, see the "Time Span Detection" section
- and the RETURN_TIME_SPAN, DEFAULT_START_OF_WEEK and
- DEFAULT_DAYS_IN_MONTH settings in the documentation.
Fixes:
--------
- Assume the current year if not specified
- Support expressions like "yesterday +1h"
- English: Support most 2-letter day-of-the-week names
- English: Support "in N weeks' time"
- Finnish: Support dates with "klo"
- Russian: Support compound ordinals
Cleanups and internal improvements:
-------------------------------------
- Fixed year expectation issues in tests.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
==========
- Drop support of Python 3.9, support 3.14
- Support :host
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Changelog:
============
- SECURITY FIX CVE-2025-14550
- Fixed a regression in 3.11.0 in "sync_to_async" when wrapping a callable
with an attribute named "context".
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 4.7.1:
- Add controls for verify_sub option in PyJWT
From release 4.7.0:
- Drop support for python 3.7 and 3.8, add 3.13
- Fix documentation around identity needing to be a string
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 3.0.1:
- Fix link rendering in readme
- Fix handling of _version.py file
From release 3.0.0:
- Support Flask 3.0+ and PyMongo 4.0+.
- Support Python 3.9-3.13.
- Support MongoDB 4.4+.
- Add support for ~flask.json.jsonify().
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 6.0.2:
- Update license pyproject.toml
From 6.0.1:
- Invert regex sorting to make it correctly match the intent
(sorting by specificity descending)
- Fix README file extension in pyproject.toml
From 6.0.0:
- [CVE-2024-6839] Sort Paths by Regex Specificity
- [CVE-2024-6844] Replace use of (urllib) unquote_plus with unquote
- [CVE-2024-6866] Case Sensitive Request Path Matching
License-Update: Use line 6 from PKG-INFO
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 1.4.0:
- Add missing commas in error message for validate.FileType
- Support Python 3.10-3.14
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 3.1.3:
- The session is marked as accessed for operations that only access
the keys but not the values, such as in and len.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 4.1.0:
- Accept arguments such as --directory in environment variables
- Fix minor typos in documentation
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 0.10.0:
- Drop support for Python < 3.8.
- Use pyproject.toml for packaging metadata.
- Use flit_core as build backend.
- Apply code formatting and linting tools.
- Add static type annotations.
- Deprecate the __version__ attribute. Use feature detection or
importlib.metadata.version("flask-mail") instead.
- Indicate that the deprecated is_bad_headers will be removed in
the next version.
- Fix the email_dispatched signal to pass the current app as the
sender and message as an argument, rather than the other way around.
- Attachment.data may not be None.
- Attachment.content_type will be detected based on filename and
data and will not be None.
License-Update: Use LICENSE.txt
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Contains fix for CVE-2026-27199
Changelog: safe_join on Windows does not allow special devices names in multi-segment paths
Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 25.1.0:
- Control Interface (gunicornc): Add interactive control interface
for managing running Gunicorn instances, similar to birdc for
BIRD routing daemon
- Unix socket-based communication with JSON protocol
- Interactive mode with readline support and command history
- Commands: show all/workers/dirty/config/stats/listeners
- Worker management: worker add/remove/kill, dirty add/remove
- Server control: reload, reopen, shutdown
- New settings: --control-socket, --control-socket-mode,
--no-control-socket
- New CLI tool: gunicornc for connecting to control socket
- Dirty Stash: Add global shared state between workers via dirty.stash
- In-memory key-value store accessible by all workers
- Supports get, set, delete, clear, keys, and has operations
- Useful for sharing state like feature flags, rate limits, or
cached data
- Dirty Binary Protocol: Implement efficient binary protocol for
dirty arbiter IPC using TLV (Type-Length-Value) encoding
- More efficient than JSON for binary data
- Supports all Python types: str, bytes, int, float, bool, None,
list, dict
- Better performance for large payloads
- Dirty TTIN/TTOU Signals: Add dynamic worker scaling for dirty
arbiters
- Send SIGTTIN to increase dirty workers
- Send SIGTTOU to decrease dirty workers
- Respects minimum worker constraints from app configurations
- ASGI Worker: Promoted from beta to stable
- Dirty Arbiters: Now marked as beta feature
License-Update: Update years
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 8.0.0:
- Update CHANGELOG for version 8.0.0
- Fix edge case of __future__ import
- Fix the Plone profile to be compatible with black
- Remove the setuptools plugin
- Turn some warnings into errors in test suite
- chore: replace black with ruff in clean.sh
- feat!: remove old finders flag and legacy finder logic
- Fix whitespace insensitive check triggering on tabs
- Fix line separator detection not considering form feed as white space
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 1.4.0:
- Support underscores as digit separators per PEP 515
- Add rationals converter for mpf's
- Rewrite bernpoly/eulerpoly to avoid dependency on bernoulli(1)
convention
- Support base kwarg for from_str()
- Support randmatrix() for mp.iv and mp contexts
- Added rank() function for matrices
- Add plus flag to select the B_1 sign convention for
bernoulli/bernfrac
- Add mpf.as_integer_ratio() method, support construction of mpf
from Decimal objects
- Expose lower/upper_gamma functions
- Support mpc initialization from string
- Support asinh/acosh/atanh in the fp context
- Support binary/octal/hexadecimal string output
- Support pickling for matrices and mpi
- Support matrix.__array__() dunder method
- Support more number syntaxes
- Run mpmath as a module for interactive work
- Add signed option to to_man_exp()
- Add fp.hypot
- Support inf/nan's in ctx.almosteq()
- Implement mpf.__format__()
- Support conversion from scalar ndarray's
- Support rounding modes in mpf.__format__
- Support '%' presentation type for mpf
- Support gmpy2-like rounding modes in to_str()
- Implement 'a'/'A' formating types for mpf.__format__
- Add mpc.__format__()
- Now mpf.__round__() returns mpf
- Support 'b' (binary) format type for mpf/mpc
- Implement mpf.__floordiv__() and mpf.__divmod__()
- Add parameters for MPContext constructor
- Add MPFR-compatible aliases for rounding modes
- Support negative indexes in matrix
- Better introspection support for decorated functions
- Add moving sofa demo
- Support spherical Bessel functions (jn/yn)
- Add pretty_dps context property to control number of printed digits
- Support thousands separators for formatting of fractional part
- Use PyREPL, as fallback (no IPython)
- Add exp2() and log2()
- Support rounding property for the mp context
- Add Fox H-function with rational A/B parameters (foxh())
- Provide experimental support for free-threading builds
License-Update: Update years
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 1.9.3:
- Drop support for Python 3.8 and raise setuptools version to 77.0
- Use an SPDX license
- Fix memory leaks
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 5.7.0:
- Add typing classifier
- Enable logging related ruff checks to extend the enforced format
rules related to logging.
- Delay string interpolations at logging calls
- Remove reference to tag framework because the framework was
removed.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 5.6.0:
- Use Flask test client's own environ dict if it is available
- Add Python 3.13, 3.14 and pypy-3.11 to CI builds, drop 3.8 and 3.9
- Documentation: Added an example using the init_app() method
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 4.13.1:
- Document that a process can have only one custom JSON module
- Switch to Furo documentation template
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 4.1.0:
- Add support for equality constraints (``==``, ``!=``) in inference.
- Ensure ``ast.JoinedStr`` nodes are ``Uninferable`` when the
``ast.FormattedValue`` is ``Uninferable``. This prevents
``unexpected-keyword-arg`` messages in Pylint where the
``Uninferable`` string appeared in function arguments that were
constructed dynamically.
- Add support for type constraints (`isinstance(x, y)`) in inference.
- Make `type.__new__()` raise clear errors instead of returning `None`.
- Move object dunder methods from ``FunctionModel`` to ``ObjectModel``
to make them available on all object types, not just functions.
- ``lineno`` and ``end_lineno`` are now available on ``Arguments``.
- Add helper to iterate over all annotations nodes of function
arguments, ``Arguments.get_annotations()``.
- Skip direct parent when determining the ``Decorator`` frame.
- Add simple command line interface for astroid to output generated
AST. Use with ``python -m astroid``.
- Fix incorrect type inference for ``super().method()`` calls that
return ``Self``. Previously, astroid would infer the parent class
type instead of the child class type, causing pylint E1101 false
positives in method chaining scenarios.
- Add missing ``dtype`` and ``casting`` parameters to
``numpy.concatenate`` brain.
- Fix ``random.sample`` inference crash when sequence contains
uninferable elements.
- Fix ``random.sample`` crash when cloning ``ClassDef`` or
``FunctionDef`` nodes.
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>