Releases: gavinhoward/bc
Release 5.2.0
This is a production release that adds a new feature, fixes some bugs, and adds out-of-source builds and a pkg-config
file for bcl
.
The new feature is the ability to turn off exiting on expressions. It is also possible to set the default using configure.sh
. This behavior used to exist with the BC_EXPR_EXIT
environment variable, which is now used again.
Bugs fixed include:
- Some possible race conditions with error handling.
- Install and uninstall targets for
bcl
did not work.
$ sha512sum bc-5.2.0.tar.xz
f5fcaef5a963baa344972432e20c9747cba7b08b2dd7beac5c783da250abcde37cf85c23bfb3273432c31b292c9c470c836daf990c69f83bd6c7e565a46859e2 bc-5.2.0.tar.xz
$ sha256sum bc-5.2.0.tar.xz
bb918d67b4fc6fc27634de343069a26c9ad05cf0c1c18cf05add5c821717741e bc-5.2.0.tar.xz
$ stat -c '%s %n'
435820 bc-5.2.0.tar.xz
$ sha512sum bc-5.2.0.tar.xz.sig
b0703fb555c254bc6098fbb452f13ea176994f9718baf361b71f0324f50658f6c08bff4d58154710c7cfa14622cb6a8dc1a010842c728b0bb55c755606b02c22 bc-5.2.0.tar.xz.sig
$ sha256sum bc-5.2.0.tar.xz.sig
dc2b49c7a97c3e05f033ff63be9d964bef2a935e1ef0a6210d7304286acf3972 bc-5.2.0.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.2.0.tar.xz.sig
$ sha512sum bc-5.2.0-windows.zip
d5adb1104f09d12c240e98e6eb43a0a384957fea79e9fc2ccf65b2c1dc554cd3a644109a3c1472e599a9206a0494dcd25f2e4796c8bd3d8a442c8be0ea539c2b bc-5.2.0-windows.zip
$ sha256sum bc-5.2.0-windows.zip
c4d5897752f89df414c2cdfa4299c8e08bfc41ded59362662f66785daf2b5835 bc-5.2.0-windows.zip
$ stat -c '%s %n'
3530035 bc-5.2.0-windows.zip
$ sha512sum bc-5.2.0-windows.zip.sig
a687930e2cebc2aba5eb9503ea0663224f34d04c7630ac2a89cda72031b336929d721a184ad612839a00e63d5d195d718a3d927bf986bf429eb8b4abc96cf99e bc-5.2.0-windows.zip.sig
$ sha256sum bc-5.2.0-windows.zip.sig
12d6a3b48502eb0524dab6a107844ce538d476c94dd08f6b68220f3b0627c29b bc-5.2.0-windows.zip.sig
$ stat -c '%s %n'
662 bc-5.2.0-windows.zip.sig
Release 5.1.1
This is a production release that completes a bug fix from 5.1.0
. The bug exists in all versions of bc
.
The bug was that if
statements without else
statements would not be handled correctly at the end of files or right before a function definition.
$ sha512sum bc-5.1.1.tar.xz
d8774fb1e654520abdf7d790783d4a3c04fa8f4982fc1cd0d92331e7e4b5889efa022cafb5e1286b6c82a74c9388f47657c7b9d78888b5d8056fa40d3d5e5c69 bc-5.1.1.tar.xz
$ sha256sum bc-5.1.1.tar.xz
cfec5571216693537f9565073334be691717bfb762610cf1a06050e0f25aa94d bc-5.1.1.tar.xz
$ stat -c '%s %n'
433944 bc-5.1.1.tar.xz
$ sha512sum bc-5.1.1.tar.xz.sig
82b19bb3172a2f510ec56ace55c2d7e2eb0032239e2b837e0671fadfc880369eea7d6549e1de8f9844ca3a2b87c15fb83d53b22af90fd23902cb5244c6127d36 bc-5.1.1.tar.xz.sig
$ sha256sum bc-5.1.1.tar.xz.sig
fb29f8871f6049f4f84fc40971462bbba389c555a3bf19b3ad037ea0fe1d162f bc-5.1.1.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.1.1.tar.xz.sig
$ sha512sum bc-5.1.1-windows.zip
77c0cb5b5dafea0582372e7de6e4d3f70b378ead370e5802ca179dccb41b3857c48d5b59174d740edb893fca600a8c593db272f94f9095242da551bc55d336a3 bc-5.1.1-windows.zip
$ sha256sum bc-5.1.1-windows.zip
10242f1a9ee7fbdbb59b0377341130d2dcf8b29f58973518ba8831fef961905d bc-5.1.1-windows.zip
$ stat -c '%s %n'
3521155 bc-5.1.1-windows.zip
$ sha512sum bc-5.1.1-windows.zip.sig
486b4ca7445d30c507b19e117a8acf9885d5c9c0896d97dae3f296361a3a69e70a70583001a0df50bc806006ffa4b53c60c02cb0e90eeeb3c9285f5b15545eb3 bc-5.1.1-windows.zip.sig
$ sha256sum bc-5.1.1-windows.zip.sig
67d9d1845f16495c6ebfeaa0ba6dc1450c05df2ee6065474d6336c269fe40b2c bc-5.1.1-windows.zip.sig
$ stat -c '%s %n'
662 bc-5.1.1-windows.zip.sig
Release 5.1.0
This is a production release with some fixes and new features.
- Fixed a bug where an
if
statement without anelse
before defining a function caused an error. - Fixed a bug with the
bc
banner and-q
. - Fixed a bug on Windows where files were not read correctly.
- Added a command-line flag (
-z
) to makebc
anddc
print leading zeroes on numbers-1 < x < 1
. - Added four functions to
lib2.bc
(plz()
,plznl()
,pnlz()
, andpnlznl()
) to allow printing numbers with or without leading zeros, despite the use of-z
or not. - Added builtin functions to query global state like line length, global stacks, and leading zeroes.
- Added a command-line flag (
-L
) to disable wrapping when printing numbers. - Improved builds on Windows.
$ sha512sum bc-5.1.0.tar.xz
026e1ba5a8223b80cb8dc6b3a5827d4e1bd0f1708431bbbef43fda2f33c7626785b9ea662f166ea7a2ad0fe56e33918b09565b741d1085613676099ac3291a06 bc-5.1.0.tar.xz
$ sha256sum bc-5.1.0.tar.xz
c2783a17ebe1ece88b1fce6f6d51d501a8ce1b6a24f11857503fd500f31397e0 bc-5.1.0.tar.xz
$ stat -c '%s %n'
433872 bc-5.1.0.tar.xz
$ sha512sum bc-5.1.0.tar.xz.sig
90d5ef3ce0c902a68f3db64c7f44fc670d1ff39e1a429ab90240f54d285315aeb5569bba20223be5b5b423941f19c328d87730e20124ae0046bf1ef9ecb8011e bc-5.1.0.tar.xz.sig
$ sha256sum bc-5.1.0.tar.xz.sig
dea566ac55e096d913e094ff07e62932b69c230d81d3cdc4dec27ef9b96a0dd1 bc-5.1.0.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.1.0.tar.xz.sig
$ sha512sum windows.zip
b25d61dc7c9c95f5ba58d21bca48f673f15f3f271eeacfab100448a09f8a013a08b8498f6d6621d85b5bea815f11ab85f410d3c8da3afc2c24ffc466a2c811a2 windows.zip
$ sha256sum windows.zip
f8ba58d39c9c2ff280f04e9ad586b16d5bb3a3ef09d175802ce3f9ef37f58190 windows.zip
$ stat -c '%s %n'
3530115 windows.zip
$ sha512sum windows.zip.sig
0bbefbd0ebe3cf01ecd15bd9eedab0f7c372dd6f0a5f8cdde452d8f2d66d82d0c5980ed19a6e4ebf3967a206306ab39876ecdd3d5af3fe7a273d7e41e0a3041f windows.zip.sig
$ sha256sum windows.zip.sig
d31b47de069575b4549945ab7acb62a5199bc0ea9937220c9be7cf64fae97a9e windows.zip.sig
$ stat -c '%s %n'
662 windows.zip.sig
Release 5.0.2
This is a production release with one fix for a flaky test. If you have not experienced problems with the test suite, you do NOT need to upgrade.
The test was one that tested whether bc
fails gracefully when it can't allocate memory. Unfortunately, there are cases when Linux and FreeBSD lie and pretend to allocate the memory.
The reason they do this is because a lot of programs don't use all of the memory they allocate, so those OS's usually get away with it.
However, this bc
uses all of the memory it allocates (at least at page granularity), so when it tries to use the memory, FreeBSD and Linux kill it.
This only happens sometimes, however. Other times (on my machine), they do, in fact, refuse the request.
So I changed the test to not test for that because I think the graceful failure code won't really change much.
$ sha512sum bc-5.0.2.tar.xz
8184a86708f3d301252e11c9a5015f69a04fa3f809951963235438d95c9accc81631f6fb8502a18f585672f1e04aa569af34f7662c015d33dd7a6794d116d03f bc-5.0.2.tar.xz
$ sha256sum bc-5.0.2.tar.xz
3f23e5a8b11c2f9c668cfd7987c9c4e9f065f0aa193fe875e2a785e1f3283efe bc-5.0.2.tar.xz
$ stat -c '%s %n'
429648 bc-5.0.2.tar.xz
$ sha512sum bc-5.0.2.tar.xz.sig
2611524fb45a929089a397ad52c05add1ef731ca3fb89e52c695a193fbee575b5f4c8763c71dd0c43acc4c2cfa83b4bf26de7acbf5ef0eeb3f35f7e31ab56664 bc-5.0.2.tar.xz.sig
$ sha256sum bc-5.0.2.tar.xz.sig
a45eee23f3d8052a1a50d0c879c25a7fb396438855b05e4e6387ccab8fc2e070 bc-5.0.2.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.0.2.tar.xz.sig
$ sha512sum Win32_Debug.zip
bf4c76f9cf6e64753b8959b0fa9ff649742fdba7d4a74d6ce8594323dd3e68ed3c453ba1d691d4cd335966ccec0937050720b1c9ae63de3c80a7fc05de583c64 Win32_Debug.zip
$ sha256sum Win32_Debug.zip
7b9a8b72f6bdd5cfafa92599734de87ee3a89aea71c4d1b1db2b0ab4902ed974 Win32_Debug.zip
$ stat -c '%s %n'
340353 Win32_Debug.zip
$ sha512sum Win32_Debug.zip.sig
c25bd765bd04dff78441fb0c32cf4806a96b2bd76f9e3a5719402f173fbdb0d7981d3418ea93ee17868ea2a2c8845490ebbe0e51c599d59fcb9ac5160a437889 Win32_Debug.zip.sig
$ sha256sum Win32_Debug.zip.sig
b38936843d0b38d7b9766d50536b7ef01cc03fae5e219baf6b0ca95575a6bf31 Win32_Debug.zip.sig
$ stat -c '%s %n'
662 Win32_Debug.zip.sig
$ sha512sum Win32_Release.zip
47ab0e886c51fdca535c0940ce4122913cede1e3fc191be93bfa0bbe953fc92d4d7a91ba27895e4c9800bd354b77b2f40cb77dbc798964d124fd3368618d6cfb Win32_Release.zip
$ sha256sum Win32_Release.zip
2b60eca2257dd107965047697647df216dab7025c713ea019180904a61dc89bf Win32_Release.zip
$ stat -c '%s %n'
347941 Win32_Release.zip
$ sha512sum Win32_Release.zip.sig
6698b91e35a7e034d9bda0d3023377facaa2470e81fd7aff77269c6609abf91564d84694dd0c0850efef876ca61d33bfcdc8f3e12b79cb9e9524e7ea405e80ce Win32_Release.zip.sig
$ sha256sum Win32_Release.zip.sig
295d4a616b7a8fe977bddb9e34f5e7c45aaebd44873f85546668a9ebfbaef669 Win32_Release.zip.sig
$ stat -c '%s %n'
662 Win32_Release.zip.sig
$ sha512sum Win64_Debug.zip
8e4dbade1165aa696f6ec10da35627ac53d60fb4423c7cf8dc1f73aaf4632052ea19b275eaf27481ba86e9400de7e58b0c4fe32d842b36a6f3c7eb6b7bdc4794 Win64_Debug.zip
$ sha256sum Win64_Debug.zip
1763107cfb45cfed5e5fc7512277685194b745fcd47ba6355e29354559cc494f Win64_Debug.zip
$ stat -c '%s %n'
396718 Win64_Debug.zip
$ sha512sum Win64_Debug.zip.sig
0eb60acf75295020126cc991beca245212f54908fb8e051319f875ed773cd9707687faa55e9cd290257b2ae79ffc11675f4f34a470568f69cb988497db936bba Win64_Debug.zip.sig
$ sha256sum Win64_Debug.zip.sig
fcc43feeb618d29bdd50c9c0bd370e5365ba93322e9c03ecf2fc7d86d86a05e1 Win64_Debug.zip.sig
$ stat -c '%s %n'
662 Win64_Debug.zip.sig
$ sha512sum Win64_Release.zip
4fc54757ef834230c61c1cfe6b3648ab7dd8bfca5968db41fd163ec974d0d27c2feab8aac59c9c20be9a2d66ee7c452167a973fac2ec4b6fa74c230a835e5cc3 Win64_Release.zip
$ sha256sum Win64_Release.zip
003824f9a0329043dbe1796f9ba396c888dd277ad4656af47d2a4fb3abb85534 Win64_Release.zip
$ stat -c '%s %n'
400583 Win64_Release.zip
$ sha512sum Win64_Release.zip.sig
91b2e296edbe7f29cbad05992712ee9d2d177fb5614380ee80405fa8c991d7ab1bdb8851bcf8e3b0de5d25d972adb58eca5721354a39e72de32a8c78cee267bd Win64_Release.zip.sig
$ sha256sum Win64_Release.zip.sig
435662619395857f1f8b463cdf4c8cfa484939771c86074794c44c5d849aacd0 Win64_Release.zip.sig
$ stat -c '%s %n'
662 Win64_Release.zip.sig
Release 5.0.1
This is a production release with two fixes:
- Fix for the build on Mac OSX.
- Fix for the build on Android.
Users that do not use those platforms do NOT need to update.
$ sha512sum bc-5.0.1.tar.xz
8143e24babffd6f50cee6308ac47a0b8d2c5f78abd00ada53fc2e31c778545f5cee32587a18a2d721fe0ac7ea32520b5854f6874bf762555b5718dbc136ebfe1 bc-5.0.1.tar.xz
$ sha256sum bc-5.0.1.tar.xz
d19839302e4c35821e7d7eed012f5eff928173782c62b56b705d905c1c4cd272 bc-5.0.1.tar.xz
$ stat -c '%s %n'
429608 bc-5.0.1.tar.xz
$ sha512sum bc-5.0.1.tar.xz.sig
2e3a86f0b59c3efed046c3c1c23798750d571013be398eac39ad993ad7878dd61d00a623cb76fa41bb9aad27409ff84d2256e694b429bc66725b73d9b1d82219 bc-5.0.1.tar.xz.sig
$ sha256sum bc-5.0.1.tar.xz.sig
801adea61e052e34bdb7a91d43cecf06765402bcb85574e024a83c7b051bb6d2 bc-5.0.1.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.0.1.tar.xz.sig
$ sha512sum Win32_Debug.zip
27dac4fc2f9cf7ddce0f9d5bb504b4f91b7adaf039ac94af06be68951a290f37e70e9f593d574054bd2a28317aa253e27fb9e9dffb1f75fdb785dac68be18cc1 Win32_Debug.zip
$ sha256sum Win32_Debug.zip
315bdc91c67f97af55636cddec5e83900ff1291ba0863609297e475fa1330775 Win32_Debug.zip
$ stat -c '%s %n'
340353 Win32_Debug.zip
$ sha512sum Win32_Debug.zip.sig
b20ee9fabe89e15ef2ea515d22fe1711be2976d0e239a8bb3c64070c916a823d1841b0e4ba10fc45acc37361b675f125bee09a1161e25e10904724dbe61efb29 Win32_Debug.zip.sig
$ sha256sum Win32_Debug.zip.sig
ffd9bdf2f2815a9464fa2bd020921e000cf88a30922c6826d8c769c9b4a23c5a Win32_Debug.zip.sig
$ stat -c '%s %n'
662 Win32_Debug.zip.sig
$ sha512sum Win32_Release.zip
a147195eb8acd17a6a6771c8eaf9baee613ee6adaea64116c065548356f0e431ea059bd4809f955b1e5903fc5c594630d92c390c87ed3f34d79f7e5308f62cbe Win32_Release.zip
$ sha256sum Win32_Release.zip
0ff867cc88af9b9d1dd6f3483de0f754a5e7e1dd7a0285b9c681b13793f088ec Win32_Release.zip
$ stat -c '%s %n'
347941 Win32_Release.zip
$ sha512sum Win32_Release.zip.sig
d1545009c583afbb4f96b6a27cf471f92a9144b0382990fb700e87a88914e3e91f2ad2ba5fdc381f92052d5cda90239955f03e86315dbd8bc472a3ddc4b508fd Win32_Release.zip.sig
$ sha256sum Win32_Release.zip.sig
b926139704e2cf5f76a7013869cb4147ced14ae5ca5cfeac8bc31d419804dfbd Win32_Release.zip.sig
$ stat -c '%s %n'
662 Win32_Release.zip.sig
$ sha512sum Win64_Debug.zip
59492bba68362bb912f95be896a8aea17127a7fe20437a742589afffeda39b16469a3cd5b86945cb7be8d0d9bd9a3d7b4910d43794211dffa1f4f889722a9a4e Win64_Debug.zip
$ sha256sum Win64_Debug.zip
5b71e530ff1b955702d302e2c1b2cb16d3dbd9d940f96b0549dabac96e9ba7c8 Win64_Debug.zip
$ stat -c '%s %n'
396718 Win64_Debug.zip
$ sha512sum Win64_Debug.zip.sig
7ce60ce0146a7dc88f7257206ffdd51f205f0de13aead32ab9f08ccb3a1a6d94a2968d8213ec35e315fd204c6b17ac3103a998e24be19771708d64c426ef7208 Win64_Debug.zip.sig
$ sha256sum Win64_Debug.zip.sig
0ffc168c7b61e811315cba64f7d6798ec37e24f408373332c5c063d0c7078af4 Win64_Debug.zip.sig
$ stat -c '%s %n'
662 Win64_Debug.zip.sig
$ sha512sum Win64_Release.zip
24fd10e86539e9432f8d061446f4c85d8f996284c77eb4bfc46dbd368311353cbcd281fc6fa873f3745856f20fbf245c6d47e932a5e8817f98833aedee5d31d0 Win64_Release.zip
$ sha256sum Win64_Release.zip
26b45c776279063ad1ec68c075528a3fc202f31cc5539953e6562c8abf81b7ef Win64_Release.zip
$ stat -c '%s %n'
400583 Win64_Release.zip
$ sha512sum Win64_Release.zip.sig
7c62bf3477936d6731dd6b25ec7e604c64dad312cebe94368f6fa2f6ed5e2c70fda6285ea9d118ec201ba8e3522cc4e690708829ec51bfe59acff659e8efe97f Win64_Release.zip.sig
$ sha256sum Win64_Release.zip.sig
14610da1a8e69447bbb1a96393a225c341e91b6f0d3b00887c856b4fa8104634 Win64_Release.zip.sig
$ stat -c '%s %n'
662 Win64_Release.zip.sig
Release 5.0.0
This is a major production release with several changes:
- Added support for OpenBSD's
pledge()
andunveil()
. - Fixed print bug where a backslash newline combo was printed even if only one digit was left, something I blindly copied from GNU
bc
, like a fool. - Fixed bugs in the manuals.
- Fixed a possible multiplication overflow in power.
- Temporary numbers are garbage collected if allocation fails, and the allocation is retried. This is to make
bc
anddc
more resilient to running out of memory. - Limited the number of temporary numbers and made the space for them static so that allocating more space for them cannot fail.
- Allowed integers with non-zero
scale
to be used with power, places, and shift operators. - Added greatest common divisor and least common multiple to
lib2.bc
. - Added
SIGQUIT
handling to history. - Added a command to
dc
(y
) to get the length of register stacks. - Fixed multi-digit bugs in
lib2.bc
. - Removed the no prompt build option.
- Created settings that builders can set defaults for and users can set their preferences for. This includes the
bc
banner, resetting onSIGINT
, TTY mode, and prompt. - Added history support to Windows.
- Fixed bugs with the handling of register names in
dc
. - Fixed bugs with multi-line comments and strings in both calculators.
- Added a new error type and message for
dc
when register stacks don't have enough items. - Optimized string allocation.
- Made
bc
anddc
UTF-8 capable. - Fixed a bug with
void
functions. - Fixed a misspelled symbol in
bcl
. This is technically a breaking change, which requires this to be5.0.0
. - Added the ability for users to get the copyright banner back.
- Added the ability for users to have
bc
anddc
quit onSIGINT
. - Added the ability for users to disable prompt and TTY mode by environment variables.
- Added the ability for users to redefine keywords. This is another reason this is
5.0.0
. - Added
dc
's modular exponentiation and divmod tobc
. - Added the ability to assign strings to variables and array elements and pass them to functions in
bc
. - Added
dc
's asciify command and stream printing tobc
. - Added a command to
dc
(Y
) to get the length of an array. - Added a command to
dc
(,
) to get the depth of the execution stack. - Added bitwise and, or, xor, left shift, right shift, reverse, left rotate, right rotate, and mod functions to
lib2.bc
. - Added the functions
s2u(x)
ands2un(x,n)
, tolib2.bc
.
$ sha512sum bc-5.0.0.tar.xz
3ac4639922398e633aae3c3679ee3e53f3688da3992c55c120165b5718860f9857b7f46c43a9e18da0dd67ac92c8855f7449dfdfdfd11c419dc4ab6683550740 bc-5.0.0.tar.xz
$ sha256sum bc-5.0.0.tar.xz
595e803214708d94860d93b53ec7b84eb7bdb0c5c38fa96f5434009f868fe038 bc-5.0.0.tar.xz
$ stat -c '%s %n'
429376 bc-5.0.0.tar.xz
$ sha512sum bc-5.0.0.tar.xz.sig
256c04a059efb6bf41a1066ec588de852043ee50e08077f73e2a9f5a9f8369cd87470372acdcb6d8cfee4f5e07c9159145338595b0eee568ba11b2bbf1ce49ec bc-5.0.0.tar.xz.sig
$ sha256sum bc-5.0.0.tar.xz.sig
dd23aa9931646b360a171187b4bc33dce3faf50395cc4ab7a4c3dffdd096af02 bc-5.0.0.tar.xz.sig
$ stat -c '%s %n'
662 bc-5.0.0.tar.xz.sig
$ sha512sum Win32_Debug.zip
c48a88c964cccd8e9a6f4e7c3a4b390e364a18bb00ae68c750adbc7462baad1b75125da4418f0ff0a6901eadd39d6c21deb626319e5d71ea21f1a09833bd1a4d Win32_Debug.zip
$ sha256sum Win32_Debug.zip
b8819f70e1fadecf3316949798ea8373b42c78e0f4651f54a93f65abc00d1737 Win32_Debug.zip
$ stat -c '%s %n'
340347 Win32_Debug.zip
$ sha512sum Win32_Debug.zip.sig
aeae6de48bd82443e7c0511e75029127a1d11f51f029018b71ad57e74ddc546905a8be3d31b9ca267aa4d9d1109b5539f9244ce5b0d45e72f6da6c411fa31713 Win32_Debug.zip.sig
$ sha256sum Win32_Debug.zip.sig
3e07bd2b6305e62d49a03c90661f7c47e5187a4b51e51272a6946ef93c73984f Win32_Debug.zip.sig
$ stat -c '%s %n'
662 Win32_Debug.zip.sig
$ sha512sum Win32_Release.zip
927d48111ae17da782df4e900ada9f5fa97e6dc91dd9c46cac1f8c45d8abe95e893127851a2ce27968e8c489a81a164b2018c23d2bd06b7e73694519de029654 Win32_Release.zip
$ sha256sum Win32_Release.zip
571c0c3bb471ea9e8ba720f93444135133b7b7f18e2d5513cbcfa377cb835f50 Win32_Release.zip
$ stat -c '%s %n'
347946 Win32_Release.zip
$ sha512sum Win32_Release.zip.sig
f85593c4f06df4dd05dd3afdb961935dba6f4b6f4f188f6f7d38788bff673520207efc7ef7e799c20d4155e7e413287782f2562c964b96468c460017bc399e46 Win32_Release.zip.sig
$ sha256sum Win32_Release.zip.sig
1bd4dc7f66529cc63909816a38a78ee3a182d6d8a7254201be744e47ab64aa6a Win32_Release.zip.sig
$ stat -c '%s %n'
662 Win32_Release.zip.sig
$ sha512sum Win64_Debug.zip
5ddff5339b65834ba805ce210012412f1bf59499b1d605bdc62675f7ab67a9d074846aeb8e0130581204245674bfa666d73af0956480ead26909a4d1dc16d387 Win64_Debug.zip
$ sha256sum Win64_Debug.zip
c6c94daee6dc5dadfb6f4012985e1f533b53912947d9a5c4b41c93ed7b387127 Win64_Debug.zip
$ stat -c '%s %n'
396711 Win64_Debug.zip
$ sha512sum Win64_Debug.zip.sig
2cf9843d48155bd5ddd68f6f020f624e660366dd810e0315377d0fe1eab5ba9e14d172c250fdc782f6b81c59931b4cc7b2e9dcbc064aa54758be47c3a5a44dda Win64_Debug.zip.sig
$ sha256sum Win64_Debug.zip.sig
5162ad874ecc4a30f7b9d819cce715ad541756defc5e5668cc0107b0014b3db8 Win64_Debug.zip.sig
$ stat -c '%s %n'
662 Win64_Debug.zip.sig
$ sha512sum Win64_Release.zip
8df13d4d99829b0746b6c3c7b20447c5927a24bcc467b7b89d76fe8eb3eb9e43acee6a03543f9452733e6d43f6e3fdb0bbdfa25bc121568f8926d1799051777d Win64_Release.zip
$ sha256sum Win64_Release.zip
ca983b8f8673f86890d26d674b69888c269fffc051ef7ba774718559e05c89a5 Win64_Release.zip
$ stat -c '%s %n'
400591 Win64_Release.zip
$ sha512sum Win64_Release.zip.sig
86427373bb7a9b458be09ee7e34efe8efd657f03b0a936fdec4adfced9d746d660f23fc053eab43f9862c9b3299728fe70802de1e9e416020ad8d62584c06c74 Win64_Release.zip.sig
$ sha256sum Win64_Release.zip.sig
685caf14a04d078516db3de684d4a65d5a8cd4762307413ee7b26e1d5d2ac1bf Win64_Release.zip.sig
$ stat -c '%s %n'
662 Win64_Release.zip.sig
Release 4.0.2
This is a production release that fixes two bugs:
- If no files are used and the first statement on
stdin
is invalid,scale
would not be set to20
even if-l
was used. - When using history,
bc
failed to respond properly toSIGSTOP
andSIGTSTP
.
$ sha512sum bc-4.0.2.tar.xz
f3564cb953bca2003c9fd565b3114a2701de4437c6db3cace29edab186d3270cd98f66f3eb1a45fd074a44736fef39f78675959f400c1c23a4a2e930d469c059 bc-4.0.2.tar.xz
$ sha256sum bc-4.0.2.tar.xz
b4a7046325557a44d02165874f957c3abf49e2ba4491c8275326cb7c55ef2290 bc-4.0.2.tar.xz
$ stat -c '%s %n'
235464 bc-4.0.2.tar.xz
$ sha512sum bc-4.0.2.tar.xz.sig
3cb05a0d3561acab6fbd6e473c2d8eb32daf825c9aa4840bfb9f2d850e5525661574644d01a4411ff2df099499d226d81bf1b226e975b07f059f2f3c38372a91 bc-4.0.2.tar.xz.sig
$ sha256sum bc-4.0.2.tar.xz.sig
1b8f8eeff862ddd4c8ed6f40a16f2608a029b86e5cb37a70ce6cf5730d8230a6 bc-4.0.2.tar.xz.sig
$ stat -c '%s %n'
662 bc-4.0.2.tar.xz.sig
Release 4.0.1
This is a production release that only adds one thing: flushing output when it is printed with a print statement.
$ sha512sum bc-4.0.1.tar.xz
c12523ebca7a2419754b65e010d2c0bae15117ed06aa876d01cadc1b45334d4ea774cbb3e94ccf445d1175fe8d500b1d0b53576009b8ed676b6ac6493db98eba bc-4.0.1.tar.xz
$ sha256sum bc-4.0.1.tar.xz
cbb20ac36e5250d65db78ff46acd85e4804b603145bb4479d80348552216de19 bc-4.0.1.tar.xz
$ stat -c '%s %n'
235320 bc-4.0.1.tar.xz
$ sha512sum bc-4.0.1.tar.xz.sig
b124ad5795e96bf17146c0f9ba3e3b708b0bf2bc1f8a11fcb500f00cff8a6b3202a925aa0c195320e5dc47ded4f1196dac7e0a2818e7779cc473fef879100e4b bc-4.0.1.tar.xz.sig
$ sha256sum bc-4.0.1.tar.xz.sig
6441addcadd1f87ba9e5689a7589486757b698baf3e1923b2b9063658f49f0d0 bc-4.0.1.tar.xz.sig
$ stat -c '%s %n'
662 bc-4.0.1.tar.xz.sig
Release 4.0.0
This is a production release with many fixes, a new command-line option, and a big surprise:
- A bug was fixed in
dc
'sP
command where the item on the stack was not popped. - Various bugs in the manuals have been fixed.
- A known bug was fixed where history did not interact well with prompts printed by user code without newlines.
- A new command-line option,
-R
and--no-read-prompt
was added to disable just the prompt when usingread()
(bc
) or?
(dc
). - And finally, official support for Windows was added.
The last item is why this is a major version bump.
Currently, only one set of build options (extra math and prompt enabled, history and NLS/locale support disabled, both calculators enabled) is supported on Windows. However, both debug and release builds are supported.
In addition, Windows builds are supported for the the library (bcl
).
For more details about how to build on Windows, see the README or the build manual.
$ sha512sum bc-4.0.0.tar.xz
e25f4377df81c14f7036fdcbcd503a10ebb4e2663b182da78928aad871b22940c503d54f9a7942798d4e1f38e0487047f492348041a229f18e0fd0e45aab33b3 bc-4.0.0.tar.xz
$ sha256sum bc-4.0.0.tar.xz
d3c3ea6c3a439d20eb57e4b84b10f16a41af1b069640a591f584d704054f0a48 bc-4.0.0.tar.xz
$ stat -c '%s %n'
235496 bc-4.0.0.tar.xz
$ sha512sum bc-4.0.0.tar.xz.sig
cc511655b2cc68d6b4e5bd1e4228abf9a4ff12d96a7f28dab3f418163e9013063acdc052906c94ce285ed94be7e0c8b957988b1842170adae3c7511f2a451bb9 bc-4.0.0.tar.xz.sig
$ sha256sum bc-4.0.0.tar.xz.sig
568c27c9bd7b0ac44244aadce2f76760fd5d5dc4f605cdb12a1568b826344be7 bc-4.0.0.tar.xz.sig
$ stat -c '%s %n'
662 bc-4.0.0.tar.xz.sig
Release 3.3.4
This is a production release that fixes a small bug.
The bug was that output was not flushed before a read()
call, so prompts without a newline on the end were not flushed before the read()
call.
This is such a tiny bug that users only need to upgrade if they are affected.
$ sha512sum bc-3.3.4.tar.xz
212b36a3fafbda28c6416d29e2d9e49272c42d95dcdc3bbbb3691e4686ca3f0a9fec883a099d059c5bd21a9b08bf5b2eff01169de20df9777c2fce66a8cda783 bc-3.3.4.tar.xz
$ sha256sum bc-3.3.4.tar.xz
268dad63e5df73520ff03e54d445bcf4d5c46c4f77a01c3009df57b3e5bb4fa4 bc-3.3.4.tar.xz
$ stat -c '%s %n'
230264 bc-3.3.4.tar.xz
$ sha512sum bc-3.3.4.tar.xz.sig
40425b7ead268b118c5ce85333c093696b843dce171bb98cef267044aae9d565d2a66cff91f66d10e4ead9b92482316e1bbac5824fe7c4a0ed7d877c07cc00ec bc-3.3.4.tar.xz.sig
$ sha256sum bc-3.3.4.tar.xz.sig
29d06c17f6d403d074ae5a658f11dbade8a05653ea876b9f617fde17393d652c bc-3.3.4.tar.xz.sig
$ stat -c '%s %n'
662 bc-3.3.4.tar.xz.sig