369430 commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
nia
|
0bde2bb0a2 |
mariadb106: Since upstream's attempt to detect alloca.h without
system-specific defines seems to have failed, we need to force the issue on SunOS. OmniOS-CE has a patch to revert the change, but that doesn't quite sit right with me either. |
||
nia
|
2381a369e0 | mpv: Define __EXTENSIONS__ for strcasecmp on SunOS | ||
khorben
|
dc74f00e60 | doc: Updated devel/radare2 to 5.8.0 | ||
khorben
|
9a43665d47 |
radare2: update to 5.8.0
Changes: abi * RAnalOp.srcs,dsts are not pointers anal * Working apt and add apl to list function preludes * Rename axj to axlj, because axj is for jmp refs * Introduce anal.tailcall.delta and use flags for better metrics * Improve the tailcall detection logic * Improve warning that only seems to happen when anal.nopskip is set * Always show all the archinfo, even when not provided by the plug * Dont show analysis progress on non-interactive shells * Add esil.dfg.mapinfo and esil.dfg.maps config vars * Some more improvements to esil_dfg * Fix size returned from r_anal_op * Fix warning in aflj when parsing vargarg signatures * Add register computed const pointer support for esil dfg * Add memory computed const pointer support for esil dfg * Introduce R_ANAL_ESIL_DFG_TAG_{REG,MEM} * Use treebuf io plugin as memory access backed for esil_dfg * Fix pickle asm rejecting empty strings * Do not recurse noreturn inspection when !addr or -1 * Generalize vector instruction types instead of following intel-specific * Add /au to search for unknown destination jmp/call * Add anal.noret and refactor anal.noret.refs * Fix #20827 - Show srcs/dsts in aoj * Fix aae argument parsing regression in and improve help * Add support for stack-computed const pointers in esil_dfg * Fix anal.a2f in aac * Increase default anal.depth from 64 to 128 * Clarify which commands are used on each aaaa line * Fix anal.depth usage when analyzing one basic block * Loongarch analysis bug fixes (bl, race condition) * Implement aflxv and aflx? commands * Run /azq in aaaa * Fix long1,long4 pickle opcodes * Fix #20798 - Fix bx after add lr,pc,0 in arm32 * Fix null pointer in aflxj * Implement aflxj * Add noreturn column in afll * Use RPVector in RAnalOp src/dst to support ldm/stm/simd * Fix pickle arch thinking 0 is 64 bit * Don't show the linearsize in the afl output * Add anal.vars.newstack - configurable improved stack-relative var analysis * Working apt and add apl to list function preludes * Rename axj to axlj, because axj is for jmp refs * Introduce anal.tailcall.delta and use flags for better metrics * Improve the tailcall detection logic * Improve warning that only seems to happen when anal.nopskip is set * Always show all the archinfo, even when not provided by the plug * Dont show analysis progress on non-interactive shells * Do not recurse noreturn inspection when !addr or -1 * Generalize vector instruction types instead of following intel-specific * Add /au to search for unknown destination jmp/call * Add anal.noret and refactor anal.noret.refs * Fix #20827 - Show srcs/dsts in aoj * Fix aae argument parsing regression in and improve help * Fix anal.a2f in aac * Increase default anal.depth from 64 to 128 * Clarify which commands are used on each aaaa line * Loongarch analysis bug fixes (bl, race condition) * Implement aflxv and aflx? commands * Run /azq in aaaa * Add noreturn column in afll * Add anal.vars.newstack - configurable improved stack-relative var api * Make RReg refcounted * Implement {ctz|clz}{32|64} RNum * Define RPluginMeta and RPluginStatus * Add new RCore.cmdCallf() helper function * Merge RParse into RAsm * Refactor RLang api to use the new design * Fix null deref on wrong api usage for RCore.cmdStr * Moving more logic between asm, arch, parse and anal * RAnalEsil -> REsil api refactor * Deprecate reil and sysarch defines * More refactorings and api redesigns in r_arch * Remove eprintf calls in favor of R_LOG * Implement RReg.clone() * Deprecate r_str_dup() - related to #20959 * Rename RVector.len to RVector.length for consistency * Remove the unnecessary RThread.CpuAffinity() * Add portable NaN and INF defines for different float sizes * Deprecate r_cons_eprintf and use R_LOG instead * Rename RStr.home() to RFile.home() as part of the Plan * Rename r_mem_memzero to r_mem_zero * Prefer _tostring() instead of _to_string() * Improve r_ref implementation with debugging support * R_BIN_NM -> R_BIN_LANG * Implement thread-safe refcounting - but disabled by default * Deprecate the unused RFList * Implement r_str_ntrim() and speedup r_str_trim() with it * Initial implementation of RString (30% faster than RStrBuf) * Implement r_sys_getenv_asint * Add r_cons_is_initialized * Boolify r_core_yank_file_all() and fix shadow var bug * Add r_file_is_executable and r_file_extension apis * Fix UB bug when using r_vector random access * Change R_LOG_INFO to R_LOG_TODO where suitable * Merge rhash into rcrypto and improve apis * Fix memory leak in r_str_list_join() * Boolify and rename some methods and fields from RFS * Add .author field in all the RLang plugins * Add a public api for the yank-unset action * Constify the help arch * Add the arch.preludes() callback and new RSearchKeyword constructor * Move anal.v850 to arch * Fix counted string bug in pickle * Fix negative unsigned cast in the xtensa disassembler * Add RAnalOp.weakbytes() and move more analop apis to arch * Move anal.xap into the arch * Update tests and better arch.patch/modify callback * Move anal.{6502,snes} into arch * Kill RAsmOp, we can reuse RAnalOp in here * Improve pickle disasm on invalid instructions * Remove RAsmPlugin struct and add the 'aia' command to show archinfo * Move the remaining asm plugins into the arch * Minor plugin selection improvements * Move asm.nasm into the arch * Move asm.vasm into arch.any_vasm * Assemble large pickle instructions * Fix and move failing tests, reorder lib build * Move the arm assembler plugin from asm to arch * Temporary add RAnal as dependency for REgg * Improve x86.nz assembler parsing and other bugs in rnum * Initial implementation of the arch.any.as plugin * Better handle of RNum errors for egg and arch.x86.nz * Support reg+idx and idx+reg in x86.nz assembler * Move the x86.nz plugin * Fix asm.acur supporting arch, anal and asm plugins * Fix asm.acur supporting arch, anal and asm plugins * Move anal_riscv to arch_riscv * Fix rasm2 -LLL using the new multi-bits macros * Introduce RSysBits and its packing/checking macros * Implement archinfo() in RAnal.Plugin.tms320 * Deprecate the unused RArchPlugin.esil field * Use PJ to return the list of mnemonics aoml in arm.v35 * Move anal.rsp to the new home * Move anal.v810 into arch.v810 * Move pickle from anal to arch and add it to meson * Remove anal.malbolge and fix CI r_esil issues * Move the 'sh' plugin to the new home * Honor plugin name in rate matching for RArch.use * Move jdh8 from asm/anal to arch * Unify RArchOp into RAnalOp using common include files * Fix RArchOp.refptr from bool to int * Bump cs5 to support FNOP on m68k * Wire-up RArch into RAnalOp * Fix arm64 plugin to work well with latest arm64 changes in capstone * Use the latest capstone5-next with updated aarch64 support * Copy anal_amd29k.c to rarch * Change arch plugin definition * Add some more arch config vars * Introduce arch.endian config var * Instantiate RArch in anal * Introduce RArchConfig->decoder * Add R_LIB_TYPE_ARCH and i4004 arch-plugin * First arch plugin (arch.null), implement basic lib api * Start moving EVM analysis from extras to core * First implementation of r_arch decoder api * Introduce the new r_arch library, just the skeleton * Add some r_arch api declarations * Initial commit on RArch structs asm * Deprecate more unused fields from RAsmPlugin * Fix the parse.z80.pseudo plugin and add a test * Remove the unused RAsm.binb * Internal cleanup of asm.c, deprecate the disassembly callback * Load cpu descriptions for multiarch plugins * Fix rasm2 x86.nz for "xchg eax,eax" and add tests bin * Fix JSON encoding of section addresses * Add test for cwd source listing, CLL and list * Add warning when loading DWARF5 files (not supported) * Add test for the obm with CL, support noncwd paths * Use obm when spotting a companion dwarf file on macOS * Implement RBinFile.merge() and obm command to use it * Initial implementation of the ob-- command to close the last binobj * Autoload the dwarf companion file on macOS systems if available * Use rabin2 -rO for raw dump operations * Use glob expressions to specify section name to dump * Fix #14540 - klass->super must be an RList instead of char* * Support for Xbox 360 PE32 architecture (PPC BE) * Fix wrong detection of main in elf-arm32 * Fix rabin2 -gj and add tests * Add bin.types and disable by default for CI reasons * Support loading Plan 9 kernels * Use API instead of commands to autoload a pdb * Fix #21020 - fix json format for rabin2 -jM when no main is found * Expose section type for coff, elf and macho formats * Fix #18375 - Only patch arm64 relocs when not initialized * Add experimental bin.str.nofp config for less false positives * Parse the PT_DYNAMIC elf section for the preinit pointers * Fix validation check in xnu * Initialize macho header pf definitions * Speedup class bin loading with bin.filter=false * Implement 'ic.' command * Fix initial seek for Rosetta2 aot binaries * Silent noisy warning in dwarfprocess * Expose klass->super details for objc categories * Include fields in the ic output * Enable the swift metadata parser by default and import classinfo * Add lang field for classes, symbols and methods, expose it via ic * Warn about unpatched relocs when no bin.cache is set for macho fixups * Add support for 32bit Mach-O fixups * Expose the macho reloc fixups and use internal buffer for parsing * Fix obf and add tests for it * Fix Cd4[ invalid syntax used in macho _const section * Expose the id_dylib macho command info into the bin kv * Enlarge the c++ demangler stack limit to solve a warning * Implement Dwarf.register identifier mapping for v850 * Infuse asm.cpu from the elf flags for v850 ELFs * Remove asm.features, improve RBinInfo with flags and abi details * Improve brainfuck detection to reduce false positives * Implement dwarf.regName() for arm64 * Import the free pascal symbol demangler from rizin build * Double lowerdash defines should be defined only by the compiler * Fix and improve static build, faster libr.a with libtool if available * Improve libr.a creation with ar -rcT instead of ar -x * Speedup tcc builds by not using -g * Move esil one level up in libs.mk * Update sdb to remove double include paths * Fix compilation with -lcrypto * Do not use macos-latest (macos-11 is fine for LTS) * Update the capstone4 support to 4.0.2 * Fix zig's @Cinclude of r_th.h * Add crosscompiling support with sys/zig.sh * Do not install the v35 archives (-50MB) in make install * Fix capstone dynamic memory allocation setup issue * Support sys/debian.sh crossbuilds * Remove unused lc-printscan-long-double wasi flag * Check if CWD contain spaces in sys/install.sh * Add the acr --enable-threadsafety flag and the same for meson * Fix meson infinite loop * Disable libuv by default on meson and acr * Change build order as long as now bin depends on fs ci * Test r2 build with all sysdependencies enabled * Upgrade al-cheb/configure-pagefile-action to the v1.3 * Run unit tests in parallel * Upgrade github actions/checkout from v2 to v3 * Upgrade actions/upload-artifact from v2 to v3 cmd * Fix bugs in aeg command parser config * Deprecate the use of comma in e: as stated in the r2580 prophecy * Deprecate graph.web eval config var * Remove the file.offset unused config variable cons * Fix static themes listing * Add support for statically compiled themes * Fix Ctrl+Arrow dietline shortcut for word cursor * Fix console history log path regression core * Enable cmd.undo by default * Rename many bin.str evars into bin.str. * Use XDG instead of R2_HOME_CACHEDIR and R2_HOME_HISTORY * Initial support for XDG env vars and paths * Fix RConfig.setB when the key doesnt exist * Deprecate scr.seek configuration variable * Initial implementation of R_LOG_TODO crash * Fix segfault in poa 1 * Fix integer overflow in fuzzed dwarf rendering in graphs * Fix use-after-free after @@@e spotted by meme * Fix UAF in aaft when the BB is removed during the loop * Fix UAF on quit exposed by r2frida crypto * Initial abi breaking changes in RCrypto/RHash * Fix rahash2 -L listing full hash * Initial work on the way RCrypto handles plugins * Separate SM4 algorithm from plugin * Implement the SIP hash algorithm debug * Bring back the 'dms' command * Fixed incorrect thread arena output * IO uses PID to read from child, tid is just for regs * Fix r2 -d foo\bar.exe and r2 -d bar.exe on windows * Make RDebug.regRead() and regWrite() return bool decompiler * Improve the outpuf of pdc by trimming the addresses of inline nops and colorize numbers * Add colorization support to pdc output disasm * Implement asm.bytes.align to justify them to the right * Fix char auto-comment in cmp instructions * Improve pseudodisasm for arm64 * Improve arm.pseudo when no function information is available * Fix mips.pseudo shortpath when function is null * Fix x86.pseudo shortpath when function is null * Fix NULL function xrefs in pd * Implement asm.flags.right option * Add dummy parse.evm plugin to fix portability of test * Add a dummy bpf pseudo plugin * Add RParse.justify() to easily fix commas and spaces * Better spacing in arm.pseudo parse plugin esil * Initial support for threads in esil * Fix #21052 - wrong emulation for pop rsp * Move anal.esil into the new esil * Add aegb command as an alias for 'aeg pieq $Fi' * Add aegn command to combine N esil instructions into one dfg * Use a function instead for the spaguetti code in all cmp esil opcodes -30LOC globals * Remove one global variable in RCore.cmdEval() * Remove two globals from RCons.cpipe * Remove the 3 globals in anal.xtensa * Remove 3 globals from anal.tricore * Remove the 3 globals from anal.vax * Remove 3 globals from anal.nios2 * Remove 3 globals from anal.arc * Remove 3 globals from anal.sparc.gnu * Remove 3 globals from anal.sh * Remove 3 globals from anal.alpha * Remove 3 globals from anal.lanai.gnu * Remove 3 more globals from anal.pdp11 * Remove 3 globals from anal.hppa * Remove 3 globals from anal.m68k.gnu * Remove the 3 globals in anal.ppc.gnu * Remove 3 globals from anal.cris * Remove 4 globals from anal.mips.gnu * Deglob 4 vars in the arm.gnu disassembler * Remove 3 globals in s390.gnu * Remove 10 more globals from analysis and capstone * Remove 3 globals in ccarg analysis * Remove all global variables from RCrypto * Move colortable global into the RConsContext * Remove global from utf8 * Remove the last global variable in libmagic * Remove in_log_process global * Remove global in bin.obj.reloc_patch * Remove global variable in esil loop graph * Initial work in graph.bubble for custom bg color in nodes * Honor graph.layout in aegv too, instead of harcoding horizontal one * Deprecate aegi and aggi, those were dupes for aegv and aggv * Fix null deref in agg and avoid destructive manners of 'V ,' help * Make the anal.depth warning more useful indent * Balance spacings in braces io * Initial implementation of the generic io-stream api * Fix UAF in streaming io plugins when used with io.va=1 * Remove invocation of v layer cache in r_io_desc_read * Start rewriting io_cache.c * Kill r_io_read_at_mapped * Initial import of the serial plugin * Kill io->buffer * Remove unused fcn declarations * omfg runs omm if no map is set * New o++ command to create and open a new file * Add "reset" system command to treebuf io plugin * Minor bugfix in treebuf io plugin * Add treebuf io plugin * Fix free-before-use on r_io_reopen of a rbuf:// fd/desc * Handle reloc maps properly in r_io_map_remap and r_io_map_resize * Fix reloc map memleak * Add rio reloc maps * [5.8.0] Disable the default io.basemap json * Fix tj ttj tfj outputs * Fix invalid json in tj command * Fix #20772 - ihj rendering an invalid json because of pfj lang * Make r2 -j work as a hashbang handler for qjs * Enable BigNum in qjs * Use r2papi 0.0.4 with base64 and R2Api is now known as R2Papi * Add requirejs, simplify compilation and add js_ prefix to all the c files * Add typescript support * Minor improvements for js: with r2.call() and r2.cmdj * Enable Bignum support to the QJS interpreter * Import the alpha r2papi 0.0.2 api for qjs * Integrate the qjs repl into the js: command * Initial import of the interactive QJS repl * Import the quickjs rlang plugin * Implement py command and add stdin slurp support for js- too * Add 'js' and 'js:' commands, as well as improve help for #!? * Fix null deref in rlang * Add "lua" as an alias for "#!lua" leaks * Fix leaks in pdc * Fix more memory leaks in rbin and ranal for arm64 * Patch more leaks in the analysis and rbin * Some safe memleaks related to analysis and registers refcounting * Fix memory leak in dietline lint * Enable the leading spaces linter rule and fix them all * Use more tabs and add a (disabled for now) linter for it logs * Redirect RLog messages into the Corelog * Add base64 support to the T and T* commands panels * Add ve command to set fg/bg colors for current panel print * New RPrint.spinBar() API used from scr.demo for now * Fix pcc trifids confussion issue * New command CLL (aka list) show function source using addrline (dwarf) info * Fix #21080 - Add cfg.codevar to change the buffer varname from pc * ASN.1 and x509: correct OCTET_STRING and Public key info parsing * Add ASN1 Algorithm Identifiers for Edwards curves * Fix #20993 - Correct ASN.1 BIT_STRING parsing * Implement pcn command to print bytes as space separated numbers * Add support for the swatch dot-beat internet time * Workaround for "too large buffer" in formats * px* is an alias for pc* * Implement pFoj command * Implement pFaj for asn1 json decoding * Initial refactoring/cleanup of ASN1 parser api * Add pFxj command to print x509 certificates in JSON format * Add pFpj command to print PKCS7 files as JSON * Fix issue in 'pdc' that was showing empty orphan nodes * Implement new 'pcq' command, like pc, but inline-include-friendly * Implement the new pieb command as an alias for pie $Fi * Fix read buffer overflow in pxq -272 * Implement pFbJ command with quiet and verbose json formats * Implemen pFbj for json printing of protobuf * Set hex.hdroff=true by default * Implement pFAj to render android xml in JSON (abi break) * Implement TSV output format for RTable projects * Fix some problems when renaming projects * Fix some bugs in projects * Quote commit message to avoid git error when saving project * @radare Do changes in Px->Pc, Pc->PS* as planned r2pipe * Check magic header before assuming an interpreted file is executable r2pm * Fix assert in Str.Trim() when r2 is not installed * Add support for tarball and zip packages * Honor EDITOR in r2pm -e * Remove all the references to the old r2pm.sh * Implement R2PM_FAIL and mark it as deprecation for r2-5.9.x * Implement r2pm -cp like it was in r2pm.sh * Fix clean installations with r2pm -c * Expose R2PM_SUDO and list R2PM_PREFIX in -H * Handle -HH in r2pm for verbose env listing and remove unused R2PM_GITSKIP * Fixes pull/install/uninstall on windows * r2pm -Ui can be combined now and fix extras package building * Honor R2PM_DBDIR env var * Honor -f in r2pm -U to force clean the r2pm db * Support XDG on r2pm and expose the PKG_CONFIG_PATH * Expose R2_LIBEXT for r2pm packages * Update r2pm manpage and add -q and -a flags * Show package source with r2pm -d * Implement r2pm -H to make more packages build * Fixes parsing the GIT URL on some packages * Test the new default native r2pm fix flushing and using RLOG * Make R2PM_NATIVE the default and provide R2PM_LEGACY r2r * Fix rvector assert when indexing empty ones refactor * Move the RParse.cparse into RAnal.cparse * Stop aeg from abusing agg * Rename R_ANAL_ESIL_DFG_BLOCK_ to R_ANAL_ESIL_DFG_TAG_ * Rename EsilDFGRegVar to EsilDFGVar and introduce EsilDFGVarType * Avoid using RArchConfig->big_endian * Add addr_bits to RArchPlugins and make info and decode cbs cfg aware * Add archcond api to rarch, some small cleanup in anal * Make bitness, endianess and esil-support fields of RArchPlugin again * Copy value.c and op.c from anal to arch * Copy switch.c from anal to arch * Add some more typedefs and enums to r_arch * Rename r_arch_set_ to r_arch_config_set_ * Rename R_ASM_SYNTAX to R_ARCH_SYNTAX * Simplify x86_cs BSR and BSF esil * Use r_strbuf_replacef in anal_mips_gnu esil generation * Use r_strbuf_replacef in anal_mips_cs esil generation rvc * Initial refactoring of the version control api * Move rvc from core to util * Fix rvc.commit when non-interactive with a default message scan * Fix crash in the swift metadata parser spotted by coverity search * Fix JSON encoding of unsigned search values * Fix /au after aeim * Fix /w and /wi, add tests, minor code cleanup * Add r_anal_optype_index to make /atl and /at use full listings of optypes * Support space separated instruction types and family in /at and /af * Improve json output for /asj and /atj * Fix calling /re twice after ^C * /az uses anal.in instead of search.in to improve scan results * Make /az faster after aeim, skipping unrelated regions * Fix last char bug in swift strings found with /az * Add x86-64 support to /az * Add flags under the asm.str flag prefix when doing /az * Honor bin.minsz in /az is no argument is provided * Implement /azq to search for assembly strings and add tests * Implement the new /az command to find assembly constructed strings * Superseed #20447 - remove some magic globals shell * Fix ?vi:123 and ?v:123 commands * Print whatever is taken from io_system to rcons * Fix runtime warning after leaving an rlang session * Add "" command to run RCore.cmdCall() * Fix #21136 - o <tab> autocompletion not working * Show help when using invalid subcommand of afi * Implement abo and afbo commands to list opcode offsets in function or bb * Implement o-. command, add help for future o-$ * Expose RCore.cmdCall() and fix b64: command + add tests * Show number conversion error messages in ?v command * Fixes for the line editor using live save/load with new RFile apis * Implement oe command to open a file using cfg.editor * Add quiet and table listing for lang plugins * Implement Ll, Llq and #!?q commands for better rlang listing * Fix r2 /directory behaviour * Support $r:REGNAME syntax and document it * Implement cmd.usr1 and cmd.usr2 to handle signals on unix * Add #!qjs and #!tiny for autocompletion * Fix behaviour of -a and -b flags (no arg= show current, append? for help) * Rename the drm command to drv for consistency * Add -s -i -f r2 commands * Implement -a, -b, -c and -e commands in r2 * Add tabhelp exception for pf. * Add r2 -LL to list core plugins * Improve help message for f subcommands * Take into account static themes when listing * Add ot command as an alias for touch * Implement the ji: command as an alternative to ~{} without cons filtering * Also handle (j) and (*), more syntax-consistent and add a test * Implement (j for json output of macro commands * Initial implementation of ?ie * Add missing help for the '?i?' command * Use RCoreHelp for /ca? * Fix #20760 - Implement native gron via ~{=} * Remove RPrintRowlog and use R_LOG isntead * Allow changing number of saved input lines * Implement log.source and log.origin * Add the new ucu and ucd commands using the new core-undo apis * Rename asm.{off} variables to asm.offset syntax * Move the preincrement and void arg from tests to lint.sh threads * Initial ref-counted RRegItems, needed for threadsafety * Move the readahead logic to a local variable * Guard more critical sections in cons and core * Analysis now waits in background for the bin parsing to finish * Add some RThreadLocks and start to use the critical sections thready * Dont call RCore.seek() and read a new buffer in disasm tools * rax2: corrects base64 encoding for null bytes * Fix r2 -2 * Fix broken tests for long number conversion * Fix base64 null byte decoding bug in rax2 * Implement rasm2 -LLL to list arch plugins * Add Ls to list assemblers, and LA to list analysis plugins * Bring back the r2 -t for parsing bin and analysing in background * rarun2 supports multiple preload directives util * Fix the XML parser * shlr/yxml -> libr/util/rxml - fork the abandoned yxml parser and expose it * Add RStr.ansiStrip() and RStr.insert() * Improve internal RBuffer API checks * Add log error when pj depth limit reached * Add R_SYS_BITS_12 * Introduce R_SYS_BITS_4 * Add :header and :noheader in RTable * Fix crash in r_vector_shrink * Minor COV fix in r_str_char_count * Fix return type of r_str_char_count * Add new RStr.replaceAll() api * Use R_PRINTF_CHECK for r_strbuf_replacef * Add r_strbuf_replace{f} vc * Initial rvc refactoring and cleanup of the api * Move rvc apis into callbacks * Make ravc2 accessible via blob and r2 shell visual * Use RAnalOp instead of RAsmOp in r_core_visual_bit_editor * Fix issue with cursor disappearing towards the bottom of the screen * Don't draw two cursors when too many bytes are on disasm panels * Make j/k movement in panels' cursor mode more consistent with it's visual counterpart * Don't skip byte when moving left/right in cursor mode (disassembly panel) * Fix pdc glitching in panels * Handle arrow keys in VT * Handle JK0 keys in VT * Honor cmd.vprompt and scr.notch in VT * RStr.wrap() supports ansi and use it in VT * Implement Tv command and use it from VT * Fix the cache and other bugs in panels * Override scr.maxpage in panels to avoid undesired prompts wasm * Upgrade to the latest wasi16 sdk |
||
khorben
|
60bb4906a7 | doc: Updated sysutils/py-diffoscope to 229 | ||
khorben
|
512351748a |
py-diffoscope: updated to 229
Changes in 229: [ Chris Lamb ] * Skip test_html.py::test_diff if html2text is not installed. (Closes: #1026034) [ Holger Levsen ] * Bump standards version to 4.6.2, no changes needed. Changes in 228: [ FC Stegerman ] * As an optimisation, don't run apktool if no differences are detected before the signing block. (Closes: reproducible-builds/diffoscope!105) [ Chris Lamb ] * Support both the python3-progressbar and python3-progressbar2 Debian packages, two modules providing the "progressbar" Python module. (Closes: reproducible-builds/diffoscope#323) * Ensure we recommend apksigcopier. (Re: reproducible-builds/diffoscope!105) * Make the code clearer around generating the Debian substvars and tidy generation of os_list. * Update copyright years. Changes in 227: [ Chris Lamb ] * Don't attempt to attach text-only differences notice if there are no differences to begin with. (Closes: #1024171, #1024349) * Don't run Python decompiling tests on Python bytecode that both file(1) cannot yet detect and Python 3.11 cannot demarshall. (Closes: #1024335) |
||
minskim
|
78836d443c | lang/rust-bin: Add support for Darwin-*-aarch64 | ||
fcambus
|
4519d66fde | doc: Updated converters/bdf2psf to 1.212 | ||
fcambus
|
d8eea5536e |
bdf2psf: update to 1.212.
Nothing applying to bdf2psf in particular noted in the Changelog. |
||
schmonz
|
6e232cb280 | doc: Updated net/rabbitmq to 3.11.5 | ||
schmonz
|
b1c193ab22 |
Update to 3.11.5. From the changelog:
3.11.5: ## Changes Worth Mentioning ### Core Server #### Enhancements * Backported a number of free disk space monitor resiliency improvements. GitHub issue: #5831 * `raft.adaptive_failure_detector.poll_interval` exposes [`aten`]()'s `poll_interval` setting to RabbitMQ users. Increasing it can reduce the probability of false positives in clusters where inter-node communication links are used at close to maximum capacity. The default is `5000` (5 seconds). GitHub issue: #6632 * When both `disk_free_limit.relative` and `disk_free_limit.absolute`, or both `vm_memory_high_watermark.relative` and `vm_memory_high_watermark.absolute` are set, the absolute settings will now take precedence. GitHub issue: #4980 * Closing channels will now log a warning if they had any messages pending a confirmation from the server. GitHub issue: #1399 * New quorum queue option for in-memory table (MemTable) compression. GitHub issue: #6590 * Default queue type (a virtual host setting) is now applied when importing definitions into a single virtual host. GitHub issue: #6599 #### Bug Fixes * Feature flags provided by plugins were mistakingly disabled after node restart. GitHub issue: #6500 * Classic queues with Single Active Consumer enabled could run into an exception. GitHub issue: #6502 * When a global parameter was cleared, nodes emitted an internal event of the wrong type. GitHub issue: #6538 ### CLI Tools #### Bug Fixes * `rabbitmq-queues grow` and `rabbitmq-queues shrink` misformatted the errors they could encounter. GitHub issue: #6601 #### Enhancements * Implicit `help` command (when CLI tools were invoked without a command name) now respects all global flags (such as `--node`). For example, previously the `--node` flag in rabbitmqctl --node rabbit@ns1.rabbitmq.cluster.local was ignored but now CLI tools would discover what plugins are enabled on node `rabbit@ns1.rabbitmq.cluster.local` and include them into `help` output. GitHub issue: #6598 * New key supported by `rabbitmqctl list_queues`: `effective_policy_definition` that returns merged definitions of regular and operator policies effective for the queue. GitHub issue: #6556 ### Management Plugin #### Enhancements * It is now possible to omit explicitly specifying queue type when declaring a queue (or stream) in the management UI, and rely on the default queue type configured for the selected virtual host. GitHub issue: #6600 * New HTTP API endpoint, `GET /api/config/effective`, returns effective node configuration. This is an HTTP API counterpart of `rabbitmq-diagnostics environment`. GitHub issue: #6016 ### Shovel Plugin #### Enhancements * Flow control state for Shovels is now reported with higher fidelity (of 1 second vs. several seconds previously). This means it should be easier to spot Shovels that run into flow control using management UI. GitHub issue: #6615 ### Sharding Plugin #### Bug Fixes * Plugin could fail to boot and halt node boot due to incorrect boot step metadata. GitHub issue: #6583 ## Dependency Upgrades * `ra` was upgraded from `2.4.1` to `2.4.5`. 3.11.4: ## Changes Worth Mentioning ### Core Server #### Enhancements * Import of definition files with many streams is now more efficient. GitHub issue: #6436 * Lower CPU throughput in clusters with many mostly idle streams. GitHub issue: #6436 * Streams with `max_age` retention now attempt to reclaim disk space every hour. This is relevant in environments with a lot of mostly inactive streams that set `max_age`. GitHub issue: #6436 * Quorum queues are now more resilient to WAL log growth with workloads that involve clients that register a consumer and then close the channel or connection without ever consuming any deliveries or cancelling the consumer. GitHub issue: #6447 #### Bug Fixes * When a node encouters an invalid `definitions.local.file` on boot, it will refuse to start instead of ignoring the file. GitHub issue: #2610 * Fixed a type analyzer definition. GitHub issue: #6401 ### CLI Tools #### Enhancements * `rabbitmq-diagnostics check_if_node_is_quorum_critical` and `rabbitmq-upgrade await_online_quorum_plus_one` now consider stream (not just quorum queues) replica placement when determining if target node is quorum-critical. GitHub issue: #6448 * Queue info keys now support more inclusive property names related to (deprecated) classic mirrored queues. For example, `mirror_pids` can now be used instead of `slave_pids`. GitHub issue: #2635 * `rabbitmq-diagnostics memory_breakdown` now executes significantly faster in environments with a large number (say, tens or hundreds of thousands) of quorum queues. Two orders of magnitude faster, in fact. GitHub issue: #6388 #### Bug Fixes * Definition export in JSON failed on nodes that used `definitions.skip_if_unchanged`. GitHub issue: #6424 * Using quorum queue-specific commands on streams now results in clearer error messages. GitHub issue: #6488 ### LDAP Plugin #### Bug Fixes * LDAP server password could end up in the logs in certain types of exceptions. GitHub issue: #4842 ### STOMP Plugin #### Enhancements * `x-max-age` stream setting now can be set by STOMP clients via a header. GitHub issue: #5003 ## Dependency Upgrades * `osiris` was upgraded from `1.3.3` to `1.4.0` |
||
abs
|
27828d70b1 |
Update to build with python 3.10
Previously max version was 3.9. Hopefully at some point someone will have the time to upgrade pkgsrc to a newer version of thunderbird, but in the meantime... |
||
abs
|
b41f6ead04 | Switch to INSTALL_SCRIPT for script file | ||
schmonz
|
6b2b7154df | doc: Updated print/brlaser to 6.2 | ||
schmonz
|
d7efb56909 |
Update to 6.2. From the changelog:
Merge pull requests: pdewacht#107 Added DCP-7070DW; Thanks Jan Musinsky pdewacht#133 Fixed MFC-7460DN; Thanks Peter Ye pdewacht#169 Changed Code; Thanks Thomas Nixon Added additional Brother printer entries: HL-L5000D series HL-L2370DN series DCP-7070DW DCP-8065DN Errors Fixed: Fix the ppd file name for the MFC-7460DN, changed from br7365dn.ppd to br7460dn.ppd Code Changes: Explicitly disable duplex in PCL \033&l0S. Issues Resolved: The HL-L2350DW printer continued to duplex even when disabled, but every other page was garbled. Thanks to Thomas Nixon for the fix. |
||
nia
|
7d8e106081 |
rust: Clarify platform.mk mess once again. Notably, there is no
bootstrap available for Solaris SPARC64, which is something noticed by K. Schreiner on pkgsrc-users. |
||
abs
|
da274f95fa |
Fix gng to work with python2 and python3
Used "print" without parenthesis. Also add dependency on python (gng calls python from within a bash script) |
||
abs
|
f0172a3ca9 |
Do not try to strip bash scripts
gng & gradlew are scripts, use INSTALL_SCRIPT rather than INSTALL_PROGRAM |
||
schmonz
|
cfda00ccdf | Indent. | ||
schmonz
|
9b7fb74ca7 | doc: Updated lang/elixir to 1.14.2 | ||
schmonz
|
2adc53585f |
Update to 1.14.2. From the changelog:
## v1.14.2 (2022-11-11) ### 1. Enhancements #### Elixir * [Code] Add `Code.eval_quoted_with_env/4` with support for the `:prune_binding` option #### ExUnit * [ExUnit.Case] Allow test cases to not be registered on use * [ExUnit.DocTest] Include `:doctest` and `:doctest_line` as meta tags * [ExUnit.Formatter] Expose `ExUnit.Formatter.format_assertion_diff/4` #### Mix * [Mix] `Mix.install/2` accepts atoms as paths ### 2. Bug fixes #### Elixir * [Code.Formatter] Fix `size*unit` shortcut in bitstring * [Kernel] Generate unique variables for macro expansion of `defguard` * [Protocol] Expand `:for` in protocols with the appropriate env #### ExUnit * [ExUnit] Do not run duplicate cases on `ExUnit.run/1` #### Mix * [mix test] Ensure proper error message when there is no test directory ## v1.14.1 (2022-10-10) ### 1. Enhancements #### Elixir * [Kernel] Perform partial expansion of literals in module attributes * [Kernel] Do not add compile-time dependencies for literals as defaults in `Application.compile_env/3` inside module attributes * [Macro] Add `Macro.expand_literals/2` and `Macro.expand_literals/3` * [System] Add `:close_stdin` to `System.shell/2` #### Mix * [mix test] Accept `--all-warnings` option ## 2. Bug fixes #### Elixir * [Kernel] Fix misleading warning when `:uniq` is given in `for` comprehensions and the result is unused * [Kernel] Improve error message for when there is a conflicting struct and ignoring module conflict * [Kernel] Do not delete `@enforce_keys` attribute after `defstruct` declaration * [Kernel] Do not crash the checker on modules with missing `:debug_info` chunk * [Macro] Fix error in `Macro.to_string/2` when converting an AST with `:erlang.binary_to_atom/2` * [String] Fix `String.split/3` and `String.next_grapheme/1` returning invalid results on invalid UTF-8 encoding * [System] Do not close stdin by default in `System.shell/2` * [URI] Do not return `uri.port` as `:undefined` in certain cases in `URI.new/1` #### ExUnit * [ExUnit.DocTest] Do not crash when both `:moduledoc` and functions are specified in `:only` #### IEx * [CLI] Fix invalid argument handling when `--no-pry` is given #### Mix * [mix format] Do not cache inputs from `.formatter.exs` so they are properly re-evaluted on every call |
||
schmonz
|
86d2eb5c14 | doc: Updated lang/erlang-man to 25.2 | ||
schmonz
|
818abf7f2a | doc: Updated lang/erlang-doc to 25.2 | ||
schmonz
|
e95a3c79dd | Update to 25.2 to match lang/erlang. | ||
schmonz
|
fde8e9f621 | doc: Updated lang/erlang to 25.2 | ||
schmonz
|
7edcaf5f86 |
Update to 25.2. From the changelog:
Potential incompatibilities: - The inet:setopts/2 {reuseaddr, true} option will now be ignored on Windows unless the socket is an UDP socket. For more information see the documentation of the reuseaddr option part of the documentation of inet:setopts/2. Prior to OTP 25 the {reuseaddr, true} option was ignored for all sockets on Windows, but as of OTP 25.0 this was changed so that it was not ignored for any sockets. |
||
schmonz
|
27c7812982 | doc: Added devel/swagger-codegen version 3.0.36 | ||
schmonz
|
97b6df8749 | Add and enable swagger-codegen. | ||
schmonz
|
78e4155ab8 |
Add swagger-codegen, for generating clients, server stubs, and docs from
an OpenAPI spec. swagger-codegen contains a template-driven engine to generate documentation, API clients and server stubs in different languages by parsing your OpenAPI / Swagger definition. |
||
schmonz
|
207480b17b | doc: Added devel/gng version 1.0.3 | ||
schmonz
|
60f79d6897 | Add and enable gng. | ||
schmonz
|
0c7e685427 |
Add gng, a tool to run (or create) each project's own Gradle wrapper.
GNG is a script that automatically search your gradlew when you are inside your Gradle project and execute it. It also contains an official Gradle wrapper. You can create gradle projects from scratch without installing Gradle. This is originally inspired by gdub and gradlew-bootstrap. |
||
schmonz
|
290241d654 | doc: Added devel/asdf version 0.11.0 | ||
schmonz
|
9b7fb6a6c3 | Add and enable asdf. | ||
schmonz
|
1125fffa38 |
Add asdf, an extensible tool to manage each of your project runtimes.
asdf is a CLI tool that can manage multiple language runtime versions on a per-project basis. It is like `gvm`, `nvm`, `rbenv` & `pyenv` (and more) all in one! Simply install your language's plugin! Why use asdf? - single CLI for multiple languages - consistent commands to manage all your languages - single global config keeping defaults in one place - single `.tool-versions` config file per project - support for existing config files `.node-version`, `.nvmrc`, `.ruby-version` for easy migration - automatically switches runtime versions as you traverse your directories - simple plugin system to add support for your language of choice - shell completion available for common shells (Bash, Zsh, Fish, Elvish) |
||
schmonz
|
71011dcf99 | doc: Updated print/lilypond to 2.24.0 | ||
schmonz
|
a881888d4b |
Update to 2.24.0. pkgsrc changes:
- Modernize patch filenames - Take MAINTAINER From the upstream changelog: 2.24.0: Note: LilyPond releases can contain syntax changes, which may require modifications in your existing files written for older versions so that they work in the new version. To upgrade files, it is *strongly recommended* to use the 'convert-ly' tool distributed with LilyPond, which is described in *note (lilypond-usage)Updating files with convert-ly::. 'convert-ly' can perform almost all syntax updates automatically. Frescobaldi users can run 'convert-ly' directly from Frescobaldi using "Tools > Update with convert-ly...". Other editing environments with LilyPond support may provide a way to run 'convert-ly' graphically. Major changes in LilyPond ************************* . LilyPond now requires Guile 2.2. Even if you are not writing Scheme code yourself, you may be using libraries that contain a non-trivial amount of customizations. If they do not work with LilyPond version 2.24.0, please report this to the library's developers. If you _are_ a library developer, *note Notes on Guile 2.2:: below. . The infrastructure for creating the official binaries has been completely rewritten, incident with the switch to Guile 2.2. As of this release, we provide 64-bit binaries for macOS and Windows. Also, all packages are made available as simple archives that can be extracted to any "installation" location. To uninstall, simply delete that directory. We also discontinued the limited editor that was installed on macOS and Windows, LilyPad, and recommend switching to an external solution instead, such as the popular editor Frescobaldi (https://frescobaldi.org), or one of the others listed in *note (lilypond-web)Easier editing::. For more information, please refer to the detailed instructions in *note (lilypond-learning)Installing::. The version of Ghostscript that ships in the official binaries no longer includes its own fonts, to reduce download size. LilyPond does not need them (it has its own set of default fonts). This does mean, however, that code such as '/Arial findfont' in '\markup \postscript' no longer works. We recommend using normal '\markup' syntax to print glyphs. Known issues in LilyPond 2.24.0 =============================== On Windows, compiling very large scores (several hundreds of pages) can result in crashes.(1) We hope to address this in a future 2.24.X release. ---------- Footnotes ---------- (1) Note that very large scores could already crash in LilyPond 2.22 due to restrictions imposed by the 32-bit architecture. Notes for source compilation and packagers ========================================== This section is aimed at enthusiasts compiling LilyPond from source and packagers preparing LilyPond for distribution. If you are not part of either group, you can skip over this section. . As mentioned above, LilyPond now requires Guile 2.2. If needed for distribution reasons, it can also be compiled with Guile 3.0 by passing 'GUILE_FLAVOR=guile-3.0' to the 'configure' script. However, this is not yet recommended nor officially supported. . The Scheme code evaluator in Guile 2.2 is slower than in Guile 1.X. To offset most of the performance penalty, we recommend compiling the '.scm' files into bytecode by first running 'make bytecode' during compilation and then 'make install-bytecode' in addition to 'make install'. . Starting with this stable release, LilyPond's build system does not install text fonts anymore. Please provide them as separate packages while paying attention to the fonts' license and notice files. New for musical notation ************************ Pitches improvements ==================== . Support for alternate accidentals was improved. Through the 'alterationGlyphs' property of staff-like contexts, accidental glyphs may be set for all grobs at once (refer to *note (lilypond-notation)Alternate accidental glyphs::). . Ottava brackets may apply to a single voice instead of the entire staff. This used to require workarounds. Rhythm improvements =================== . The new '\section' command inserts a double bar line that interacts gracefully with repeat bar lines. A passage can be named with the new '\sectionLabel' command. . '\numericTimeSignature' and '\defaultTimeSignature' now act on all staves at once (more precisely, on all staves in the same 'Timing' context), thus matching the behavior of '\time'. . The '\rhythm' markup command has been added. It is a simple way to enter rhythms mixed with text, such as in "swing" indications. . The '\enablePolymeter' command is now provided as an input shorthand for moving engravers as is necessary to allow different time signatures in parallel. Independent of this, 'Default_bar_line_engraver' has been removed. . The new option 'visible-over-note-heads' can be used to make tuplet brackets always appear when their direction is set to be over the note heads. It can be used with the default tuplet bracket visibility style or with '#'if-no-beam'. . Measure counts now take compressed multi-measure rests and alternatives into account. . Bar numbers may be centered in their measure, as is common in film scores. . The alignment of bar numbers appearing in the middle or end of a system has been changed to align them on their left edge. This is in keeping with the advice of Elaine Gould ('Behind Bars', p. 237), and was mostly the consensus reached in a discussion of the issue by developers. The alignment of bars at the beginning of a system remains unchanged. . '\bar ","' creates a short bar line. . The following predefined bar types no longer appear as a single bar line at the end of a line. Annotated bar types (e.g., '\bar "S-|"') have been added for that purpose. . '\bar ""' is no longer necessary to print the first bar number. It now suffices to set 'barNumberVisibility' to 'all-bar-numbers-visible', or one of the other visibility settings where the first bar number is visible. Note that this is a change in behavior for scores that set 'barNumberVisibility' to 'all-bar-numbers-visible' or such and 'BarNumber.break-visibility' to '#t' without having '\bar ""'. Now, a bar number is printed at the beginning. This is just the expected behavior (_all_ bar numbers should be visible), but due to slightly unclear documentation, users may have used these settings to print bar numbers in the middle of systems except for the first bar number. In such cases, simply remove '\set Score.barNumberVisibility = #all-bar-numbers-visible' since '\override BarNumber.break-visibility = ##t' does the relevant setting alone. . The '\break' command now always inserts a break, bypassing all default decisions about break points. For example, it is no longer necessary to insert '\bar ""' to obtain a mid-measure break. The new '\allowBreak' command inserts a possible break point, without forcing it, but bypassing default decisions like '\break' does. . The bar line type '"-"' has been removed. 'convert-ly' converts it to '""'. There is a slight difference in horizontal spacing at line breaks. . 'automaticBars' has been removed. 'convert-ly' converts 'automaticBars = ##f' to 'measureBarType = #'()'. . '\defineBarLine' now accepts '#t' in lieu of repeating the mid-line glyph name. . 'Bar_engraver' used to forbid line breaks between bar lines in all cases, but now it only does so when the 'forbidBreakBetweenBarLines' context property is set to '#t', which is the default. The 'barAlways' context property, which previously worked around the lack of 'forbidBreakBetweenBarLines', has been removed. . Due to changes in the internals of '\bar', it is no longer supported to use it before creating lower contexts with '\new'. Such uses will now create an extra staff. This is similar to what happens with commands such as '\override Staff...' (see *note (lilypond-usage)An extra staff appears::). The solution is to place '\bar' inside the music for each staff, as is usual with most commands. . The bar type '"-span|"' creates a mensurstrich. . 'Staff' contexts use the new 'Caesura_engraver' to notate the '\caesura' command. Expressive mark improvements ============================ . Events attached to notes (e.g., dynamics or articulations) can be delayed by an arbitrary duration using '\after'. This simplifies many situations that previously required the use of explicit polyphony and spacer rests. . Broken hairpins now have some left padding by default. This is in line with published scores and it fixes some cases where broken hairpins were vertically displaced by the key signature. . The ends of hairpins may now be aligned to the 'LEFT', 'CENTER' or 'RIGHT' of 'NoteColumn' grobs by overriding the property 'endpoint-alignments'. . The direction of a trill spanner can now be set with direction indicators like other articulations, i.e. with '_\startTrillSpan' or '^\startTrillSpan'. . The default appearance of trill spanners has changed to better match classical engraving conventions. They now end before the next note, not over it. If the next note has an accidental, they stop before it. If the next note is the first note of a measure, they stop over the bar line instead. . The padding by default for fermatas is now larger. This avoids some cases where the fermata was placed too close to dots and other objects. . The flageolet symbol is now smaller and slightly thicker. This is in line with published scores and makes the recommended workaround to make it smaller ('\tweak font-size -3 \flageolet') unnecessary. . The accent glyph is now a bit smaller. This fixes some cases where a natural sign would vertically displace accents. . The comma glyph shape, as used in the '\breathe' command, has been changed to a more common form. The old glyph remains available under the name 'raltcomma'. . The new context property 'breathMarkType' selects the mark that '\breathe' produces from several predefined types. Repeat improvements =================== . Repeat alternatives may appear within the repeated section. . The volta numbers for repeat alternatives may be set with the '\volta' command. . The new '\repeat segno' command automatically notates a variety of _da-capo_ and _dal-segno_ forms. . The new '\fine' command inserts a final bar line that interacts gracefully with repeat bar lines. Used inside '\repeat', it also prints _Fine_ and ends the music after unfolding. . The '\volta' command removes music when a repeat is unfolded. . The '\unfolded' command adds music when a repeat is unfolded. Editorial annotation improvements ================================= . The new '\staffHighlight' and '\stopStaffHighlight' commands can be used to color a musical passage. . A new grob 'FingerGlideSpanner' is now available, indicating a finger gliding on a string from one to another position. Several appearances are possible, depending on the setting of 'style'. Shown in the image are 'line', 'stub-left', 'stub-right' and 'stub-both'. Also possible is 'dashed-line', 'dotted-line', 'zigzag', 'trill', 'bow' and 'none'. . Balloons now have changeable formatting. . Parenthesizing chords is supported. Currently, the font size of the parentheses has to be adjusted manually. . Parenthesizing spanners is supported. . A "time-based" version of the '\parenthesize' command was added. It takes a grob path: '\parenthesize GROBNAME' or '\parenthesize CONTEXTNAME.GROBNAME'. It acts like a '\once \override'. This interface complements the already existing form '\parenthesize EVENT', in a fashion similar to '\footnote'. . Adding the 'Melody_engraver' to the 'Voice' context now works out of the box to change the stem direction of the middle note according to the melody. Previously, this required an additional override to 'Stem.neutral-direction'. The 'suspendMelodyDecisions' context property may be used to turn off this behavior temporarily, as '\override Stem.neutral-direction = #DOWN' used to do. . The new 'Mark_tracking_translator' takes over from 'Mark_engraver' the decision of when to create a mark. 'Mark_engraver' continues to control formatting and vertical placement. By default, 'Mark_engravers' in multiple contexts create a common sequence of marks. If independent sequences are desired, multiple 'Mark_tracking_translators' must be used. Text improvements ================= . New commands '\textMark' and '\textEndMark' are available to add an arbitrary piece of text between notes, called a text mark. These commands improve over the previously existing syntax with the '\mark' command called as '\mark MARKUP' (i.e., '\mark "..."' or '\mark \markup ...'). '\textMark' and '\textEndMark' are now the recommended way to create textual marks. The use of '\mark' for this purpose is still supported, but discouraged (note that the '\mark' command itself is not discouraged, only calling it on a markup argument; '\mark \default' or '\mark NUMBER' is still the recommended and only way to create a rehearsal mark). The new commands have several differences to '\mark MARKUP'. There can be an arbitrary number of them at a given moment, while there can only be one use of '\mark'. They output grobs of the dedicated 'TextMark' type, whereas '\mark' creates a 'RehearsalMark' grob regardless of whether it is called for a rehearsal mark or a textual mark; introducing this distinction allows stylesheets to set different layout settings for rehearsal marks and text marks. The alignment set by the new commands is different: '\textMark' always creates a left-aligned mark, and '\textEndMark' creates a right-aligned mark; in contrast, the alignment of a 'RehearsalMark' depends on the anchor point of the object it aligns to. See *note (lilypond-notation)Text marks:: for full details. . Text variant glyphs for sharp, flat, natural, double sharp, and double flat are now available in the Emmentaler fonts. In markup, they can be easily accessed with standard Unicode values. . It is now possible to control the width and the shape of (some) Emmentaler digits using OpenType features. . '\smallCaps' now works on any markup, not just on a bare string. . The syntax for conditions in markups was made more flexible and user-friendly. It uses the new markup commands '\if' and '\unless'. Here are example replacements: 2.22 syntax 2.24 syntax -------------------------------------------------------------------------------- '\on-the-fly #first-page ...' '\if \on-first-page ...' '\on-the-fly #not-part-first-page ...' '\unless \on-first-page-of-part ...' '\on-the-fly #(on-page N) ...' '\if \on-page #N ...' . With the new markup list command 'string-lines' it is now possible to split a string at a given character. The default is to split at line break. Surrounding white space gets dropped. The resulting list of markups may be further formatted. This is a very convenient way of entering additional stanzas for songs. . The new markup command '\align-on-other' translates a markup as if it was aligned to another markup. . Two new markup functions '\with-dimension' and '\with-dimension-from' are available. They are similar to '\with-dimensions' and '\with-dimensions-from', respectively, modifying only a single dimension (instead of both). . New markup commands '\with-true-dimension' and '\with-true-dimensions' are available. They give the markup the actual extent(s) of its printed ink, which may differ from the default extents for some font glyphs due to text regularity constraints. . Text replacements can now replace strings with any markup, not just with a string. . A new markup command '\with-string-transformer' is available. It interprets a markup with a "string transformer" installed; the transformer is called when the interpretation of the markup requires interpreting a string, and allows to perform modifications on this string, such as changing case. . The 'markup->string' function converts a markup into an approximate string representation; it is used for outputting PDF metadata as well as MIDI lyrics and markers. Markup commands can now define a custom method to convert markups created using them into strings, for use by 'markup->string'. For example: #(define-markup-command (upcase layout props arg) (string?) #:as-string (string-upcase arg) (interpret-markup layout props (string-upcase arg))) New for specialist notation *************************** Fretted string instrument improvements ====================================== . The string tunings 'banjo-double-c' and 'banjo-double-d' were added. . A new grob 'BendSpanner' is now available for 'TabStaff', indicating a bent string. Apart from the default three styles are possible: ''hold', ''pre-bend' and ''pre-bend-hold'. Percussion improvements ======================= . The drum notation style 'weinberg-drums-style' was added. It is based on Norman Weinberg's standardization work. Wind instrument improvements ============================ . Additional display details of a '\woodwind-diagram' can now be specified including the angle of partially-covered-keys and the display of non-graphical trill keys. Chord notation improvements =========================== . Support for chord grids has been added. . In 'ChordNames', multi-measure rests now also cause the "N.C." symbol to be printed, just like normal rests. . In figured bass, '_' now creates an empty figure that still takes up space. . Formatting of figured bass has been improved. In particular, the default size is reduced to a value used by many Urtext editions of Baroque music. . In figured bass, specially designed glyphs for '6\\', '7\\', and '9\\' are now used by default. Similarly, specially designed glyphs for symbols '2\+', '4\+', and '5\+' are used by default if plus signs appear after the number. Use the new command '\figured-bass' to access these glyphs in markup. . In figured bass, brackets can now also be added around accidentals. Ancient notation improvements ============================= . A new context 'VaticanaLyrics' is available. It is similar to 'Lyrics', providing a hyphenation style (a single, flush-left hyphen between two syllables) as used in the notational style of Editio Vaticana. . The predefined commands for Gregorian divisiones are no longer variations on '\breathe'. '\divisioMinima', '\divisioMaior', '\divisioMaxima', and '\virgula' are variations on the basic '\caesura'. '\finalis' is equivalent to '\section'. 'MensuralStaff' and 'VaticanaStaff' use 'Divisio_engraver' to interpret the above commands as well as '\repeat volta' and '\fine'. . 'KievanStaff', 'MensuralStaff', 'PetrucciStaff', and 'VaticanaStaff' now allow line breaks anywhere, and they no longer create '""' measure bar lines. . In 'GregorianTranscriptionStaff', divisiones are now engraved as 'BarLine' grobs by default. To change them to 'Divisio' grobs, use '\EnableGregorianDivisiones'. . 'GregorianTranscriptionStaff' allows a line break after any note and no longer uses 'Time_signature_engraver'. . 'GregorianTranscriptionVoice' no longer uses 'Stem_engraver'. World music improvements ======================== . Support for Persian classical music is now available. For this, two accidental glyphs, _sori_ and _koron_, have been added to LilyPond. Miscellaneous improvements ************************** . In the Emmentaler font, identical-looking noteheads whose only difference was stem direction have been consolidated into a single glyph. For instance, the glyphs 'noteheads.u2triangle' and 'noteheads.d2triangle' have been replaced by a single glyph, 'noteheads.s2triangle'. Notehead pairs that look visually different depending on the direction remain distinct. In addition, the 'stem-attachment' property of 'NoteHead' grobs now returns its actual, direction-dependent stem attachment point instead of a hypothetical upwards-stem attachment point. . Two redundant glyphs in the Emmentaler font have been removed: 'scripts.trillelement' (use 'scripts.trill_element' instead) and 'scripts.augmentum' (use 'dots.dotvaticana' instead). . Using '\paper { bookpart-level-page-numbering = ##t}', it is now possible to make bookparts independent with respect to page numbering. If this is used for all bookparts, each bookpart has its own numbering sequence, starting at 1 by default. It can also be used in an individual bookpart, which is useful to achieve the standard practice of numbers pages in an analytical introduction independently and in roman numerals (the latter is achieved using 'page-number-type = #'roman-lower'). . A new grob callback function 'break-alignment-list' is now available for returning different values depending on a grob's break direction. As an example, use it to provide different alignments of a grob depending on whether it is positioned at the beginning, the middle, or the end of a line. . The new 'Mark_performer' creates MIDI Marker events like 'Mark_engraver' creates printed marks. . Properties of 'PaperColumn' and 'NonMusicalPaperColumn' (such as 'NonMusicalPaperColumn.line-break-system-details') can now be overridden mid-music with the usual command '\once \override'. They used to be a special case requiring the '\overrideProperty' command. . The new 'show-horizontal-skylines' and 'show-vertical-skylines' properties allow to display an object's skylines. This is more flexible than the already existing 'debug-skylines' option because it works for all grobs. While primarily meant for debugging LilyPond, this can be useful when trying to understand spacing decisions or overriding stencils in Scheme. . The new command '\vshape' is like '\shape', but also shows the control points and polygon for easier tweaking. . '\markup \path' now also works in SVG output even if the path does not begin with a 'moveto' or 'rmoveto' command. Also, it now accepts single-letter SVG equivalents ('moveto' = 'M', etc.). . 'set-default-paper-size' and 'set-paper-size' now accept a custom paper size. . 'lilypond-book' supports two new music fragment options 'paper-width' and 'paper-height' to set a custom paper size. . 'lilypond-book' supports a new snippet option 'inline' for inline music, that is, music snippets like [[image of music]] that appear within a paragraph of text. . The 'lilypond-book' script now allows braces in the argument of the commands '\lilypond' (for LaTeX) and '@lilypond' (for Texinfo). . 'lilypond-book' now appends the current directory as the last entry to search for included files, instead of prepending it to the list of specified include paths. This allows include directories to shadow files from the current directory, and will only be noticed if there are files with the same name in both. . The new Scheme function 'universal-color' provides an eight-element color palette designed to be unambiguous to people with dichromatism. . The '-dembed-source-code' option now also embeds images added with '\epsfile' and files included with '\verbatim-file'. . The default of the 'aux-files' program option changed to '#f'. If you are calling LilyPond with the '-dbackend=eps' argument and need the auxiliary '.tex' and '.texi' files, you now have to specify '-daux-files' explicitly. The formats for 'lilypond-book' images can be set separately for the tall page image (typically PNG for HTML output) and per-system images (typically, EPS or PDF for printed output) with the '-d' sub-options '-dtall-page-formats' and '-dseparate-page-formats' respectively. . The 'big point' unit (1bp = 1/72in) is now available by appending '\bp' to length values. . Scheme-defined translators usable in both '\layout' and '\midi' can now be created with 'make-translator'. Scheme-defined performers usable only in '\midi' can now be created with 'make-performer'. Those macros work strictly like the previously existing macro 'make-engraver' for creating engravers only usable in '\layout'. . Scheme translators can now define a new slot called 'pre-process-music'. It is called on all translators, after all listeners but before all 'process-music' slots. This can be used for processing that depends on all events heard but needs to set context properties before other translators read them. . Scheme translators can now contain listeners written as (listeners ((event-class engraver event #:once) ...)) These are never triggered more than once per time step. They emit a warning if they receive two events in the same time step, except if the events are equal. . The same grob definition can now be used to create grobs of different classes ('Item', 'Spanner', 'Paper_column', 'System'). As part of this change, the grob types 'FootnoteItem' and 'FootnoteSpanner' were consolidated into a single type 'Footnote'. Similarly, 'BalloonTextSpanner' and 'BalloonTextItem' are unified into 'BalloonText'. When the grob definition does not mandate a class, engravers should choose what class to create a grob with. For authors of Scheme engravers, this means using either 'ly:engraver-make-item' or 'ly:engraver-make-spanner'. The utility function 'ly:engraver-make-sticky' is provided to support the frequent case of _sticky_ grobs, such as footnotes and balloons. It creates a grob with the same class as another grob and administrates parents and bounds. . The new command-line option '-dcompile-scheme-code', also settable in the LilyPond input with '#(ly:set-option 'compile-scheme-code)', provides with better diagnostics when running Scheme code leads to an error. Internally, this uses the byte-compiler provided by Guile, instead of the interpreter. However, due to a limitation in Guile, this currently has the disadvantage of making it impossible to run more than a few thousand Scheme expressions. Also, be aware that the Guile compiler has a few differences to the interpreter. For example, constant parts of quasiquotes are made actual constants more aggressively, making code such as '(let ((x 4)) (sort! `(,x 3 2 1)))' produce an error because the "cdr" of the quasiquoted list is constant, and it is an error in Scheme to mutate literal data. (In this specific case, the code could avoid the issue by using the non-destructive 'sort', or by creating a fresh list each time with '(list x 3 2 1)'.) Furthermore, this option does not currently work on Windows. Notes on Guile 2.2 ****************** This version of LilyPond switches from Guile 1.8 to Guile 2.2. This section lists some of the most common incompatibilities that you could have to deal with in order to upgrade your Scheme code. A full, detailed log of changes in Guile can be found in the 'NEWS' file (https://git.savannah.gnu.org/cgit/guile.git/tree/NEWS) of the Guile source. . The 'format' function now requires a boolean or port as the first argument. This argument was optional in Guile 1.8. In order to make the function return the formatted output as a string, like 'format' does without this argument in Guile 1.8, pass '#f' for this argument, i.e., '(format #f "STRING" ARGUMENTS ...)' instead of '(format "STRING" ARGUMENTS ...)'. . The rules for internal (i.e., non-toplevel) definitions have become stricter. Definitions are no longer allowed in various expression contexts. This is no longer valid, for example: (if (not (defined? 'variable)) (define variable 'value)) The solution in this particular example is: (define variable (if (not (defined? 'variable)) 'value variable)) . Strings now support Unicode characters. Previously, a Unicode character was represented by several characters, and various functions were not tailored for Unicode support. . Some numeric functions now return exact results in more cases. For instance, '(sqrt 4)' returns '2.0' in Guile 1.8, but '2' (an integer) in Guile 2.2. 2.22.2: New for musical notation ------------------------ Displaying pitch improvements ............................. . An accidental glyph corresponding to SMuFL code U+E2E3 has been added (Extended Helmholtz-Ellis accidentals: Raise by one undecimal quartertone). . Quarter-tone note names are now available in all the input languages. . Setting 'suggestAccidentals' to ''cautionary' turns only cautionary accidentals into 'AccidentalSuggestion's. This can be used to distinguish between facsimile and editorial accidentals. . The command '\ambitusAfter' has been added. It is used to move the ambitus to a different position. . Ottava brackets are now introduced with a single number by default (e.g., '8' or '15'), and printed in bold. A new 'ottavationMarkups' property has been introduced to modify that behavior, with several predefined lists of markups available. Rhythm improvements ................... . Tuplets can now be printed with slurs instead of brackets. . French beaming ('\override Stem.french-beaming = ##t') now _exactly_ behaves like standard (i.e., default) beaming in every respect (beam positioning and placement of any articulation, fingering, etc.). The only remaining difference are inner stems not passing through beams. . Swing and irregular rhythmic patterns may now be applied to music expressions made of regular durations, which may be used to render inequal rhythmic interpretation in MIDI. . Font glyphs for 256th, 512th, and 1024th flags and rests have been added. . The new 'Merge_mmrest_numbers_engraver' hides duplicate numbers on multi-measure rests. Expressive mark improvements ............................ . A dynamic command '\n' for _niente_ has been added. . Two new ornaments have been added. . A very short fermata and Henze variants of long and short fermatas have been added. . Fermatas and other articulations can now be added directly to multi-measure rests. Therefore the command '\fermataMarkup' is deprecated. Editorial annotation improvements ................................. . The 'New_fingering_engraver' will now consider the 'X-align-on-main-noteheads' property of the 'self-alignment-interface'. If set to true ('##t'), all fingerings oriented 'up' or 'down' will be arranged in a straight column and aligned on the noteheads on the correct side of the stem. Text formatting improvements ............................ . The default fonts are now those from the URW Core 35 set, version 2.0, replacing the TeX Gyre fonts. Note that the fonts come with a ligature for 'Nr.'; see *note (lilypond-notation)Fonts explained:: for solutions to avoid it locally and globally. . The '\note' markup command now takes as its first argument a duration instead of a string. New for specialist notation --------------------------- Vocal music improvements ........................ . A lyric hyphen may now be repeated at the start of a system beginning with a new syllable. . A gradual change of vowel (or sustained consonant) may be indicated by adding a vowel transition between lyric syllables with the command '\vowelTransition'. Unfretted and fretted string instrument improvements .................................................... . Fret-diagrams may now be printed left-handed, setting 'handedness' to 'LEFT' (as a subproperty of 'fret-diagram-details'). . Some ukulele fretboard-diagrams have been fixed, and new diagrams have also been added. Chord notation improvements ........................... . Chords may now be automatically inverted or voiced with dropped notes. . Legacy chord naming functions 'banter-chord-names' and 'jazz-chord-names', have been removed from the main codebase, as have been the properties 'chordNamesExceptionsFull' and 'chordNamesExceptionsPartial'. As part of that rewrite, power chords are now included in the default exceptions; they will be printed correctly (with a superscript like all other chords) with no additional tweaks required, thereby removing the need for the '\powerChords' predefined command. Anyone interested in the legacy functions may find a (somewhat working) copy of them in the 'chord-names-alternative.ly' snippet. Contemporary music improvements ............................... . A new grob 'DurationLine' is now available. It continues a rhythmic grob with a line, ending at the next rhythmic grob. Possible styles are ''beam', ''line', ''dashed-line', ''dotted-line', ''zigzag', ''trill' and ''none'. The duration line may end with a hook (beam-style only) or an arrow. New for input and output ------------------------ Input file improvements ....................... . As announced in version 2.17.3 nearly eight years ago, the ''relative-includes' option is now enabled by default; included files that contain an '\include' command of their own must account for their own path rather than the main file's directory. That behavior may however be switched off by setting ''relative-includes' to '#f', either as a command line option or using 'ly:set-option' in source files. . '\compressFullBarRests' has been renamed to '\compressEmptyMeasures', to avoid possible confusion with '\compressMMRests'. Likewise, '\expandFullBarRests' has now become '\expandEmptyMeasures'. . The '\partcombine' command, as well as all 'partCombine'-prefixed commands, subroutines and property names, are now written with a capital C, such as '\partCombine', '\partCombineApart' etc. The '\autochange' command is now also capitalized as '\autoChange'. . All input languages ('\language' statement) can be entered using their proper UTF-8 spelling (i.e., including special characters). Output improvements ................... . Skylines will now take account of the 'rotation' property of layout objects. Rotating a crescendo hairpin by applying '\override Hairpin.rotation = #'(15 0 0)', for instance, will now actually have influence on the skylines and thus help to enhance spacing. . Slight padding added between natural glyphs just touching at the corners in key cancellations. . Skylines of boxes now reflect the actual box outline including rounded corners and rotation. . CSS-style colors can now be used directly as text strings; either with predefined color names (like with the already available 'css-color' function), or with hexadecimal color codes prefixed with '#'. All stencils that support a 'color' property now accept either a list or a string; in the latter case, that string is used directly in the SVG output. This allows to use alpha transparency (entered as "#RRGGBBAA" or "#RGBA") in SVG. . PDF bookmarks are now supported and allow for '\tocItem' entries to appear in the 'table of contents' panel of PDF viewers that support it. . '\table-of-contents' now accepts a hierarchical structure; '\tocItem' entries may optionally take a symbol (like '\label') or a dot-separated list of symbols, indicating their position in the score's structure. A side-effect of that feature is that '\tocItem' can no longer take a simple string as its argument; a '\markup' command must be used. . Using the new options '-dpng-width' and '-dpng-height' it is now possible to specify the pixel size of PNG output images. . SVG output is now available through the '--svg' command-line option (or its canonical form '--format=svg', also shortened as '-fsvg'). Due to its backend's specificity, that option is not yet compatible with other output formats; to get a file in both SVG and PDF, PNG or EPS, a second LilyPond run is required. 2.20: New for musical notation ------------------------ *Displaying pitch improvements* . Pitches that have a sharp or flat in their name now need to be hyphenated. Pitches that contain _double_ sharps or flats in their name, however, do not need a second hyphen. . Accidental rules can now be defined _across_ 'ChoirStaff' contexts. . Two new accidental rules have been added. Both combine the characteristics of 'modern-voice', 'piano' and their equivalents: 'choral' This is the now the default accidental style for 'ChoirStaff'. 'choral-cautionary' The same as 'choral' but with the extra accidentals typeset as cautionaries instead. . Four new clef glyphs are now available; 'GG' (double-G), 'Tenor G', 'varC' plus related tessitura and 'Varpercussion'. . French note names are now explicitly defined -- previously they were aliased to Italian note names. Double sharps are entered using an 'x' suffix. *Rhythm improvements* . Multi-measure rests have length according to their total duration, under the control of 'MultiMeasureRest.space-increment'. Note the default value is '2.0'. . Improvements to the '\partial' command have been made when used with parallel music and/or multiple contexts. . It is now possible to change the time signature mid-measure by using both the '\time' and '\partial' commands together. . Isolated durations in music now stand for unpitched notes. Pitches are taken from the preceding note or chord. This is especially convenient for specifying rhythms in both music and scheme functions and can help improve the readability of LilyPond source files. . Beaming exceptions can now be constructed using the simpler '\beamExceptions' scheme function. Note that writing the exception pattern without pitches is convenient but not mandatory (also see the previous documented rhythm improvement -- _Isolated durations in music now stand for unpitched notes_. . The positioning of tuplet numbers for kneed beams has been improved. Previously, tuplet numbers were placed according to the position of the tuplet bracket, even if the bracket was not printed. This could lead to tuplet numbers being 'stranded'. . Collision detection for the kneed beam tuplet numbers has also been added, shifting the offset horizontally if the number is too close to an adjoining note column (but still preserving the number's vertical distance). In the event of a collision -- for example with an accidental -- the tuplet number will be shifted vertically instead. If the tuplet number is itself too large to fit within the available space, the original, 'bracket-based', positioning system will be used instead. The original kneed-beam tuplet behavior is still available with a new, 'knee-to-beam' property for the 'TupletNumber' layout object. *Expressive mark improvements* . The ends of hairpins may now be fine-tuned using the 'shorten-pair' grob property. This previously only affected text-spanners (e.g. 'TupletBracket' and 'OttavaBracket'). Positive and negative values offset right and left respectively. . Individual slurs and phrasing slurs may now be started from an explicit note within a chord. . A new command '\=X' has been added -- where 'X' can be any non-negative integer or symbol -- so that a specific 'id' can be assigned to the start and end of slurs and phrasing slurs. This is useful when simultaneous slurs are required or if one slur overlaps another or when nesting short slurs within a longer one. *Repeat notation improvements* . The visual style of tremolo slashes (shape, style and slope) is now more finely controlled. . The music function '\unfoldRepeats' can now take an optional argument-list specifying which type(s) of repeated music should be unfolded. Possible entries are 'percent', 'tremolo', 'volta'. If the optional argument-list is unspecified, 'repeated-music' will be used, unfolding all. *Staff notation improvements* . A new command '\magnifyStaff' has been added which scales staff sizes, staff lines, bar lines, beamlets and horizontal spacing generally at the 'Staff' context level. Staff lines are prevented from being scaled smaller than the default since the thickness of stems, slurs, and the like are all based on the staff line thickness. . A new command '\magnifyMusic' has been added, which allows the notation size to be changed without changing the staff size, while automatically scaling stems, beams, and horizontal spacing. . A new command, '\RemoveAllEmptyStaves', has been made available, which acts exactly like '\RemoveEmptyStaves', except for also removing empty staves on the first system in a score. . A new markup command '\justify-line' has been added. Similar to the '\fill-line' markup command except that instead of setting _words_ in columns, the '\justify-line' command balances the whitespace between them ensuring that when there are three or more words in a markup, the whitespace is always consistent. *Editorial annotation improvements* . It is now possible to add text to analysis brackets through the 'HorizontalBracketText' object. *Text formatting improvements* . Support for making it easier to use alternative 'music' fonts other than the default Emmentaler in LilyPond has been added. See *note (lilypond-notation)Replacing the notation font:: for more information. . Default text fonts have been changed from 'Century Schoolbook L', 'sans-serif', and 'monospace'. For 'svg' backend: Family Default font ----------------------------------- _roman_ 'serif' _sans_ 'sans-serif' _typewriter_'monospace' 'serif', 'sans-serif', and 'monospace' are 'generic-family' in SVG and CSS specifications. For other backends: Family Default font (alias) Alias definition lists ---------------------------------------------------------------------------- _roman_ 'LilyPond Serif' TeX Gyre Schola, C059, Century SchoolBook URW, Century Schoolbook L, DejaVu Serif, ..., serif _sans_ 'LilyPond Sans TeX Gyre Heros, Nimbus Sans, Nimbus Serif' Sans L, DejaVu Sans, ..., sans-serif _typewriter_'LilyPond Monospace' TeX Gyre Cursor, Nimbus Mono PS, Nimbus Mono, Nimbus Mono L, DejaVu Sans Mono, ..., monospace 'LilyPond Serif', 'LilyPond Sans Serif', and 'LilyPond Monospace' are font aliases defined in the LilyPond dedicated FontConfig configuration file '00-lilypond-fonts.conf'. Where a character dosen't exist in the first font listed, the next font listed will be used instead for that character. For details of alias definitions, please see to '00-lilypond-fonts.conf' under the installed directory. . When using OpenType fonts, font features can be used. Note: Not all OpenType fonts have all functions. . Two new styles of whiteout are now available. The 'outline' style approximates the contours of a glyph's outline, and its shape is produced from multiple displaced copies of the glyph. The 'rounded-box' style produces a rounded rectangle shape. For all three styles, including the default 'box' style, the whiteout shape's 'thickness', as a multiple of staff-line thickness, can be customized. . A new markup-command, '\with-dimensions-from', makes '\with-dimensions' easier to use by taking the new dimensions from a markup object, given as first argument. . Markup-command '\draw-squiggle-line' is now available. Customizing is possible with overrides of 'thickness', 'angularity', 'height' and 'orientation' . Markup-commands '\undertie' and '\overtie' are now available, as well as the generic markup-command '\tie'. New for specialist notation --------------------------- *Vocal music improvements* . A new flexible template suitable for a range of choral music, is now provided. This may be used to create simple choral music, with or without piano accompaniment, in two or four staves. Unlike other templates, this template is 'built-in', which means it does not need to be copied and edited: instead it is simply '\include''d in the input file. For details, see *note (lilypond-learning)Built-in templates::. . The '\addlyrics' function now works with arbitrary contexts incuding 'Staff'. . '\lyricsto' and '\addLyrics' have been 'harmonized'. Both now accept the same kind of delimited argument list that '\lyrics' and '\chords' accept. Backward compatibility has been added so music identifiers (i.e. '\mus') are permitted as arguments. A 'convert-ly' rule has been added that removes redundant uses of '\lyricmode' and rearranges combinations with context starters such that '\lyricsto' in general is applied last (i.e. like '\lyricmode' would be). *Unfretted and fretted string instrument improvements* . A new note head style for Tabulature has been added -- 'TabNoteHead.style = #'slash'. . In fret-diagrams the distance between frets and the distance between strings is now independently adjustable. Available are 'fret-distance' and 'string-distance' as subproperties of 'fret-diagram-details'. . It is now possible to individually color both the dots and parentheses in fret diagrams when using the '\fret-diagram-verbose' markup command. . Two new properties have been added for use in 'fret-diagram-details' when using the '\fret-diagram-verbose' markup command; 'fret-label-horizontal-offset' which affects the 'fret-label-indication' and 'paren-padding' which controls the space between the dot and the parentheses surrounding it. . Additional bass strings (for lute tablature) are supported. . String numbers can now also be used to print roman numerals (e.g. for unfretted string instruments). . 'TabStaff' is now able to print micro-tones for bendings etc. *Chord notation improvements* . '\chordmode' can now use '< >' and '<< >>' constructs. . It is now possible to override the 'text' property of chord names. New for input and output ------------------------ *Input structure improvements* . Blocks introduced with '\header' can be stored in variables and used as arguments to music and scheme functions and as the body of '#{...#}' constructs. They are represented as a Guile module. While '\book', '\bookpart', '\score', '\with', '\layout', '\midi', '\paper' blocks can be passed around in similar manner, they are represented by different data types. *Titles and header improvements* . Page numbers may now be printed in roman numerals, by setting the 'page-number-type' paper variable. *Input file improvements* . A new command '\tagGroup' has now been added. This complements the existing '\keepWithTag' and '\removeWithTag' commands. *Output improvements* . LilyPond source files may now be embedded inside the generated PDF files. This experimental feature is disabled by default and may be regarded as unsafe, as PDF documents with hidden content tend to present a security risk. Please note that not all PDF viewers have the ability to handle embedded documents (if not, the PDF output will appear normally and source files will remain invisible). This feature only works with the PDF backend. . The 'output-classic-framework' procedure and the '-dclip-systems' are now available with the 'SVG' backend. . An argument, '-dcrop', has been added, formatting 'SVG' and 'PDF' output without margins or page-breaks. . A new 'output-attributes' grob property is now used for svg output instead of the 'id' grob property. It allows multiple attributes to be defined as an association list. For example, '#'((id . 123) (class . foo) (data-whatever . "bar"))' will produce the following group tag in an SVG file: '<g id="123" class="foo" data-whatever="bar"> ... </g>'. . The PostScript functionality of stroke adjustment is no longer applied automatically but left to the discretion of the PostScript device (by default, Ghostscript uses it for resolutions up to 150dpi when generating raster images). When it is enabled, a more complex drawing algorithm designed to benefit from stroke adjustment is employed mostly for stems and bar lines. Stroke adjustment can be forced by specifying the command line option '-dstrokeadjust' to LilyPond. When generating 'PDF' files, this will usually result in markedly better looking 'PDF' previews but significantly larger file size. Print quality at high resolutions will be unaffected. . Added a new 'make-path-stencil' function that supports all 'path' commands both relative and absolute: 'lineto', 'rlineto', 'curveto', 'rcurveto', 'moveto', 'rmoveto', 'closepath'. The function also supports 'single-letter' syntax used in standard SVG path commands: 'L', 'l', 'C', 'c', 'M', 'm', 'Z' and 'z'. The new command is also backward-compatible with the original 'make-connected-path-stencil' function. Also see 'scm/stencil.scm'. *MIDI improvements* . The most common articulations are now reflected in MIDI output. Accent and marcato make notes louder; staccato, staccatissimo and portato make them shorter. Breath marks shorten the previous note. This behavior is customizable through the 'midiLength' and 'midiExtraVelocity' properties on 'ArticulationEvent'. See 'script-init.ly' for examples. . Improved MIDI output for breathe marks. After tied notes, breaths take time _only_ from the last note of the tie; e.g. '{ c4~ c8 \breathe }' performs as '{ c4~ c16 r }' instead of '{ c4 r8 }'. This is more consistent with articulations and how humans interpret breaths after ties. It now also makes it easier to align simultaneous breathe marks over multiple parts, all with different note lengths. . There is now support for controlling the 'expression level' of MIDI channels using the 'Staff.midiExpression' context property. This can be used to alter the perceived volume of even sustained notes (albeit in a very 'low-level' way) and accepts a number value between '0.0' and '1.0'. . When outputting MIDI, LilyPond will now store the 'title' defined in a score's '\header' block (or, if there is no such definition on the '\score' level, the first such definition found in a '\header' block of the score's enclosing '\bookpart', '\book', or top-level scope) as the name of the MIDI sequence in the MIDI file. Optionally, the name of the MIDI sequence can be overridden using the new 'midititle' '\header' field independently of 'title' (for example, in case 'title' contains markup code which does not render as plain text in a satisfactory way automatically). . Support for making it easier to use alternative 'music' fonts other than the default Emmentaler in LilyPond has been added. See *note (lilypond-notation)Replacing the notation font:: for more information. *Extracting music improvements* . '\displayLilyMusic' and its underlying Scheme functions no longer omit redundant note durations. This makes it easier to reliably recognize and format standalone durations in expressions like { c4 d4 8 } New for spacing issues ---------------------- *Page breaking improvements* . There are two new page breaking functions. 'ly:one-page-breaking' automatically adjusts the height of the page to fit the music, so that everything fits on one page. 'ly:one-line-auto-height-breaking' is like 'ly:one-line-breaking', placing the music on a single line and adjusting the page width accordingly, however it also automatically adjusts the page height to fit the music. *Vertical and Horizontal spacing improvements* . It is now possible to move systems with reference to their current position using the 'extra-offset' subproperty of 'NonMusicalPaperColumn.line-break-system-details'. Both vertical and horizontal changes are possible. This feature is especially useful for making slight adjustments to the default vertical position of individual systems. See *note (lilypond-notation)Explicit staff and system positioning:: for more information. . Improved visual spacing of small and regular 'MI' Funk and Walker noteheads so they are now the same width as other shaped notes in their respective sets. 'SOL' noteheads are also now visually improved when used with both the normal Aiken and Sacred Harp heads, as well as with the thin variants. . 'LeftEdge' now has a definable 'Y-extent' (i.e.vertical). See *note (lilypond-internals)LeftEdge::. . Grobs and their parents can now be aligned separately allowing more flexibility for grob positions. For example the 'left' edge of a grob can now be aligned on the 'center' of its parent. . Improved horizontal alignment when using 'TextScript', with 'DynamicText' or 'LyricText'. New for changing defaults ------------------------- An optional argument for the '\afterGrace' command has been added. '\afterGrace' now has an optional argument to specificy the spacing fraction position of its notes. . All of '\override', '\revert', '\set', and '\unset' now work with the '\once' prefix for making one-time settings. New for Internal interfaces and functions ----------------------------------------- . The music and grob property 'spanner-id', used for distinguishing simultaneous slurs and phrasing slurs, has been changed from a string to a _key_ which can be either a non-negative integer or symbol (also see the previous documented expressive mark improvement -- _A new command \=X has been added_). . Context properties named in the 'alternativeRestores' property are restored to their value at the start of the _first_ alternative in all subsequent alternatives. . LilyPond functions defined with 'define-music-function', 'define-event-function', 'define-scheme-function' and 'define-void-function' can now be directly called from Scheme as if they were genuine Scheme procedures. Argument checking and matching will still be performed in the same manner as when calling the function through LilyPond input. This includes the insertion of defaults for optional arguments not matching their predicates. Instead of using '\default' in the actual argument list for explicitly skipping a sequence of optional arguments, '*unspecified*' can be employed. . Current input location and parser are now stored in GUILE fluids and can be referenced via the function calls '(*location*)' and '(*parser*)'. Consequently, a lot of functions previously taking an explicit 'parser' argument no longer do so. Functions defined with 'define-music-function', 'define-event-function', 'define-scheme-function' and 'define-void-function' no longer use 'parser' and 'location' arguments. With those particular definitions, LilyPond will try to recognize legacy use of 'parser' and 'location' arguments, providing backwards-compatible semantics for some time. . Scheme functions and identifiers can now be used as output definitions. . Scheme expressions can now be used as chord constituents. . Music (and scheme and void) functions and markup commands that just supply the final parameters to a chain of overrides, music function and markup command calls can now be defined in the form of just writing the expression cut short with '\etc'. . Dot-separated symbol lists like 'FretBoard.stencil' were already supported as of version 2.18. They may now also contain unsigned integers, and may alternatively be separated by commata. . Such lists may also be used in expressions for assignments, sets, and overrides. . Association list elements could previously be assigned values individually (for example, paper variables like 'system-system-spacing.basic-distance'). In combination with the previously mentioned changes, this allows setting and referencing pseudovariables like 'violin.1'. . The markup-list-command '\table' is now available. Each column may be aligned differently. . 'InstrumentName' now supports 'text-interface'. . The 'thin-kern' property of the 'BarLine' grob has been renamed to 'segno-kern'. . 'KeyCancellation' grobs now ignore cue clefs (like 'KeySignature' grobs do). . Add support for '\once \unset' |
||
he
|
1c96ceba87 | Note update of lang/clang to 15.0.6nb1. | ||
he
|
761e6f36a9 |
lang/clang: fix build on NetBSD.
In IncrementalParser.cpp: NetBSD doesn't have ENOTRECOVERABLE, so doesn't have std::errc::state_not_recoverable either. Use std::errc::operation_not_supported instead. Bump PKGREVISION. |
||
pin
|
3db46dbc05 | doc: Updated devel/git-cliff to 1.0.0 | ||
pin
|
ff5fb9b2a3 |
devel/git-cliff: update to 1.0.0
This is a milestone release that marks version 1.0.0 of git-cliff. It means that the API is somewhat stabilized and development will take a route in improving the existing functionality and adding new features rather than changing the internals. There are a couple of breaking changes in this release (such as the removal of --date-order) so the major version is increased. Bug Fixes - Fix test fixture failures Documentation - Fix GitHub badges in README.md Features - [breaking] Replace --date-order by --topo-order - Allow running with --prepend and --output (#120) - [breaking] Use current time for --tag argument (#107) - Include completions and mangen in binary releases (#115) - Publish Debian package via release workflow (#113) Miscellaneous Tasks - Run all test fixtures - Remove deprecated set-output usage - Update actions/checkout to v3 - Comment out custom commit preprocessor (#112) Refactor - Apply clippy suggestions Styling - Update README.md about the styling of footer field |
||
wiz
|
9cb4715fdd | doc: Updated meta-pkgs/texlive-collection-latexextra to 2022pre7 | ||
wiz
|
226cf17c14 |
texlive-collection-latexextra: add tex-ecv
Bump version |
||
pin
|
07f1f337e2 | doc: Updated devel/diffsitter to 0.7.3 | ||
wiz
|
567885deff | doc: Added print/tex-ecv-doc version 0.3 | ||
pin
|
f4770119ef |
devel/diffsitter: update to 0.7.3
What's Changed - build(deps): bump clap from 4.0.27 to 4.0.29 by @dependabot in #494 - chore: Update grammars by @afnanenayet in #501 - Update deps by @afnanenayet in #499 - Add related project by @afnanenayet in #500 - chore: Update dependencies by @afnanenayet in #508 - chore(grammars): Update grammars by @afnanenayet in #510 - docs(testing): Add note about why tests break by @afnanenayet in #511 - ci(windows): Add back windows target by @afnanenayet in #512 |
||
wiz
|
e1b7f01551 | doc: Added print/tex-ecv version 0.3 | ||
wiz
|
60afec7376 | print/Makefile: + tex-ecv* | ||
wiz
|
89a0bd09ba |
print/tex-ecv-doc: import tex-ecv-doc-0.3
Documentation for tex-ecv. |
||
wiz
|
05a606ccd9 |
print/tex-ecv: import tex-ecv-0.3
The class provides an environment for creating a fancily laid out tabular curriculum vitae inspired by the european curriculum vitae. The distribution comes with a German and an English template. |