- Fix test compilation under Xcode 12.5 (issue #43)
- Updated HTML5Lib-Tests submodule (082a4be)
- Updated parser and tokenizer for latest spec changes to pass test suite
- Updated project for Xcode 12.5
Release on 2020.07.16
- Swift package version updated to 5.1
Release on 2019.08.20
HTMLTreeVisitorthat walks the DOM in tree order- New HTML serialization implementation based on visitor pattern
- HTML serialization for deeply nested DOM trees (issue #33)
- Occasional Internal Consistency exceptions when deallocating node iterator (issue #36)
Released on 2019.03.28
- Introduce prefix for
NSStringandNSCharacterSetcategories to prevent collision with existing code (issue #35)
Released on 2018.07.16
- Parser would handle foreign attributes incorrectly (issue #30)
Released on 2018.05.01
gt(n),lt(n)andeq(n)selectors would select wrong elements for the zero-index (issue #25)
Released on 2018.03.21
HTMLElementclone would return an immutable dictionary for attributes (issue #20)- Fixed by @CRivlaldo in PR #24
HTMLNodeFilterBlockwould behave differently on simulator and device (issue #22)- Fixed by @CRivlaldo in PR #23
Released on 2017.11.6
HTMLTextserialization (issue #16)HTMLElementattribute value serialization (issue #17)
Released on 2017.10.13
- Fixed documentation comments
- Should fix CocoaDocs generation and percentage
Released on 2017.10.12
- Standarized tokenizer error codes:
- Project for Xcode 9
- Travis config for iOS 11.0, macOS 10.13, tvOS 11.0 and watchOS 4.0
- Updated HTML5Lib-Tests submodule (cbafeba)
Released on 2017.05.02
- Memory consumption improvements (issue #10)
- Allocate
childNodescollection inHTMLNodeonly when inserting child nodes - Replace
NSStringFromSelectorcalls with constants inHTMLNodevalidations - Improve
reverseObjectEnumeratorusage while parsing HTML - Rewrite internal logic of the
HTMLStackOfOpenElementsto prevent excessive allocations
- Allocate
Released on 2017.04.19
- Xcode 8.3 issue with modulemaps
- Temporary workaround (renamed modulemap file)
- Memory Leaks in
CSSInputStream
- Minor memory consumption improvements
- Collections for child nodes or attributes of HTML Nodes or Elements are allocated lazily
- Underyling data string of
CharacterDatais allocated on first access - Autorelease pool for the main
HTMLTokenizerloop
Released on 2017.04.2
- Testing with Swift 3.1
- Fixed by @tali in PR #8
HTMLRangeinitializers with typoinitWithDowcument:startContainer:startOffset:endContainer:endOffset:
Released on 2017.03.6
- Compilation for Swift 3.1
- Fixed by @tali in PR #6
Released on 2017.02.26
- Retain cycles in
HTMLNodeIterator(issue #4) - Retain cycles in
HTMLRange(issue #5) - The layout of
HTMLKittests module for Swift Package Manager
Released on 2017.02.20
- Set
INSTALL_PATHandDYLIB_INSTALL_NAME_BASEto@rpathfor macOS target- This fixes embedding
HTMLKitin a Cocoa application
- This fixes embedding
Released on 2017.02.11
- Make
<menuitem>parse like an unkonwn element. See:
- Updated HTML5Lib-Tests submodule (13f1805)
Released on 2017.01.14
DOM Rangesimplementation (spec)HTMLChatacterDataas base class forHTMLText&HTMLCommentHTMLTextandHTMLCommentno longer extendHTMLNodedirectly
splitTextimplementation forHTMLTextnodesindexproperty forHTMLNodecloneNodeDeepmethod forHTMLNode
appendStringmethod inHTMLTextin favor ofappendDatafrom the supperclassHTMLCharacterData
Released on 2016.09.28
- Jazzy configuration file
- Example HTMLKit project
- Project for Xcode 8
- Playground syntax for Swift 3
- Travis config for iOS 10.0, macOS 10.12, tvOS 10.0 and watchOS 3.0
- Deployment targets to macOS 10.9, iOS 9.0, tvOS 9.0 and watchOS 2.0
- Nullability annotation in
CSSSelectorParserclass - Missing lightweight generics in
HTMLParser,HTMLNode&HTMLElement
Released on 2016.09.03
Swift Package Managersupport
Released on 2016.07.16
This release passes all tokenizer and tree construction html5lib-tests as of 2016.07.16
watchOSandtvOStargets- Updated HTML5Lib-Tests submodule (c305da7)
Released on 2016.05.18
This release passes all tokenizer and tree construction html5lib-tests as of 2016.05.18
- Handling for
<menu>and<menuitem> - Changelog
- Updated adoption agency algorithm according to the latest specification, see:
<isindex>is completely removed from the spec now, therefore it is dropped from the implementationTokenizerandTree-Constructiontests are now generated dynamically- Test failures are collected by a
XCTestObservationfor better reporting
- Parser now checks the qualified name instead of the local name when handling elements in the
MathMLandSVGnamespaces
Released on 2016.01.29
- Travis-CI integration.
- CocoaPods spec.
- Warnings are treated as errors.
- Warnings related to format specifier and loss of precision due to NS(U)-integer usage.
- Replaced
@returnswith@returnthroughout the documentation to play nicely with Jazzy. - Some README examples used Swift syntax.
Released on 2015.12.23
This is the first public release of HTMLKit.
iOS&OSXFrameworks.- Source code documentation.
- CSS Selectors extension (analogous to jQuery selectors).
DOMTokenListfor malipulatingHTMLElementsattributes as a list, e.g.class.- Handling for
<ruby>elements in the Parser implementation.- Updated HTML5Lib-Tests submodule (56c435f)
- Xcode Playground with Swift documentation.
- Unused namespaces.
- Historical node types.
lt,gt&eqCSS Selectors method declarations.
Released on 2015.11.29
- CSS3 Selectors support.
- Nullability annotations.
HTMLNodeproperties for previous and next sibling elements.HTMLNodemethods for accessing child elements (analogous to child nodes).NSCharacterSetcategory for HTML-related character sets.
InputStreaReader's reconsume-logic that is required by the CSS Parser.
Released on 2015.06.06
HTMLDocumentmethods to accessroot,head&bodyelements.innerHTMLimplementation for theHTMLElement.HTMLNodemethods to append, prepend, check containment and descendancy of nodes.HTMLNodemethods to enumerate child nodes.- Implementations for
NodeIteratorandNodeFilter - Implementation for
TreeWalker - Validation for DOM manipulations.
- Tests for the DOM implementation.
typeproperty renamed tonodeTypeinHTMLNode.firstChildNodeandlastChildNoderenamed tofirtChildandlastChildinHTMLNode.
baseURIproeprty fromHTMLNodeHTMLNodeTreeEnumeratoris superseded by theHTMLNodeIterator.
Released on 2015.04.20
- Initial release.
- Initial DOM implementation.
- Tokenizer and Parser pass all HTML5Lib tokenizer and tree construction tests except for
<ruby>elements.