Releases: rust-ammonia/ammonia
Releases · rust-ammonia/ammonia
3.0.0
- Add
clean_text
function. - Updated to rust-url 2.0.
- Updated to the 2018 edition.
2.1.3
2.1.2
2.1.1
2.1.0
2.0.0
- Add "script" and "style" to the default set of clean content tags
- Make all iterator-accepting APIs use
IntoIterator
andBorrow
, so that you can pass slices directly to them.
1.2.0
- Recognize
action
,formaction
andping
as URL attributes for scheme and origin filtering - Add
Builder::url_filter_map
which allows URLs, both relative and absolute, to be pre-filtered
1.1.0
- Add
Builder::clean_content_tags
which allows elements to be removed entirely instead of just having the tags removed
1.0.1
1.0.0
Migrating
In 0.7 and earlier, you would call Ammonia::clean
and get a string out:
let a: String = Ammonia::new().clean(&input);
The 1.0 API is more flexible, returning a Document
struct that can be written to a writer as well as a string. It's also been renamed from ammonia::Ammonia
to ammonia::Builder
. So the equivalent is:
let a: Builder = Builder::new().clean(&input).to_string();
Changes since 0.7
- Breaking change: The
Ammonia
struct is now calledBuilder
and uses that pattern for better forward compatibility - Breaking change: The
Builder::clean()
method now returns aDocument
struct instead of aString
(you can use theDocument::to_string
method to obtain aString
) - Breaking change:
keep_cleaned_elements
has changed from being an off-by-default option to the only supported behavior - Breaking change: Using a tag with
allowed_classes
means that the class attribute is banned fromtag_attributes
(it used to be required) - Breaking change: The default set of allowed elements and attributes was expanded
- Added support for reading the input from a stream
- Added
UrlRelative::Custom
, allowing you to write your own relative URL resolver - Changed
UrlRelative::RewriteWithBase
take a custom URL. This made theurl
crate a public dependency. - Added
id_prefix
, which can be used to avoid elementid
collisions with the rest of the page - Added property getters to
Builder
, to see what everything is currently set to - Added property modifiers, to change the existing whitelist (instead of completely replacing it)
Changes since 1.0-rc3
- Changed over to use
Read
andWrite
implementations directly, instead of using references to them (&mut T where T: Read
implementsRead
, and the same is true forWrite
, so the direct version still allows the user to use references, so it's strictly more flexible)