INCOMPATIBLE CHANGE: remove class-level attributes from twisted.names.dns.Message
I would like to request approval for an incompatible change under Twisted's compatibility-policy exception process. The proposed change removes the class-level attributes `Message.queries`, `Message.answers`, `Message.add`, and `Message.ns` from `twisted.names.dns.Message`. This does not remove the instance attributes `queries` and `answers`; those continue to be initialized by `Message.__init__` and used as before. The incompatibility is limited to code that accesses these names on the class object itself, for example `dns.Message.queries`. I checked Twisted's source tree and did not find class-level uses of these attributes. I also did a public code search and did not find examples of this class-level access pattern. Ticket: https://github.com/twisted/twisted/issues/12667 Branch/PR: github.com/twisted/twisted/pull/12668 If this affects your application or test suite, please reply with details. Under the exception process, this branch needs to be available for one week after this announcement, and at least three committers need to agree that the change is worthwhile.
On Jun 15, 2026, at 2:50 AM, gudni.m.g--- via Twisted <twisted@python.org> wrote:
I would like to request approval for an incompatible change under Twisted's compatibility-policy exception process.
The proposed change removes the class-level attributes `Message.queries`, `Message.answers`, `Message.add`, and `Message.ns` from `twisted.names.dns.Message`.
This does not remove the instance attributes `queries` and `answers`; those continue to be initialized by `Message.__init__` and used as before. The incompatibility is limited to code that accesses these names on the class object itself, for example `dns.Message.queries`.
I checked Twisted's source tree and did not find class-level uses of these attributes. I also did a public code search and did not find examples of this class-level access pattern.
Ticket: https://github.com/twisted/twisted/issues/12667 Branch/PR: github.com/twisted/twisted/pull/12668
If this affects your application or test suite, please reply with details. Under the exception process, this branch needs to be available for one week after this announcement, and at least three committers need to agree that the change is worthwhile.
Personally I'm +1 on this as I don't think there's any chance that these attributes are used by application code unless it's really confused. Technically they exist in a public namespace, but I cannot imagine a valid use for a couple of class-level variables that can only ever be None.
Hi Thanks for the work for Twisted DNS part. I am +1 for approving the exception. On Mon, 15 Jun 2026 at 02:50, gudni.m.g--- via Twisted <twisted@python.org> wrote:
I would like to request approval for an incompatible change under Twisted's compatibility-policy exception process.
The proposed change removes the class-level attributes `Message.queries`, `Message.answers`, `Message.add`, and `Message.ns` from `twisted.names.dns.Message`.
This does not remove the instance attributes `queries` and `answers`; those continue to be initialized by `Message.__init__` and used as before. The incompatibility is limited to code that accesses these names on the class object itself, for example `dns.Message.queries`.
I checked Twisted's source tree and did not find class-level uses of these attributes. I also did a public code search and did not find examples of this class-level access pattern.
Ticket: https://github.com/twisted/twisted/issues/12667 Branch/PR: github.com/twisted/twisted/pull/12668
If this affects your application or test suite, please reply with details. Under the exception process, this branch needs to be available for one week after this announcement, and at least three committers need to agree that the change is worthwhile. _______________________________________________ Twisted mailing list -- twisted@python.org To unsubscribe send an email to twisted-leave@python.org https://mail.python.org/mailman3/lists/twisted.python.org/ Message archived at https://mail.python.org/archives/list/twisted@python.org/message/F3M6EK6IUFY... Code of Conduct: https://twisted.org/conduct
-- Adi Roiban
I am +1 as well. On Tue, Jun 16, 2026, at 4:35 AM, Adi Roiban via Twisted wrote:
Hi
Thanks for the work for Twisted DNS part. I am +1 for approving the exception.
On Mon, 15 Jun 2026 at 02:50, gudni.m.g--- via Twisted <twisted@python.org> wrote:
I would like to request approval for an incompatible change under Twisted's compatibility-policy exception process.
The proposed change removes the class-level attributes `Message.queries`, `Message.answers`, `Message.add`, and `Message.ns` from `twisted.names.dns.Message`.
This does not remove the instance attributes `queries` and `answers`; those continue to be initialized by `Message.__init__` and used as before. The incompatibility is limited to code that accesses these names on the class object itself, for example `dns.Message.queries`.
I checked Twisted's source tree and did not find class-level uses of these attributes. I also did a public code search and did not find examples of this class-level access pattern.
Ticket: https://github.com/twisted/twisted/issues/12667 Branch/PR: github.com/twisted/twisted/pull/12668
If this affects your application or test suite, please reply with details. Under the exception process, this branch needs to be available for one week after this announcement, and at least three committers need to agree that the change is worthwhile. _______________________________________________ Twisted mailing list -- twisted@python.org To unsubscribe send an email to twisted-leave@python.org https://mail.python.org/mailman3/lists/twisted.python.org/ Message archived at https://mail.python.org/archives/list/twisted@python.org/message/F3M6EK6IUFY... Code of Conduct: https://twisted.org/conduct
-- Adi Roiban _______________________________________________ Twisted mailing list -- twisted@python.org To unsubscribe send an email to twisted-leave@python.org https://mail.python.org/mailman3/lists/twisted.python.org/ Message archived at https://mail.python.org/archives/list/twisted@python.org/message/YGGLH4FUC2P... Code of Conduct: https://twisted.org/conduct
participants (4)
-
Adi Roiban -
glyph@twistedmatrix.com -
gudni.m.g@gmail.com -
Tom Most