313 Commits

Author SHA1 Message Date
Mark Karpov e02c3682bd Test with GHC 9.10.3 2025-10-29 16:14:32 +01:00
dependabot[bot] fc57abf678 Bump actions/cache from 4.2.3 to 4.3.0
Bumps [actions/cache](https://github.com/actions/cache) from 4.2.3 to 4.3.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.2.3...v4.3.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-02 11:05:44 +02:00
dependabot[bot] 999b94bd2a Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-18 22:39:33 +02:00
Mark Karpov 2ebb441881 Version bump (2.2.1) 2025-06-02 16:59:32 +02:00
Quytelda Kahja 1d44d56344 Add tests for skipping unneeded Zip64 fields
Add two tests to ensure addEntry and copyEntry don't add unneeded
Zip64 extra fields into the local file header.
2025-06-02 16:49:33 +02:00
Quytelda Kahja e621f9a576 Don't add Zip64 extra fields when copying entries without them
When copying an entry from another archive, there is no reason to add
Zip64 extra fields if the source entry doesn't have them. This change
checks whether a copied entry had Zip64 extra fields before
appending/updating the field in the local header.
2025-06-02 16:49:33 +02:00
Mark Karpov 24b23fbbc2 Version bump (2.2.0) 2025-05-25 22:19:14 +02:00
Quytelda Kahja 7496676394 Add a 'StrictEntry' action for creating entries from strict data
When entry data is provided as a strict ByteString, we don't need to
stream the data to determine its uncompressed size. Thus, we can rule
out the need for Zip64 extra fields early.

This addresses issue #126.
2025-05-25 20:09:29 +02:00
Quytelda Kahja b2ecfcae19 Remove redundant duplicate cases in 'sinkEntry'
The case statement in question evaluates to an identical expression in
all cases, so we can elide it.
2025-05-25 20:09:29 +02:00
Quytelda Kahja 3f7821a8c2 Simplify Map traversals and folds
Use foldlWithKey, foldMapWithKey, and traverseWithKey to process Maps
in a single pass and avoid using (!), which is a partial function.
2025-05-25 20:09:29 +02:00
Mark Karpov dbb3614426 Test with GHC 9.12.1 2025-04-15 17:20:48 +02:00
dependabot[bot] 6e48a37658 Bump haskell-actions/run-ormolu from 14 to 17
Bumps [haskell-actions/run-ormolu](https://github.com/haskell-actions/run-ormolu) from 14 to 17.
- [Release notes](https://github.com/haskell-actions/run-ormolu/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/haskell-actions/run-ormolu/compare/v14...v17)

---
updated-dependencies:
- dependency-name: haskell-actions/run-ormolu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-27 21:08:57 +01:00
dependabot[bot] 4cad24f3b5 Bump actions/cache from 3.3.1 to 3.3.2
Bumps [actions/cache](https://github.com/actions/cache) from 3.3.1 to 3.3.2.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.3.1...v3.3.2)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-20 13:21:46 +01:00
Mark Karpov f577f2c4fa Allow time-1.14 2025-03-20 13:06:18 +01:00
Mark Karpov 4a03abe8af Fix the CI badge 2025-01-31 15:28:17 +01:00
Mark Karpov a7be3e6b48 Set Cabal options in cabal.project 2025-01-31 14:12:27 +01:00
Mark Karpov 0d1b117a14 Test with GHC 9.10.1 2025-01-21 13:33:08 +01:00
Mark Karpov 8d7f6c2c75 Stop manually deriving Typeable 2025-01-21 12:24:42 +01:00
Mark Karpov 438c914c04 Build bzlib-conduit with a bundled bzip2
For some inexplicable reason recent ubuntu-latest runners do not provide
bzip2 in a way that Cabal is happy with. This used to work…
2025-01-21 10:27:58 +01:00
Mark Karpov ee1d1440a3 Allow containers-0.7 2024-10-29 13:44:21 +01:00
Mark Karpov 78556c982c Allow filepath-1.5 2024-10-28 15:23:21 +01:00
Mark Karpov c0bf12ce2c Version bump (2.1.0) 2024-06-19 20:20:13 +02:00
Niklas Hambüchen c69cc3d6c2 Derive Show EntryDescription 2024-06-19 20:19:24 +02:00
Patrick Chilton 708a49146c Expose internal modules 2024-06-19 20:19:24 +02:00
Mark Karpov 63779b106a Improve the test suite to catch cases like issue 111 2024-04-20 21:00:47 +02:00
Mark Karpov 0b42c46077 Version bump (2.0.1) 2024-04-20 09:39:05 +02:00
Mark Karpov 3fcd9c1032 Minor stylistic adjustments in the readme 2024-04-20 09:37:58 +02:00
Mark Karpov da5df36c81 Fix corruption of large files when zip64 is used
Previously the code did not account for the fact that the initial stub local
header (with uncompressed and compressed sizes set to 0) could not serve for
correct estimation of the final local header size due to the fact that the
local header size was determined by the uncompressed and compressed sizes of
the corresponding data, which are only known after streaming of the data.
These sizes dictated whether or not a zip64 extra field entry should be
included in the header or not. Thus, before this fix there would be cases of
corruption where the final (longer) local header written by seeking back to
the beginning of the initial stub local header after the data had been
streamed would overwrite the beginning of the data.

This is fixed by

* always writing a zip64 entry in local headers, which does not violate the
  spec and will be safely ignored in the case of smaller entries, and
* respecting the spec more precisely where it says that whenever there is a
  zip64 extra field entry in a local header both uncompressed and compressed
  sizes must always be written.

This is deemed safe because the only source of size variation for local
headers is the uncompressed and compressed sizes of the corresponding data.
2024-04-20 09:33:59 +02:00
Mark Karpov 63a355332e Allow bytestring-0.12 2024-01-01 12:10:48 +01:00
Mark Karpov 200fb6928d Test with GHC 9.8.1, drop 9.2.x 2023-10-22 12:48:07 +02:00
Mark Karpov b758b9da0a Remove Setup.hs 2023-10-22 12:06:14 +02:00
Mark Karpov 177c5e5b16 Add hie.yaml to .gitignore 2023-10-22 12:06:04 +02:00
Mark Karpov 00fe45458f Test with GHC 9.4.7 2023-09-21 21:35:33 +02:00
dependabot[bot] 5666652e7e Bump haskell-actions/run-ormolu from 13 to 14
Bumps [haskell-actions/run-ormolu](https://github.com/haskell-actions/run-ormolu) from 13 to 14.
- [Release notes](https://github.com/haskell-actions/run-ormolu/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/haskell-actions/run-ormolu/compare/v13...v14)

---
updated-dependencies:
- dependency-name: haskell-actions/run-ormolu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 13:46:08 +02:00
dependabot[bot] a80a2a539c Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 12:58:58 +02:00
Mark Karpov fdeceeeca7 Test with GHC 9.4.5 2023-06-29 21:17:07 +02:00
Mark Karpov 70266eda9b Test with GHC 9.2.8 and 9.6.2 2023-06-28 23:04:22 +02:00
dependabot[bot] 408c54ee84 Bump haskell-actions/run-ormolu from 12 to 13
Bumps [haskell-actions/run-ormolu](https://github.com/haskell-actions/run-ormolu) from 12 to 13.
- [Release notes](https://github.com/haskell-actions/run-ormolu/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/haskell-actions/run-ormolu/compare/v12...v13)

---
updated-dependencies:
- dependency-name: haskell-actions/run-ormolu
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-27 08:38:38 +02:00
Mark Karpov 2afe92d731 Test with GHC 9.2.7 and 9.6.1 2023-06-24 11:58:51 +02:00
Mark Karpov 4f16086219 Modernize GHC flags 2023-06-24 11:58:51 +02:00
Mark Karpov 1848e8b3f9 Switch to GHC2021 2023-06-24 11:58:51 +02:00
dependabot[bot] a9e448f1ad Bump actions/cache from 3.2.5 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.5 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.5...v3.3.1)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-21 09:14:27 +02:00
Mark Karpov 9b0db30f6f Allow transformers-0.6 2023-06-20 18:33:27 +02:00
dependabot[bot] 1e7357054d Bump mrkkrp/ormolu-action from 10 to 12
Bumps [mrkkrp/ormolu-action](https://github.com/mrkkrp/ormolu-action) from 10 to 12.
- [Release notes](https://github.com/mrkkrp/ormolu-action/releases)
- [Changelog](https://github.com/haskell-actions/run-ormolu/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mrkkrp/ormolu-action/compare/v10...v12)

---
updated-dependencies:
- dependency-name: mrkkrp/ormolu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-23 18:13:53 +02:00
Mark Karpov 61bd060e20 Version bump (2.0.0) 2.0.0 2023-04-27 16:43:37 +02:00
Masahiro Sakai 04c1f22efe Introduce UnsupportedCompressionMethod
This data constructor of ZipException is defined unconditionally and
replaces BZip2Unsupported and ZstdUnsupported which previously were defined
conditionally via CPP.
2023-04-27 16:43:23 +02:00
dependabot[bot] 9672ec2602 Bump actions/cache from 3.2.4 to 3.2.5
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.4 to 3.2.5.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.4...v3.2.5)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 17:46:05 +01:00
dependabot[bot] 267a19f3c0 Bump mrkkrp/ormolu-action from 9 to 10
Bumps [mrkkrp/ormolu-action](https://github.com/mrkkrp/ormolu-action) from 9 to 10.
- [Release notes](https://github.com/mrkkrp/ormolu-action/releases)
- [Changelog](https://github.com/mrkkrp/ormolu-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mrkkrp/ormolu-action/compare/v9...v10)

---
updated-dependencies:
- dependency-name: mrkkrp/ormolu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-14 17:45:38 +01:00
Mark Karpov afc12cf10a Test with GHC 9.2.5 and 9.4.4 2023-02-09 08:49:46 +01:00
dependabot[bot] ee94f11a59 Bump actions/cache from 3.2.3 to 3.2.4
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.3 to 3.2.4.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v3.2.3...v3.2.4)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-31 09:59:50 +01:00