Releases: fulcrumgenomics/commons
v1.4.0
What's Changed
Major changes:
- Removed support for scala 2.12 by @tfenne in #77
- A parallel iterator implementation. by @tfenne in #76, that allow parallelization of iterators in a similar fashion to parallel collections without the user having to worry about batching
Minor changes:
- SimpleCounter iterators are in insertion order by @nh13 in #73
- Add support for reading from Unix/Posix pipes (fifos) by @nh13 in #57
- Make sure IntelDeflator is shown as unsupported on non-x86 Apple machines e.g. M1x.
Full Changelog: 1.3.0...1.4.0
1.3.0
1.2.0
This release includes various minor enhancements:
- #63 Add a type alias for a sequence dictionary
- #66 Fix for
DelimitedDataParser.Row.get
returningSome(" ")
instead of returning None whenallowMissingColumn
flag is set - #67 Sanitize file name now truncates files to avoid filesystem errors on names larger than 255 characters
- #68 Use thread-safe
DateTimeFormatter
in log emissions - #72 Add a least recently used cache collection
Release 1.1.0
This release includes various minor enhancements:
- Automatic gzip format detection in
Io
and ability to control compression level on writing of gzipped files StringUtil.split
can now return remaining text in the last element when there is overflow- New class
SystemUtil
for accessing information about the OS/system
Release 1.0.0
The major feature of this release is moving cross-building support to scala 2.12 and 2.13 and dropping support for 2.11. In addition to making cross-building work for the project, commons
includes a new Compat
trait that is mixed into CommonsDef
and supplies a small number of type definitions and implicits to make cross-building simpler.
Release 0.7.0
Minor release that includes:
• Compiling using the latest point releases of the 2.11 and 2.12 scala compilers that produce JDK 9 and 10 compatible classes
• Added a raw String
accessor to DelimitedDataParser.Row
to make String access much faster when working with large files
Release 0.6.1
Minor upgrade with the following improvements:
- Better error message when reflectively construct a class but no one-arg string constructor is found (#28)
- Added
Io.readBytesFromResources()
to read binary data (#33) - Adding a
StringUtil.split
method for fasterString
splitting (#34) - Adding a
+=
method toSimpleCounter
(#34) - Adding
maxN
andmaxNBy
methods (#34) - Adding some generic utility classes related to asynchronous processing, reading, writing, and iterating over items
- A more general pooling mechanism for asynchronous writers (#35)
- Workaround for Files.newInputStream() returning a stream that's incompatible with stdin (#36)
- Updating to sbt 1.2.6
Note: there is no 0.6.0 release due to sbt and sbt-pgp having a bug not allowing us to release that version.
Release 0.5.0
Minor upgrade with the following improvements:
- Added
Configuration
class for accessing TypeSafe config in a, ahem, type-safe way - Widened
Io.writeLines
to takeTraversableOnce[String]
instead ofSeq[String]
- Updated
Io.readLinesFromResource
to work for relative and absolute resource paths with and without leading/
s - Improved the error message when trying to reflectively construct enum values
Release 0.4.0
Minor release with the following changes:
- Added an implicit to CommonsDef that provides a
sumBy
method on collections of Numerics, that calculates the sum of a function of the contents. E.g.coll.sumBy(_.length)
is equivalent tocoll.map(_.length).sum
but without generating any intermediate collections of views. - ReflectionUtil can now handle
Char
as a target type (includingOption[Char]
andSeq[Char]
), where previously trying to construct a Char through an exception.
Release 0.3.0
Minor release with the following changes:
- Added a method to the
Io
class to read a resource from the classpath as anIterator
of lines - Change ReflectionUtil to interpret
[true, t, yes, y]
(case insensitive) as true when parsingBoolean
s from Strings.