CHANGELOG.md 4.66 KB
Newer Older
1 2 3 4 5 6 7 8
# Change Log
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]
### Added
RazrFalcon's avatar
RazrFalcon committed
9
- Added marker support.
10 11
- Implement `FuzzyEq` for `Rect`, `Size` and `Point`.
- `StrokeMiterlimit` and `FontSize` wrappers for `f64`.
12
- `letter-spacing` and `word-spacing` support.
13 14
- Partial `baseline-shift` support.
- `TextSpan::baseline_shift`.
15
- Remove sequential ClosePath segments from paths.
16 17

### Changed
18
- Shapes without fill and stroke will no longer be removed.
19
- `clip-path`, `mask`, `filter` and `opacity` attributes will always be set on groups.
20 21 22
- `text-anchor` attribute will always be set on `tspan`.
- `clip-path` attribute will always be set on `clipPath`.
- `mask` attribute will always be set on `mask`.
23 24 25 26
- `FilterPrimitive::filter_input` was removed and each filter primitive that can
  have an input has it's own `filter_input` field now.
- Rename `filter_input` fields into `input`.
- Filter primitives inputs and results will be resolved now.
RazrFalcon's avatar
RazrFalcon committed
27
- `Stroke::dashoffset` is `f32` and not `f64` now.
28 29 30

### Fixed
- `offset` attribute resolving inside the `stop` element.
31
- Ungrouping of groups with non-inheritable attributes.
32
- `rotate` attribute resolving.
33
- `color` on `use` resolving.
34
- Coordinates resolving when units are `userSpaceOnUse`.
35
- Groups regrouping.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128

### Removed
- `Rect::transform`.

## [0.4.0] - 2018-12-13
### Added
- Initial [Basic Filters](http://www.w3.org/TR/SVG11/feature#BasicFilter) support.
- Nested `clipPath` support.
- `systemLanguage` attribute support.
- `mask` attribute on `mask` element support.
- Default font family and size is configurable now.
- `StrokeWidth` wrapper.
- `ClipPath::clip_path`.
- `visibility` field for `Path`, `TextSpan` and `Image`.
- Most of the structs are implement Clone and Debug now.

### Changed
- `Opacity` and `StopOffset` will be clamped to the 0..1 range now.
- The `visibility` attribute will not be removed now,
  because invisible elements still impact the bbox calculation.
- Elements with zero opacity will not be removed now,
  because such elements still impact the bbox calculation.
- No `PartialEq` for `Line`, `Point`, `Size` and `Rect`. Because of `f64`.

### Fixed
- `display` attribute processing.
- Recursive `mask` resolving.
- `inherit` attribute value resolving.
- Complex style resolving.

## [0.3.0] - 2018-09-12
### Added
- Implement `Deref` for `LinearGradient` and `RadialGradient`.
- (cli) `--indent` and `--attrs-indent` flags.
- (cli) Use `gumdrop` instead of `getopts`.
- `Error::ParsingFailed`.

### Changed
- Gradient stops are stored directly in the `BaseGradient` and not as `NodeKind::Stop` now.
- `TextChunk` are stored directly in the `Text` and not as `NodeKind::TextChunk` now.
- Rename `LinearGradient::d` to `LinearGradient::base`.
- Rename `RadialGradient::d` to `RadialGradient::base`.
- Rename `TSpan` to `TextSpan`.
- `Tree::from_str` will return a `Result` now.

### Removed
- `failure` dependency.

## [0.2.0] - 2018-05-23
### Added
- Remove elements with `opacity="0"`.
- Transfer the group `id` attribute to the child when group has only one child.
- `symbol` element support.
- `Tree::from_str`.
- Nested `svg` elements support.
- SVG support for `image` element.
- `ImageFormat::SVG`.
- `Image::format`.
- Paint fallback resolving.
- Bbox validation for shapes that use painting servers.
- `TextChunk::dx` and `TextChunk::dy`.
- `Text::rotate`.
- `rotate` attribute processing.

### Changed
- `tree` module content reexported.
- `parse_tree_from_*` methods move to the `Tree`. Use `Tree::from_*` instead.
- Rename `Tree::node_by_svg_id` to `Tree::node_by_id`.
- Use `rctree::Node<NodeKind>` instead of `rctree::Node<Box<NodeKind>>`.
- `view` element is out of scope now.
- `FileReadError` replaced with `Error`.
- `parse_tree_from_data` accepts `&[u8]` and not `&str` now.
- Rename `ImageDataKind` to `ImageFormat`.
- New geometry primitives implementation.
- `TextChunk::x` and `TextChunk::y` are `Option<NumberList>` and not `f64` now.

### Removed
- `NodeExt::kind`. Use `Node::borrow` instead.

### Fixed
- Panic during `visibility` resolving.
- Gradients with one stop resolving.
- `use` attributes resolving.
- `clipPath` and `mask` attributes resolving.
- `offset` attribute in `stop` element resolving.
- Incorrect `font-size` attribute resolving.
- Gradient stops resolving.
- `switch` element resolving.

[Unreleased]: https://github.com/RazrFalcon/usvg/compare/v0.4.0...HEAD
[0.4.0]: https://github.com/RazrFalcon/usvg/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/RazrFalcon/usvg/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/RazrFalcon/usvg/compare/v0.1.1...v0.2.0