Skip to content

Releases: gavinhoward/bc

Release 3.3.3

04 Mar 23:52
Compare
Choose a tag to compare

This is a production release with one tweak and fixes for manuals.

The tweak is that length(0) returns 1 instead of 0. In 3.3.1, I changed it so length(0.x), where x could be any number of digits, returned the scale, but length(0) still returned 0 because I believe that 0 has 0 significant digits.

After request of FreeBSD and considering the arguments of a mathematician, compatibility with other bc's, and the expectations of users, I decided to make the change.

The fixes for manuals fixed a bug where -- was rendered as -.

$ sha512sum bc-3.3.3.tar.xz
dfdd8023453406d9f681e04da7acaad4459e632fded0f2edb2b51607438a27074935af6db4b3580120daf56e6b52283275d0c2c809380caa164957f1901e9dde  bc-3.3.3.tar.xz

$ sha256sum bc-3.3.3.tar.xz
b9fde063b32d4f0c3bab9d069aa8ac4d7d804ce5bebb54d7a2e574e70309bc93  bc-3.3.3.tar.xz

$ stat -c '%s  %n'
229688  bc-3.3.3.tar.xz

$ sha512sum bc-3.3.3.tar.xz.sig
aeb0ac35e5b99f101fcf04e57659712a378c22da138ff405866baf4c41963af111b2128fc23aeb672ef0a928948ec9f4eeb9eea51781cb20a24cba7fd92af09a  bc-3.3.3.tar.xz.sig

$ sha256sum bc-3.3.3.tar.xz.sig
0fe5f256396f0e81d686a728ccf106094f577669877d05e1d82161f5de1d0ede  bc-3.3.3.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.3.3.tar.xz.sig

Release 3.3.2

03 Mar 16:16
Compare
Choose a tag to compare

This is a production release that fixes a divide-by-zero bug in root() in the extended math library. All previous versions with root() have the bug.

$ sha512sum bc-3.3.2.tar.xz
ae3e99c49137e1335c6c6c0f5a39a5488d174b98bdf85ce1c9311546ea093cd6ed2d8d0a3e6d401cdf093d509717ae01ec71e6e60d580e71101c673da5efc953  bc-3.3.2.tar.xz

$ sha256sum bc-3.3.2.tar.xz
d2f39937b1b20375e3cfd675562cd2e061408772298e7bb53668f725b94de8ed  bc-3.3.2.tar.xz

$ stat -c '%s  %n'
228892  bc-3.3.2.tar.xz

$ sha512sum bc-3.3.2.tar.xz.sig
5f3392a986e713f0714905e664c89251a8383751c9a52b37686f1063798cba495e61aa5e93069de5b07f0b156bbeebd32c2fb85f43f70b69ae41d1fd43ae9277  bc-3.3.2.tar.xz.sig

$ sha256sum bc-3.3.2.tar.xz.sig
ca68c4101cb56f6a90915ac28cc75da28853099063ce292b4e9602a6685bfb3e  bc-3.3.2.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.3.2.tar.xz.sig

Release 3.3.1

26 Feb 21:21
Compare
Choose a tag to compare

This is a production release that fixes a bug.

The bug was in the reporting of number length when the value was 0.

$ sha512sum bc-3.3.1.tar.xz
098bcbe0abc323b295bd46bcf8af00e69898ef560108b660964fb2dfdf6d114a17f051dde0fff06f06aa97f4cee086275eb5dc937166034d795d5cb3da999fca  bc-3.3.1.tar.xz

$ sha256sum bc-3.3.1.tar.xz
b6328ad691c71d1ae910dc3d45fe4b35faddd15f79b07b482e21b1766c89dda4  bc-3.3.1.tar.xz

$ stat -c '%s  %n'
229708  bc-3.3.1.tar.xz

$ sha512sum bc-3.3.1.tar.xz.sig
904a47bc565218d8243920f5c3c6b8a45a9f9914766fbba63730f926e7a08c3fbc28c2adcc23a3e08a4b1939375a5d766270415675afb7f9fe7b245ae498be1c  bc-3.3.1.tar.xz.sig

$ sha256sum bc-3.3.1.tar.xz.sig
585bf520d50bd6094573aef5ba223c642f5a77e8e643e9c015ca2b111e01d4e4  bc-3.3.1.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.3.1.tar.xz.sig

Release 3.3.0

17 Feb 05:35
Compare
Choose a tag to compare

This is a production release that changes one behavior and fixes documentation bugs.

The changed behavior is the treatment of -e and -f when given through BC_ENV_ARGS or DC_ENV_ARGS. Now bc and dc do not exit when those options (or their equivalents) are given through those environment variables. However, bc and dc still exit when they or their equivalents are given on the command-line.

$ sha512sum bc-3.3.0.tar.xz
b8d0b6d6d9c5d4fc62df62d1b9b7e7006a8b430e063fe0d5f646cfaeb4c6fc9c7037b644e853b7ae7d5c5f42f079221e9cdc32564d70c9ddd6bb867ddc7056de  bc-3.3.0.tar.xz

