Skip to content

Commit 95ed210

Browse files
committed
Add release notes for 2024.01
1 parent 7408f1c commit 95ed210

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

release/ReleaseNotes.adoc

+131
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,137 @@ Bluespec Compiler (BSC) Release Notes
44
:last-update-label!:
55
:nofooter:
66

7+
2024.01 Release
8+
---------------
9+
10+
Changes since release 2023.07:
11+
12+
Documentation
13+
~~~~~~~~~~~~~
14+
15+
* Updates to the READMEs
16+
** Add Gentoo to the list of OSes with BSC packages
17+
** Update the URL for Icarus Verilog
18+
** Additional links to documentation
19+
** Link to Repology search for Bluespec packages
20+
21+
* Document string types in the BH and BSV Reference Guides
22+
23+
* Document the Generics feature and associated types and type class in
24+
the Libraries Reference Guide
25+
26+
* Minor cleanups and typo fixes in the BH and BSV Reference Guides and
27+
Libraries Reference Guide
28+
29+
Compiler
30+
~~~~~~~~
31+
32+
* Fix a bug in scheduling inference for action methods with arguments,
33+
when an argument is used to conditionally execute an SBR action and
34+
inference doesn't otherwise determine the method to conflict with
35+
itself (GitHub issue #641)
36+
37+
* Change the derived `Generic` instance for enums and tagged unions
38+
to use a balanced binary tree
39+
** This significantly improves the speed and memory use of the
40+
compiler on designs with large enums
41+
(GitHub issue #334, discussion #414)
42+
43+
* Remove the warning on uses of `Generic` that the feature is
44+
experimental, now that the implementation has settled
45+
46+
* Use UTF-8 instead of ISO-8859-1 for all text-like I/O (GitHub PR #601)
47+
** Source files can now include non-Latin characters!
48+
49+
* In BH, disallow `°` and `´` in identifiers and instead parse them as symbols
50+
(GitHub PR #610)
51+
52+
* In BH, support more clock and reset pragmas available to BSV
53+
(GitHub issues #616, #224)
54+
** Specifically: `gate_input_clocks`, `clock_family`, `clock_prefix`,
55+
`gate_prefix`, `reset_prefix`
56+
57+
* In BH, add missing features to the `properties` pragma (GitHub PR #626)
58+
59+
* In BH. fix the parsing of `arg_names` interface pragma to allow uppercase
60+
identifiers and disallow qualified names (GitHub issue #654)
61+
62+
* Fix the typecheck of struct update/literal/pattern (GitHub issue #628)
63+
** This mostly fixes issues with qualified field names in BH,
64+
but may improve position information in error messages for BSV
65+
66+
* Fix the BSV parsing of naked expressions in statement and
67+
case-expression contexts (GitHub issue #646)
68+
69+
* Fix a failure to satisfy provisos during typecheck (GitHub issue #678)
70+
71+
* Update source code to compile with GHC 9.8
72+
73+
Libraries
74+
~~~~~~~~~
75+
76+
* In BH, use the unicode ring operator (`∘`) for function composition
77+
(GitHub PR #601)
78+
79+
* Improve provisos in the `FixedPoint` package (GitHub PR #249)
80+
** `FixedPoint` does not support an integer compoment with bit width
81+
less than one and this is now enforced with provisos
82+
** The `epsilon` function also requires at least two bits in the
83+
representation
84+
** Polymorphic uses of the `FixedPoint` type may need to add `Min`
85+
provisos (see GitHub PR #634 for example updates in the testsuite)
86+
87+
* Add a CShow generic instance for higher-rank fields
88+
89+
Bluetcl
90+
~~~~~~~
91+
92+
* New `version ghc` subcommand for querying the version of GHC that
93+
the BSC tools were compiled with
94+
95+
Bluesim
96+
~~~~~~~
97+
98+
* Fix the use of named sephamores, so that if Bluesim crashes before
99+
unlinking a semaphore, it won't cause a failure the next time Bluesim
100+
runs with the same process ID and attempts to link the same name
101+
(GitHub issue #611)
102+
103+
* Resolve `-Wformat-truncation` warning from GCC (GitHub PR #649)
104+
105+
Test Suite
106+
~~~~~~~~~~
107+
108+
* When creating an archive of log files (`archive_logs.sh`),
109+
include the C++ compiler output for SystemC tests
110+
** The GitHub CI uses this script to upload an artifact
111+
when there is a failure
112+
113+
* The GHC version used to build the BSC tools is available in the test
114+
infrastructure (as `$ghc_version`), for use when the expected
115+
behavior of a test differs depending on the GHC version
116+
117+
* Fix the value of `$bsc_version`
118+
119+
Internal
120+
~~~~~~~~
121+
122+
* Releases now built with GHC 9.4.8 (previously 9.2.8)
123+
124+
* Updates to GitHub CI (continuous integration)
125+
** Reorganization to support building and testing with a variety
126+
of GHC versions; for now, test with the version for release
127+
and with the latest version (9.8.1)
128+
** Explicitly specify the Haskell Language Server (HLS) version to
129+
use, that is known to support the specified GHC version
130+
** Turn off fast-fail, so that a failure for one OS version won't
131+
kill the processes testing other versions
132+
** Support macOS VMs that don't have ghcup installed
133+
** Support macOS VMs where the SystemC library is compiled with
134+
an unpredictable C++ standard
135+
136+
'''
137+
7138
2023.07 Release
8139
---------------
9140

0 commit comments

Comments
 (0)