Skip to content

Releases: albertms10/music_notes

0.24.0 — Improved Helmholtz notation, renamed NoteName and rewritten NotationSystem

18 Dec 01:38

Choose a tag to compare

What's Changed

  • build(pubspec): 🚚 bump Dart SDK 3.9 by @albertms10 in #644
  • refactor(base_note): ♻️ extract constant values and reuse base note lists by @albertms10 in #649
  • refactor(hearing_range): ♻️ rewrite as an extension of Range<E> by @albertms10 in #650
  • refactor: ♻️ extract _parsers default value static constant for all .parse factory methods by @albertms10 in #651
  • feat(tuning_fork): ✨ allow Helmholtz for the scientific notation and rewrite Frequency notation system by @albertms10 in #652
  • refactor!(note_name): 💥 rename BaseNoteNoteName by @albertms10 in #653
  • refactor: ♻️ scope switch case variables by @albertms10 in #654
  • refactor(range_extension): ♻️ rewrite toString parameter in favor of formatter by @albertms10 in #655
  • refactor: ♻️ make chainParsers a public static constant by @albertms10 in #656
  • feat(range_extension): ✨ add RangeIterableExtension.parse method by @albertms10 in #657
  • build(pubspec): 🚚 bump Dart SDK 3.10 and use dot shorthands by @albertms10 in #666
  • refactor(note): ♻️ rewrite GermanNoteNotation.parse method by @albertms10 in #669
  • feat(pitch): ✨ add support for numbered Helmholtz pitch notation by @albertms10 in #670
  • test(pitch): 🧪 add test case for repeated zeros in numbered Helmholtz notation by @albertms10 in #671
  • refactor(notation_system): ♻️ split string match responsibilities from NotationSystem by @albertms10 in #675

Dependabot updates

  • chore(deps): ⬆️ bump github/codeql-action from 3.30.1 to 3.30.3 in the minor-actions-dependencies group by @dependabot[bot] in #645
  • chore(deps): ⬆️ bump very_good_analysis from 9.0.0 to 10.0.0 by @dependabot[bot] in #646
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in #647
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in #648
  • chore(deps): ⬆️ bump github/codeql-action from 3.30.6 to 4.30.8 by @dependabot[bot] in #658
  • chore(deps): ⬆️ bump github/codeql-action from 4.30.8 to 4.30.9 in the minor-actions-dependencies group by @dependabot[bot] in #660
  • chore(deps): ⬆️ bump github/codeql-action from 4.30.9 to 4.31.0 in the minor-actions-dependencies group by @dependabot[bot] in #662
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.6.2 to 5.0.0 by @dependabot[bot] in #661
  • chore(deps): ⬆️ bump github/codeql-action from 4.31.0 to 4.31.2 in the minor-actions-dependencies group by @dependabot[bot] in #663
  • chore(deps): ⬆️ bump actions/checkout from 5.0.0 to 6.0.0 by @dependabot[bot] in #665
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in #664
  • chore(deps): ⬆️ bump github/codeql-action from 4.31.4 to 4.31.5 in the minor-actions-dependencies group by @dependabot[bot] in #667
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in #668
  • chore(deps): ⬆️ bump actions/cache from 4.3.0 to 5.0.1 by @dependabot[bot] in #673
  • chore(deps): ⬆️ bump github/codeql-action from 4.31.7 to 4.31.8 in the minor-actions-dependencies group by @dependabot[bot] in #672
  • chore(deps): ⬆️ bump actions/upload-artifact from 5.0.0 to 6.0.0 by @dependabot[bot] in #674

Full Changelog: v0.23.0...v0.24.0

0.23.0 — Dart 3.8, ASCII support and revamped Notation Systems!

14 Sep 07:13

Choose a tag to compare

