mon/CHANGELOG.org

196 lines
5.9 KiB
Org Mode
Raw Permalink Normal View History

* CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on [[https://keepachangelog.com/en/1.0.0/][Keep a Changelog]], and this project adheres to
[[https://semver.org/spec/v2.0.0.html][Semantic Versioning]].
2020-06-20 22:30:17 +01:00
* 2.2.1
2020-06-20 22:19:36 +01:00
* 2.2.0
Features
- TypeAlias: allow toString to be overridden @kemitix (#129)
- Add flatMapLeft/Right and getLeft/Right to Either @kemitix (#128)
Maintenance
- Add release-drafter @kemitix (#127)
- Bump spotbugs-annotations from 4.0.3 to 4.0.4 @dependabot-preview (#126)
- Bump tiles-maven-plugin from 2.16 to 2.17 @dependabot-preview (#125)
- Bump spotbugs-annotations from 4.0.2 to 4.0.3 @dependabot-preview (#124)
- Bump pitest-maven from 1.5.1 to 1.5.2 @dependabot-preview (#123)
- Bump assertj-core from 3.16.0 to 3.16.1 @dependabot-preview (#122)
- Bump assertj-core from 3.15.0 to 3.16.0 @dependabot-preview (#121)
- Bump spotbugs-annotations from 4.0.1 to 4.0.2 @dependabot-preview (#120)
- Bump junit-bom from 5.6.1 to 5.6.2 @dependabot-preview (#119)
- Bump pitest-maven from 1.5.0 to 1.5.1 @dependabot-preview (#118)
- Bump junit-bom from 5.6.0 to 5.6.1 @dependabot-preview (#117)
* 2.1.0
** Added
* Add github actions config (#113)
JDK 13 Compatibility (#116) * Add jdk 13 to build matrix * Adjust indentation * Adjust indentation * Bump kemitix-maven-tiles from 1.2.0 to 2.4.1 * Fix TypeAlias.equals(Object) does not check for null argument net.kemitix.mon.TypeAlias.equals(Object) does not check for null argument [net.kemitix.mon.TypeAlias] At TypeAlias.java:[lines 82-88] NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT * Fix TypeAlias.flatMap(Function) declares unbound method template parameter [ERROR] Method net.kemitix.mon.TypeAlias.flatMap(Function) declares unbound method template parameter(s) [net.kemitix.mon.TypeAlias] At TypeAlias.java:[line 72] UMTP_UNBOUND_METHOD_TEMPLATE_PARAMETER * Fix Lazy has a circular dependency with other classes [ERROR] Class net.kemitix.mon.lazy.Lazy has a circular dependency with other classes [net.kemitix.mon.lazy.Lazy] At Lazy.java:[lines 36-46] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Synchronization performed on AtomicReference [ERROR] Synchronization performed on java.util.concurrent.atomic.AtomicReference in net.kemitix.mon.lazy.LazySupplier.value() [net.kemitix.mon.lazy.LazySupplier] At LazySupplier.java:[line 61] JLM_JSR166_UTILCONCURRENT_MONITORENTER * Fix Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [ERROR] Non derivable method net.kemitix.mon.maybe.Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [net.kemitix.mon.maybe.Just] At Just.java:[line 102] BED_BOGUS_EXCEPTION_DECLARATION * Fix Maybe has a circular dependency with other classes [ERROR] Class net.kemitix.mon.maybe.Maybe has a circular dependency with other classes [net.kemitix.mon.maybe.Maybe] At Maybe.java:[lines 40-94] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Maybe.findFirst(Stream) uses immediate execution of a block [ERROR] Method net.kemitix.mon.maybe.Maybe.findFirst(Stream) uses immediate execution of a block of code that is often not used [net.kemitix.mon.maybe.Maybe] At Maybe.java:[line 94] OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION * Fix Success/Result/Err has a circular dependency [ERROR] Class net.kemitix.mon.result.Err has a circular dependency with other classes [net.kemitix.mon.result.Err] At Err.java: FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix GeneralisedTree has a circular dependency [ERROR] Class net.kemitix.mon.tree.GeneralisedTree has a circular dependency with other classes [net.kemitix.mon.tree.GeneralisedTree] At GeneralisedTree.java:[lines 39-80] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Supress warning about boxing a boolean NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION Without creating a whole reimplemention of Maybe/Just/Nothing purely for `boolean` primitives, we can’t avoid this boxing. * Supress store before return warnings in Lombok generate hashCode USBR_UNNECESSARY_STORE_BEFORE_RETURN The annotation has to be used at the class level, which unfortunately means we have no store-before-return checks for the rest of the class. * Suppress warning about unused parameter The type parameter for `Tree.builder(type)` is used to specify the parameterised type of the return value. * Checkstyle fixups * [changelog] updated
2020-03-20 07:17:29 +00:00
* Add JDK 13 compatibility (#116)
** Dependencies
JDK 13 Compatibility (#116) * Add jdk 13 to build matrix * Adjust indentation * Adjust indentation * Bump kemitix-maven-tiles from 1.2.0 to 2.4.1 * Fix TypeAlias.equals(Object) does not check for null argument net.kemitix.mon.TypeAlias.equals(Object) does not check for null argument [net.kemitix.mon.TypeAlias] At TypeAlias.java:[lines 82-88] NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT * Fix TypeAlias.flatMap(Function) declares unbound method template parameter [ERROR] Method net.kemitix.mon.TypeAlias.flatMap(Function) declares unbound method template parameter(s) [net.kemitix.mon.TypeAlias] At TypeAlias.java:[line 72] UMTP_UNBOUND_METHOD_TEMPLATE_PARAMETER * Fix Lazy has a circular dependency with other classes [ERROR] Class net.kemitix.mon.lazy.Lazy has a circular dependency with other classes [net.kemitix.mon.lazy.Lazy] At Lazy.java:[lines 36-46] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Synchronization performed on AtomicReference [ERROR] Synchronization performed on java.util.concurrent.atomic.AtomicReference in net.kemitix.mon.lazy.LazySupplier.value() [net.kemitix.mon.lazy.LazySupplier] At LazySupplier.java:[line 61] JLM_JSR166_UTILCONCURRENT_MONITORENTER * Fix Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [ERROR] Non derivable method net.kemitix.mon.maybe.Just.orElseThrow(Supplier) declares throwing an exception that isn't thrown [net.kemitix.mon.maybe.Just] At Just.java:[line 102] BED_BOGUS_EXCEPTION_DECLARATION * Fix Maybe has a circular dependency with other classes [ERROR] Class net.kemitix.mon.maybe.Maybe has a circular dependency with other classes [net.kemitix.mon.maybe.Maybe] At Maybe.java:[lines 40-94] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix Maybe.findFirst(Stream) uses immediate execution of a block [ERROR] Method net.kemitix.mon.maybe.Maybe.findFirst(Stream) uses immediate execution of a block of code that is often not used [net.kemitix.mon.maybe.Maybe] At Maybe.java:[line 94] OI_OPTIONAL_ISSUES_USES_IMMEDIATE_EXECUTION * Fix Success/Result/Err has a circular dependency [ERROR] Class net.kemitix.mon.result.Err has a circular dependency with other classes [net.kemitix.mon.result.Err] At Err.java: FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Fix GeneralisedTree has a circular dependency [ERROR] Class net.kemitix.mon.tree.GeneralisedTree has a circular dependency with other classes [net.kemitix.mon.tree.GeneralisedTree] At GeneralisedTree.java:[lines 39-80] FCCD_FIND_CLASS_CIRCULAR_DEPENDENCY * Supress warning about boxing a boolean NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION Without creating a whole reimplemention of Maybe/Just/Nothing purely for `boolean` primitives, we can’t avoid this boxing. * Supress store before return warnings in Lombok generate hashCode USBR_UNNECESSARY_STORE_BEFORE_RETURN The annotation has to be used at the class level, which unfortunately means we have no store-before-return checks for the rest of the class. * Suppress warning about unused parameter The type parameter for `Tree.builder(type)` is used to specify the parameterised type of the return value. * Checkstyle fixups * [changelog] updated
2020-03-20 07:17:29 +00:00
* Bump kemitix-maven-tiles from 1.2.0 to 2.4.1 (#116)
* Bump assertj-core from 3.13.2 to 3.15.0 (#106)
* Bump junit-bom from 5.5.2 to 5.6.0 (#105)
* Bump tiles-maven-plugin from 2.15 to 2.16 (#101)
* Bump lombok from 1.18.10 to 1.18.12 (#108)
* Bump pitest-junit5-plugin from 0.9 to 0.12 (#107)
* Bump pitest-maven from 1.4.10 to 1.5.0 (#109)
* Bump mockito-junit-jupiter from 3.1.0 to 3.3.3 (#111)
* Bump kemitix-parent from 5.2.0 to 5.3.0 (#112)
* Bump mockito-junit-jupiter from 3.0.0 to 3.1.0 (#97)
* Bump assertj-core from 3.12.2 to 3.13.2 (#93)
* Bump lombok from 1.18.8 to 1.18.10 (#96)
* Bump junit-bom from 5.5.1 to 5.5.2 (#95)
* Bump pitest-maven from 1.4.9 to 1.4.10 (#94)
* Bump junit-bom from 5.5.0 to 5.5.1 (#90)
* Bump mockito-junit-jupiter from 2.28.2 to 3.0.0 (#89)
* Bump junit-bom from 5.4.2 to 5.5.0 (#88)
* Bump tiles-maven-plugin from 2.14 to 2.15 (#86)
* Bump pitest-maven from 1.4.8 to 1.4.9 (#87)
* Bump pitest-junit5-plugin from 0.8 to 0.9 (#85)
* Bump mockito-junit-jupiter from 2.27.0 to 2.28.2 (#84)
* Bump pitest-maven from 1.4.7 to 1.4.8 (#82)
* Bump lombok from 1.18.6 to 1.18.8 (#81)
* Bump tiles-maven-plugin from 2.13 to 2.14 (#80)
* Bump mockito-junit-jupiter from 2.26.0 to 2.27.0 (#79)
* Bump junit-bom from 5.4.1 to 5.4.2 (#77)
* Bump mockito-junit-jupiter from 2.25.1 to 2.26.0 (#78)
* Bump pitest-maven from 1.4.6 to 1.4.7 (#76)
* Bump junit-bom from 5.4.0 to 5.4.1 (#75)
* Bump mockito-junit-jupiter from 2.25.0 to 2.25.1 (#74)
* Bump assertj-core from 3.12.1 to 3.12.2 (#73)
* Bump pitest-maven from 1.4.5 to 1.4.6 (#72)
* Bump mockito-junit-jupiter from 2.23.4 to 2.25.0 (#71)
* Bump junit-bom from 5.3.2 to 5.4.0 (#70)
* Bump assertj-core from 3.11.1 to 3.12.1 (#69)
* Bump lombok from 1.18.4 to 1.18.6 (#68)
* Bump tiles-maven-plugin from 2.12 to 2.13 (#66)
* Bump pitest-maven from 1.4.3 to 1.4.5 (#65)
* Bump junit-bom from 5.3.1 to 5.3.2 (#61)
* Bump mockito-junit-jupiter from 2.23.0 to 2.23.4 (#60)
* Bump lombok from 1.18.2 to 1.18.4 (#59)
* Bump pitest-junit5-plugin from 0.7 to 0.8 (#58)
* 2.0.0
- [BREAKING] [tree] Tree.item() now returns a Maybe
- [tree] Add TreeBuilder
- [maybe] Add static Maybe.findFirst(Stream)
- [maybe] Add matchValue(Function, Supplier)
- Bump kemitix-parent from 5.1.1 to 5.2.0 (#55)
- Bump junit from 4.12 to 5.3.1 [#56)
* 1.2.0
- [result] orElseThrow() throws error within a CheckedErrorResultException
* 1.1.0
- [result] add orElseThrow(Class) and orElseThrowUnchecked()
* 1.0.0
- [lazy] Add a lazy evaluator
- [tree] Add a generalised tree
- Bump kemitix-checkstyle-ruleset from 4.1.1 to 5.0.0
- Bump kemitix-maven-tiles from 0.8.1 to 1.2.0
* 0.12.0
- Add Maybe.or(Supplier<Maybe>)
- Add Result.reduce(Result,BinaryOperator)
- Rename Result.invert() as Result.swap()
- [admin] pom: update urls to github
- [admin] travis: don't use maven wrapper
- [admin] Remove maven wrapper
- Bump lombok from 1.18.0 to 1.18.2
- Bump assertj-core from 3.10.0 to 3.11.0
- Bump tiles-maven-plugin from 2.11 to 2.12
* 0.11.0
- Rename `Result.maybeThen()` as `Result.flatMapMaybe()`
- Add `Maybe.match(Consumer,Runnable)`
- Add `Maybe.isJust()`
- Add `Maybe.isNothing()`
- BUG: `Maybe.orElseThrow()` now returns value when a Just
- Rewrite README
- Add `Either` (experimental)
- Add `flatMap` to `TypeAlias`
* 0.10.0
- Add `Result.andThen(Function)`
- Add `Result.thenWith(Function)`
- Add `Result.maybeThen(Result<Maybe<T>>, Function)`
* 0.9.0
- Add `Maybe.ifNothing(Runnable)`
- Add `Result.recover(Function)`
- Add `Result.onError(Consumer)`
* 0.8.0
- Add `Result.of(Callable)`
* 0.7.0
- Remove `Identity`
- Add `Result`
- Moved `Maybe` to `net.kemitix.mon.maybe.Maybe`
- `Maybe` is now a Monad
- Add `Maybe.stream()`
* 0.6.0
- Java 9 compatible
- Upgrade `assertj` to 3.9.1
- jenkins: add Coverage stage
- jenkins: split Reporting stage into Test Results and Archiving
- jenkins: remove java 9 testing from `develop` branch
* 0.5.1
- Fix accidental merge with SNAPSHOT version in to master
* 0.5.0
- Add `Before`, `After` and `Around` combinators
- Use `kemitix-maven-tiles`
- Add `BeanBuilder` experiment
- Upgrade `lombok` to 1.16.20
- Upgrade assertj to 3.9.1
* 0.4.0
- Restore public access for `TypeAlias.getValue()`
- Add `Maybe`, `Just`, `Nothing`
* 0.3.0
- `TypeAlias.getValue()` removed in favour of using `map()`
* 0.2.0
- `TypeAlias.getValue()` is not `final`
- Added `TypeAlias.map()`
- `Mon.map()` and `Mon.flatMap()` are `final`
- Codacy Quality clean up
* 0.1.0
- Add `TypeAlias<T>`
- Add `Functor<T>`
- Add `Identity<T>`
- Add `Mon<T>`