# Changelog
0.2.1 版本后各个接口方法已经基本趋于稳定,后面将不会做大的调整。
## [0.2.4] - 2021-03-2
### 修改
- 修复 issue #2 中提到的标签名、属性名大小写问题,增加标签名支持英文冒号:
## [0.2.3] - 2021-02-24
### 修改
- 修改 `load` 及 `load_catch` 方法默认解析 html 采用最兼容的模式
- 增加 `load_options` 及 `load_options_catch` 两个方法,上述两个方法是对应此两个方法、使用最兼容模式参数的调用。
- 对应增加导出 `html::ParseOptions`,以便需要调用新增 options 方法调用时使用
## [0.2.2] - 2021-02-24
### 修改
- 升级 `rphtml`,去除掉了 wasm 的部分,修改部分数据结构和逻辑,使得解析更为快速且保持更好的兼容性
- 修复了 `rphtml` 中节点判断 `is_document` 的逻辑,新增加了解析参数允许纠错没有实体转译的 `<` 等
- `visdom` 中因 `rphtml` 升级导致的部分同步修改
## [0.2.1] - 2021-02-20
### 修改
- 修改 `mesdoc` 中 `slice` 方法支持 `RangeBounds` 参数
- 重新导出 `mesdoc` 中各个 trait 里用到的返回类型等,方便在逻辑处理时可能会用到时做各种处理
## [0.2.0] - 2021-02-19
### 修改
- 修复 `rphtml` 中解析 `pre` 标签、自闭合标签不正确的问题,重新修改文档节点与根节点的引用关系
- `mesdoc` 中针对 `IDocumentTrait` 增加 `source_code`, `title`, `body`, `head` 方法等,方便快速获取文档信息,同时针对 `Elements` 增加 `document` 方法方便快速获取 `IDocumentTrait` 文档节点
- `visdom` 中修改针对 `rphtml` 和 `mesdoc` 升级做对应的修改
## [0.1.12] - 2021-02-17
### 修改
- 优化 `mesdoc` 中元素去重逻辑
## [0.1.11] - 2021-02-17
### 修改
- 升级 `mesdoc`,修复部分选择器没有去重的问题
## [0.1.10] - 2021-02-16
### 修改
- 进一步完善 `mesdoc` 中的代码细节,减少耦合逻辑
- 升级 rphtml, 修改`pre`等标签的调用 `html` 方法没有被`encode`的问题
- 增加更多测试代码
## [0.1.9] - 2021-02-16
### 修改
- `mesdoc` 补充 `id` 选择器的逻辑,完善可从缓存中快速获取的元素
- 修改 README 等
## [0.1.8] - 2021-02-15
### 修改
- `mesdoc` 去掉无用的生命周期声明,优化 `:only-child` 伪类选择器和 `select` 方法
- 修改 README 等
## [0.1.7] - 2021-02-14
### 修改
- 将 `mesdoc` 中伪类选择器`:first-child`,`:last-child`,`:first-of-type`,`:last-of-type`改为别名选择器,减少代码
- 微调 `mesdoc` 中 `filter` 方法的实现,逻辑更为清晰
## [0.1.6] - 2021-02-13
### 修改
- 优化 `mesdoc` `:nth-child`等伪类选择器的性能
- 重写了`mesdoc` 中 `filter` 方法的逻辑,去掉了 id 选择器 `in_cache` 的逻辑,减少复杂度
- 修复了部分选择器不能正确匹配的问题
## [0.1.5] - 2021-02-10
### 修改
- 继续优化 `mesdoc` 中伪类选择器的性能
## [0.1.4] - 2021-02-09
### 修改
- 优化 `mesdoc` 中部分伪类选择器的性能
- 增加更多测试
### 修改
- 修复 `mesdoc` 中 `[attr|=value]` 选择器逻辑逻辑不正确的问题,优化 `value` 正则的匹配逻辑
- `mesdoc` 新增 `:contains` 内容选择器
- 增加更多测试用例、完善文档
## [0.1.3] - 2021-02-09
### 修改
- 修复 `mesdoc` 中 `[attr|=value]` 选择器逻辑逻辑不正确的问题,优化 `value` 正则的匹配逻辑
- `mesdoc` 新增 `:contains` 内容选择器
- 增加更多测试用例、完善文档
## [0.1.2] - 2021-02-08
### 修改
- 将 `mesdoc` 中 `unique` 方法改为对外公共方法 `add`,增加 eq 的快捷方法`first`,`last`
- 修复 `mesdoc` `add` 排序方法存在的错误逻辑,增强了缓存的逻辑
- 修改部分判断逻辑为函数式写法
- 增加更多测试用例以及修改文档中的错误、完善部分文档说明
## [0.1.1] - 2021-02-07
### 修改
- 修复 `mesdoc` 中对比元素位置时的 bug
- 修复了 `mesdoc` 内 `parent`、`prev_all` 等所有需要去重的方法缺少去重而导致的重复节点错误
- 重写了 `mesdoc` 中 `closest` 和 `siblings` 方法,增加去重和排序
- 修改针对 text 节点`set_text`方法为直接修改内容,修复了原方法设置父节点错误导致的问题
- 增加 rust doc 注释和更多测试用例
## [0.1.0] - 2021-02-06
### 修改
- 去掉了 `mesdoc` 的 sort 方法
- 重写了 `unique` 方法以实现快速合并选择器的重复节点,速度有了大幅提升
- 修复了节点操作缺少父节点字段导致的节点丢失