Skip to content

Releases: awolverp/markupever

v0.3.1 - 2025-05-22

22 May 11:13
Compare
Choose a tag to compare

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

11 May 16:56
Compare
Choose a tag to compare

Changed

  • Fix .text() parameter names - rename seperator to separator (#2, thanks to @cmdlineluser).
  • Accept "html" and "xml" values as options in parsing.
  • Set default value for options as "html".

Added

  • Make Parser compatible with BytesIO and TextIO by adding new methods .write() and .writable().

Full Changelog: v0.2.1...v0.3.0

v0.2.1 - 2025-03-25

26 Mar 15:57
Compare
Choose a tag to compare

Changed

  • Improve docstrings and make them cleaner
  • Update dependencies

Full Changelog: v0.2.0...v0.2.1

v0.2.0 - 2025-03-16

16 Mar 12:20
Compare
Choose a tag to compare

Changed

  • We have new parameters for serialize() and serialize_bytes() methods: indent and include_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() and Parser.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

09 Mar 17:06
Compare
Choose a tag to compare

Changed

  • Change format of QualName.__repr__; From now on, if both the ns and prefix are 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 name mathml_annotation_xml_integration_point will return integration_point in output
# Example output:
Element(name=QualName(local="html"), attrs=[], template=false, integration_point=false)

v0.1.0 - Initial Release - 2025-03-06

06 Mar 13:17
Compare
Choose a tag to compare

Added

  • Initial release of MarkupEver

Fixed

  • Fix known issues and improve some performance
  • Rewrite TreeDom.__repr__ and TreeDom.__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

04 Mar 17:01
Compare
Choose a tag to compare

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 TreeDom has a busy output; will be fixed in future updates