All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. This project adheres to Semantic Versioning. 0.X.Y releases attempt to communicate breaking changes by a bump in the 0.X version number, while non-breaking changes increment the Y version number only, leaving the X version number unchanged.
0.4.1 - 2024-01-04
Servicing release.
- Bumps
nom
dependency to at least5.1.3
to resolve a future incompatibility warning (see PR Fix for trailing semicolon in macros. for details).
0.4.0 - 2020-12-07
This release primarily introduces convenience implementations. Additions and removals of error::Error
variants make this a breaking change.
Project::module_source_raw()
: Convenience implementation to return a module's source code (raw codepage encoding).Project::module_source()
: Convenience implementation to return a module's source code converted to UTF-8 encoding.error::Error::ModuleNotFound
. This is used for public functions that identify modules by name.
- Restructured documentation to list module source extraction examples first.
error::Error::Unknown
: This used to be the catch-all variant. This has been a just-in-case fallback that turned out to never have been used any. It's gone now.
0.3.0 - 2020-12-03
This release addresses usability issues:
-
Previously,
Project
's associated functions mostly required&mut self
access. This is a result of exposing implementation details. This requirement has been relaxed, andProject
's entire public API requires&self
access only. -
The whole
ProjectInformation
dance onProject::information()?
has been flattened into theProject
struct.This makes code like
proj.information()?.information
a thing of the past, at the expense of slightly more parsing duringopen_project
. This is entirely acceptable, given that a parse error now is no worse than a parse error later.
Internal improvements:
- Set up continuous integration workflow.
- Added tests to verify some finicky decompressor internals.
- Moved
Project::information()?
toProject::information
. - Removed
mut
fromProject
's public API.
0.2.0 - 2020-11-30
- Changed
Module::text_offset
fromu32
tousize
.
Breaking changes:
Module
:name_unicode
stream_name_unicode
doc_string_unicode
cookie
Non-breaking changes:
Information
doc_string_unicode
help_file_2
constants_unicode
ReferenceProject
name.1
ReferenceRegistered
name.1
ReferenceOriginal
name.1
ReferenceControl
name.1
name_extended.1
0.1.0 - 2020-11-29
- VBA project parser.
- RLE decompressor for compressed streams.