- change CI flag name to record-mode
- limit supported python versions to 3.11 and 3.12
- support Pydantic 2
- replace pytest-vcr with pytest-recording
- replace Marshmallow schemas with Pydantic models
- add
types
module for type annotations of TypedDict API responses - add MANIFEST.in (to include readme.md on Python Package Index)
- add EnactmentPassage class
- select_from_text_positions_without_nesting doesn't accept RangeSet
- Enactment.limit_selection.start must be an int
- no separate LinkedEnactment class for Enactments with URL links as children
- remove BaseEnactment parent class
- sort EnactmentGroups by level
- add California to KNOWN_CODES
- separate schemas for YAML and JSON input
- flag determines if read_from_json uses text expansion
- change InboundReference to dataclass
- add EnactmentGroup class
- drop Python 3.7 support
- import Citation and Client at top level of library
- Client.fetch_cross_reference no longer will ignore "date" param
- EnactmentGroup init method can accept None as "enactments" param
- remove "text expansion" module and functions
- remove ExpandableSchema class
- fix bug: Client made API request requiring 301 redirect
- add Citation class
- add Citation Style Language JSON serializer methods
- remove mock Clients by migrating tests to pytest-vcr
- order fields in serialized Enactment JSON output format for readability
- remove include_start and include_end from serialized Enactment JSON output
- fix bug: Enactment.select_all created zero length selectors
- add CrossReference class as memo of cited Enactment to download
- add CitingProvisionLocation as memo of citing Enactment to download
- add cross_references attr to Enactment model
- add citations_to method to Client class
- EnactmentSchema's content field is moved to a new nested model called TextVersionSchema
- add ability to pass CitingProvisionLocation to Client.read
- add ability to pass InboundReference to Client.read
- don't add ellipsis to selected_text for node with no text
- accept list of strings to generate anchorpoint TextPositionSet
- combine selected text passages within 3 characters of each other
- initial release