* Optimize LoadSnapshot if toSequenceNr == 0, i.e. SnapshotCriteria.none,
then no need to involve the snapshot store
* Optimize ReplayMessages if toSequenceNr == 0, i.e. Recovery.none,
then no need to do asyncReplayMessages, but asyncReadHighestSequenceNr
is still needed
* should still load snapshot if critera != none and toSeqNr == 0,
weird case for saving/loading snapshots with seqNr 0
* the order was also wrong in the AbstractPersistentActorWithTimers
* mima complains about this change for AbstractPersistentActor and
AbstractPersistentActorWithAtLeastOnceDelivery, but I think it is ok
* Receive class that wraps PartialFunction, to avoid
scary scala types
* move AbstractActorContext to AbstractActor.ActorContext
* converting docs, many, many UntypedActor
* removing UntypedActor docs
* add unit test for ReceiveBuilder
* MiMa filters
* consistent use of getContext(), self(), sender()
* rename cross references
* migration guide
* skip samples for now
* improve match type safetyi, add matchUnchecked
* the `? extends P` caused code like this to compile:
`match(String.class, (Integer i) -> {})`
* added matchUnchecked, since it can still be useful (um, convenient)
to be able to do:
`matchUnchecked(List.class, (List<String> list) -> {})`
* eleminate some scala.Option
* preRestart
* findChild
* ActorIdentity.getActorRef
+ LambdaDoc samples now in the docs project
= simplified internal state by removing recoveryPending
= recovery is now triggered in around* method, so user is free to use
preStart freely - recovery works even if one forgets to call super on
preStart
* also improved fault handling in various places (bugs found)
* and manually triggered Update must be distinguished from scheduled
auto updates, otherwise manual Update will schedule extra auto updates
* remove channels
* remove View
* remove Processor
* collapse the complicated internal state management
that was spread out between Processor, Eventsourced and Recovery
* remove Recovery trait, this caused some duplication between Eventsourced
and PersistentView, but but the enhanced PersistentView will not be based
on recovery infrastructure, and therefore PersistentView code will be replaced anyway
* remove PersistentBatch
* remove LoopMessage
* remove deleteMessages of individual messages
* remove Persistent, PersistentRepr and PersistentImpl are kept
* remove processorId
* update doc sample code
* note in migration guide about persistenceId
* rename Resequencable to PersistentEnvelope