Skip to content

Release 0.2.0 - #64

Merged
Monarda merged 78 commits into
mainfrom
59-fix-valuealarm
Sep 28, 2026
Merged

Monarda merged 78 commits into
mainfrom
59-fix-valuealarm

Conversation

@Monarda

@Monarda Monarda commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

We have been advising people for the last few weeks to use the release tagged 0.2.0rc4. This is that exact commit merged into main. It's worth examining the changelog to see what will change.

Note, this merge will show as conflicted in GitHub. This isn't actually true, it's an artefact of the history. Choosing to resolve in favour of 59-fix-valuealarm in every case will preserve main's existing changes and add only additional changes.

Monarda and others added 30 commits July 10, 2026 23:13
asyncio.py was importing Handler/SharedPV from p4p.server.thread instead
of p4p.server.asyncio, so p4pillon's "asyncio" SharedPV was silently the
thread-flavored class. Rewrite test_sharedpv_asyncio.py to construct the
PV inside a running event loop (real asyncio SharedPV requires one), and
add pytest-asyncio so it can.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Ported from unreleased work-in-progress found in upstream epics-base/p4p
(p4p_upstream, uncommitted as of p4p 4.2.1/4.2.2). Adds RecordProvider and
DynamicRecordFields, serving "<name>.<FIELD>" as independent read-only
channels for DTYP, RTYP, NAME, and the fields common to every EPICS
record (dbCommon.dbd), mimicking IOC/QSRV field-access semantics without
touching the base PV's own NTScalar/NTEnum structure. Adapted to default
field sub-PVs to p4pillon's own Handler-capable SharedPV.

Two tests are xfailed: SharedPV.open() in p4pillon/server/raw.py
double-wraps its initial= value, which is harmless for NTScalar but
crashes for NTNDArray/NTTable-backed PVs. Pre-existing, unrelated bug;
left for its own dedicated fix.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
… the desired behaviour; include regression tests
… DESC update from Static and add set_description()
Comment rule-code list entry, apply --fix/--unsafe-fixes for
RUF010/RUF015/RUF005/RUF022/RUF100, and annotate mutable class-level
defaults with ClassVar (RUF012) across the rules package and its
consumers.
…to 56-ruff-ruf

# Conflicts:
#	p4pillon/rules/timestamp_rule.py
@Monarda
Monarda requested a review from kurup September 24, 2026 12:58
@Monarda Monarda linked an issue Sep 24, 2026 that may be closed by this pull request
@Monarda
Monarda marked this pull request as draft September 24, 2026 14:56

@kurup kurup left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy for this to be merged into main.

@Monarda
Monarda marked this pull request as ready for review September 28, 2026 12:34
@Monarda
Monarda merged commit 2f0f95d into main Sep 28, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fix rules issues

2 participants