Skip to content

Releases: kevinmehall/rust-vcd

0.7.0

15 Jul 18:46
Compare
Choose a tag to compare

Breaking changes

  • Parser now requires BufRead rather than Read. This was already a practical requirement, given that it would have performed abysmally doing a syscall per byte if passed an unwrapped File.
  • Added #[non_exhaustive] on Scope, Var, and ScopeItem.
  • Added Vector type instead of using Vec<Value>. This is currently just a wrapper, but may be replaced with a faster bit vector in the future.
  • Replaced InvalidData error type with ParseError and individual error types for FromStr implementations.
  • Removed Header::comment field -- comments are now in items for consistency with child scopes and to allow multiple comments.
  • Renamed Scope::children to items for consistency with Header and ScopeItem.
  • Changed ReferenceIndex fields from u32 to i32.

Fixes

  • Allow Header::find_var to find variables not under a scope.

Additions

  • Track line number for error messages.
  • Support $comment in scopes.
  • Add access to the underlying io::BufRead on Parser.
  • Add access to the underlying io::Write on Writer.
  • Allow negative reference indexes.
  • Improved documentation.

Contributors

@kevinmehall @programmerjake @five-elephants

0.6.1

12 Sep 20:21
Compare
Choose a tag to compare
  • Writer: Take io::Write directly, not a mutable reference (#12)

Contributors

@yupferris

0.6.0

12 Jul 16:44
Compare
Choose a tag to compare

Additions

  • Add string variable type (#10 )

Breaking changes

  • Mark ScopeType, VarType, Command, SimulationCommand, and Header as #[non_exhaustive] so variants can be added in the future without a breaking change

Other

  • Update to Rust 2018 Edition (#9)

Contributors

@programmerjake @kevinmehall

0.5.0

03 Oct 05:13
Compare
Choose a tag to compare

Fixes

  • Add support for bit number or range for vectors in $var (#7)

Breaking Changes

  • index: Option<ReferenceIndex> field added to Var, and Command::VarDef; argument added to Write::{add_var, var_def}

Contributors: @FenrisTC

0.4.0

24 Aug 06:59
Compare
Choose a tag to compare

Fixes

  • Fix handling multi-character ID codes
  • Remove arbitrary limit on vector width

Additions

  • Add support for more signal types
  • Support variables and multiple scopes at top-level
  • Header::find_scope and find_var methods to find by path in nested scopes

0.3.0

19 Jul 04:54
Compare
Choose a tag to compare

Fixes

  • Prevent generating identifiers with non-printable characters when writing a file with many variables.
  • Return errors instead of panicking in several cases in the parser.

Changes

  • Parser error types changed to io::Error.

Additions

  • Convenience API for writing scopes and their variables when outputting VCD.