Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package ghc-lens for openSUSE:Factory checked in at 2021-03-10 08:55:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/ghc-lens (Old) and /work/SRC/openSUSE:Factory/.ghc-lens.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ghc-lens" Wed Mar 10 08:55:06 2021 rev:16 rq:877640 version:5.0.1 Changes: -------- --- /work/SRC/openSUSE:Factory/ghc-lens/ghc-lens.changes 2021-02-16 22:48:34.542562808 +0100 +++ /work/SRC/openSUSE:Factory/.ghc-lens.new.2378/ghc-lens.changes 2021-03-10 08:57:12.958886548 +0100 @@ -1,0 +2,106 @@ +Wed Feb 24 18:57:20 UTC 2021 - psim...@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 - psim...@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`. + +------------------------------------------------------------------- Old: ---- lens-4.19.2.tar.gz lens.cabal New: ---- lens-5.0.1.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ ghc-lens.spec ++++++ --- /var/tmp/diff_new_pack.9RaSEX/_old 2021-03-10 08:57:14.714888360 +0100 +++ /var/tmp/diff_new_pack.9RaSEX/_new 2021-03-10 08:57:14.718888364 +0100 @@ -19,19 +19,18 @@ %global pkg_name lens %bcond_with tests Name: ghc-%{pkg_name} -Version: 4.19.2 +Version: 5.0.1 Release: 0 Summary: Lenses, Folds and Traversals License: BSD-2-Clause URL: https://hackage.haskell.org/package/%{pkg_name} Source0: https://hackage.haskell.org/package/%{pkg_name}-%{version}/%{pkg_name}-%{version}.tar.gz -Source1: https://hackage.haskell.org/package/%{pkg_name}-%{version}/revision/5.cabal#/%{pkg_name}.cabal BuildRequires: ghc-Cabal-devel BuildRequires: ghc-array-devel +BuildRequires: ghc-assoc-devel BuildRequires: ghc-base-orphans-devel BuildRequires: ghc-bifunctors-devel BuildRequires: ghc-bytestring-devel -BuildRequires: ghc-cabal-doctest-devel BuildRequires: ghc-call-stack-devel BuildRequires: ghc-comonad-devel BuildRequires: ghc-containers-devel @@ -41,6 +40,8 @@ BuildRequires: ghc-filepath-devel BuildRequires: ghc-free-devel BuildRequires: ghc-hashable-devel +BuildRequires: ghc-indexed-traversable-devel +BuildRequires: ghc-indexed-traversable-instances-devel BuildRequires: ghc-kan-extensions-devel BuildRequires: ghc-mtl-devel BuildRequires: ghc-parallel-devel @@ -48,10 +49,12 @@ BuildRequires: ghc-reflection-devel BuildRequires: ghc-rpm-macros BuildRequires: ghc-semigroupoids-devel +BuildRequires: ghc-strict-devel BuildRequires: ghc-tagged-devel BuildRequires: ghc-template-haskell-devel BuildRequires: ghc-text-devel BuildRequires: ghc-th-abstraction-devel +BuildRequires: ghc-these-devel BuildRequires: ghc-transformers-compat-devel BuildRequires: ghc-transformers-devel BuildRequires: ghc-unordered-containers-devel @@ -61,11 +64,6 @@ BuildRequires: ghc-HUnit-devel BuildRequires: ghc-QuickCheck-devel BuildRequires: ghc-deepseq-devel -BuildRequires: ghc-directory-devel -BuildRequires: ghc-doctest-devel -BuildRequires: ghc-generic-deriving-devel -BuildRequires: ghc-nats-devel -BuildRequires: ghc-semigroups-devel BuildRequires: ghc-simple-reflect-devel BuildRequires: ghc-test-framework-devel BuildRequires: ghc-test-framework-hunit-devel @@ -168,7 +166,6 @@ %prep %autosetup -n %{pkg_name}-%{version} -cp -p %{SOURCE1} %{pkg_name}.cabal %build %ghc_lib_build ++++++ lens-4.19.2.tar.gz -> lens-5.0.1.tar.gz ++++++ ++++ 7287 lines of diff (skipped)