All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v0.15.2 - 2023-05-04
- Bump
darling
derive dependency tov0.20
. - Bump
syn
derive dependency tov2.0
.
v0.15.1 - 2022-02-15
IntoIterator
trait implementation for&QualifierList
and&mut QualifierList
.fastobo::syntax::pest
re-exporting thepest
crate to use withfastobo::syntax
.
- Bump
smartstring
dependency tov1.0
. - Bump
obofoundry
test dependency tov0.10
. - Bump
fastobo-syntax
tov0.7.4
. - Bump
darling
derive dependency tov0.14
. - Bump
ordered-float
dependency tov3.4.0
.
v0.15.0 - 2022-02-15
as_id
andas_id_mut
methods toIdent
newtype wrappers.as_prefixed
,as_unprefixed
andas_url
methods to destructurateIdent
variants.
- Shorten
Frame
andEntityFrame
methods by removing the_frame
suffix where applicable.
v0.14.2 - 2022-02-11
- Conversion traits to build a
TermClause
orTypedefClause
from aSynonym
orPropertyValue
. - Unescaping of IRI containing OBO-escaped path components.
- Parsing of
Url
identifiers with a scheme different of HTTP.
v0.14.1 - 2022-01-11
- Rendering of documentation on
docs.rs
.
v0.14.0 - 2022-01-11
IsoDate
andIsoTime
to manage individuals components of anIsoDateTime
.CreationDate
to store the date declared in acreation_date
clause.Display
andOrderable
trait implementations forast::Frame
.
- Bump
fastobo-syntax
dependency tov0.7.1
. - Use string interning for all identifier types allowing reference counting for common strings.
fastobo::parser::FromPair
trait now takes a cache argument for interning strings.XrefList::from_pair
andQualifierList::from_pair
will now useXref::from_pair
andQualifier::from_pair
instead ofFromStr::from_str
like before.
OboDoc.assign_namespaces
will not raise aCardinalityError
on documents where all entities already have a namespace clause.OboDoc.sort
will not clone identifiers anymore before comparing entities.
v0.13.2 - 2022-01-11
fastobo::to_writer
not writing newlines between entity frames.
v0.13.1 - 2021-03-30
- Missing implementation of
fastobo::ast::PrefixedIdent::is_canonical
.
- Curly braces not being escaped from
fastobo::ast::UnquotedString
.
v0.13.0 - 2021-02-18
- Make
PrefixedIdent
store both ID components contiguously and make it immutable. - Bumped outdated dependencies.
- Replaced
err-derive
withthiserror
to derivestd::error::Error
on error types.
- Compilation issues caused by latest version of
syn
.
fastobo::ast::id::local
module.
v0.12.0 - 2020-09-29
fastobo::ast::Url
struct replacingurl::Url
to store URL identifiers.
- Removed
url
crate dependency. - Bumped
fastobo-syntax
dependency tov0.6.2
to fix parsing of some URLs with empty paths lacking a trailing slash (e.g.http://example.com
).
v0.11.2 - 2020-09-04
- Serialization of
SynonymTypedef
header clauses not using the correct tag. (pronto#97).
v0.11.1 - 2020-08-31
- Comparison order of entity frames for consistency with the OBO 1.4 serializer conventions.
v0.11.0 - 2020-08-29
- Derived
Default
implementation forQuotedString
andUnquotedString
types. PropertyValue
variants now have actual corresponding structsfastobo::ast::ResourcePropertyValue
andfastobo::ast::LiteralPropertyValue
.Definition
struct to store text and xrefs of a definition clause.EntityFrame.definition
(and corresponding method for all entity frames) to get the definition of an entity frame if it is unique.
- Enum types use boxed fields to reduce the memory footprint of their variant.
- Bumped
fastobo-syntax
dependency tov0.6.1
to allow any datatype identifier for literal property values instead of XML Schema ones previously. - Made some optional fields of structs heap-allocated to further reduce memory consumption.
- Dependency on
opaque-typedef
, which was pulling an outdatedsyn
version in the dependencies and greatly increasing build time.
v0.10.0 - 2020-07-24
smartstring
feature to enable using thesmartstring
crate to store strings instead ofstd::string::String
.- Additional blanket implementations for
visit::Visit
andvisit::VisitMut
traits using theblanket
crate. fastobo::parser::Parser
to factor common operations on available OBO parsers.
- Bumped
fastobo-syntax
dependency tov0.4.0
to support line comments. - Moved
fastobo-syntax
re-exports tofastobo::syntax
. - Renamed
fastobo::parser
structs.
v0.9.0 - 2020-06-14
fastobo::share
module.
IdentPrefix
andIdentLocal
do not store whether they are canonical or not to reduce the global memory footprint.
v0.8.4 - 2020-06-12
- Relax exact version requirement for
pest
dependency.
SequentialParser.into_inner
method allowing to retrieve innerBufRead
from aSequentialParser
instance.
v0.8.3 - 2020-02-12
IsoDateTime
formatting inDD-MM-YYYY
format instead ofYYYY-MM-DD
format when serialized toxsd:datetime
.
v0.8.2 - 2020-02-11
Display
implementation for theHeaderClause::Unreserved
variant.
v0.8.1 - 2020-01-24
FrameReader.ordered
method to make the reader preserve the order of the frames as they appear in the source document.TryFrom<&mut FrameReader>
implementation forOboDoc
(allows giving a mutable reference and not only taking ownership of the source reader).
v0.8.0 - 2020-01-23
- Parallel
FrameReader
implementation compiled under thethreading
feature gate.
- Location of syntax errors not being reported properly in most cases.
- Interface of
fastobo::parser::FrameReader
to be more intuitive to use. - Bumped
fastobo-syntax
to0.3.8
to support indentation within files.
v0.7.5 - 2020-01-18
- Bumped
fastobo-syntax
to0.3.7
to support Windows-style line breaks.
v0.7.4 - 2019-10-05
- Bumped
fastobo-syntax
to0.3.6
to fix an edge-case bug when parsing aSynonym
.
IsoDateTime.timezone
accessor to get the underlyingIsoTimeZone
.
v0.7.3 - 2019-09-17
FrameReader.as_ref
andFrameReader.as_mut
to get a reference to the underlyingBufRead
.
v0.7.2 - 2019-08-27
- Bumped
syn
andquote
to version1.0
in derive macros.
- Added BOSC 2019 poster reference to
README.md
.
v0.7.1 - 2019-08-08
- Updated documentation.
v0.7.0 - 2019-08-06
Line.as_inner_mut
method (alias forLine.as_mut
).OboDoc.is_empty
method to check if an ontology is empty.fastobo::from_file
,fastobo::from_reader
,fastobo::from_str
,fastobo::to_writer
andfastobo::to_file
.AsRef<Ident>
implementation forIdent
.
- Require exact
pest
version2.1.1
because of unsafe hack to accessPestError
fields.
OboDoc::from_file
andOboDoc::from_stream
methods (replaced withfastobo::from_file
andfastobo::from_reader
).
- Serialization of
UnquotedString
not escaping!
characters.
v0.6.1 - 2019-07-24
- Bumped internal
url
dependency tov2.0.0
.
v0.6.0 - 2019-07-23
fraction
method toIso8601DateTime
.
Iso8601DateTime
now support parsing ISO datetimes with fractional seconds.
v0.5.0 - 2019-07-15
- Transitioned to
err-derive
for error management instead offailure
.
v0.4.4 - 2019-07-08
fastobo::visit::IdCompactor
andfastobo::visit::IdDecompactor
to handle url to prefixed ident conversion in OBO documents.
v0.4.3 - 2019-06-17
HeaderFrame.sort
to avoid shufflingOwlAxiom
header clauses.
HeaderFrame.merge_owl_axioms
method to merge OWL axioms in a header frame.
v0.4.2 - 2019-06-13
Cardinality::to_error
not returning an error forZeroOrOne
clauses present twice in a frame.
v0.4.1 - 2019-06-13
TermClause::PropertyValue
having invalidZeroOrOne
cardinality
v0.4.0 - 2019-06-12
- Parsing iterator implementation in
fastobo::parser::FrameReader
fastobo-derive-internal
proc-macros to reduce code boilerplate.OboClause
andOboFrame
traits with common operations for all clauses/frames in an OBO document.Cardinality
enum which can be retrieved from anyOboClause
variant with thecardinality
method.OboDoc.is_fully_labeled
semantic check.
- Decomposed errors into smaller errors: the main
Error
now wrapsCardinalityError
,IOError
andSyntaxError
which can be accessed independently.
- Removed
OboSemantics
trait and added functions toOboDoc
directly.
- Bug causing
XrefList
to be parsed incorrectly when having a comma in their quote-enclosed description.
v0.3.0 - 2019-05-27
- Renamed variants of
PropertyValue
andPropVal
enums.
v0.2.1 - 2019-05-24
InstanceFrame::from_pair_unchecked
being implemented but not used inEntityFrame::from_pair_unchecked
, causing a panic when parsing an OBO document with instance frames.
v0.2.0 - 2019-05-14
Orderable
trait for syntax structs that must be serialized in a particular order (e.g.EntityFrame
,XrefList
,OboDoc
, ...).Identified
trait for syntax structs that have an identifier (e.g.EntityFrame
,Qualifier
, ...).- Support for
is_asymmetric
typedef clause.
Error::IOError
andError::ParserError
will now return their inner error when calling theFail.cause
method.
v0.1.1 - 2019-05-10
PartialOrd
implementation for header clauses, identifiers,Synonym
andPropertyValue
.
- Removed missing
docs
feature fromdocs.rs
build metadata. - Changed links to refer to the new outsourced repository
fastobo/fastobo
.
v0.1.0 - 2019-05-08
Initial release.