Releases: LEGO/woof
Remove deprecated method, custom UUIDGen. Add varargs context method.
What's Changed
Notable
- remove deprecated method
Logger.makeIoLogger
by @hejfelix in #191 - Use cats UUID typeclass instead of our own (closes #187) by @hejfelix in #192
- Add varargs version of
withLogContext
(closes #190) by @hejfelix in #193
Upgrades
- Upgrade cats-core from 2.9.0 to 2.10.0 by @scala-steward in #177
- Upgrade sbt, sbt-dependency-tree from 1.9.3 to 1.9.6 by @scala-steward in #188
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.14 to 0.4.15 by @scala-steward in #183
- Upgrade scalafmt-core from 3.7.11 to 3.7.13 by @scala-steward in #181
- Upgrade circe-parser from 0.14.5 to 0.14.6 by @scala-steward in #179
- Upgrade scala3-library, ... from 3.3.0 to 3.3.1 by @scala-steward in #182
- Upgrade sbt-jmh from 0.4.5 to 0.4.6 by @scala-steward in #186
- Upgrade slf4j-api from 2.0.7 to 2.0.9 by @scala-steward in #185
- Upgrade scalafmt-core from 3.7.11 to 3.7.14 by @scala-steward in #184
- Upgrade sbt-scalafmt from 2.5.0 to 2.5.2 by @scala-steward in #180
Full Changelog: v0.6.1...v0.7.0
v0.6.1 update dependencies
What's Changed
- Upgrade cats-effect, cats-effect-testkit from 3.4.11 to 3.5.1 by @scala-steward in #166
- Upgrade http4s-core from 0.23.18 to 0.23.23 by @scala-steward in #173
- Upgrade munit, munit-scalacheck from 1.0.0-M7 to 1.0.0-M8 by @scala-steward in #158
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.12 to 0.4.14 by @scala-steward in #156
- Upgrade sbt-ci-release from 1.5.11 to 1.5.12 by @scala-steward in #150
- Upgrade sbt-dependency-tree from 1.8.2 to 1.9.3 by @scala-steward in #174
- Upgrade sbt-jmh from 0.4.3 to 0.4.4 by @scala-steward in #144
- Upgrade sbt-jmh from 0.4.4 to 0.4.5 by @scala-steward in #157
- Upgrade sbt-scala-native-crossproject, ... from 1.2.0 to 1.3.0 by @scala-steward in #145
- Upgrade sbt-scala-native-crossproject, ... from 1.3.0 to 1.3.1 by @scala-steward in #147
- Upgrade sbt-scala-native-crossproject, ... from 1.3.1 to 1.3.2 by @scala-steward in #168
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.13.1 to 1.13.2 by @scala-steward in #162
- Upgrade sbt, sbt-dependency-tree from 1.8.2 to 1.8.3 by @scala-steward in #152
- Upgrade scala3-library, ... from 3.2.2 to 3.3.0 by @scala-steward in #154
- Upgrade scalafmt-core from 3.7.3 to 3.7.11 by @scala-steward in #175
Full Changelog: v0.6.0...v0.6.1
0.6.0 Move to applicative DSL for filters, introduce optimization based on new filters
The highlight is the move to a new DSL for filters. Previously, filters were a type alias:
type Filter = LogLine => Boolean
This has changed to be an enum-based DSL:
enum Filter:
private[woof] case AtLeastLevel(level: LogLevel)
private[woof] case ExactLevel(level: LogLevel)
private[woof] case ClassRegex(regex: Regex)
private[woof] case MessageFilter(filter: String => Boolean)
private[woof] case LineNumberFilter(filter: Int => Boolean)
private[woof] case CompositeAnd(a: Filter, b: Filter)
private[woof] case CompositeOr(a: Filter, b: Filter)
private[woof] case Nothing
private[woof] case Everything
end Filter
with the same Monoid
instance and syntax as before:
given Monoid[Filter] with
def empty: Filter = nothing
def combine(f: Filter, g: Filter): Filter = f or g
extension (f: Filter)
infix def and(g: Filter): Filter = Filter.CompositeAnd(f, g)
infix def or(g: Filter): Filter = Filter.CompositeOr(f, g)
For code using compositions of the pre-defined filters, this should not be a breaking change. However, if you have a custom filter, you need to migrate to some composition of the filters in the companion object of Filter
.
We realize that this is a reduction in power, but depending on your filter configuration there should be a considerable speedup as compensation:
[info] Benchmark Mode Cnt Score Error Units
[info] FilterBenchmark.testEverything thrpt 25 255,250 ± 12,763 ops/s
[info] FilterBenchmark.testInfo thrpt 25 722,664 ± 25,608 ops/s
[info] FilterBenchmark.testNothing thrpt 25 11275,189 ± 314,631 ops/s
[success] Total time: 1509 s (25:09), completed 31 Mar 2023, 10.38.35
See modules/benchmarks/FilterBenchmark.scala.output.md for the full benchmark results and treatment.
What's Changed
- Upgrade scalafmt-core from 3.7.2 to 3.7.3 by @scala-steward in #143
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.11 to 0.4.12 by @scala-steward in #142
- 140: #140 implement applicative filter DSL by @hejfelix in #141
Full Changelog: v0.5.1...v0.6.0
v0.5.1
This fixes a bug where slf4j-common module was not released, thanks very much to @rgueldem for discovering and fixing this 👌🎉
What's Changed
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.10 to 0.4.11 by @scala-steward in #137
- Publish slf4jCommon module by @rgueldem in #139
- Upgrade slf4j-api from 2.0.6 to 2.0.7 by @scala-steward in #138
New Contributors
Full Changelog: v0.5.0...v0.5.1
0.5.0 - SLF4J 2.x.x support, bumped dependencies
What's Changed
The highlight here is the woof-slf4j-2
module. With this comes a minor breaking change. Previously, the slf4j wrapper would dispatch the logging effect using IO
directly, i.e. no Dispatcher[F]
needed. With the new implementation, most of the moving parts have been abstracted, but the user must supply a Dispatcher[F]
when calling .registerSlf4j
:
import org.legogroup.woof.slf4j.*
+import cats.effect.std.Dispatcher
val mainSlf4j: IO[Unit] =
+ Dispatcher.sequential[IO].use{ implicit dispatcher =>
for
woofLogger <- DefaultLogger.makeIo(consoleOutput)
_ <- woofLogger.registerSlf4j
_ <- programWithSlf4j
yield ()
+ }
- SLF4J-2: Add slf4j-2 module with ServiceProvider (Closes #107) by @hejfelix in #136
- Upgrade cats-core from 2.8.0 to 2.9.0 by @scala-steward in #105
- Upgrade sbt, sbt-dependency-tree from 1.7.1 to 1.7.3 by @scala-steward in #102
- Upgrade scala3-library, ... from 3.2.0 to 3.2.1 by @scala-steward in #100
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.10.1 to 1.11.0 by @scala-steward in #95
- Upgrade sbt-scalafmt from 2.4.6 to 2.5.0 by @scala-steward in #104
- Upgrade sbt-mdoc from 2.3.3 to 2.3.6 by @scala-steward in #97
- Upgrade cats-effect, cats-effect-testkit from 3.3.14 to 3.4.0 by @scala-steward in #106
- Upgrade scalafmt-core from 3.5.9 to 3.6.1 by @scala-steward in #103
- Upgrade munit, munit-scalacheck from 1.0.0-M6 to 1.0.0-M7 by @scala-steward in #108
- Upgrade cats-effect, cats-effect-testkit from 3.4.0 to 3.4.1 by @scala-steward in #110
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.11.0 to 1.12.0 by @scala-steward in #111
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.7 to 0.4.9 by @scala-steward in #112
- Upgrade scala-java-time-tzdb from 2.4.0 to 2.5.0 by @scala-steward in #114
- Upgrade cats-effect, cats-effect-testkit from 3.4.1 to 3.4.3 by @scala-steward in #117
- Upgrade cats-effect, cats-effect-testkit from 3.4.3 to 3.4.4 by @scala-steward in #118
- Upgrade http4s-core from 0.23.16 to 0.23.17 by @scala-steward in #119
- Upgrade sbt, sbt-dependency-tree from 1.8.0 to 1.8.2 by @scala-steward in #120
- Upgrade cats-effect, cats-effect-testkit from 3.4.4 to 3.4.5 by @scala-steward in #121
- Upgrade scalafmt-core from 3.6.1 to 3.7.0 by @scala-steward in #123
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.12.0 to 1.13.0 by @scala-steward in #125
- Upgrade http4s-core from 0.23.17 to 0.23.18 by @scala-steward in #122
- Upgrade scalafmt-core from 3.7.0 to 3.7.1 by @scala-steward in #124
- Upgrade cats-effect, cats-effect-testkit from 3.4.5 to 3.4.6 by @scala-steward in #129
- Upgrade circe-parser from 0.14.3 to 0.14.5 by @scala-steward in #135
- Upgrade nscplugin, sbt-scala-native, ... from 0.4.9 to 0.4.10 by @scala-steward in #127
- Upgrade scala3-library, ... from 3.2.1 to 3.2.2 by @scala-steward in #126
- Upgrade cats-effect, cats-effect-testkit from 3.4.6 to 3.4.8 by @scala-steward in #134
- Upgrade scalafmt-core from 3.7.1 to 3.7.2 by @scala-steward in #133
- Upgrade sbt-mdoc from 2.3.6 to 2.3.7 by @scala-steward in #128
Full Changelog: v0.4.7...v0.5.0
v0.4.7
v0.4.6
This release is only depenceny bumps, most notably the scala version was bumped to version 3.2.0
.
What's Changed
- Upgrade cats-core from 2.7.0 to 2.8.0 by @scala-steward in #80
- Upgrade scala3-library, ... from 3.1.2 to 3.1.3 by @scala-steward in #78
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.10.0 to 1.10.1 by @scala-steward in #77
- Upgrade http4s-core from 0.23.12 to 0.23.13 by @scala-steward in #76
- Upgrade cats-effect, cats-effect-testkit from 3.3.12 to 3.3.13 by @scala-steward in #81
- Upgrade scalafmt-core from 3.5.3 to 3.5.8 by @scala-steward in #79
- Upgrade sbt from 1.6.2 to 1.7.1 by @scala-steward in #82
- Upgrade cats-effect, cats-effect-testkit from 3.3.13 to 3.3.14 by @scala-steward in #83
- Upgrade sbt-mdoc from 2.3.2 to 2.3.3 by @scala-steward in #85
- Upgrade http4s-core from 0.23.13 to 0.23.14 by @scala-steward in #84
- Upgrade scalafmt-core from 3.5.8 to 3.5.9 by @scala-steward in #86
- Upgrade http4s-core from 0.23.14 to 0.23.15 by @scala-steward in #88
- Upgrade scala3-library, ... from 3.1.3 to 3.2.0 by @scala-steward in #90
Full Changelog: v0.4.5...v0.4.6
v0.4.5
What's Changed
- Include line numbers in json printer by @hejfelix in #66
- Upgrade scala3-library, ... from 3.1.1 to 3.1.2 by @scala-steward in #64
- Upgrade sbt-mdoc from 2.3.0 to 2.3.2 by @scala-steward in #60
- Upgrade scalafmt-core from 3.4.0 to 3.4.3 by @scala-steward in #49
- Upgrade http4s-core from 0.23.9 to 0.23.11 by @scala-steward in #56
- Upgrade slf4j-api from 1.7.35 to 1.7.36 by @scala-steward in #48
- Upgrade scalafmt-core from 3.4.3 to 3.5.3 by @scala-steward in #67
- Markdown linting by @Colin-TUE in #69
- Add Contributing.md by @Colin-TUE in #71
- Examples module as documentation by @MarcoDaniels in #72
- Upgrade http4s-core from 0.23.11 to 0.23.12 by @scala-steward in #75
- Upgrade cats-effect, cats-effect-testkit from 3.3.11 to 3.3.12 by @scala-steward in #74
New Contributors
- @Colin-TUE made their first contribution in #69
- @MarcoDaniels made their first contribution in #72
Full Changelog: v0.4.4...v0.4.5
v0.4.4
What's Changed
- Upgrade cats-effect, cats-effect-testkit from 3.3.9 to 3.3.11 by @scala-steward in #63
- Feature/structured logging by @hejfelix in #65
Full Changelog: v0.4.3...v0.4.4
v0.4.3
IMPORTANT!
We are bumping the Scala.js version to fix a CVE (see https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-28355).
Please upgrade when possible.
What's Changed
- Upgrade sbt-scalajs, scalajs-library_2.13, ... from 1.9.0 to 1.10.0 by @scala-steward in #62
Full Changelog: v0.4.2...v0.4.3