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.
FromValue
now can unpack DBInt
as HaskellDouble
.- Verbose error in TemplateHaskell converter when property of a node or a relationship can't be unpacked.
IsString
instance forCond
andConds
.
:&&:
and:||:
render to Cypher with correct operator precedence.
- Add
HasCallStack
to a lot of unpacking functions.
- Add newline for Cypher queries.
BoltGeneric
wrapper forDerivingVia
to deriveIsValue
andRecordValue
for Haskell types.
NodeLike
andRelationLike
classes now useIsValue
/RecordValue
instead ofToValue
/FromValue
.
BoltEnum
newtype, superseded byBoltGeneric
.
IsValue
instances forToValue
&NodeLike
via newtypes;- Add even more
HasCallStack
.
FromValue
/ToValue
instances forNonEmpty
;BoltEnum
wrapper to provideFromValue
/ToValue
for enum-like types.
- Add more
HasCallStack
.
- Fix
makeNodeLike
forMaybe
fields, bug introduced in previous version.
- Compatibility of
makeNodeLike
/makeURelationLike
withDuplicateRecordFields
, thanks to @oddsome, PR #40.
- Compatibility with GHC-8.10.
- https://www.wrike.com/open.htm?id=472936296: fix recursion in
GetTypeFromRecord
type family.
- Export of
LabelConstraint
to allow users to define wrappers aroundlbl
.
=:
type synonym to avoid ticks in type-level tuples.
param
combinator to add named parameters to selectors;CypherDSLParams
to control parameters that queries accept.
- Use
hasbolt
0.1.4.0.
- Compatibility function
exact
from olderhasbolt
.
makeNodeLikeWith
andmakeURelationLikeWith
functions.
- Support for
Maybe
fields in typed selectors; - Integration of typed selectors and Graph API.
- Type-safe selectors for nodes and relationships.
- Exported
(#)
operator.
OverloadedLabels
instances and operators for easy selector writing.
WITH
statement in DSL.
- Directed relationship in graph get dsl instead of undirected.
- Updated dependencies.
- Expanded documentation for
Database.Bolt.Extras.Graph
.
- Optimized query, easy way to extract entities from result graph.
- Ability to choose whether to return entity or not in graphs.
mergeGraphs
, ability to take not all node properties from DB.
- Refactoring.
ToJSON
andFromJSON
instances forPersisted a
.
REMOVE
query.
- Escaping special characters in text fields.
- Cabal fix.
- Fixed conditions.
- New types for conditions in
DSL
.
- Added
DSL
forCypher
.
- Added ability to delete nodes by their
BoltId
s.
- Added ability to update properties of the existing node; added ability to choose
if you want to
CREATE
orMERGE
the relationship.
- More accurate
toNode
on data fields withMaybe a
type. If the corresponding field in the type is Nothing, this field won't be included toNode
.
- More accurate
fromNode
on data fields withMaybe a
type. If there is no such field in Node, data field will be set to Nothing.
- Template Haskell code to generate
Node
s andURelationship
s. - Simple queries to upload
Node
andURelationship
. - Simple query to download
Node
s.