Skip to content

Latest commit

 

History

History
107 lines (70 loc) · 3.39 KB

CHANGELOG.md

File metadata and controls

107 lines (70 loc) · 3.39 KB

Changelog

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.

Added

Changed

Deprecated

Removed

Fixed

Security

0.4.1 - 2024-01-04

Servicing release.

Fixed

0.4.0 - 2020-12-07

This release primarily introduces convenience implementations. Additions and removals of error::Error variants make this a breaking change.

Added

  • 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.

Changed

  • Restructured documentation to list module source extraction examples first.

Removed

  • 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, and Project's entire public API requires &self access only.

  • The whole ProjectInformation dance on Project::information()? has been flattened into the Project struct.

    This makes code like proj.information()?.information a thing of the past, at the expense of slightly more parsing during open_project. This is entirely acceptable, given that a parse error now is no worse than a parse error later.

Added

Internal improvements:

  • Set up continuous integration workflow.
  • Added tests to verify some finicky decompressor internals.

Changed

  • Moved Project::information()? to Project::information.
  • Removed mut from Project's public API.

0.2.0 - 2020-11-30

Changed

  • Changed Module::text_offset from u32 to usize.

Removed

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

Added

  • VBA project parser.
  • RLE decompressor for compressed streams.