SHA256
1
0
forked from pool/ghc-lens
ghc-lens/ghc-lens.changes

432 lines
18 KiB
Plaintext

-------------------------------------------------------------------
Tue Apr 30 16:00:18 UTC 2024 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.3 revision 5.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Fri Apr 5 20:10:48 UTC 2024 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.3 revision 4.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sun Mar 17 16:04:56 UTC 2024 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.3 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sat Sep 30 13:35:57 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.3 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sun Aug 27 15:30:05 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.3 revision 1.
5.2.3 [2023.08.24]
------------------
* Allow building with GHC 9.8.
* Add new `Prism`s to `Language.Haskell.TH.Lens` to reflect recent additions to
`template-haskell`:
* `_GetFieldE` and `_ProjectionE` `Prism`s for the `Exp` data type, whose
corresponding data constructors were introduced in
`template-haskell-2.18.*`.
* `_TypedBracketE` and `_TypedSpliceE` `Prism`s for the `Exp` data type, whose
corresponding data constructors were introduced in
`template-haskell-2.21.*`.
* `_BndrReq` and `_BndrInvis` `Prism`s for the `BndrVis` data type, which was
added in `template-haskell-2.21.*`.
* Add a `generateRecordSyntax` option to `Control.Lens.TH`, which controls
whether to generate lenses using record update syntax or not. By default, this
option is disabled.
* Fix a bug in which the `declare*` Template Haskell functions would fail if a
data type's field has a type that is defined in the same Template Haskell
quotation.
* Add `altOf`, which collects targets into any `Alternative`.
-------------------------------------------------------------------
Mon Jul 10 00:43:25 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.2 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Thu Mar 30 17:07:22 UTC 2023 - Peter Simons <psimons@suse.com>
- Updated spec file to conform with ghc-rpm-macros-2.5.2.
-------------------------------------------------------------------
Sat Mar 18 16:40:25 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.2.
5.2.2 [2023.03.18]
------------------
* Fix a bug in which calling `ix i` (where `i` is a negative number) on `Text`
or `ByteString` would return the `Just` the first character instead of
returning `Nothing`.
-------------------------------------------------------------------
Wed Mar 15 16:36:03 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.1 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sun Mar 12 19:45:18 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.1 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue Feb 28 02:17:24 UTC 2023 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.1.
5.2.1 [2023.02.27]
------------------
* Allow building with GHC 9.6.
* Allow building with GHC backends where `HTYPE_SIG_ATOMIC_T` is not defined,
such as the WASM backend.
* Support building with `th-abstraction-0.5.*`.
* Define `_TypeDataD` in `Language.Haskell.TH.Lens` when building with
`template-haskell-2.20.0.0` (GHC 9.6) or later.
-------------------------------------------------------------------
Thu Aug 11 23:16:59 UTC 2022 - Peter Simons <psimons@suse.com>
- Update lens to version 5.2.
5.2 [2022.08.11]
----------------
* Allow building with GHC 9.4.
* The type of `universeOf` has changed:
```diff
-universeOf :: Getting [a] a a -> a -> [a]
+universeOf :: Getting (Endo [a]) a a -> a -> [a]
```
In many cases, using `Endo [a]` over `[a]` improves performance. Most call
sites to `universeOf` will not be affected by this change, although you may
need to update your code if you define your own combinators in terms of
`universeOf`.
* Allow `makeWrapped` to accept the names of data constructors. This way,
`makeWrapped` can be used with data family instances, much like other
functions in `Control.Lens.TH`.
* Define `_OpaqueP`, `_DefaultD`, `_LamCasesE`, `_PromotedInfixT`, and
`_PromotedUInfixT` in `Language.Haskell.TH.Lens` when building with
`template-haskell-2.19.0.0` (GHC 9.4) or later.
-------------------------------------------------------------------
Tue Jun 21 10:42:49 UTC 2022 - Peter Simons <psimons@suse.com>
- Update lens to version 5.1.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue May 17 12:16:51 UTC 2022 - Peter Simons <psimons@suse.com>
- Update lens to version 5.1.1.
5.1.1 [2022.05.17]
------------------
* Add `Data.HashSet.Lens.hashMap`, an `Iso` between a `HashSet a` and a
`HashMap a ()`.
* Allow building with `transformers-0.6.*` and `mtl-2.3.*`.
Note that `lens` no longer defines `Zoom` instances for `ErrorT` or `ListT`
when building with `mtl-2.3` or later. This is because `MonadState` is a
superclass of `Zoom`, and the `MonadState` instances for `ErrorT` and `ListT`
were removed in `mtl-2.3`. Be watchful of this if you build `lens` with
`mtl-2.3` (or later) combined with an older version of `transformers`
(pre-`0.6`) that defines `ErrorT` or `ListT`.
-------------------------------------------------------------------
Sun Dec 26 22:30:17 UTC 2021 - Peter Simons <psimons@suse.com>
- Update lens to version 5.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue Nov 16 19:51:10 UTC 2021 - psimons@suse.com
- Update lens to version 5.1.
5.1 [2021.11.15]
----------------
* Allow building with GHC 9.2.
* Drop support for GHC 7.10 and older.
* The type of `_ConP` in `Language.Haskell.TH.Lens` is now
`Prism' Pat (Name, [Type], [Pat])` instead of `Prism' Pat (Name, [Pat])`
when building with `template-haskell-2.18` or later.
* Define `_CharTyLit` in `Language.Haskell.TH.Lens` when building with
`template-haskell-2.18` or later.
* Add `Prefixed` and `Suffixed` classes to `Control.Lens.Prism`, which provide
`prefixed` and `suffixed` prisms for prefixes and suffixes of sequence types.
These classes generalize the `prefixed` and `suffixed` functions in
`Data.List.Lens`, which were previously top-level functions. In addition to
providing `Prefixed` and `Suffixed` instances for lists, instances for `Text`
and `ByteString` types are also provided.
At present, `Prefixed` and `Suffixed` are re-exported from `Data.List.Lens`
for backwards compatibility. This may change in a future version of `lens`,
however.
* Add a `traversal` function to `Control.Lens.Traversal`. This function, aside
from acting as a `Traversal` counterpart to the `lens` and `prism` functions,
provides documentation on how to define `Traversal`s.
* Add a `matching'` function to `Control.Lens.Prism`. `matching'` is like
`matching`, but with a slightly more general type signature that allows it to
work with combinations of `Lens`es, `Prism`s, and `Traversal`s.
-------------------------------------------------------------------
Thu Sep 2 08:32:21 UTC 2021 - psimons@suse.com
- Update lens to version 5.0.1 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon May 17 12:25:17 UTC 2021 - psimons@suse.com
- Update lens to version 5.0.1 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Wed Feb 24 18:57:20 UTC 2021 - psimons@suse.com
- Update lens to version 5.0.1.
5.0.1 [2021.02.24]
------------------
* Fix a bug in which `makeLenses` could produce ill kinded optics for
poly-kinded datatypes in certain situations.
-------------------------------------------------------------------
Fri Feb 19 23:03:14 UTC 2021 - psimons@suse.com
- Update lens to version 5.
5 [2021.02.17]
--------------
* Support building with GHC 9.0.
* Remove the `Swapped` type class in favor of `Swap` from the `assoc` package.
* Remove the `Strict` type class in favor of `Strict` from the `strict` package.
The `swapped`, `strict` and `lazy` isomorphisms are now defined using "new" type classes.
Users which define own instances of old type classes are advised to
define instances of the new ones.
```haskell
import qualified Data.Bifunctor.Swap as Swap
import qualified Control.Lens as Lens
instance Swap.Swap MyType where
swap = ...
#if !MIN_VERSION_lens(4,20,0)
instance Lens.Swapped MyType where
swapped = iso Swap.swap Swap.swap
#endif
```
* The `FunctorWithIndex`, `FoldableWithIndex` and `TraversableWithIndex` type classes
have been migrated to a new package,
[`indexed-traversable`](https://hackage.haskell.org/package/indexed-traversable).
The `imapped`, `ifolded` and `itraversed` methods are now top-level functions.
If you are not defining these methods in your instances,
you don't need to change your definitions.
Beware: the `optics-core` package (versions <0.4) defines similar classes,
and will also migrate to use `indexed-traversable` classes. Therefore, you
might get duplicate instance errors if your package defines both.
If you define your own `FunctorWithIndex` etc. instances,
we recommend that you depend directly on the `indexed-traversable` package.
If you want to continue support `lens-4` users, you may write
```haskell
-- from indexed-traversable
import Data.Functor.WithIndex
-- from lens
import qualified Control.Lens as L
-- your (indexed) container
data MySeq a = ...
-- indexed-traversable instance
instance FunctorWithIndex Int MySeq where imap = ...
instance FoldableWithIndex Int MySeq where ifoldMap = ...
instance TraversableWithIndex Int MySeq where itraverse = ...
-- lens <5 instance, note the !
#if !MIN_VERSION_lens(5,0,0)
instance L.FunctorWithIndex Int MySeq where imap = imap
instance L.FoldableWithIndex Int MySeq where ifoldMap = ifoldMap
instance L.TraversableWithIndex Int MySeq where itraverse = itraverse
#endif
```
In other words, always provide `indexed-traversable` instances.
If your package depends on `lens` and allows `lens-4`,
you should additionally provide instances for `lens-4` type classes
that can reuse the `indexed-traversable` instances.
* Make the functions in `Control.Lens.TH` work more robustly with poly-kinded
data types. This can cause a breaking change under certain situations:
* TH-generated optics for poly-kinded data types are now much more likely to
mention kind variables in their definitions, which will require enabling
the `PolyKinds` extension at use sites in order to typecheck.
* Because TH-generated optics now quantify more kind variables than they did
previously, this can affect the order of visible type applications.
* Generalize the types of `generic` and `generic1` to allow type-changing
updates. If you wish to use the old, more restricted types of these
functions, use `simple . generic` or `simple . generic1` instead.
* Add `Control.Lens.Profunctor` with conversion functions to and from
profunctor optic representation.
* Add `Control.Lens.Review.reviewing`, which is like `review` but with a more
polymorphic type.
* Mark `Control.Lens.Equality` as Trustworthy.
* The build-type has been changed from `Custom` to `Simple`.
To achieve this, the `doctests` test suite has been removed in favor of using [`cabal-docspec`](https://github.com/phadej/cabal-extras/tree/master/cabal-docspec) to run the doctests.
* Use `alterF` in `At (HashMap k)` instance implementation.
* Use `alterF` in `At` and `Contains` instances for `Set`, `IntSet`, and
`HashSet`.
* Avoid re-inserting keys already present in `ix` for `Set`, `IntSet`,
and `HashSet`. For `Set` and `HashSet`, this changes the semantics
slightly; if the user-supplied key is `==` to one already present in
the set, then the latter will not be replaced in the result.
* Consume `()` values lazily in `Control.Lens.At`.
-------------------------------------------------------------------
Mon Feb 8 19:13:43 UTC 2021 - psimons@suse.com
- Update lens to version 4.19.2 revision 5.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Sun Jan 31 13:49:07 UTC 2021 - psimons@suse.com
- Update lens to version 4.19.2 revision 4.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Wed Jan 20 08:35:33 UTC 2021 - psimons@suse.com
- Update lens to version 4.19.2 revision 3.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Thu Dec 17 12:20:00 UTC 2020 - Ondřej Súkup <mimi.vx@gmail.com>
- disable %{ix86} build
-------------------------------------------------------------------
Tue Oct 6 08:56:30 UTC 2020 - psimons@suse.com
- Update lens to version 4.19.2 revision 2.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Mon Aug 31 09:34:39 UTC 2020 - psimons@suse.com
- Update lens to version 4.19.2 revision 1.
Upstream has revised the Cabal build instructions on Hackage.
-------------------------------------------------------------------
Tue Aug 18 10:45:18 UTC 2020 - Peter Simons <psimons@suse.com>
- Replace %setup -q with the more modern %autosetup macro.
-------------------------------------------------------------------
Tue Jun 16 11:14:19 UTC 2020 - Peter Simons <psimons@suse.com>
- Re-generate file with latest version of spec-cleaner.
-------------------------------------------------------------------
Wed May 6 06:54:11 UTC 2020 - psimons@suse.com
- Update lens to version 4.19.2.
4.19.2 [2020.04.15]
-------------------
* Remove the test suite's dependency on `test-framework-th`.
-------------------------------------------------------------------
Thu Feb 27 14:17:53 UTC 2020 - psimons@suse.com
- Update lens to version 4.19.1.
4.19.1 [2020.02.13]
-------------------
* Fix a bug introduced in 4.19 where using `_TupE` to `preview` a value would
always fail.
-------------------------------------------------------------------
Fri Feb 7 08:04:19 UTC 2020 - psimons@suse.com
- Update lens to version 4.19.
4.19 [2020.02.03]
-----------------
* Support building with GHC 8.10.
* The types of `_TupE` and `_UnboxedTupE` are now `Prism' Exp [Maybe Exp]`
when built against `template-haskell-2.16` or later to reflect the new
types of `TupE` and `UnboxedTupE`.
* Add `_ForallVisT` and `_BytesPrimL` prisms when building against
`template-haskell-2.16` or later.
* Make `<>~` and `<>=` and their `<op` and `<<op` state variants require only
`Semigroup`, not `Monoid`.
* Add `{Functor,Foldable,Traversable}WithIndex` instances for
`Control.Applicative.Const` and `Data.Functor.Constant.Constant`.
-------------------------------------------------------------------
Fri Nov 8 16:14:07 UTC 2019 - Peter Simons <psimons@suse.com>
- Drop obsolete group attributes.
-------------------------------------------------------------------
Sat Sep 14 02:03:25 UTC 2019 - psimons@suse.com
- Update lens to version 4.18.1.
4.18.1 [2019.09.13]
-------------------
* Remove the use of `cpp-options: -traditional`. This should be unnecessary
on all versions of GHC that `lens` supports, as modern GHCs already use
`-traditional` internally during preprocessing. More critically, the use
of `cpp-options: -traditional` breaks profiling builds on GHC 8.8
(see https://gitlab.haskell.org/ghc/ghc/issues/17185).
-------------------------------------------------------------------
Sat Sep 7 02:01:29 UTC 2019 - psimons@suse.com
- Update lens to version 4.18.
Upstream has edited the change log file since the last release in
a non-trivial way, i.e. they did more than just add a new entry
at the top. You can review the file at:
http://hackage.haskell.org/package/lens-4.18/src/CHANGELOG.markdown
-------------------------------------------------------------------
Thu Aug 8 10:13:34 UTC 2019 - Peter Simons <psimons@suse.com>
- Update Cabal file to allow building with call-stack 0.2.x.
-------------------------------------------------------------------
Tue Jun 11 14:29:12 UTC 2019 - Peter Simons <psimons@suse.com>
- Update Cabal file for more accurate build dependencies.
-------------------------------------------------------------------
Tue Apr 30 09:23:06 UTC 2019 - psimons@suse.com
- Update lens to version 4.17.1.
4.17.1 [2019.04.26]
-------------------
* Support `th-abstraction-0.3.0.0` or later.
* Only incur `semigroups` and `void` dependencies on old GHCs.
* Add `holes1Of`.
* Add `locally` (https://github.com/ekmett/lens/pull/829).
* Add `ilocally` (https://github.com/ekmett/lens/pull/836).
* Add a third `Prism` law.
* Add `gplate1`.
* Add `Wrapped`/`Rewrapped` instances for `Data.Monoid.Ap`.
-------------------------------------------------------------------
Thu Aug 2 16:29:51 UTC 2018 - psimons@suse.com
- Add lens at version 4.17.