Skip to content

Releases: attaswift/BigInt

3.0.1

10 Oct 15:18
Compare
Choose a tag to compare

This release contains the following bug fixes:

  • Issue #27 — changing scope of kind and storage to be fileprivate
  • Making subscript method of BigUInt public

3.0.0

07 Sep 12:18
Compare
Choose a tag to compare

This is a major release upgrading BigInt to the new integer protocols introduced in Swift 4 as part of SE-0104, Protocol-oriented integers.

  • Adopting the new protocols involved major, breaking changes throughout the API. These aren't individually listed here.
  • The BigUInt struct now provides inline storage for big integers that fit inside two words. This optimization speeds up conversions from built-in fixed-width integer types, amongst other frequent operations.
  • BigInt and BigUInt implements the new Codable protocol. In both cases, values are encoded in an unkeyed container starting with a string indicating the sign ("+" or "-"), followed by a sequence of 64-bit unsigned integers representing component words, from least to most significant.
  • New method: BigInt.modulo, contributed by @FabioTacke.
  • BigUInt does not implement Collection in this release. The collection of words is available in the standard read-only words property. Direct public access to collection methods have been removed; if you have been manipulating big integers using collection methods, you need to rewrite your code. If you have a usecase that isn't covered by the public API, please submit a PR adding the missing functionality. (Public read-write access to the underlying storage inside BigUInt will not be restored, though.)

BigInt is now part of the Attaswift project. The bundle identifiers in the supplied Xcode project have been updated accordingly.

Note that the URL for the package's Git repository has changed; please update your references.

2.1.2

03 Feb 13:02
Compare
Choose a tag to compare

This release contains the following bugfix:

  • Issue #12: The iOS target in the supplied Xcode project file no longer copies extraneous files
    as resources into the framework bundle. The set of such files included generate-docs.sh, which
    led to App Store rejections for apps that build BigInt using the project file.
    (Thanks to @arrrnas and @wuftymerguftyguff)

No source-level changes were made.

2.1.1

23 Nov 09:40
Compare
Choose a tag to compare

This release restores support for iOS 8.0 and macOS 10.9.

2.1.0

16 Nov 01:28
Compare
Choose a tag to compare

This release contains the following changes:

  • BigInt now uses the SipHash hashing algorithm instead of implementing its own hashing.
  • The SipHash package has been added as a required dependency. I suggest you use a dependency manager.
  • Minimum deployment targets have been bumped to iOS 9.0 and macOS 10.0 to match those of SipHash.
  • BigInt now requires Swift 3.0.1, included in Xcode 8.1.
  • The Xcode project file has been regenerated from scratch, with new names for targets and schemes.
  • The bundle identifiers of frameworks generated from the Xcode project file have been changed to hu.lorentey.BigInt.<platform>.

2.0.1

08 Nov 15:11
Compare
Choose a tag to compare

This release contains the following bugfixes:

  • The Swift version number is now correctly set in all targets (PR #7 by @mAu888).
  • BigInt now builds on Linux (PR #5 by @ratranqu).
  • Building BigInt with the Swift Package Manager bundled with Swift 3.0.1 works correctly.

Additionally, Foundation imports that weren't actually needed were removed from sources.

2.0.0

20 Sep 15:32
Compare
Choose a tag to compare

This release updates the project for Swift 3.0, including adapting the API to the new naming conventions.

Further changes:

  • The behavior of BigUInt.gcd when one of the arguments is zero has been fixed; the result in this case is now equal to the other argument.
  • BigInt now conforms to Strideable, IntegerArithmetic, SignedNumber and AbsoluteValuable.
  • BigUInt now conforms to Strideable, IntegerArithmetic and BitwiseOperations.

1.3.0

23 Mar 15:09
Compare
Choose a tag to compare

This release updates the project to require Swift 2.2 and Xcode 7.3. There have been no other changes.

1.2.3

12 Jan 06:32
Compare
Choose a tag to compare

This release adds experimental support for the Swift Package Manager and Swift 2.2.
There were no source-level changes.

1.2.2

08 Jan 21:20
Compare
Choose a tag to compare

This release fixes version numbers embedded in build products.