automorph 0.1.0

Derive macros for bidirectional Automerge-Rust struct synchronization
Documentation
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

### Added
- Initial implementation of the `Automorph` trait
- `#[derive(Automorph)]` macro for automatic implementation
- Support for all primitive types (bool, integers, floats, char)
- Support for string types (String, Box<str>, Cow<str>, Rc<str>, Arc<str>)
- Support for byte types (Vec<u8>, Box<[u8]>)
- Support for Option<T> and Result<T, E>
- Support for collections (Vec, VecDeque, LinkedList, HashMap, BTreeMap, HashSet, BTreeSet)
- Support for tuples up to 16 elements
- Support for arrays [T; N] for N = 0..32
- Support for smart pointers (Box, Rc, Arc, Cell, RefCell, Mutex, RwLock)
- Support for wrapper types (Wrapping, Saturating, NonZero*)
- Support for time types (Duration, SystemTime)
- Support for range types (Range, RangeInclusive, RangeTo, RangeFrom)
- Support for network types (IpAddr, Ipv4Addr, Ipv6Addr, SocketAddr)
- Support for path types (PathBuf, OsString)
- Support for PhantomData
- Support for serde_json types (Value, Number, Map)
- Derive macro support for named structs, tuple structs, and unit structs
- Derive macro support for enums with external, internal, adjacent, and untagged representations
- Container attributes: `rename_all`, `tag`, `content`, `untagged`
- Field attributes: `rename`, `skip`, `default`
- Variant attributes: `rename`, `skip`
- Version-aware operations via `*_at` methods
- Change detection via `diff` and `update` methods
- Comprehensive error types with context

### Security
- All crates forbid unsafe code via `#![forbid(unsafe_code)]`

## [0.1.0] - TBD

Initial public release.