Skip to content

Upgrading lxml 1 to 2

Breaking1.3.6 → 2.3.6Breaking5Deprecated1New67Changed12Fixed111Other10

BreakingUpgrade verdict

5 breaking changes.

  • objectify.enableRecursiveStr() was removed, use objectify.enable_recursive_str() instead.
  • Non-ASCII characters in attribute values are no longer escaped on serialisation.
  • make clean no longer removes the .c files (use make realclean instead).
  • Second argument to lxml.etree.Extension() helper is no longer required, third argument is now a keyword-only argument ns.
Top 4 of 6 that need code or config changes
Breaking5
objectify.enableRecursiveStr() was removed, use objectify.enable_recursive_str() instead.
objectify.enableRecursiveStr()objectify.enable_recursive_str()
Non-ASCII characters in attribute values are no longer escaped on serialisation.
make clean no longer removes the .c files (use make realclean instead).
Second argument to lxml.etree.Extension() helper is no longer required, third argument is now a keyword-only argument ns.
lxml.etree.Extension()ns
Tag name validation in lxml.etree (and lxml.html) now distinguishes between HTML tags and XML tags based on the parser that was used to parse or create them.
Deprecated1
The getiterator() method on Elements and ElementTrees was reverted to return an iterator as it did in lxml 1.x.
getiterator()iter()

