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.
getRawValue
member to theFieldOfView
type, such that client code can access the raw nonnegative integer value, but in a clear and intentional way.
- More updates regarding Scala 3.6's revision of syntax for
given
instances and for bounds, per SIP-64. - Apply
-new-syntax
+-rewrite
to scalac settings.
.jvmopts
to provide more memory for the environment, mainly related to use of Semantic DB withscalafix
- Generalise the wrapped raw coordinate value, of distance computations to accommodate points with any raw coordinate type
C
for which there's aNumeric
instance available, rather than restricting toC =:= Double
. - Bump Scala from 3.5.2 to 3.6.4.
- Bump up all project plugins and dependencies to latest versions (as of 2025-03-07).
- Update to Scala 3.6's revision of syntax for
given
instances and for bounds, per SIP-64. - Back off of a couple of the more aggressive applications of
fewerBraces
, as this was not playing nicely betweenscalafmt
,scalafix
, general compilation, and IDE plugin (Metals). This seemed to pertain mainly to replacement of braces by colons and indentation inTry
blocks (i.e.,scala.util.Try
, nottry...catch
). - Condensed / centralised implementation of
PiecewiseDistance.between
.
flipBy
(aliased also asswapBy
) as syntax onTuple2[A, A]
, similar tosortBy
on a sequence-like collection
collections.lookupBySubset
- Documentation for how to build this library
- Scala is now version 3.5.2.
sbt
is now version 1.10.5.- License is now Apache 2.0, due to our use of
iron
.
graph
module for graph-related functionality (usingscala-graph
)remove
method as syntax extension onAtLeast2[Set, X]
, yielding aNonEmptySet[X]
IntraCellDelimiter[A]
abstraction for reading and writing a CSV cell which contains a collection of individual elements- The
AtLeast2[C[*], A]
abstraction for a collection/containerC[A]
which must contain at least two elements fs2.data.csv.CellEncoder[AtLeast2[C[*], A]]
instance derivation for when the element typeA
has afs2.data.csv.CellEncoder
instance available, and there's an givenIntraCellDelimiter[A]
available
- Scala is now 3.5.1.
- Many new data types and typeclass instances.
- Core cell biology domain-specific types like
NuclearDesignation
, incell
module - Core geometric types like
Point3D
, ingeometry
module - Core imaging domain-specific types like
FieldOfView
, inimaging
module - Input-/output-related functionality in
io
- ROI-related functionality in
roi
module - Simple typeclass instances for many core types
- Code formatting with
scalafmt
sbt-buildinfo
pluginscalafix
plugin
- Project structure switches to modules / subprojects, much like
refined
in terms of folder structure and thebuild.sbt
. - Rather than custom
opaque type
s, start usingiron
to represent refined domains of numeric types. - Use
cats
-style source file layout for syntax enrichment files and typeclass instances files.
- This is the first release.