What's Changed

  • build(pubspec): 🚚 bump Dart SDK 3.8 by @albertms10 in #603
  • feat(scale_pattern): ✨ add Lydian augmented name by @Brainiac11 in #610
  • refactor(note): ♻️ simplify GermanNoteNotation.note formatter switch by @albertms10 in #611
  • refactor(equal_temperament): ♻️ move chromaticDivisions from music.dart by @albertms10 in #616
  • refactor: ♻️ rename formatters to *Notation by @albertms10 in #608
  • refactor(pitch): ♻️ rewrite using NotationSystem by @albertms10 in #617
  • refactor(chord_pattern): ♻️ rewrite clearer formatter for intervals by @albertms10 in #619
  • feat(interval): ✨ override subtract operator and add intervalSteps extension method by @albertms10 in #621
  • feat(chord_pattern): ✨ add under method by @albertms10 in #620
  • refactor(pitch_class): ♻️ rewrite formatter using NotationSystem by @albertms10 in #622
  • refactor(tuning_fork): ♻️ rewrite formatter using NotationSystem by @albertms10 in #623
  • refactor(scale_degree): ♻️ rewrite formatter using NotationSystem by @albertms10 in #624
  • feat(accidental): ✨ allow using ASCII characters for SymbolAccidentalNotation by @albertms10 in #625
  • feat(pitch): ✨ allow using ASCII characters for HelmholtzPitchNotation by @albertms10 in #626
  • feat(pitch): ✨ allow using ASCII characters for ScientificPitchNotation by @albertms10 in #627
  • feat(closest_pitch): ✨ allow using ASCII characters for StandardClosestPitchNotation by @albertms10 in #628
  • refactor(notation_system): ♻️ use named groups for regular expressions by @albertms10 in #629
  • refactor(notation_system): ♻️ use regular expressions consistently by @albertms10 in #632
  • feat(note): ✨ add .textual constructor to NoteNotation systems by @albertms10 in #635
  • refactor: ♻️ make textual string representations the default and add symbol constructors by @albertms10 in #636
  • perf: ⚡ replace .toString calls in favor of .format inside Formatter implementations by @albertms10 in #637
  • refactor(interval): ♻️ use sizeNotation RegExp pattern to match the Interval.size by @albertms10 in #639
  • fix(pitch): 🐛 use noteNotation RegExp to correctly match the note pattern (e.g., German as well) by @albertms10 in #640
  • feat(size): ✨ add Size.parse factory method by @albertms10 in #641

Dependabot updates

  • chore(deps): ⬆️ bump ossf/scorecard-action from 2.4.1 to 2.4.2 in the minor-actions-dependencies group by @dependabot[bot] in #604
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.18 to 3.28.19 in the minor-actions-dependencies group by @dependabot[bot] in #607
  • chore(deps): ⬆️ bump very_good_analysis from 7.0.0 to 9.0.0 by @dependabot[bot] in #606
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.19 to 3.29.0 in the minor-actions-dependencies group by @dependabot[bot] in #609
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.0 to 3.29.1 in the minor-actions-dependencies group by @dependabot[bot] in #612
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.1 to 3.29.2 in the minor-actions-dependencies group by @dependabot[bot] in #613
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.2 to 3.29.4 in the minor-actions-dependencies group by @dependabot[bot] in #614
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.4 to 3.29.5 in the minor-actions-dependencies group by @dependabot[bot] in #615
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot[bot] in #618
  • chore(deps): ⬆️ bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #631
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.8 to 3.29.9 in the minor-actions-dependencies group by @dependabot[bot] in #630
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.9 to 3.29.11 in the minor-actions-dependencies group by @dependabot[bot] in #633
  • chore(deps): ⬆️ bump github/codeql-action from 3.29.11 to 3.30.1 in the minor-actions-dependencies group by @dependabot[bot] in #638

New Contributors

Full Changelog: v0.22.0...v0.23.0

0.22.0 — Dart 3.7, new ChordPattern and Interval formatters, and more!

21 May 23:47

Choose a tag to compare

What's Changed

  • docs(README): 📖 add examples for Frequency.at temperature method by @albertms10 in #581
  • refactor(map_extension): 🔥 remove unused recordEntries utility method by @albertms10 in #582
  • refactor(note): 💥 rewrite harmonics methods to return an Iterable by @albertms10 in #584
  • refactor: ♻️ use Size constants where appropriate by @albertms10 in #583
  • refactor: ♻️ use patterns to succinctly destructure objects by @albertms10 in #585
  • docs(README): 📖 add more similar projects in other languages by @albertms10 in #588
  • docs: 📖 use consistent wording for documentation comments by @albertms10 in #593
  • build(pubspec): 🚚 bump Dart SDK 3.7 by @albertms10 in #591
  • refactor(quality): ♻️ rewrite compareTo without relying on runtimeType by @albertms10 in #594
  • test(quality): 🧪 add missing test case for compareTo method by @albertms10 in #600
  • feat(note): ✨ add inOctave extension methods for Note and Pitch lists by @albertms10 in #586
  • feat(scalable): ✨ add isStepwise getter by @albertms10 in #446
  • refactor(interval): ♻️ rewrite notation systems using Formatter by @albertms10 in #416
  • feat(chord_pattern): ✨ implement the ChordPatternFormatter by @albertms10 in #256

