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.
v2.2.0 - 2023-10-26
- Require Go 1.21
- Update CI workflows
- Marshal / encoder: HTML-escape bookmark description
- Unmarshal / decoder: HTML-unescape bookmark description
v2.1.0 - 2022-06-03
- Do not use time.Time pointers to represent nullable dates
- Introduce JSON marshaling methods with intermediary structs to handle nullable dates (via time.Time.IsZero())
- Initialize Decoder for proper UNIX timestamp format detection
v2.0.0 - 2022-04-30
- Add a method to flatten a Document by returning a version with all bookmarks attached to the root folder
- Bump Go module to v2
- Flatten and cleanup package structure to ease importing and using as a library
v1.1.0 - 2022-03-25
- Add Make targets to run benchmarks and save CPU/Memory profiles
- decoder: refactor date/time operations
- Use Markdown for the README
- encoder: sort folder and bookmark attributes by key for deterministic output
v1.0.0 - 2022-03-06
Initial release.
-
Unmarshal data using the Netscape Bookmark file format
-
Marshal documents containing bookmarks and folders using the Netscape Bookmark file format
-
Add support for nested folders
-
Add support for folder metadata:
- creation and update dates
- arbitrary attributes
- text description, with multi-line and inner markup support
-
Add support for bookmark metadata:
- creation and update dates
- visibility
- comma-separated tags
- arbitrary attributes
- text description, with multi-line and inner markup support
-
Provide code and command-line examples to demonstrate usage