Generated by DepDelta from published Python source. Not mixed with prose notes.

  • removed: function bad_usage()
  • removed: function parse_command_line(args)
  • removed: variable usage
  • removed: variable debug_coercion
  • removed: variable debug_disposal_code
  • removed: variable debug_temp_alloc
  • removed: class CompileError(PyrexError)
  • removed: class InternalError(Exception)
  • removed: class PyrexError(Exception)
  • removed: constructor CompileError(position=…, message=…)
  • removed: constructor InternalError(message)
  • removed: function close_listing_file()
  • removed: function error(position, message)
  • removed: function open_listing_file(path, echo_to_stderr=…)
  • removed: variable echo_file
  • removed: variable listing_file
  • removed: variable num_errors
  • removed: function make_lexicon()
  • removed: variable string_prefixes
  • removed: variable arg_prefix
  • removed: variable args_cname
  • removed: variable builtins_cname
  • removed: variable c_api_tab_cname
  • removed: variable const_prefix
  • removed: variable dummy_cname
  • removed: variable enum_prefix
  • removed: variable extern_c_macro
  • removed: variable fileinit_cname
  • removed: variable filename_cname
  • removed: variable filenames_cname
  • removed: variable filetable_cname
  • removed: variable func_prefix
  • removed: variable funcdoc_prefix
  • removed: variable gstab_prefix
  • removed: variable intern_tab_cname
  • removed: variable interned_prefix
  • removed: variable kwdlist_cname
  • removed: variable kwds_cname
  • removed: variable label_prefix
  • removed: variable lineno_cname
  • removed: variable memtab_prefix
  • removed: variable methtab_prefix
  • removed: variable methtable_cname
  • removed: variable moddict_cname
  • removed: variable moddoc_cname
  • removed: variable module_cname
  • removed: variable obj_base_cname
  • removed: variable objstruct_prefix
  • removed: variable prop_get_prefix
  • removed: variable prop_set_prefix
  • removed: variable pymethdef_prefix
  • removed: variable pyrex_prefix
  • removed: variable retval_cname
  • removed: variable self_cname
  • removed: variable stringtab_cname
  • removed: variable type_prefix
  • removed: variable typeobj_prefix
  • removed: variable typeptr_prefix
  • removed: variable var_prefix
  • removed: variable vtable_prefix
  • removed: variable vtabptr_prefix
  • removed: variable vtabslot_cname
  • removed: variable vtabstruct_prefix
  • removed: variable intern_names
  • removed: variable version
  • added: variable build_ext
  • removed: function open_new_file(path)
  • removed: class CCompilerError(PyrexError)
  • removed: function c_compile(c_file, verbose_flag=…, cplus=…, obj_suffix=…)
  • removed: function c_link(obj_file, verbose_flag=…, extra_objects=…, cplus=…)
  • removed: function call(args)
  • removed: class Action
  • removed: class Begin(Action)
  • removed: class Call(Action)
  • removed: class Ignore(Action)
  • removed: class Return(Action)
  • removed: class Text(Action)
  • removed: constructor Begin(state_name)
  • removed: constructor Call(function)
  • removed: constructor Return(value)
  • removed: field Begin.state_name
  • removed: field Call.function
  • removed: field Return.value
  • removed: method Action.same_as(other)
  • removed: method Begin.perform(token_stream, text)
  • removed: method Begin.same_as(other)
  • removed: method Call.perform(token_stream, text)
  • removed: method Call.same_as(other)
  • removed: method Ignore.perform(token_stream, text)
  • removed: method Return.perform(token_stream, text)
  • removed: method Return.same_as(other)
  • removed: method Text.perform(token_stream, text)
  • removed: variable IGNORE
  • removed: variable TEXT
  • removed: class StateMap
  • removed: constructor StateMap(new_machine)
  • removed: field StateMap.new_machine
  • removed: field StateMap.new_to_old_dict
  • removed: field StateMap.old_to_new_dict
  • removed: function add_to_epsilon_closure(state_set, state)
  • removed: function epsilon_closure(state)
  • removed: function nfa_to_dfa(old_machine, debug=…)
  • removed: function set_epsilon_closure(state_set)
  • removed: method StateMap.dump(file)
  • removed: method StateMap.highest_priority_action(state_set)
  • removed: method StateMap.make_key(state_set)
  • removed: method StateMap.new_to_old(new_state)
  • removed: method StateMap.old_to_new(old_state_set)
  • removed: class AmbiguousAction(PlexError)
  • removed: class InvalidRegex(PlexError)
  • removed: class InvalidScanner(PlexError)
  • removed: class InvalidToken(PlexError)
  • removed: class PlexError(exceptions.Exception)
  • removed: class PlexTypeError(PlexError, TypeError)
  • removed: class PlexValueError(PlexError, ValueError)
  • removed: class UnrecognizedInput(PlexError)
  • removed: constructor AmbiguousAction()
  • removed: constructor InvalidToken(token_number, message)
  • removed: constructor UnrecognizedInput(scanner, state_name)
  • removed: field AmbiguousAction.message
  • removed: field PlexError.message
  • removed: field UnrecognizedInput.position
  • removed: field UnrecognizedInput.scanner
  • removed: field UnrecognizedInput.state_name
  • removed: function time()
  • removed: variable timekind
  • removed: function open_new_file(path)
  • removed: function replace_suffix(path, newsuf)
  • added: function get_include()
  • changed: function include(elem, loader=…) → function include(elem, loader=…, base_url=…)
  • added: class ElementMaker(object)
  • added: constructor ElementMaker(typemap=…, namespace=…, nsmap=…, makeelement=…)
  • added: function callable(f)
  • added: function partial(func, tag)
  • added: variable E
  • added: variable basestring
  • added: variable unicode
  • added: class CSSSelector(etree.XPath)
  • added: class ExpressionError(RuntimeError)
  • added: class SelectorSyntaxError(SyntaxError)
  • added: constructor CSSSelector(css, namespaces=…)
  • added: class LHTMLOutputChecker(LXMLOutputChecker)
  • added: class LXMLOutputChecker(OutputChecker)
  • added: field LXMLOutputChecker.empty_tags
  • added: function install(html=…)
  • added: function temp_install(html=…, del_module=…)
  • added: method LHTMLOutputChecker.get_default_parser()
  • added: method LXMLOutputChecker.check_output(want, got, optionflags)
  • added: method LXMLOutputChecker.collect_diff(want, got, html, indent)
  • added: method LXMLOutputChecker.collect_diff_end_tag(want, got)
  • added: method LXMLOutputChecker.collect_diff_tag(want, got)
  • added: method LXMLOutputChecker.collect_diff_text(want, got, strip=…)
  • added: method LXMLOutputChecker.compare_docs(want, got)
  • added: method LXMLOutputChecker.format_doc(doc, html, indent, prefix=…)
  • added: method LXMLOutputChecker.format_end_tag(el)
  • added: method LXMLOutputChecker.format_tag(el)
  • added: method LXMLOutputChecker.format_text(text, strip=…)
  • added: method LXMLOutputChecker.get_default_parser()
  • added: method LXMLOutputChecker.get_parser(want, got, optionflags)
  • added: method LXMLOutputChecker.html_empty_tag(el, html=…)
  • added: method LXMLOutputChecker.output_difference(example, got, optionflags)
  • added: method LXMLOutputChecker.tag_compare(want, got)
  • added: method LXMLOutputChecker.text_compare(want, got, strip)
  • added: variable NOPARSE_MARKUP
  • added: variable PARSE_HTML
  • added: variable PARSE_XML
  • added: export defs
  • added: function Element(*args, **kw)
  • added: function document_fromstring(html, parser=…, **kw)
  • added: function fragment_fromstring(html, create_parent=…, base_url=…, parser=…, **kw)
  • added: function fragments_fromstring(html, no_leading_text=…, base_url=…, parser=…, **kw)
  • added: function fromstring(html, base_url=…, parser=…, **kw)
  • added: function open_in_browser(doc, encoding=…)
  • added: function parse(filename_or_url, parser=…, base_url=…, **kw)
  • added: function submit_form(form, extra_values=…, open_http=…)
  • added: function tostring(doc, pretty_print=…, include_meta_content_type=…, encoding=…, method=…, with_tail=…, doctype=…)
  • added: variable find_class
  • added: variable find_rel_links
  • added: variable iterlinks
  • added: variable make_links_absolute
  • added: variable resolve_base_href
  • added: variable rewrite_links
  • added: export convert_tree
  • added: function parse(file, beautifulsoup=…, makeelement=…)
  • added: function CLASS(v)
  • added: function FOR(v)
  • added: variable A
  • added: variable ABBR
  • added: variable ACRONYM
  • added: variable ADDRESS
  • added: variable APPLET
  • added: variable AREA
  • added: variable ATTR
  • added: variable B
  • added: variable BASE
  • added: variable BASEFONT
  • added: variable BDO
  • added: variable BIG
  • added: variable BLOCKQUOTE
  • added: variable BODY
  • added: variable BR
  • added: variable BUTTON
  • added: variable CAPTION
  • added: variable CENTER
  • added: variable CITE
  • added: variable CODE
  • added: variable COL
  • added: variable COLGROUP
  • added: variable DD
  • added: variable DEL
  • added: variable DFN
  • added: variable DIR
  • added: variable DIV
  • added: variable DL
  • added: variable DT
  • added: variable E
  • added: variable EM
  • added: variable FIELDSET
  • added: variable FONT
  • added: variable FORM
  • added: variable FRAME
  • added: variable FRAMESET
  • added: variable H1
  • added: variable H2
  • added: variable H3
  • added: variable H4
  • added: variable H5
  • added: variable H6
  • added: variable HEAD
  • added: variable HR
  • added: variable HTML
  • added: variable I
  • added: variable IFRAME
  • added: variable IMG
  • added: variable INPUT
  • added: variable INS
  • added: variable ISINDEX
  • added: variable KBD
  • added: variable LABEL
  • added: variable LEGEND
  • added: variable LI
  • added: variable LINK
  • added: variable MAP
  • added: variable MENU
  • added: variable META
  • added: variable NOFRAMES
  • added: variable NOSCRIPT
  • added: variable OBJECT
  • added: variable OL
  • added: variable OPTGROUP
  • added: variable OPTION
  • added: variable P
  • added: variable PARAM
  • added: variable PRE
  • added: variable Q
  • added: variable S
  • added: variable SAMP
  • added: variable SCRIPT
  • added: variable SELECT
  • added: variable SMALL
  • added: variable SPAN
  • added: variable STRIKE
  • added: variable STRONG
  • added: variable STYLE
  • added: variable SUB
  • added: variable SUP
  • added: variable TABLE
  • added: variable TBODY
  • added: variable TD
  • added: variable TEXTAREA
  • added: variable TFOOT
  • added: variable TH
  • added: variable THEAD
  • added: variable TITLE
  • added: variable TR
  • added: variable TT
  • added: variable U
  • added: variable UL
  • added: variable VAR
  • added: class Cleaner(object)
  • added: constructor Cleaner(**kw)
  • added: field Cleaner.add_nofollow
  • added: field Cleaner.allow_tags
  • added: field Cleaner.annoying_tags
  • added: field Cleaner.comments
  • added: field Cleaner.embedded
  • added: field Cleaner.forms
  • added: field Cleaner.frames
  • added: field Cleaner.host_whitelist
  • added: field Cleaner.javascript
  • added: field Cleaner.kill_tags
  • added: field Cleaner.links
  • added: field Cleaner.meta
  • added: field Cleaner.page_structure
  • added: field Cleaner.processing_instructions
  • added: field Cleaner.remove_tags
  • added: field Cleaner.remove_unknown_tags
  • added: field Cleaner.safe_attrs_only
  • added: field Cleaner.scripts
  • added: field Cleaner.style
  • added: field Cleaner.whitelist_tags
  • added: function autolink(el, link_regexes=…, avoid_elements=…, avoid_hosts=…, avoid_classes=…)
  • added: function autolink_html(html, *args, **kw)
  • added: function word_break(el, max_width=…, avoid_elements=…, avoid_classes=…, break_character=…)
  • added: function word_break_html(html, *args, **kw)
  • added: method Cleaner.allow_element(el)
  • added: method Cleaner.allow_embedded_url(el, url)
  • added: method Cleaner.allow_follow(anchor)
  • added: method Cleaner.clean_html(html)
  • added: method Cleaner.kill_conditional_comments(doc)
  • added: variable clean
  • added: variable clean_html
  • added: variable block_tags
  • added: variable deprecated_tags
  • added: variable empty_tags
  • added: variable event_attrs
  • added: variable font_style_tags
  • added: variable form_tags
  • added: variable frame_tags
  • added: variable general_block_tags
  • added: variable head_tags
  • added: variable link_attrs
  • added: variable list_tags
  • added: variable nonstandard_tags
  • added: variable phrase_tags
  • added: variable safe_attrs
  • added: variable special_inline_tags
  • added: variable table_tags
  • added: variable tags
  • added: variable top_level_tags
  • added: function html_annotate(doclist, markup=…)
  • added: function htmldiff(old_html, new_html)
  • added: class DefaultErrorCreator(object)
  • added: class FormNotFound(LookupError)
  • added: constructor DefaultErrorCreator(**kw)
  • added: field DefaultErrorCreator.block_inside
  • added: field DefaultErrorCreator.default_message
  • added: field DefaultErrorCreator.error_block_class
  • added: field DefaultErrorCreator.error_container_tag
  • added: field DefaultErrorCreator.error_message_class
  • added: field DefaultErrorCreator.insert_before
  • added: function fill_form(el, values, form_id=…, form_index=…)
  • added: function fill_form_html(html, values, form_id=…, form_index=…)
  • added: function insert_errors(el, errors, form_id=…, form_index=…, error_class=…, error_creator=…)
  • added: function insert_errors_html(html, values, **kw)
  • added: class HTMLParser(_HTMLParser)
  • added: class XHTMLParser(_XHTMLParser)
  • added: constructor HTMLParser(strict=…, **kwargs)
  • added: constructor XHTMLParser(strict=…, **kwargs)
  • added: function document_fromstring(html, guess_charset=…, parser=…)
  • added: function fragment_fromstring(html, create_parent=…, guess_charset=…, parser=…)
  • added: function fragments_fromstring(html, no_leading_text=…, guess_charset=…, parser=…)
  • added: function fromstring(html, guess_charset=…, parser=…)
  • added: function parse(filename_url_or_file, guess_charset=…, parser=…)
  • added: variable html_parser
  • added: variable xhtml_parser
  • added: function convert_tree(beautiful_soup_tree, makeelement=…)
  • added: function fromstring(data, beautifulsoup=…, makeelement=…, **bsargs)
  • added: function parse(file, beautifulsoup=…, makeelement=…, **bsargs)
  • removed: function CLASS(v)
  • removed: function FOR(v)
  • removed: variable A
  • removed: variable ABBR
  • removed: variable ACRONYM
  • removed: variable ADDRESS
  • removed: variable APPLET
  • removed: variable AREA
  • removed: variable ATTR
  • removed: variable B
  • removed: variable BASE
  • removed: variable BASEFONT
  • removed: variable BDO
  • removed: variable BIG
  • removed: variable BLOCKQUOTE
  • removed: variable BODY
  • removed: variable BR
  • removed: variable BUTTON
  • removed: variable CAPTION
  • removed: variable CENTER
  • removed: variable CITE
  • removed: variable CODE
  • removed: variable COL
  • removed: variable COLGROUP
  • removed: variable DD
  • removed: variable DEL
  • removed: variable DFN
  • removed: variable DIR
  • removed: variable DIV
  • removed: variable DL
  • removed: variable DT
  • removed: variable EM
  • removed: variable FIELDSET
  • removed: variable FONT
  • removed: variable FORM
  • removed: variable FRAME
  • removed: variable FRAMESET
  • removed: variable H1
  • removed: variable H2
  • removed: variable H3
  • removed: variable H4
  • removed: variable H5
  • removed: variable H6
  • removed: variable HEAD
  • removed: variable HR
  • removed: variable HTML
  • removed: variable I
  • removed: variable IFRAME
  • removed: variable IMG
  • removed: variable INPUT
  • removed: variable INS
  • removed: variable ISINDEX
  • removed: variable KBD
  • removed: variable LABEL
  • removed: variable LEGEND
  • removed: variable LI
  • removed: variable LINK
  • removed: variable MAP
  • removed: variable MENU
  • removed: variable META
  • removed: variable NOFRAMES
  • removed: variable NOSCRIPT
  • removed: variable OBJECT
  • removed: variable OL
  • removed: variable OPTGROUP
  • removed: variable OPTION
  • removed: variable P
  • removed: variable PARAM
  • removed: variable PRE
  • removed: variable Q
  • removed: variable S
  • removed: variable SAMP
  • removed: variable SCRIPT
  • removed: variable SELECT
  • removed: variable SMALL
  • removed: variable SPAN
  • removed: variable STRIKE
  • removed: variable STRONG
  • removed: variable STYLE
  • removed: variable SUB
  • removed: variable SUP
  • removed: variable TABLE
  • removed: variable TBODY
  • removed: variable TD
  • removed: variable TEXTAREA
  • removed: variable TFOOT
  • removed: variable TH
  • removed: variable THEAD
  • removed: variable TITLE
  • removed: variable TR
  • removed: variable TT
  • removed: variable U
  • removed: variable UL
  • removed: variable VAR
  • added: class Schematron(_etree._Validator)
  • added: constructor Schematron(etree=…, file=…, include=…, expand=…, include_params=…, expand_params=…, compile_params=…, store_schematron=…, store_xslt=…, store_report=…, phase=…)
  • added: field Schematron.schematron
  • added: field Schematron.validation_report
  • added: field Schematron.validator_xslt
  • added: function stylesheet_params(**kwargs)
  • added: method Schematron.schematron()
  • added: method Schematron.validation_report()
  • added: method Schematron.validator_xslt()
  • added: variable extract_rng
  • added: variable extract_xsd
  • added: variable iso_abstract_expand
  • added: variable iso_dsdl_include
  • added: variable iso_svrl_for_xslt1
  • added: variable schematron_schema_valid
  • added: variable svrl_validation_errors
  • added: class ElementTreeContentHandler(ContentHandler)
  • added: class ElementTreeProducer(object)
  • added: class SaxError(etree.LxmlError)
  • added: constructor ElementTreeContentHandler(makeelement=…)
  • added: constructor ElementTreeProducer(element_or_tree, content_handler)
  • added: field ElementTreeContentHandler.etree
  • added: field ElementTreeContentHandler.ignorableWhitespace
  • added: function saxify(element_or_tree, content_handler)
  • added: method ElementTreeContentHandler.characters(data)
  • added: method ElementTreeContentHandler.endDocument()
  • added: method ElementTreeContentHandler.endElement(name)
  • added: method ElementTreeContentHandler.endElementNS(ns_name, qname)
  • added: method ElementTreeContentHandler.endPrefixMapping(prefix)
  • added: method ElementTreeContentHandler.processingInstruction(target, data)
  • added: method ElementTreeContentHandler.setDocumentLocator(locator)
  • added: method ElementTreeContentHandler.startDocument()
  • added: method ElementTreeContentHandler.startElement(name, attributes=…)
  • added: method ElementTreeContentHandler.startElementNS(ns_name, qname, attributes=…)
  • added: method ElementTreeContentHandler.startPrefixMapping(prefix, uri)
  • added: method ElementTreeProducer.saxify()