Dependabot updates

  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot in #587
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.5 to 3.28.8 in the minor-actions-dependencies group by @dependabot in #589
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.8 to 3.28.9 in the minor-actions-dependencies group by @dependabot in #590
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.7.0 to 1.7.1 in the minor-actions-dependencies group by @dependabot in #592
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 4 updates by @dependabot in #595
  • chore(deps): ⬆️ bump the minor-actions-dependencies group across 1 directory with 3 updates by @dependabot in #598
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.12 to 3.28.17 in the minor-actions-dependencies group by @dependabot in #599
  • chore(deps): ⬆️ bump github/codeql-action from 3.28.17 to 3.28.18 in the minor-actions-dependencies group by @dependabot in #601

Full Changelog: v0.21.0...v0.22.0

0.21.0 — More robust operations with large intervals and more!

24 Jan 00:26

Choose a tag to compare

What's Changed

  • docs(size): 📖 move implementation comments from method documentation by @albertms10 in #571
  • feat(scale_pattern): ✨ add exclude Intervals method by @albertms10 in #570
  • refactor(scale_pattern): ♻️ use proper Set argument for exclude by @albertms10 in #572
  • refactor(interval): 💥 simplify circleFrom method dropping the distance argument by @albertms10 in #573
  • refactor(note): 💥 rewrite splitCircleOfFifths method to return Iterables by @albertms10 in #574
  • fix(size): 🐛 rewrite simple getter without imprecise absShift calc by @albertms10 in #575
  • docs(size): 📖 add clearer binary documentation about isPerfect implementation by @albertms10 in #576
  • fix(size): 🐛 rewrite semitones getter without relying on deprecated absShift by @albertms10 in #577
  • fix(size): 🐛 use correct isPerfect assert condition in constructor by @albertms10 in #578
  • ci(analysis): 💚 bump Dart SDK 3.6 by @albertms10 in #580
  • refactor(note): ♻️ rewrite transposeBy method without absShift by @albertms10 in #579

Dependabot updates

  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot in #568
  • chore(deps): ⬆️ bump the minor-actions-dependencies group with 2 updates by @dependabot in #569

Full Changelog: v0.20.0...v0.21.0

0.20.0 — Handy improvements on Interval, Note and IterableExtension methods!

16 Dec 23:16

Choose a tag to compare

What's Changed

  • refactor(scale_pattern): ♻️ rename BinarySequence extension methods by @albertms10 in #529
  • feat(note): ✨ add flat, sharp, and natural extension methods of List<Note> by @albertms10 in #528
  • refactor(interval): ♻️ rename distanceBetween parameters and simplify return signature by @albertms10 in #531
  • refactor!(interval): 💥 rename distanceBetweencircleDistance by @albertms10 in #532
  • refactor!(note): 💥 rename flatCircleOfFifthscircleOfFifths method by @albertms10 in #533
  • fix(pitch): 🐛 address descending intervals in interval method by @albertms10 in #285
  • feat(interval): ✨ make the class Respellable by @albertms10 in #539
  • feat(iterable_extension): ✨ add compact, explode and format extension methods by @albertms10 in #535
  • refactor(iterable_extension): ♻️ simplify compact method by @albertms10 in #541
  • perf(iterable_extension): ⚡️ rewrite closestTo with extension methods by @albertms10 in #542
  • perf: ⚡️ mark toList calls as non-growable by @albertms10 in #540
  • fix(size): 🐛 address longstanding issue with isPerfect in large interval sizes by @albertms10 in #544