$ sha256sum bc-3.3.0.tar.xz
d4c0da5a6be9652f55bf237dd44d68602f75c617b486356cb70fc4514f2fd360  bc-3.3.0.tar.xz

$ stat -c '%s  %n'
229580  bc-3.3.0.tar.xz

$ sha512sum bc-3.3.0.tar.xz.sig
935b381ce5a84a895fabcdfe87fbcb9c5c2f2af2a6ea12948a704447406932366261a105ce08b95dd9e4257b0f46ab98b6df4de61186c82b602dd81b334a0d4b  bc-3.3.0.tar.xz.sig

$ sha256sum bc-3.3.0.tar.xz.sig
14be11a9d60b06aed93f2a4cece039d78e49eb3aa4a7b92f9058b9e6e53afb8d  bc-3.3.0.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.3.0.tar.xz.sig

Release 3.2.7

14 Feb 02:25
Compare
Choose a tag to compare

This is a production release that removes a small non-portable shell operation in configure.sh. This problem was only noticed on OpenBSD, not FreeBSD or Linux.

Non-OpenBSD users do NOT need to upgrade, although NetBSD users may also need to upgrade.

$ sha512sum bc-3.2.7.tar.xz
b516c400625b54b68ed5c1d484d48d80a094495c1d96437129a835dcc5caf2c29d5524d4b67144d11215569bd6ec1ac90113b3fda0d621c8672313119da4f9fa  bc-3.2.7.tar.xz

$ sha256sum bc-3.2.7.tar.xz
ab3d925d14687e38d971b3f2ea9dff1f3338d0d151644f7fa503dbefe3d8f573  bc-3.2.7.tar.xz

$ stat -c '%s  %n'
228540  bc-3.2.7.tar.xz

$ sha512sum bc-3.2.7.tar.xz.sig
8ab7a3595e130e036acac8554a5107a11b5212d93d298e8a0370a402049026c702c6f6f06fcf6f46a7e36eb6b5a7d1b6b42f5987ea39995039e512226b6c6c26  bc-3.2.7.tar.xz.sig

$ sha256sum bc-3.2.7.tar.xz.sig
55851847a6ec3c20d1cae884f67c7adff712b45a2c1575420645b1228076d9a9  bc-3.2.7.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.7.tar.xz.sig

Release 3.2.6

31 Jan 18:52
Compare
Choose a tag to compare

This is a production release that fixes the build on FreeBSD.

There was a syntax error in configure.sh that the Linux shell did not catch, and FreeBSD depends on the existence of tests/all.sh.

All users that already upgraded to 3.2.5 should update to this release, with my apologies for the poor release of 3.2.5. Other users should skip 3.2.5 in favor of this version.

$ sha512sum bc-3.2.6.tar.xz
4b1f43bb0bcd720d2140d41e089aa78fe8d07903fb745ed1a641ffe25fe46f439e480a1e11b687b7555881bd1ee4044c071c50e4bacd579b8909c704db7a6ede  bc-3.2.6.tar.xz

$ sha256sum bc-3.2.6.tar.xz
4e664b3f4441fe79e5b0474ca019d23dfd5562e8c6a5efcc3ca08762fb7a1821  bc-3.2.6.tar.xz

$ stat -c '%s  %n'
234964  bc-3.2.6.tar.xz

$ sha512sum bc-3.2.6.tar.xz.sig
031ceb082537bea132f7a6544987f94a815eb1f63d1dbf1732f987cb8caee8763c2d1137298c5b4ca4d822c3220d147db2e92a1e5406fa33f3d13943a6827948  bc-3.2.6.tar.xz.sig

$ sha256sum bc-3.2.6.tar.xz.sig
38d87ce3fcaf0867f0507f74a1e79ec7978ff18c521984a71581e4b8b68cafc3  bc-3.2.6.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.6.tar.xz.sig

Release 3.2.5

31 Jan 00:39
Compare
Choose a tag to compare

This is a production release that fixes several bugs and adds a couple small things.

The two most important bugs were bugs that causes dc to access memory out-of-bounds (crash in debug builds). This was found by upgrading to afl++ from afl. Both were caused by a failure to distinguish between the same two cases.

Another bug was the failure to put all of the licenses in the LICENSE.md file.

Third, some warnings by scan-build were found and eliminated. This needed one big change: bc and dc now bail out as fast as possible on fatal errors instead of unwinding the stack.

Fourth, the pseudo-random number now attempts to seed itself with /dev/random if /dev/urandom fails.

Finally, this release has a few quality-of-life changes to the build system. The usage should not change at all; the only thing that changed was making sure the Makefile.in was written to rebuild properly when headers changed and to not rebuild when not necessary.

$ sha512sum bc-3.2.5.tar.xz
6e03d6549376b4350fe1d079d7f1cc3cf430a893af8bae004c752fabb7acdb7802f9039a9227f3439e1d73925bfc8f9b973339cebc8fa851ae8a45658eb65c74  bc-3.2.5.tar.xz

