Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: bison | Distribution: SUSE Linux Framework One |
Version: 3.8.2 | Vendor: SUSE LLC <https://www.suse.com/> |
Release: slfo.1.1.8 | Build date: Fri Aug 23 16:42:02 2024 |
Group: Development/Languages/C and C++ | Build host: h01-armsrv3 |
Size: 1914595 | Source RPM: bison-3.8.2-slfo.1.1.8.src.rpm |
Packager: https://www.suse.com/ | |
Url: https://www.gnu.org/software/bison/bison.html | |
Summary: The GNU Parser Generator |
Bison is a parser generator similar to yacc(1).
GPL-3.0-or-later
* Sun Jul 31 2022 coolo@suse.com - Remove profiling support. Bison's performance is not really key to rebuild cycles, but as bison is a bootstrap package, it's own build time can hurt - especially if it's not reproducible. * Wed Nov 17 2021 andreas.stieger@gmx.de - disable tests and profiling using tests on armv6l (boo#1192737) * Sat Oct 02 2021 andreas.stieger@gmx.de - GNU bison 3.8.2 * in Yacc compatibility mode (options -y/--yacc) Bison now generates prototypes for yyerror and yylex if POSIXLY_CORRECT is set * -g/--graph now generates a *.gv file by default, instead of *.dot * Support for the YYPRINT macro is removed * The "lalr1.d" skeleton is now officially part of Bison * Option -H, --header and directive %header supersede - -defines and %defines, respectively * --html generates HTML reports directly in one step * A new C++ native GLR parser * Counterexamples now show the rule numbers, and always show ε for rules with an empty right-hand side * Support for Lookahead correction (LAC) in Java * User actions may now use YYNOMEM to abort the current parse with memory exhaustion * Support for custom error messages and location print macros * Fri Mar 12 2021 dmueller@suse.com - move COPYING file into licenses subdirectory * Tue Mar 09 2021 andreas.stieger@gmx.de - GNU bison 3.7.6: * Fix reused push parsers * Fix table generation * Tue Feb 09 2021 mpluskal@suse.com - Run tests in parallel * Sun Jan 24 2021 dmueller@suse.com - use https for sources * Sun Jan 24 2021 andreas.stieger@gmx.de - GNU bison 3.7.5: * Fix crashes in counterexample generation * Fix Table Generation generating incorrect parsers when there are many useless tokens * GLR parsers now support %merge together with api.value.type=union * C++ parsers use noexcept in more places * Generated parsers avoid some warnings about signedness issues * C-language parsers now avoid warnings from pedantic clang * Sat Nov 14 2020 andreas.stieger@gmx.de - GNU bison 3.7.4: * In Yacc mode, YYEMPTY token was missing its macro definiton * Fix lalr1.cc skeleton internal assertions * Make macro YY_ASSERT obey the api.prefix %define variable * Work around C++ limitations for long assertions * The YYBISON macro in generated "regular C parsers" is now defined to the version of Bison as an integer * Tue Oct 13 2020 andreas.stieger@gmx.de - GNU bison 3.7.3: * Fix concurrent build issues * The bison executable is no longer linked uselessly against libreadline * Fix incorrect use of yytname in glr.cc * Sun Sep 06 2020 andreas.stieger@gmx.de - GNU bison 3.7.2: * fix all known Bison CVEs relating to the bison-the-program itself, not the generated code. Includes CVE-2020-24979: buffer overflow in src/symtab.c (boo#1176227) * concurrent build issues * Push parsers always use YYMALLOC/YYFREE * Fix unlikely crashes found by fuzzing * Tue Aug 18 2020 andreas.stieger@gmx.de - GNU bison 3.7.1: * YYPRINT macro is deprecated * --graph will generate a *.gv file by default * Add Counterexample Generation feature * Add File prefix mapping feature * Various bug fixes and behavior changes * Tue Jun 16 2020 andreas.stieger@gmx.de - GNU bison 3.6.4: * In glr.cc some internal macros leaked in the user's code, and could damage access to the token kinds * Thu Jun 04 2020 andreas.stieger@gmx.de - GNU bison 3.6.3: * Incorrect comments in the generated parsers * Warnings in push parsers (yacc.c) * Incorrect display of gotos in LAC traces (lalr1.cc) * Sun May 17 2020 andreas.stieger@gmx.de - GNU bison 3.6.2: * When token aliases contained content delimiters bison used to emit "nested" comments, which is invalid C * Mon May 11 2020 andreas.stieger@gmx.de - GNU bison 3.6.1: * fix GNU readline portability issues * In C++, yy::parser::symbol_name is now a public member, as was intended * In C++, yy::parser::symbol_type now has a public name() member function * Sun May 10 2020 andreas.stieger@gmx.de - GNU bison 3.6: * Backward incompatible change: The YYERROR_VERBOSE macro is no longer supported * The YYPRINT macr is deprecated and will be removed eventually * Improved syntax error messages * %define parse.error behavior expended * Token aliases can be internationalized * Deep overhaul of the symbol and token kinds * Modernize display of explanatory statements in diagnostics * Sat Apr 11 2020 andreas.stieger@gmx.de - bison 3.5.4: * Fix portability issues of the package itself on old compilers * Fix api.token.raw support in Java * Wed Mar 18 2020 mpluskal@suse.com - Update to version 3.5.3 * minor fixes * Tue Feb 18 2020 mpluskal@suse.com - Update to version 3.5.2: * Portability issues and minor cosmetic issues. * The lalr1.cc skeleton properly rejects unsupported values for parse.lac (as yacc.c does). * Wed Feb 05 2020 mpluskal@suse.com - Update to version 3.5.1: * Portability fixes. * Fix compiler warnings. * Tue Dec 17 2019 stefan.bruens@rwth-aachen.de - Drop unnecessary autoconf BuildRequires. * Mon Dec 16 2019 mpluskal@suse.com - Update to version 3.5: * Plenty of changes - see provided NEWS for detailed list * Sun Sep 22 2019 andreas.stieger@gmx.de - update to 3.4.2: * In some cases, when warnings are disabled, bison could emit tons of white spaces as diagnostics * When running out of memory, bison could crash * When defining twice the EOF token, bison would crash * New warnings from recent compilers have been addressed in the generated parsers (yacc.c, glr.c, glr.cc) * When lone carriage-return characters appeared in the input file, diagnostics could hang forever * Fri Aug 02 2019 mliska@suse.cz - Use FAT LTO objects in order to provide proper static library. * Tue May 28 2019 mpluskal@suse.com - Update to version 3.4.1 * Multiple changes, mostly bugfixes - see provided NEWS for details - Do not run any tests in parallel - this caused random failures * Sat Feb 16 2019 bwiedemann@suse.com - Run profiling without parallelism for reproducible build results (boo#1040589) * Mon Feb 04 2019 seanlew@opensuse.org - bison 3.3.2: * bison 3.3 failed to generate parsers for grammars with unused nonterminal symbols * Mon Jan 28 2019 seanlew@opensuse.org - bison 3.3.1: * The option -y makes extensions into simple warnings * Removed support for DJGPP * Sun Jan 06 2019 mliska@suse.cz - Do not build tests with -fprofile-generate in order to not to overwrite gcda files (boo#1120868). * Thu Dec 27 2018 sean@suspend.net - bison 3.2.4: * Fix the move constructor of symbol_type * Always provide a copy constructor for symbol_type * Sat Dec 22 2018 sean@suspend.net - bison 3.2.3: * c++: fix token constructors for types with commas * data/variant.hh: Do not use user types * tests/local.at: Adjust lex-related macros for tokenization * test/types.at: Also ceck token constructors with commas * Thu Nov 22 2018 sean@suspend.net - bison 3.2.2: * Support C++ 11 with move-only types for semantic values * C++ 98 support is now deprecated * Fri Nov 09 2018 sean@suspend.net - bison 3.2: * %printers should use yyo rather than yyoutput to denote the output stream. * variant-based symbols in C++ should use emplace() rather than build() * in C++ parsers, parser:;operator() is now a synonym for the parser::parse * C++ support for move semantics (lalr1.cc) * C++ implicit move of right-hand side values (lair1.cc) * C++ the implicit default semantic action is always run * C++ renaming locations.hh * C++ stack.hh and position.hh are deprecated * Tue Oct 02 2018 mpluskal@suse.com - Use profile guided optimization (PGO) when building * Tue Oct 02 2018 sean@suspend.net - bison 3.1: * Compiling Bison now requires a C99 compiler * Typed midrule actions * Reports include the type of symbols * Diagnostics about useless rules now implemented * C++: Generated parsers can be compiled with -fno-exceptions (lairi.cc) * GLR: Predicates support broken by #line directives * Printer and destructor with broken #line directives * Portability on ICC * Fri Jun 15 2018 astieger@suse.com - bison 3.0.5: * C++: Fix support of 'syntax_error' * Fix various C++ warnings * Fix issues with C++ parsers where out-of-bounds errors could happen when a rule with an empty ride-hand side raises a syntax error - drop gcc7-fix.patch, no longer required * Fri Dec 16 2016 mliska@suse.cz - gcc7-fix.patch: Add forward declaration to compile with GCC7. * Wed Dec 14 2016 tchvatal@suse.com - Update keyring file to not be 38 MB large... * Tue Sep 01 2015 tchvatal@suse.com - Set the installinfo in preun rather than postun to avoid ugly warning about file not being present. - Remove the Obsolete for old ppc64 support that won't get triggered * Fri Feb 20 2015 mpluskal@suse.com - Add gpg signature - Update to 3.0.4: * Fix a compiler warning when no %destructor use $$. * Several portability issues in tests were fixed. * Thu Jan 22 2015 p.drouand@gmail.com - Update to version 3.0.3 Bug fixes * C++ with Variants (lalr1.cc) Problems with %destructor and '%define parse.assert' have been fixed. * Named %union support (yacc.c, glr.c) Bison 3.0 introduced a regression on named %union such as %union foo { int ival; }; The possibility to use a name was introduced "for Yacc compatibility". It is however not required by POSIX Yacc, and its usefulness is not clear. * %define api.value.type union with %defines (yacc.c, glr.c) The C parsers were broken when %defines was used together with "%define api.value.type union". * Redeclarations are reported in proper order Documentation * Bison now installs various files in its docdir (which defaults to '/usr/local/share/doc/bison'), including the three fully blown examples extracted from the documentation: - rpcalc Reverse polish calculator, a simple introductory example. - mfcalc Multi-function Calc, a calculator with memory and functions and located error messages. - calc++ a calculator in C++ using variant support and token constructors. - Split out translation files - Pass "--docdir=%{_docdir}/%{name}" and do not perform %doc anymore * Wed Dec 24 2014 p.drouand@gmail.com - Update to version 3.0.2 + Generated source files when errors are reported + %empty is used in reports + When C++ variant support is enabled, an error triggered via YYERROR, but not caught via error recovery, resulted in a double deletion. - Remove location-eof-check.patch; merged on upstream release * Fri Sep 27 2013 schwab@linux-m68k.org - location-eof-check.patch: Fix broken EOF check * Sat Aug 03 2013 crrodriguez@opensuse.org - Update to bision 3.0 * deep overhaul/improvements of the diagnostics * more versatile means to describe semantic value types, including the ability to store genuine C++ objects in C++ parsers * push-parser interface extended to Java * parse-time semantic predicates for GLR parsers. * This is a major update, please see https://lwn.net/Articles/561990/ for all details and backward incompatible changes. * Tue Jul 09 2013 schwab@suse.de - Override broken configure checks * Thu Mar 21 2013 mmeister@suse.com - Added url as source. Please see http://en.opensuse.org/SourceUrls * Wed Feb 06 2013 adrian@suse.com - bison update to 2.7 * Changes in the format of error messages * New format for error reports: carets * New value for %define variable: api.pure full * New %define variable: api.location.type (glr.cc, lalr1.cc, lalr1.java) * Exception safety (lalr1.cc) * Graph improvements in DOT and XSLT * %language is no longer an experimental feature. * Mon Nov 12 2012 crrodriguez@opensuse.org - bison 2.6.5 * Incorrect definitions of YY_, issued by yacc.c when no parser header is generated, are removed. * Fix compiler warnings in the generated parser (yacc.c, glr.c) * Warnings about uninitialized yylval and/or yylloc for push parsers with a pure interface have been fixed for GCC 4.0 up to 4.8, and Clang 2.9 to 3.2. * Sun Sep 23 2012 nmo.marques@gmail.com - Update to version 2.6.2: + Buffer overruns, complaints from Flex, and portability issues in the test suite have been fixed. + Changelist too long to fit here, see NEWS - Source format is now .xz - Remove bison-stdio.in.patch: seems upstreamed - Add 'xz' to BuildRequires * Tue Jul 17 2012 aj@suse.de - Fix build with missing gets declaration (glibc 2.16) * Mon Jan 09 2012 aj@suse.de - Own /usr/share/aclocal * Sat Sep 17 2011 jengelh@medozas.de - Remove redundant tags/sections from specfile * Tue Jun 07 2011 crrodriguez@opensuse.org - Update to version 2.5 - Fixes GCC 4.6 warnings - Changelist too long to fit here, see NEWS. * Wed Feb 10 2010 rguenther@suse.de - Update to version 2.4.1. - Apply fix for GCC 4.5 compliance. - Apply fix for unsupported output file names. * Mon Feb 08 2010 coolo@novell.com - package yacc.1 too * Fri Jan 29 2010 coolo@novell.com - fix patch name * Tue Jan 26 2010 mmarek@suse.cz - updated to 2.4 * new experimental %language directive to select the used skeleton and output file name * experimantal Java parser support * support for push parsers * bison now removes unreachable states (this might require updates to %expect and %expect-rr directives) * support for per-type and default %destructor's and %printer's * except for LALR(1) parsers in C with POSIX Yacc emulation enabled (with `-y', `--yacc', or `%yacc'), Bison no longer generates [#]define statements for associating token numbers with token names * For a detailed list of fixes and new features, see /usr/share/doc/packages/bison/NEWS * Sat Dec 12 2009 jengelh@medozas.de - enable parallel building - add baselibs.conf as a source * Wed Dec 10 2008 olh@suse.de - use Obsoletes: -XXbit only for ppc64 to help solver during distupgrade (bnc#437293) * Thu Oct 30 2008 olh@suse.de - obsolete old -XXbit packages (bnc#437293) * Thu Apr 10 2008 ro@suse.de - added baselibs.conf file to build xxbit packages for multilib support * Wed Jan 24 2007 mmarek@suse.cz - use more $RPM_OPT_FLAGS * Mon Jun 26 2006 mmarek@suse.cz - updated to 2.3 * all generated scanners can be used in non-free programs (previously, only LALR(1) scanners in C had the exception) * multiple %union declarations can be used, they will be concatenated * unused values with a %destructor are warned about * %destructors are not run for values in the action that called YYABORT/YYACCEPT/YYERROR * unsatisfied number of %expect/%expect-rr conflicts is an error, not warning * ability to depend on a minimal bison version via %require "VERSION" * no global YYSTYPE and YYLTYPE macros and token names in C++ scanners -- yy::parser::semantic_type, yy::parser::location_type and yy::parser::token::<token> should be used instead (can be reverted by '%define "global_tokens_and_yystype" "1"') * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Wed Dec 21 2005 mmarek@suse.cz - push the 2.1 update into factory * Thu Dec 15 2005 mmarek@suse.cz - update to 2.1 * Fri Nov 05 2004 tcrhak@suse.cz - fixed wrong variable name (bug #47961, patch output) * Mon Jan 26 2004 kukuk@suse.de - Readd m4 requirement * Sun Jan 11 2004 adrian@suse.de - build as user * Tue Jan 06 2004 tcrhak@suse.cz - update to version 1.875 - use %{_libdir} - run the testsuite - applied Michael Matz's patch - GCC does not support attributes on label in C++ * Fri Sep 12 2003 tcrhak@suse.cz - require m4, issue an error message and return a non-zero exit code if m4 binary is not found [bug #30653], patch readpipe * Thu Apr 24 2003 ro@suse.de - fix install_info --delete call and move from preun to postun * Fri Mar 07 2003 tcrhak@suse.cz - Improved fix for the scaner: treat @ and initial comments the right way * Fri Feb 07 2003 ro@suse.de - added install_info macros * Sat Nov 09 2002 aj@suse.de - Fix one more problem encountered in building gcc with $ (all work done by jh@suse.cz). * Sat Nov 09 2002 aj@suse.de - Fix last patch to handle $ in comments correctly. * Sat Nov 09 2002 aj@suse.de - Fix handling of $ in scan-gram. * Wed Nov 06 2002 tcrhak@suse.cz - update to version 1.75 - removed YYPARSE_RETURN_TYPE: no package uses this and yyparse() relies on having its return type compatible with int - do not use C++ kludges fix with the new version * Tue Sep 17 2002 ro@suse.de - removed bogus self-provides * Tue Jul 23 2002 tcrhak@suse.cz - a stack overflow fix for `C++ kludges': do extend stack even if location tracking is not enabled * Wed Jun 26 2002 tcrhak@suse.cz - update to 1.35 * Wed Feb 13 2002 schwab@suse.de - Don't use NULL when it may not be defined. * Fri Feb 08 2002 tcrhak@suse.cz - update to version 1.33 * Fri Jan 25 2002 tcrhak@suse.cz - update to version 1.32 * Tue Dec 11 2001 schwab@suse.de - Fix double free. * Fri Nov 30 2001 schwab@suse.de - Fix use of YYSTACK_USE_ALLOCA in parser skeleton. * Fri Nov 30 2001 tcrhak@suse.cz - update to 1.30 * Sun Dec 03 2000 schwab@suse.de - Fix line numbers in bison.simple. * Thu Aug 24 2000 nadvornik@suse.cz - update to 1.28 * Fri Jan 28 2000 schwab@suse.de - Fix missing declaration - Specfile cleanup, get rid of Makefile.Linux - /usr/{info,man} -> /usr/share/{info,man} * Mon Sep 13 1999 bs@suse.de - ran old prepare_spec on spec file to switch to new prepare_spec. * Fri Jun 13 1997 rj@suse.de - yacc emulation removed, because of existing mid-age technology * Fri May 16 1997 rj@suse.de - version 1.25 - yacc-functionality emulated thru script
/usr/bin/bison /usr/bin/yacc /usr/lib64/liby.a /usr/share/aclocal /usr/share/aclocal/bison-i18n.m4 /usr/share/bison /usr/share/bison/README.md /usr/share/bison/bison-default.css /usr/share/bison/m4sugar /usr/share/bison/m4sugar/foreach.m4 /usr/share/bison/m4sugar/m4sugar.m4 /usr/share/bison/skeletons /usr/share/bison/skeletons/bison.m4 /usr/share/bison/skeletons/c++-skel.m4 /usr/share/bison/skeletons/c++.m4 /usr/share/bison/skeletons/c-like.m4 /usr/share/bison/skeletons/c-skel.m4 /usr/share/bison/skeletons/c.m4 /usr/share/bison/skeletons/d-skel.m4 /usr/share/bison/skeletons/d.m4 /usr/share/bison/skeletons/glr.c /usr/share/bison/skeletons/glr.cc /usr/share/bison/skeletons/glr2.cc /usr/share/bison/skeletons/java-skel.m4 /usr/share/bison/skeletons/java.m4 /usr/share/bison/skeletons/lalr1.cc /usr/share/bison/skeletons/lalr1.d /usr/share/bison/skeletons/lalr1.java /usr/share/bison/skeletons/location.cc /usr/share/bison/skeletons/stack.hh /usr/share/bison/skeletons/traceon.m4 /usr/share/bison/skeletons/variant.hh /usr/share/bison/skeletons/yacc.c /usr/share/bison/xslt /usr/share/bison/xslt/bison.xsl /usr/share/bison/xslt/xml2dot.xsl /usr/share/bison/xslt/xml2text.xsl /usr/share/bison/xslt/xml2xhtml.xsl /usr/share/doc/packages/bison /usr/share/doc/packages/bison/AUTHORS /usr/share/doc/packages/bison/NEWS /usr/share/doc/packages/bison/README /usr/share/doc/packages/bison/THANKS /usr/share/doc/packages/bison/TODO /usr/share/doc/packages/bison/examples /usr/share/doc/packages/bison/examples/README.md /usr/share/doc/packages/bison/examples/c /usr/share/doc/packages/bison/examples/c++ /usr/share/doc/packages/bison/examples/c++/Makefile /usr/share/doc/packages/bison/examples/c++/README.md /usr/share/doc/packages/bison/examples/c++/calc++ /usr/share/doc/packages/bison/examples/c++/calc++/Makefile /usr/share/doc/packages/bison/examples/c++/calc++/README.md /usr/share/doc/packages/bison/examples/c++/calc++/calc++.cc /usr/share/doc/packages/bison/examples/c++/calc++/driver.cc /usr/share/doc/packages/bison/examples/c++/calc++/driver.hh /usr/share/doc/packages/bison/examples/c++/calc++/parser.yy /usr/share/doc/packages/bison/examples/c++/calc++/scanner.ll /usr/share/doc/packages/bison/examples/c++/simple.yy /usr/share/doc/packages/bison/examples/c++/variant-11.yy /usr/share/doc/packages/bison/examples/c++/variant.yy /usr/share/doc/packages/bison/examples/c/README.md /usr/share/doc/packages/bison/examples/c/bistromathic /usr/share/doc/packages/bison/examples/c/bistromathic/Makefile /usr/share/doc/packages/bison/examples/c/bistromathic/README.md /usr/share/doc/packages/bison/examples/c/bistromathic/parse.y /usr/share/doc/packages/bison/examples/c/calc /usr/share/doc/packages/bison/examples/c/calc/Makefile /usr/share/doc/packages/bison/examples/c/calc/README.md /usr/share/doc/packages/bison/examples/c/calc/calc.y /usr/share/doc/packages/bison/examples/c/glr /usr/share/doc/packages/bison/examples/c/glr/Makefile /usr/share/doc/packages/bison/examples/c/glr/README.md /usr/share/doc/packages/bison/examples/c/glr/c++-types.y /usr/share/doc/packages/bison/examples/c/lexcalc /usr/share/doc/packages/bison/examples/c/lexcalc/Makefile /usr/share/doc/packages/bison/examples/c/lexcalc/README.md /usr/share/doc/packages/bison/examples/c/lexcalc/parse.y /usr/share/doc/packages/bison/examples/c/lexcalc/scan.l /usr/share/doc/packages/bison/examples/c/mfcalc /usr/share/doc/packages/bison/examples/c/mfcalc/Makefile /usr/share/doc/packages/bison/examples/c/mfcalc/calc.h /usr/share/doc/packages/bison/examples/c/mfcalc/mfcalc.y /usr/share/doc/packages/bison/examples/c/pushcalc /usr/share/doc/packages/bison/examples/c/pushcalc/Makefile /usr/share/doc/packages/bison/examples/c/pushcalc/README.md /usr/share/doc/packages/bison/examples/c/pushcalc/calc.y /usr/share/doc/packages/bison/examples/c/reccalc /usr/share/doc/packages/bison/examples/c/reccalc/Makefile /usr/share/doc/packages/bison/examples/c/reccalc/README.md /usr/share/doc/packages/bison/examples/c/reccalc/parse.y /usr/share/doc/packages/bison/examples/c/reccalc/scan.l /usr/share/doc/packages/bison/examples/c/rpcalc /usr/share/doc/packages/bison/examples/c/rpcalc/Makefile /usr/share/doc/packages/bison/examples/c/rpcalc/rpcalc.y /usr/share/doc/packages/bison/examples/d /usr/share/doc/packages/bison/examples/d/README.md /usr/share/doc/packages/bison/examples/d/calc /usr/share/doc/packages/bison/examples/d/calc/Makefile /usr/share/doc/packages/bison/examples/d/calc/calc.y /usr/share/doc/packages/bison/examples/d/simple /usr/share/doc/packages/bison/examples/d/simple/Makefile /usr/share/doc/packages/bison/examples/d/simple/calc.y /usr/share/doc/packages/bison/examples/java /usr/share/doc/packages/bison/examples/java/README.md /usr/share/doc/packages/bison/examples/java/calc /usr/share/doc/packages/bison/examples/java/calc/Calc.y /usr/share/doc/packages/bison/examples/java/calc/Makefile /usr/share/doc/packages/bison/examples/java/simple /usr/share/doc/packages/bison/examples/java/simple/Calc.y /usr/share/doc/packages/bison/examples/java/simple/Makefile /usr/share/info/bison.info.gz /usr/share/licenses/bison /usr/share/licenses/bison/COPYING /usr/share/man/man1/bison.1.gz /usr/share/man/man1/yacc.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Oct 23 00:06:56 2024