Dependabot updates

  • chore(deps): ⬆️ bump actions/upload-artifact from 4.3.5 to 4.3.6 by @dependabot in #526
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.15 to 3.26.0 by @dependabot in #527
  • chore(deps): ⬆️ bump github/codeql-action from 3.26.0 to 3.26.5 by @dependabot in #534
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.3.6 to 4.4.0 by @dependabot in #536
  • chore(deps): ⬆️ bump github/codeql-action from 3.26.5 to 3.26.7 by @dependabot in #538
  • chore(deps): ⬆️ bump actions/checkout from 4.1.7 to 4.2.0 by @dependabot in #546
  • chore(deps): ⬆️ bump github/codeql-action from 3.26.7 to 3.26.9 by @dependabot in #547
  • chore(deps): ⬆️ bump github/codeql-action from 3.26.9 to 3.27.0 by @dependabot in #558
  • chore(deps): ⬆️ bump coverallsapp/github-action from 2.3.0 to 2.3.4 by @dependabot in #559
  • chore(deps): ⬆️ bump actions/cache from 4.0.2 to 4.1.2 by @dependabot in #557
  • chore(deps): ⬆️ bump the minor-actions-dependencies group across 1 directory with 2 updates by @dependabot in #561
  • chore(deps): ⬆️ bump github/codeql-action from 3.27.0 to 3.27.1 in the minor-actions-dependencies group by @dependabot in #562
  • chore(deps): ⬆️ bump github/codeql-action from 3.27.1 to 3.27.4 in the minor-actions-dependencies group by @dependabot in #563
  • chore(deps): ⬆️ bump the minor-actions-dependencies group across 1 directory with 2 updates by @dependabot in #565
  • chore(deps): ⬆️ bump the minor-actions-dependencies group across 1 directory with 2 updates by @dependabot in #567

Full Changelog: v0.19.1...v0.20.0

0.19.1 — Quick-fix typos

08 Aug 00:02
bd183c5

Choose a tag to compare

What's Changed

  • refactor(interval): 📖 remove ignored prefer_const_constructors lint by @albertms10 in #524
  • docs(CHANGELOG): 🔖 fix typos and address linked Pull requests by @albertms10 in #525

Full Changelog: v0.19.0...v0.19.1

0.19.0 — Welcome the new Rational class and bumped the Dart SDK!

07 Aug 23:41
dfbce04

Choose a tag to compare

What's Changed

  • chore(pubspec): 🏗️ bump Dart SDK 3.4.0 by @albertms10 in #499
  • chore(analysis_options): 🕵️ enable new lints and fix unnecessary_library_name by @albertms10 in #500
  • feat!(scalable): 💥 allow providing reference in numericRepresentation by @albertms10 in #501
  • feat!(pitch): 💥 use double, triple, and quadruple prime symbols for Helmholtz notation by @albertms10 in #502
  • refactor(tuning): ♻️ remove Ratio extension type in favor of Cent.fromRatio constructor by @albertms10 in #510
  • refactor(utils): ♻️ move nonZeroSign method from int to num extension by @albertms10 in #511
  • refactor!(interval): 💥 make isDescending parameter in descending method positional by @albertms10 in #521
  • chore(pubspec): ⬇️ lower the Dart SDK bound to version 3.3 and upgrade analysis CI to 3.5 by @albertms10 in #522
  • refactor(analysis): 🕵️ add more lint rules and explain ignored diagnostics by @albertms10 in #523
  • feat(utils): ✨ add Rational class representation and test cases by @albertms10 in #493
  • feat!: 💥 make comparator operators agree with compareTo and == by @albertms10 in #498

Dependabot updates

  • chore(deps): ⬆️ bump github/codeql-action from 3.25.4 to 3.25.5 by @dependabot in #504
  • chore(deps): ⬆️ bump actions/checkout from 4.1.5 to 4.1.6 by @dependabot in #503
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.5 to 3.25.8 by @dependabot in #507
  • chore(deps): ⬆️ bump actions/checkout from 4.1.6 to 4.1.7 by @dependabot in #508
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.8 to 3.25.10 by @dependabot in #509
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.10 to 3.25.11 by @dependabot in #513
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.6.4 to 1.6.5 by @dependabot in #512
  • chore(deps): ⬆️ bump very_good_analysis from 5.1.0 to 6.0.0 by @dependabot in #514
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.3.3 to 4.3.4 by @dependabot in #515
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.11 to 3.25.12 by @dependabot in #516
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.12 to 3.25.15 by @dependabot in #518
  • chore(deps): ⬆️ bump ossf/scorecard-action from 2.3.3 to 2.4.0 by @dependabot in #519
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.3.4 to 4.3.5 by @dependabot in #520

Full Changelog: v0.18.0...v0.19.0