$ sha256sum bc-3.2.5.tar.xz
9b6b8be28bf617312f49309163477272822e9f8537436d81741340b083d11ca7  bc-3.2.5.tar.xz

$ stat -c '%s  %n'
234252  bc-3.2.5.tar.xz

$ sha512sum bc-3.2.5.tar.xz.sig
8fd65f6d8fb83563bcfde3d56d6a48201205c33f746e623a298185b433be1b6af7d7d90cf7dbce397c011d7046fe293907ff8305e7ac8609dccf96e4195ec690  bc-3.2.5.tar.xz.sig

$ sha256sum bc-3.2.5.tar.xz.sig
cb88aa2b9b29dc963cbe1e0c61f7c029bd88090e453c2920b8116a885cf3c48c  bc-3.2.5.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.5.tar.xz.sig

Release 3.2.4

11 Dec 04:56
Compare
Choose a tag to compare

This is a production release that fixes a warning on gcc 6 or older, which does not have an attribute that is used.

Users do NOT need to upgrade if they don't use gcc 6 or older.

$ sha512sum bc-3.2.4.tar.xz
9a22d829b7346d08ad0066dd65dfeb832b5eb7c77b52798d05da9450d77590d264ecfe9318955f7335ddcfb11bb48f44854c760c0b4c173e128378ccf297d443  bc-3.2.4.tar.xz

$ sha256sum bc-3.2.4.tar.xz
b4aba186094999a78ee9d76419f71c9b02c73bc4ace4069802199cccc0a0e41a  bc-3.2.4.tar.xz

$ stat -c '%s  %n'
225344  bc-3.2.4.tar.xz

$ sha512sum bc-3.2.4.tar.xz.sig
307419689c906f09af79d7479a38de410f8b77f1d8e36cff42685877b4f5cf6e5723e95f062a574a40613149ccf1a6adcc50feb02ac8abe074b3b8f3282effde  bc-3.2.4.tar.xz.sig

$ sha256sum bc-3.2.4.tar.xz.sig
adc0739334632b6461194d2564b5680d7a8e6351627fab36564df08a076c8b88  bc-3.2.4.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.4.tar.xz.sig

Release 3.2.3

30 Nov 13:50
Compare
Choose a tag to compare

This is a production release that fixes a bug in gen/strgen.sh. I recently changed gen/strgen.c, but I did not change gen/strgen.sh.

Users that do not use gen/strgen.sh do not need to upgrade.

$ sha512sum bc-3.2.3.tar.xz
efd040d46f2ed1eff5a2eb336e55fd465176c23c728935ee488a474b2f0c8dddd275805ee3be79f20afc523a183adb3d88a0e7bee095047912cf70741e2c0b32  bc-3.2.3.tar.xz

$ sha256sum bc-3.2.3.tar.xz
e9610eca329e3346c0d5b76f675f90be36d5c019378ea98f10931daba1c98314  bc-3.2.3.tar.xz

$ stat -c '%s  %n'
225420  bc-3.2.3.tar.xz

$ sha512sum bc-3.2.3.tar.xz.sig
4c62f9183fb0ec8f6273108e5f4dd143615db5b1ab428463f0cb859d5f5f4f32cee3ba7c4f6d7278953e8a25466e68de7aab24eca7f607f998129a61ecce2ff5  bc-3.2.3.tar.xz.sig

$ sha256sum bc-3.2.3.tar.xz.sig
dbbe92c8c1eef8bfab5792d03d325c4de5fa7bf46faf55eeb1134ba755847a12  bc-3.2.3.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.3.tar.xz.sig

Release 3.2.2

28 Nov 18:55
Compare
Choose a tag to compare

This is a production release that fixes a portability bug in configure.sh. The bug was using the GNU find extension -wholename.

$ sha512sum bc-3.2.2.tar.xz
2e8f121c751e987569a0acdfbf648c3ef120d4c808de1a1a0c9f2421f4ef3e45e5031ccd7c3e144a4502cc36ed433ca8e56c943b87f26193dcf4c745adf12ddc  bc-3.2.2.tar.xz

$ sha256sum bc-3.2.2.tar.xz
d38fb0e846576d010afb86abc19d810ad9ac29904a47a50b4f7e5459f0f924d2  bc-3.2.2.tar.xz

$ stat -c '%s  %n'
225228  bc-3.2.2.tar.xz

$ sha512sum bc-3.2.2.tar.xz.sig
bbfa6926e2f58e2c8e77dc35ba48b2383872d73e59f81f8bc2f6279cbe8948a9e8b41c7f4ac1698d8c40c3a5335a6ea1648d536a18281aec9e861e2c7a1a39a8  bc-3.2.2.tar.xz.sig

$ sha256sum bc-3.2.2.tar.xz.sig
3f00d425bdeba03f938e910bedbbd689fd2d7920549eb890f4613faf6809343c  bc-3.2.2.tar.xz.sig

$ stat -c '%s  %n'
662  bc-3.2.2.tar.xz.sig