Skip to content

Latest commit

 

History

History
876 lines (733 loc) · 20.8 KB

changelog.md

File metadata and controls

876 lines (733 loc) · 20.8 KB

Changelog

All notable changes to this project will be documented in this file.

[2.0.0-rc4] - 2023-08-17

Bug Fixes

  • Disable_comments is in camelCase
  • Script elements should remain with open and close element (#320)

Documentation

  • Update links in readme
  • Update code in example

Features

  • Bump mrml version
  • Remove randomness when generating component ids (#308)
  • Create wasm package (#312)
  • Add mj-include feature (#316)
  • Create multi include loader (#322)

Miscellaneous Tasks

  • Allow mastodon notification to fail
  • Implement real tool for comparing html (#107)
  • Move license files
  • Update cargo.toml to publish
  • Update cargo.toml to publish
  • Bump to 2.0.0-rc4

Refactor

  • Put cows in tag implementation 🐮 (#111)
  • Prepare for monotrepo
  • Move back mrml-cli to repository
  • Format code using rustfmt and create config
  • Apply clippy suggestions
  • Use a single MrmlParser structure with a visitor pattern (#317)

Styling

  • Apply clippy suggestions

Testing

  • Add node example with a test (#313)
  • Add browser example (#315)
  • Update node example to have test command
  • Add test with disabling comments

Build

  • Bump quote from 1.0.28 to 1.0.29 (#101)
  • Bump serde from 1.0.164 to 1.0.166 (#102)
  • Bump thiserror from 1.0.40 to 1.0.41 (#103)
  • Bump serde_json from 1.0.99 to 1.0.100 (#104)
  • Bump colored from 2.0.0 to 2.0.4 (#110)
  • Bump serde from 1.0.166 to 1.0.167 (#108)
  • Bump serde from 1.0.167 to 1.0.168 (#112)
  • Bump thiserror from 1.0.41 to 1.0.43 (#109)
  • Bump proc-macro2 from 1.0.63 to 1.0.64 (#113)
  • Bump serde_json from 1.0.100 to 1.0.102 (#114)
  • Bump semver from 5.7.1 to 5.7.2 in /scripts (#115)
  • Update dependabot configuration
  • Update env_logger requirement in /packages/mrml-cli (#309)
  • Bump thiserror from 1.0.43 to 1.0.44 (#305)
  • Update clap to 4.3
  • Update indexmap to 2.0

Ci

  • Move code-checking out of every workflow (#314)
  • Report mrml-cli metric to codebench (#321)

Doc

  • Update readme

[2.0.0-rc3] - 2023-06-27

Features

  • Add fonts option (#90)

Build

  • Bump serde from 1.0.158 to 1.0.159 (#69)
  • Bump indexmap from 1.9.2 to 1.9.3 (#68)
  • Bump mockito from 1.0.0 to 1.0.1 (#66)
  • Bump proc-macro2 from 1.0.53 to 1.0.54 (#67)
  • Bump serde_json from 1.0.94 to 1.0.95 (#71)
  • Bump reqwest from 0.11.15 to 0.11.16 (#70)
  • Bump mockito from 1.0.1 to 1.0.2 (#72)
  • Bump proc-macro2 from 1.0.54 to 1.0.56 (#73)
  • Bump serde from 1.0.159 to 1.0.160 (#74)
  • Bump serde_json from 1.0.95 to 1.0.96 (#75)
  • Bump h2 from 0.3.15 to 0.3.17 (#76)
  • Bump reqwest from 0.11.16 to 0.11.17 (#77)
  • Bump serde from 1.0.160 to 1.0.162 (#78)
  • Bump quote from 1.0.26 to 1.0.27 (#79)
  • Bump serde from 1.0.162 to 1.0.163 (#80)
  • Bump proc-macro2 from 1.0.56 to 1.0.57 (#81)
  • Bump reqwest from 0.11.17 to 0.11.18 (#82)
  • Bump proc-macro2 from 1.0.57 to 1.0.58 (#83)
  • Bump quote from 1.0.27 to 1.0.28 (#86)
  • Bump proc-macro2 from 1.0.58 to 1.0.59 (#85)
  • Bump criterion from 0.4.0 to 0.5.1 (#87)
  • Bump url from 2.3.1 to 2.4.0 (#89)
  • Bump serde from 1.0.163 to 1.0.164 (#91)
  • Bump proc-macro2 from 1.0.59 to 1.0.60 (#92)
  • Bump ureq from 2.6.2 to 2.7.0 (#93)
  • Bump serde_json from 1.0.96 to 1.0.97 (#94)
  • Bump mockito from 1.0.2 to 1.1.0 (#95)
  • Bump ureq from 2.7.0 to 2.7.1 (#96)
  • Bump proc-macro2 from 1.0.60 to 1.0.63 (#99)
  • Bump serde_json from 1.0.97 to 1.0.99 (#98)

[2.0.0-rc2] - 2023-03-25

Bug Fixes

  • Replace deprecated methods

Documentation

  • Add link to mjml

Features

  • Mark IncludeLoaderError cayse as Send and Sync (#52)

Miscellaneous Tasks

  • Enable the orderedmap feature by default

Build

  • Bump mockito from 0.32.0 to 0.32.1 (#40)
  • Bump mockito from 0.32.1 to 0.32.2 (#41)
  • Bump mockito from 0.32.2 to 0.32.3 (#42)
  • Bump syn from 1.0.107 to 1.0.108 (#43)
  • Bump syn from 1.0.108 to 1.0.109 (#44)
  • Bump mockito from 0.32.3 to 0.32.4 (#46)
  • Bump thiserror from 1.0.38 to 1.0.39 (#48)
  • Bump serde_json from 1.0.93 to 1.0.94 (#47)
  • Bump serde from 1.0.152 to 1.0.153 (#49)
  • Bump serde from 1.0.153 to 1.0.154 (#50)
  • Bump darling from 0.14.3 to 0.14.4 (#51)
  • Bump quote from 1.0.23 to 1.0.25 (#54)
  • Bump serde from 1.0.154 to 1.0.155 (#55)
  • Bump mockito from 0.32.4 to 1.0.0 (#53)
  • Bump quote from 1.0.25 to 1.0.26 (#58)
  • Bump serde from 1.0.155 to 1.0.156 (#57)
  • Bump thiserror from 1.0.39 to 1.0.40 (#60)
  • Bump serde from 1.0.156 to 1.0.157 (#61)
  • Bump reqwest from 0.11.14 to 0.11.15 (#62)
  • Bump serde from 1.0.157 to 1.0.158 (#63)
  • Bump proc-macro2 from 1.0.52 to 1.0.53 (#65)

[2.0.0-rc1] - 2023-02-12

Documentation

  • Add link to python library

Features

  • First implementation of mj-include (#23)
  • Create an include-loader to load from the filesystem (#32)
  • Create an http-loader (#34)

Miscellaneous Tasks

  • Publish on mastodon after releasing a version
  • Replace print boilerplate with a procedural macro (#10)
  • Check features with cargo hack (#12)
  • Create a macro to generate From and as_element (#13)
  • Replace parse boilerplate with a proc macro (#11)
  • Macro cleanup (#14)
  • Implement a proc macro to handle json conversion (#18)
  • Replace some existing code with macro for parsing (#20)
  • Rename components using camel case (#21)
  • Camelcase (#22)
  • Create a struct to simplify code (#24)
  • Split in multiple modules (#25)
  • Improve code coverage (#27)
  • Update semantic commit checker (#33)
  • Remove feature powerset for code checking
  • Implement stderr for errors (#38)
  • Rename and set versions
  • Update cargo.toml files with required fields

Build

  • Bump proc-macro2 from 1.0.50 to 1.0.51 (#30)
  • Bump serde_json from 1.0.91 to 1.0.92 (#29)
  • Bump darling from 0.14.2 to 0.14.3 (#31)
  • Add deps scope to semantic configuration
  • Bump serde_json from 1.0.92 to 1.0.93 (#35)
  • Bump mockito from 0.31 to 0.32

[1.2.11] - 2023-01-11

Bug Fixes

  • Run and push coverage
  • Upgrade typescript from 3.7.5 to 3.9.7
  • Examples/mrml-browser/package.json & examples/mrml-browser/package-lock.json to reduce vulnerabilities
  • Upgrade @types/react from 16.9.52 to 16.9.53
  • Upgrade @types/react from 16.9.53 to 16.9.55
  • Update mj-accordion and apply changes
  • Update mj-carousel
  • Update mj-navbar
  • Update mj-social
  • Update mj-button
  • Update mj-section
  • Update mj-column
  • Update mj-divider
  • Update mj-group
  • Update mj-hero
  • Update mj-image
  • Update mj-raw
  • Update mj-spacer
  • Update mj-table
  • Update mj-text
  • Update mj-wrapper
  • Update mj-attributes
  • Update mj-breakpoint
  • Update mj-font
  • Update mj-style
  • Update mj-title
  • Fix linting errors
  • Update coverage command
  • Upgrade react-app-rewired from 2.1.6 to 2.1.7
  • Use nightly tarpaulin image
  • Apply clippy suggestions
  • Apply clippy suggestions
  • Update rand usage
  • Satisfy clippy proposal
  • Satisfy clippy
  • Allow upper case acronym
  • Satisfy clippy
  • Satisfy clippy
  • Format code
  • Add serde to mrml-wasm
  • Replace value attribute by width
  • Add missing child for mj-body
  • Add missing child for mj-head
  • Add Cargo.lock to versionning
  • Make sure mj-style components output style elements
  • Keep style content order
  • Add missing sort helper for print feature
  • Update following clippy error (#176)
  • Apply clippy's recommandations
  • Apply clippy's recommandations
  • Installation procedure with locked deps
  • Mj-social-element can now have inner elements
  • Mj-navbar-link can now have inner elements
  • Align with mjml upgrades
  • Simplify mj-wrapper renderer (#269)
  • Handle all void elements
  • Update dependabot directory

Documentation

  • Add more badges to readme
  • Add section for mrml users
  • Add sponsor section
  • Add missing implementations section
  • Update performance section
  • Update the install section
  • Add "what is using" section
  • Add issue tracker badges
  • Add mrml-ruby library
  • Fix typos (#174)

Features

  • Add ability to specify origin url for mj-social icons
  • Allow to pass social icon origin to cli
  • Allow to render to html with options
  • Update browser example to use options
  • Give position for invalid format parser error
  • Add generator id function in options
  • Extract to core module
  • Create parser for existing components
  • Add more head components
  • Add render prelude
  • Move macros to prelude files
  • Create buffer object
  • Implement mj-section
  • Implement mj-column and fix mj-body
  • Implement mj-image
  • Implement mj-divider
  • Create parsable trait
  • Implement mj-social
  • Implement mj-navbar
  • Implement mj-carousel
  • Implement mj-accordion
  • Add options for render
  • Add tests for mj-navbar
  • Generate random id for elements
  • Add test on amario template
  • Remove previous version
  • Update templates
  • Add serializer and deserializer for comment
  • Add serializer and deserializer for text
  • Add serializer and deserializer for mj-title
  • Add serializer and deserializer for mj-preview
  • Add serializer and deserializer for mj-divider
  • Add serializer and deserializer for mj-font
  • Add serializer and deserializer for mj-image
  • Add serializer and deserializer for mj-breakpoint
  • Add serializer and deserializer for mj-attributes-all
  • Add serializer and deserializer for mj-attributes-class
  • Add serializer and deserializer for mj-attributes-element
  • Add serializer and deserializer for mj-attributes
  • Add serializer and deserializer for mj-head
  • Add serializer and deserializer for mj-accordion-title
  • Add serializer and deserializer for mj-carousel-image
  • Add serializer and deserializer for mj-carousel
  • Add serializer and deserializer for mj-social-element
  • Add serializer and deserializer for mj-social
  • Add serializer and deserializer for mj-navbar-link
  • Add serializer and deserializer for mj-navbar
  • Add serializer and deserializer for node
  • Add serializer and deserializer for mj_raw
  • Add serializer and deserializer for mj_spacer
  • Add serializer and deserializer for mj-accordion-text
  • Add serializer and deserializer for mj-accordion-element
  • Add serializer and deserializer for mj-accordion
  • Add serializer and deserializer for others
  • Omit attributes and children when empty
  • Add validate, render, format-json and format-mjml subcommands
  • Add toJson, toMjml and validate
  • Implement missing mj-style component
  • Add missing mj-table element
  • Create typings for typescript
  • Use stdin to read input
  • Update to stick to mjml 4.9.3
  • Read attributes from mj-attributes > mj-class
  • Add lang to mjml element
  • Render mj-raw in mj-head
  • Use indexmap instead of hashmap (#216)
  • Handle non closing elements (#276)
  • Handle inner attributes (#9)

Miscellaneous Tasks

  • Release version 0.4.0
  • Release version 0.4.0
  • Move resources to root folder
  • Release version 0.5.0
  • Release version 0.4.0
  • Release version 0.5.0
  • Update mrml-browser dependencies
  • Update mjml-bench dependencies
  • Release version 1.0.0
  • Release version 1.1.0
  • Release version 1.2.0
  • Release version 1.2.0
  • Release version 1.2.1
  • Release version 1.2.2
  • Add semantics to lint commits
  • Release version 1.2.1
  • Release version 1.2.1
  • Release version 1.2.1
  • Release version 1.3.0
  • Release version 1.2.2
  • Release version 1.3.1
  • Release version 1.2.2
  • Add librerapay to funding file
  • Add hyperfine test
  • Release version 1.2.3
  • Release version 1.3.2
  • Release version 1.2.3
  • Release version 1.2.4
  • Release version 1.2.5
  • Release version 1.2.6
  • Release version 1.2.7
  • Release version 1.2.8
  • Release version 1.2.9
  • Update dependencies
  • Release version 1.2.10
  • Release version 1.3.3
  • Test and lint on github
  • Apply clippy suggestions
  • Remove gitlab ci config file
  • Move code source to only keep mrml-core
  • Compute code coverage
  • Update repository url
  • Automatic publishing
  • Update resources using mjml (#1)
  • Add dependabot config

Refactor

  • Remove unused is_raw function
  • Remove node from components
  • Split raw component
  • Remove lifetimes
  • Ensure options used
  • Use breakpoint from options on header
  • Move body and head components
  • Remove unused function
  • Update properties
  • Remove macros
  • Format code
  • Remove Style element
  • Remove hashmap from context
  • Remove use of hashmap instead of attributes
  • Update imports
  • Simplify sort function
  • Merge traits to simplify code
  • Reformat html element
  • Create proper errors
  • Implement default
  • Apply clippy cleaning proposals
  • Remove useless getters
  • Remove useless lifetimes
  • Move templates at root folder and merge integration tests
  • Create module for each element
  • Split head parser code
  • Split body parser code
  • Split head renderer code
  • Split body renderer code
  • Use name for each element
  • Split raw element
  • Remove use less lifetime
  • Use tag alias everywhere
  • Remove useless code and comments
  • Split mj-attributes
  • Make sure feature combinations work

Testing

  • Add code coverage
  • Increase mjml prelude coverage
  • Increate coverage on Context struct
  • Increase coverage on Spacing
  • Only do a basic diff on CI
  • Use rust nigthly dev image
  • Run benchmark of core
  • Merge integration tests and parse html before comparing
  • Update template for mjml
  • Update mj-body templates
  • Check if rendering comments works
  • Test use of is_raw
  • Increate parse code coverage
  • Increate parse code coverage
  • Increate parse code coverage
  • Increate parse code coverage
  • Handle parsing with non expected element
  • Test printing all components
  • Increase coverage for parse and print

Bench

  • Create script to run benchmark

Build

  • Bump websocket-extensions in /example/mrml-wasm
  • Bump lodash in /example/mjml-express
  • Bump lodash from 4.17.15 to 4.17.19 in /example/mrml-wasm
  • Bump elliptic from 6.5.2 to 6.5.3 in /example/mrml-wasm
  • Bump http-proxy from 1.18.0 to 1.18.1 in /example/mrml-wasm
  • Update bench path
  • Split repo in packages
  • Install dependabot
  • Update html_parser requirement in /packages/library
  • Update rand requirement in /packages/library
  • Update getrandom requirement in /packages/wasm
  • Use clippy image
  • Bump lodash in /examples/mrml-browser
  • Bump hosted-git-info in /examples/mrml-browser
  • Bump @testing-library/react in /examples/mrml-browser
  • Bump @types/react-dom in /examples/mrml-browser
  • Add check linter step
  • Bump url-parse in /examples/mrml-browser
  • Bump xmlparser from 0.13.3 to 0.13.5 (#2)
  • Bump indexmap from 1.8.0 to 1.9.2 (#4)
  • Bump serde from 1.0.136 to 1.0.152 (#5)
  • Bump serde_json from 1.0.79 to 1.0.91 (#6)
  • Bump criterion from 0.3.5 to 0.4.0 (#3)

Ci

  • Run linter
  • Run clippy
  • Create travis file
  • Run every script
  • Deploy on tag
  • Stop running coverage twice
  • Move to gitlab
  • Publish bench to codebench
  • Remove examples from dependabot
  • Disable coverage

Cleanup

  • Remove commented code

Cli

  • Create candid main.rs
  • Build options from args

Doc

  • Update readme
  • Add more components
  • Fix check
  • Create license file
  • Update readme and cargo.toml
  • Add howto section to readme
  • Replace circleci badge by travis badge
  • Update bench section
  • Add link to readme and license
  • Add contributing and code of conduct
  • Add code climate badge
  • Add funding informations
  • Add github social representation
  • Update readme
  • Mention mrml-cli

Example

  • Create a wasm example
  • Create actix server
  • Update to use multipart
  • Fix mrml-actix example
  • Move mjml bench to proper folder

Init

  • First commit

Lib

  • Add function to export to email structure

Library

  • Support -noshare suffix in social element
  • Remove bool_to_option feature

Mj-accordion

  • Update doc
  • Handle basic
  • Handle other attributes
  • Handle icon attributes
  • Handle font and padding

Mj-attributes

  • Pass header at parse time
  • Generate default attributes
  • Handle mj-class

Mj-body

  • Handle background color
  • Make sure container width is propagated
  • Make sure width is given with unit
  • Ensure css-class is handled
  • Move style to separate function
  • Use tag builder

Mj-breakpoint

  • Handle basic
  • Make sure it handles the options

Mj-button

  • Update doc
  • Handle basic
  • Handle example
  • Handle align
  • Handle background-color
  • Handle border
  • Handle border-radius
  • Handle color
  • Handle container-background-color
  • Handle css-class
  • Handle font-family
  • Handle font-size
  • Handle font-style
  • Handle font-weight
  • Handle height
  • Handle href
  • Handle inner-padding
  • Handle line-height
  • Handle padding
  • Handle rel
  • Handle text-decoration
  • Handle text-transform
  • Handle vertical-align
  • Handle width
  • Move style to separate function
  • Use tag builder

Mj-carousel

  • Update doc
  • Handle basic
  • Handle align, border-radius and css-class
  • Handle icon related attributes
  • Handle tb-*
  • Handle thumbnails hidden

Mj-column

  • Handle the basic
  • Handle background-color
  • Handle borders
  • Handle border radius
  • Handle css-class
  • Handle paddings
  • Handle vertical-align
  • Handle width
  • Move style to separate function
  • Use tag builder
  • Use tag builder

Mj-divider

  • Update readme
  • Implement basic behavior
  • Handle border attributes
  • Handle container-background-color
  • Handle css-class
  • Handle padding
  • Handle width
  • Use tag builder

Mj-font

  • Handle basic

Mj-group

  • Update readme
  • Handle without attributes
  • Handle background-color
  • Handle css-class
  • Handle direction
  • Handle vertical-align
  • Handle width
  • Use tag builder

Mj-head

  • Use tag builder

Mj-hero

  • Update readme
  • Handle without attributes
  • Handle background-color
  • Handle background-height
  • Handle background-position
  • Handle background-url
  • Handle background-width
  • Handle css-class
  • Handle height
  • Handle mode and paddings
  • Handle vertical-align
  • Handle width
  • Use tag builder

Mj-image

  • Handle base
  • Handle align
  • Handle border
  • Handle border-radius
  • Handle container-background-color
  • Handle css-class
  • Handle fluid-on-mobile
  • Handle height
  • Handle href
  • Handle padding
  • Handle rel
  • Handle target
  • Handle title
  • Move style to separate function
  • Use tag builder

Mj-navbar

  • Update readme
  • Handle with base-url and hamburger
  • Handle with align and css-class
  • Handle ico-*
  • Use tag builder

Mj-preview

  • Handle component

Mj-raw

  • Implement component
  • Use raw element

Mj-section

  • Add background url options
  • Handle borders
  • Handle border-radius
  • Handle css-class
  • Handle direction
  • Handle full-width
  • Handle padding
  • Handle text-align
  • Move style to separate function
  • Use tag builder

Mj-social

  • Update readme
  • Handle without attributes
  • Handle align
  • Handle border-radius
  • Handle color
  • Handle class
  • Handle container-background-color
  • Handle font-family
  • Handle font-size, font-style and font-weight
  • Handle icon-height, icon-padding and icon-size
  • Handle line-height and text-decoration
  • Handle inner-padding, padding, padding-else and text-padding
  • Handle mode
  • Move in a dedicated folder
  • Use tag builder

Mj-social-element

  • Use tag builder

Mj-spacer

  • Update readme
  • Handle all attributes
  • Use tag builder

Mj-style

  • Update readme
  • Handle basic
  • Increase coverage

Mj-table

  • Update readme
  • Handle basic
  • With text attributes
  • With table attributes
  • Handle other attributes
  • Use tag builder

Mj-text

  • Update doc
  • Handle basic
  • Handle doc example
  • Handle color
  • Handle font-family
  • Handle font-size
  • Handle font-style
  • Handle font-weight
  • Handle line-height
  • Handle letter-spacing
  • Handle height
  • Handle text-decoration
  • Handle text-transform
  • Handle align
  • Handle container-background-color
  • Handle padding
  • Handle css-class
  • Move style to separate function
  • Use tag builder

Mj-title

  • Handle basic

Mj-wrapper

  • Update readme
  • Handle without attributes
  • Handle background-*
  • Handle border-*
  • Handle padding-*
  • Handle css-class, direction, full-width and text-align
  • Use tag builder

Parser

  • Disable options

Raw

  • Use tag builder

Refacto

  • Implement tag builder
  • Parse using node reference
  • Split html util
  • Generate random ids for carousel and navbar
  • Create default attribute map for each component
  • Use lazy-static to create default attributes
  • Create parser structure
  • Parse directly the elements
  • Move children element to submodule
  • Move body children to submodule
  • Avoid using children as vec
  • Move MJBodyChild to dyn BodyComponent
  • Use generic enum for children
  • Remove unused code
  • Update error handling
  • Use pointer for options
  • Remove Clone from elements
  • Use BodyChild instead of MJBodyChild
  • Clean generic structs
  • Remove useless code
  • Use sort_by_key in header
  • Remove usuned code
  • Use default string
  • Use iterators
  • Split mjml element
  • Use default as constructor for MJBody
  • Change single length string to char
  • Please clippy
  • Parse even commented data
  • Rename packages folder
  • Use strings to print elements
  • Simplify print trait
  • Split into features
  • Use macro for standard serializers
  • Use macro for standard serializers
  • Use macro for standard deserializers
  • Use macro to print
  • Use macro for comment deserializer
  • Use macro for json serializing

Release

  • 0.1.0
  • 0.1.1
  • 0.1.2
  • 0.1.3

Version

  • 0.2.0
  • 0.3.0
  • 0.3.1
  • Bump to 0.3.3

Wasm

  • Create npm package
  • Make sure running tests
  • Upgrade to version 0.3.4
  • Run on node and in browser
  • Release version 0.3.6