Releases: awolverp/markupever
Releases · awolverp/markupever
v0.3.2 - 2025-10-31
Changed
- Support for CPython 3.8 has been dropped
- Support for CPython 3.13t, 3.14, and 3.14t has been added
- Rust dependencies have been updated
- Documentation has been updated
Full Changelog: v0.3.1...v0.3.2
v0.3.1 - 2025-05-22
Changed
- Fixed crash when connecting an element to itself (#3, Thanks to @cmdlineluser)
tag = markupever.parse("<p>").root().first_child
tag.attach(tag)
# thread '<unnamed>' panicked at lib.rs:553:9:
# assertion `left != right` failed: Cannot append node as a child to itself
# left: NodeId(2)
# right: NodeId(2)- Rust dependencies updated
v0.3.0 - 2025-05-11
Changed
- Fix .text() parameter names - rename seperator to separator (#2, thanks to @cmdlineluser).
- Accept "html" and "xml" values as
optionsin parsing. - Set default value for
optionsas "html".
Added
- Make
Parsercompatible withBytesIOandTextIOby adding new methods.write()and.writable().
Full Changelog: v0.2.1...v0.3.0
v0.2.1 - 2025-03-25
Changed
- Improve docstrings and make them cleaner
- Update dependencies
Full Changelog: v0.2.0...v0.2.1
v0.2.0 - 2025-03-16
Changed
- We have new parameters for
serialize()andserialize_bytes()methods:indentandinclude_self - Now the serializer has moved away from its rigid state and is producing beautiful outputs.
dom.serialize()
# <html>
# <head></head>
# <body>
# <p>New Release</p>
# </body>
# </html>- Now
Parser.finish()andParser.process()methods returns self to make easier coding for you
result = markupever.Parser(options).process("Hello").finish()Full Changelog: v0.1.1...v0.2.0
v0.1.1 - 2025-03-09
Changed
- Change format of
QualName.__repr__; From now on, if both thensandprefixare empty, they will not be return.
>>> QualName("html")
QualName(local="html")
>>> QualName("html", "html")
QualName(local="html", ns="http://www.w3.org/1999/xhtml", prefix=None)- Change format of
Element.__repr__; From now on, instead of the long namemathml_annotation_xml_integration_pointwill returnintegration_pointin output
# Example output:
Element(name=QualName(local="html"), attrs=[], template=false, integration_point=false)v0.1.0 - Initial Release - 2025-03-06
Added
- Initial release of MarkupEver
Fixed
- Fix known issues and improve some performance
- Rewrite
TreeDom.__repr__andTreeDom.__str__methods
Example:
dom = markupever.parse("<book>Thinking</book>", markupever.XmlOptions())
repr(dom)
# TreeDom(len=3, namespaces={'': ''})
str(dom)
# Document
# └── Element(name=QualName(local="book", ns="", prefix=None), attrs=[], template=false, mathml_annotation_xml_integration_point=false)
# └── Text(content="Thinking")v0.1.0b1 - Beta Release - 2025-03-04
Added
- Beta release of MarkupEver
- Core functionality: A library for creating, managing, and parsing markup language specially HTML and XML.
- Documentation: https://awolverp.github.io/markupever
Known Issues
- printing
TreeDomhas a busy output; will be fixed in future updates