0.18.0 — Improved ClosestPitch, temperature support for Frequency, new scale and more!

14 May 22:47
7a1ea69

Choose a tag to compare

What's Changed

  • refactor(note): ♻️ rename respellByOrdinalDistance methods by @albertms10 in #442
  • feat(note): ✨ return the next closest spelling in respellByAccidental when no respelling is possible by @albertms10 in #443
  • refactor(quality): ♻️ move isDissonant check from Interval by @albertms10 in #444
  • feat(base_note): ✨ add next and previous getters by @albertms10 in #445
  • test(interval): 🧪 use shorthand Size constructors by @albertms10 in #447
  • fix(quality): 🐛 address wrong isDissonant condition for ImperfectQuality by @albertms10 in #449
  • refactor(scale_pattern): ♻️ extract static bit-related methods by @albertms10 in #451
  • refactor(enharmonic): ♻️ rename ClassMixinEnharmonic mixin by @albertms10 in #452
  • refactor(frequency): ♻️ extract reference as 440 Hz by @albertms10 in #454
  • feat(note): ✨ take temperature into account when dealing with Frequency by @albertms10 in #455
  • fix(pitch): 🐛 address harmonics wrongly forwarding parameters by @albertms10 in #456
  • ci(scorecards-analysis): 🧑‍⚕️ add OSSF Scorecards analysis workflow by @albertms10 in #458
  • test(frequency): 🧪 add test case for chained closestPitch with temperature by @albertms10 in #459
  • refactor(scalable, interval): ♻️ consistently rename inverse, invertedinversion by @albertms10 in #460
  • docs(README): 📖 add examples for new methods by @albertms10 in #461
  • fix(pitch): 🐛 address isEnharmonicWith not taking octave into account by @albertms10 in #462
  • refactor(pitch): ♻️ extract reference static constant by @albertms10 in #463
  • refactor: ♻️ remove unnecessary @immutable annotation on extension types by @albertms10 in #464
  • docs(README): 📖 address BaseNote string representation examples by @albertms10 in #465
  • feat!(tuning): ✨ add new TuningFork class and refactor TuningSystem accordingly by @albertms10 in #466
  • refactor(frequency): ♻️ move at and extract Celsius.ratio methods by @albertms10 in #467
  • refactor(cent): ♻️ extract divisionsPerSemitone and rename octave by @albertms10 in #471
  • refactor(frequency): ♻️ expose referenceTemperature parameter by @albertms10 in #472
  • feat(closest_pitch): ✨ add respelledSimple getter by @albertms10 in #473
  • feat(closest_pitch): ✨ add +, - operators by @albertms10 in #474
  • refactor(scale_pattern): ♻️ extract bit-related methods into BinarySequence extension by @albertms10 in #479
  • feat(scale_pattern): ✨ add double harmonic major scale by @JulioJamon54 in #482
  • refactor(scale_pattern): ♻️ extract bit-related methods into BinarySequence extension by @albertms10 in #489
  • test(closest_pitch): 🧪 add test cases for toString rounding by @albertms10 in #491
  • chore(pubspec): 🚚 use correct repository URL by @albertms10 in #492
  • fix(pitch): 🐛 address large ClosestPitch spellings for harmonics with temperature by @albertms10 in #470
  • feat!(interval): ✨ add fromSemitones(int) and rename fromSizeAndSemitones factory constructors by @plammens in #476
  • refactor(hearing_range): ♻️ rename isAudibleAt method by @albertms10 in #457

Dependabot updates

  • chore(deps): ⬆️ bump actions/checkout from 4.1.1 to 4.1.2 by @dependabot in #448
  • chore(deps): ⬆️ bump actions/cache from 4.0.1 to 4.0.2 by @dependabot in #450
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.1.0 to 4.3.1 by @dependabot in #469
  • chore(deps): ⬆️ bump github/codeql-action from 3.24.9 to 3.24.10 by @dependabot in #478
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.6.2 to 1.6.4 by @dependabot in #480
  • chore(deps): ⬆️ bump actions/upload-artifact from 4.3.1 to 4.3.3 by @dependabot in #487
  • chore(deps): ⬆️ bump actions/checkout from 4.1.1 to 4.1.4 by @dependabot in #486
  • chore(deps): ⬆️ bump github/codeql-action from 3.24.10 to 3.25.3 by @dependabot in #488
  • chore(deps): ⬆️ bump actions/checkout from 4.1.4 to 4.1.5 by @dependabot in #497
  • chore(deps): ⬆️ bump ossf/scorecard-action from 2.3.1 to 2.3.3 by @dependabot in #495
  • chore(deps): ⬆️ bump coverallsapp/github-action from 2.2.3 to 2.3.0 by @dependabot in #496
  • chore(deps): ⬆️ bump github/codeql-action from 3.25.3 to 3.25.4 by @dependabot in #494

