Skip to content

v1.9.0

Latest

Choose a tag to compare

@Danielku15 Danielku15 released this 31 Oct 21:15
9f1aa10

See https://alphatab.net/docs/releases/release1_9 for a detailed overview and description of the new features in this release.

What's Changed

  • refactor(transpiler). new architecture with tests by @Danielku15 in #2713
  • feat(rendering): rework spacing to use power-law model by @Danielku15 in #2749
  • feat(rendering): skyline based effect placement by @Danielku15 in #2750
  • perf(rendering): improve render performance by @Danielku15 in #2751
  • feat(rendering): configurable staff element display by @Danielku15 in #2752
  • feat(rendering): add per-beat rest display position via beat.restDisplayTone, beat.restDisplayOctave by @roscopeeco in #2721
  • feat(rendering): display tuning on staff lines by @kulek1 in #2742
  • feat(drums/tabs): allow showTablature for percussion (drums) notation by @leocaseiro in #2591
  • Fix GP7 score system layout serialization for multitrack view by @chenkigba in #2774
  • fix(musicxml): fix incorrect percussion articulation assignment to notes by @Danielku15 in #2777
  • feat: individual settings to control user interaction by @Danielku15 in #2779
  • feat: center full bar notes and rests by @Danielku15 in #2781
  • fix(rendering): start continued ties/slurs after clef on new systems by @GiovanniSlabs in #2800
  • chore: add AI instructions and auto-triage of items by @Danielku15 in #2804
  • build: tune dependabot settings for PR grouping by @Danielku15 in #2805
  • fix(lsp monaco): avoid runtime and bundling errors on Monaco and LSP by @Danielku15 in #2830
  • fix(musicxml gp-exporter): optimized handling of more than 4 voices by @Danielku15 in #2831
  • fix(exporter): ensure string and fret for all staff types by @Danielku15 in #2832
  • feat: more dynamic bar numbering by @Danielku15 in #2907
  • fix(musicxml): convert metronome beat units to quarter-note tempo by @Danielku15 in #2910
  • fix(player): serialize audio worklet output lifecycle operations by @Danielku15 in #2911
  • fix(playground): align selection handles with the scrolled score by @sgabenov in #2886
  • fix #2839: scale horizontal layout width with display.scale by @leocaseiro in #2894
  • fix(musicxml): import string indications on notation staves as string number annotations by @Danielku15 in #2913
  • fix(musicxml): import dead notes and attach notes before interpreting their children by @Danielku15 in #2914
  • fix(midi): take D.C./D.S. jumps only once and play repeats as final pass after a jump by @Danielku15 in #2915
  • fix(midi): count passes per repeat group with alternate endings by @noy-solvin in #2895
  • fix(rendering): rhythm stems for slashed beats on tab staves by @Danielku15 in #2916
  • fix(midi): take jumps inside repeats only on the final pass by @Danielku15 in #2917
  • fix(importer): read MusicXML fingering digits by instrument convention by @Danielku15 in #2927
  • fix(player): late midiLoaded registration overflows the stack with the worker player by @Danielku15 in #2928
  • fix(importer): read MusicXML jumps from inside by @Danielku15 in #2929
  • fix: spell MusicXML notes from step/alter, export spellings correctly to Guitar Pro and alphaTex by @Danielku15 in #2931
  • fix(importer): pair and apply MusicXML spans per part, staff and number by @Danielku15 in #2938
  • fix: align beaming, metronome, count-in and automations with pick-up bars; fix beat timers and multi-track MIDI events by @Danielku15 in #2939
  • fix(alphatex): accept fractional harmonic values by @Danielku15 in #2941
  • fix(rendering): correct the minimum bar spacing and hammer-on/slide slur placement by @Danielku15 in #2943
  • feat(rendering): place hammer-on, pull-off and slide labels above the staff and improve effect annotation spacing by @Danielku15 in #2945
  • feat(alphatex): add staff display tags for staff configs and bar overrides by @Danielku15 in #2946
  • fix(musicxml): import harmonics and fold touching and sounding pitch notes by @Danielku15 in #2947
  • refactor: replace the vendored zip and Vorbis code with own implementations by @Danielku15 in #2950
  • fix: always complete mouse presses and handle in-progress selections on render by @Danielku15 in #2951
  • ci: publish npm packages via trusted publishing, stage releases, add dry_run by @Danielku15 in #2959
  • fix(player): keep sync point times exact to avoid drift on non-integer tempos by @Danielku15 in #2960
  • ci: run publish only when the nightly check finds changes by @Danielku15 in #2961
  • docs: refresh the README for GitHub, npm and NuGet by @Danielku15 in #2962
  • 1.9.0 hardening: fix release-review findings across rendering, importers, player and packaging by @Danielku15 in #2990
  • fix(importer): reject malformed GPX containers instead of looping forever by @Danielku15 in #2991
  • fix(rendering): draw triplet feel once per bar and capo once per staff by @Danielku15 in #2992
  • fix(rendering): compute beaming bounds for beats without notes by @Danielku15 in #2993
  • fix(synth): let a local initialAttenuation replace the global zone value by @Danielku15 in #2994
  • fix(importer): apply MusicXML dynamics per part and show them only where written by @Danielku15 in #2996
  • fix(midi): fade via expression and restore it with the voice's next note by @Danielku15 in #2995
  • perf(rendering): rework the layout flow so resizes match fresh renders at half the time and memory by @Danielku15 in #2997
  • feat: website in the monorepo on Rspack, with a shared alphaTab core for webpack, Rspack, Vite and Turbopack by @Danielku15 in #2998
  • fix(website): finish the monorepo website with publish-only deploys, demo playback and checked anchors by @Danielku15 in #3001
  • docs(releases): finish the 1.9.0 notes, load real MusicXML and Capella demos, fix Capella import by @Danielku15 in #3002
  • Release 1.9.0 by @Danielku15 in #3003

New Contributors

Full Changelog: v1.8.4...v1.9.0