New Contributors

Full Changelog: v0.17.1...v0.18.0

0.17.1

17 Mar 08:38

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.17.0...v0.17.1

0.17.0

10 Mar 23:41

Choose a tag to compare

What's Changed

  • refactor!(key_signature): ♻️ rewrite keys method to return a Map by @albertms10 in #401
  • docs(README): 📖 remove unit symbol from Frequency examples by @albertms10 in #402
  • feat!(interval): ✨ use negative Size as descending string representation by @albertms10 in #403
  • refactor(interval): ♻️ extract IntervalNotation system by @albertms10 in #404
  • feat!(note): 🔥 use RomanceNoteNotation instead of Italian and French by @albertms10 in #405
  • refactor(note): ♻️ allow overriding accidental from NoteNotation by @albertms10 in #406
  • test(closest_pitch): 🧪 add more tests for parse constructor by @albertms10 in #407
  • refactor(note): ♻️ extract common GermanNoteNotation system into the dedicated accidental method by @albertms10 in #408
  • docs: 📖 simplify public API return documentation by @albertms10 in #409
  • refactor(interval): ♻️ rename StandardIntervalNotation by @albertms10 in #410
  • refactor(scale_degree): ♻️ extract StandardScaleDegreeNotation by @albertms10 in #411
  • feat(scale_degree): 🥅 assert ordinal and inversion integer values by @albertms10 in #412
  • refactor!(mode): ♻️ rename oppositeparallel method by @albertms10 in #414
  • refactor(note): ♻️ simplify GermanNoteNotation.accidental by @albertms10 in #415
  • chore(deps): ⬆️ bump actions/cache from 4.0.0 to 4.0.1 by @dependabot in #418
  • refactor: ♻️ rewrite unnecessary switch expressions with if statements by @albertms10 in #419
  • fix(key): 🐛 use lowercased TonalMode in NoteNotation.german keys by @albertms10 in #421
  • feat(scale_degree): ✨ add inverted getter by @albertms10 in #422
  • refactor(scale_degree): ♻️ extract romanNumeral getter by @albertms10 in #423
  • docs: 📖 comprehensively document common toString methods and their systems by @albertms10 in #424
  • refactor(scale_degree): ♻️ use new copyWith method to update individual properties by @albertms10 in #425
  • feat(interval): ✨ add comparison operators <, <=, >, and >= by @albertms10 in #426
  • test(just_intonation): 🧪 use closeTo with ideal ratio in ratio use cases by @albertms10 in #427
  • feat(key_signature): ✨ add incrementBy method by @albertms10 in #428
  • feat!: 💥 make main entity collections unmodifiable by @albertms10 in #429
  • feat(scale_pattern): ✨ make equality enharmonic by @albertms10 in #394
  • refactor(scalable): ♻️ extract isEnharmonicWith extension method by @albertms10 in #430
  • feat(scale_pattern): ✨ add binary representation methods by @albertms10 in #392
  • refactor(scale_pattern): ♻️ simplify binary to integer conversion by @albertms10 in #431
  • feat(iterable_extension): ✨ allow overriding difference in closestTo method by @albertms10 in #327
  • feat(pitch): ✨ add helper harmonics method by @albertms10 in #432
  • feat(pitch): ✨ add Helmholtz notation German and Romance variants by @albertms10 in #433
  • feat(interval): ✨ make perfect constructor default to PerfectQuality.perfect by @albertms10 in #435
  • feat(size): ✨ add shorthand getters to create an Interval by @albertms10 in #436
  • refactor(size): ♻️ split PerfectSize and ImperfectSize sub-extension types by @albertms10 in #437
  • refactor(size): ♻️ redeclare simple in extension types to allow chaining by @albertms10 in #438
  • feat(size): ✨ add inverted, isDissonant getters moved from Interval by @albertms10 in #439

Full Changelog: v0.16.0...v0.17.0