Skip to content

Releases: albertms10/music_notes

0.19.1

08 Aug 00:02
bd183c5
Compare
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

07 Aug 23:41
dfbce04
Compare
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
Compare
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
Compare
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
Compare
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

0.16.0 — Migrated library imports and rewritten Key, Size, Cent and Ratio

21 Feb 23:31
Compare
Choose a tag to compare

What's Changed

  • test: ♻️ shorten test descriptions by dropping should by @albertms10 in #372
  • refactor!(key_signature): ♻️ change operator +| by @albertms10 in #373
  • feat(closest_pitch): ✨ add frequency method by @albertms10 in #374
  • test(note): 🧪 add edge test cases for circleOfFifthsDistance by @albertms10 in #375
  • refactor(pitch): ♻️ reuse default Note.toString return value for ScientificPitchNotation by @albertms10 in #376
  • feat(tonality): ✨ add isTheoretical getter by @albertms10 in #377
  • feat(pitch): ✨ add comparison operators <, <=, >, and >= by @albertms10 in #379
  • feat(pitch): ✨ add midiNumber getter by @albertms10 in #378
  • refactor!(key): ♻️ rename TonalityKey by @albertms10 in #380
  • docs(key): 📖 addendum to rename TonalityKey by @albertms10 in #381
  • test(note): 🧪 skip failing tests by @albertms10 in #382
  • feat(scale): ✨ add length getter by @albertms10 in #383
  • chore(deps): ⬆️ bump actions/cache from 3.3.3 to 4.0.0 by @dependabot in #384
  • feat(note): ✨ rename toPitchClass and create Pitch.toClass methods by @albertms10 in #385
  • refactor: ♻️ enforce @immutable and declare final Notation classes by @albertms10 in #386
  • refactor: ♻️ rewrite part of directives in mini libraries by @albertms10 in #387
  • test: 🧪 remove unnecessary equals matcher by @albertms10 in #388
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.6.1 to 1.6.2 by @dependabot in #390
  • refactor(scalable): ♻️ move toClass method from Pitch by @albertms10 in #391
  • feat(scale): ✨ add isEnharmonicWith methods by @albertms10 in #393
  • build(pubspec): 🏗️ bump Dart SDK 3.3 by @albertms10 in #395
  • perf(tuning): ⚡ rewrite Cent, Ratio as extension types by @albertms10 in #312
  • docs(pitch_class): 📖 add more examples for operator * by @albertms10 in #396
  • feat!(equal_temperament): 💥 remove default parameter value from ratioFromSemitones by @albertms10 in #397
  • docs(tuning_system): 📖 rename old ratioFromNote examples by @albertms10 in #398
  • docs(README): 🌟 add Star History Chart by @albertms10 in #399
  • perf(frequency): ⚡️ rewrite as extension type by @albertms10 in #349
  • refactor(interval): ♻️ rewrite Size as extension type by @albertms10 in #311
  • test(scalable): ⚡️ use const collection literals whenever possible by @albertms10 in #400

Full Changelog: v0.15.0...v0.16.0

0.15.0 — New ClosestPitch, HearingRange and overall improvements

19 Jan 22:43
Compare
Choose a tag to compare

What's Changed

  • refactor(tonality): ♻️ rewrite toString method into NoteNotation by @albertms10 in #329
  • refactor: ♻️ rename methods from Notation systems by @albertms10 in #330
  • perf(key_signature): ⚡️ use empty whenever possible by @albertms10 in #331
  • feat(accidental): ✨ add isNatural getter by @albertms10 in #332
  • docs(key_signature): 📖 address wrong const keyword by @albertms10 in #333
  • docs: 📖 add examples to spellings methods by @albertms10 in #334
  • feat(note): ✨ compare spellings by closest distance by @albertms10 in #335
  • refactor(note): ♻️ extract switch expression to a local variable in GermanNoteNotation.tonality by @albertms10 in #336
  • refactor(interval): ♻️ use descending in circleFrom by @albertms10 in #337
  • refactor(frequency): ♻️ rewrite ClosestPitch record into a class by @albertms10 in #339
  • refactor(frequency): ♻️ extract humanHearingRange record by @albertms10 in #338
  • refactor(closest_pitch): ♻️ move class to a new file by @albertms10 in #341
  • feat(cent): ✨ override negation operator by @albertms10 in #342
  • feat!(closest_pitch): 💥 remove hertz member by @albertms10 in #343
  • feat(pitch): ✨ add +, - operators by @albertms10 in #344
  • refactor(frequency): ♻️ rewrite HearingRange record into a class by @albertms10 in #340
  • refactor!(cent): ♻️ rename redundant unitSymbol static constant by @albertms10 in #345
  • refactor: ♻️ infer types from static const members by @albertms10 in #346
  • chore(gitignore): 🙈 ignore the tool directory instead of bin by @albertms10 in #347
  • refactor(frequency): ♻️ use num for hertz by @albertms10 in #348
  • refactor(tuning_system): ♻️ rename pitch parameter from ratio by @albertms10 in #350
  • feat(closest_pitch): ✨ add parse factory constructor by @albertms10 in #351
  • docs(tuning_system): 📖 rename generator getter examples by @albertms10 in #352
  • refactor(quality): ♻️ extract symbols to static constants by @albertms10 in #353
  • refactor(quality): ♻️ move diminished and augmented symbols to Quality by @albertms10 in #354
  • refactor(interval): ♻️ rename fromQualitySemitones factory constructor by @albertms10 in #355
  • refactor!(quality): ♻️ rename abbreviationsymbol getter by @albertms10 in #356
  • refactor(frequency): ♻️ use accidental.isSharp to check whether isCloserToUpwardsSpelling by @albertms10 in #357
  • docs(key_signature): 📖 add examples to fromDistance factory constructor by @albertms10 in #358
  • feat(key_signature): ✨ add clean getter to support cancellation naturals by @albertms10 in #359
  • feat(note): ✨ add natural getter by @albertms10 in #360
  • docs: 📖 remove wrong const keywords by @albertms10 in #361
  • docs(accidental): 📖 add symbols to static const members by @albertms10 in #366
  • feat(note): ✨ add showNatural option to EnglishNoteNotation by @albertms10 in #365
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.6.0 to 1.6.1 by @dependabot in #363
  • chore(deps): ⬆️ bump actions/cache from 3.3.2 to 3.3.3 by @dependabot in #364
  • feat(key_signature): ✨ override + operator by @albertms10 in #362
  • feat(key_signature): ✨ show cautionary accidentals in + when not present in other by @albertms10 in #367
  • feat(tonality): ✨ add parallel getter by @albertms10 in #368
  • fix(key_signature): 🐛 show each cancelled accidental once in edge key signatures by @albertms10 in #369
  • perf(interval): ⚡️ rewrite circleFrom as a sync generator by @albertms10 in #370
  • feat!(key_signature): 💥 check for isCanonical before evaluating distance by @albertms10 in #371

Full Changelog: v0.14.0...v0.15.0

0.14.0 — Renamed Pitch, rewritten `toString`, and new inverse, retrograde getters

26 Dec 23:39
Compare
Choose a tag to compare

What's Changed

  • feat(equal_temperament): ✨ override toString, operator ==, and hashCode by @albertms10 in #302
  • refactor(equal_temperament)!: ♻️ rewrite octave divisions by @albertms10 in #304
  • refactor(interval): ♻️ declare and reassign dynamic notes in record by @albertms10 in #305
  • feat(accidental): ✨ add name cases for all accidentals by @albertms10 in #306
  • refactor(pitch): ♻️ rename PositionedNotePitch by @albertms10 in #308
  • docs: 📖 add related entities in class documentation by @albertms10 in #309
  • feat(note): ✨ add optional NotationSystem to toString methods by @albertms10 in #307
  • build(pubspec): ⬆️ upgrade Dart SDK 3.2 by @albertms10 in #310
  • feat!(pitch): 💥 move scientificName and helmholtzName to toString by @albertms10 in #313
  • refactor!(note): ♻️ rename NotationSystemNoteNotation by @albertms10 in #314
  • refactor!(pitch_class): ♻️ move integerNotation to toString by @albertms10 in #315
  • refactor(note): ♻️ use major getter in circleOfFifthsDistance by @albertms10 in #317
  • docs(transposable): 📖 simplify transposeBy documentation by @albertms10 in #318
  • feat(accidental): ✨ add isFlat, isSharp getters by @albertms10 in #319
  • refactor(note): ♻️ rewrite notation systems to allow extending behavior by @albertms10 in #316
  • refactor: ♻️ rename toClass methods by @albertms10 in #320
  • docs(README): 📖 use varied descending Interval example by @albertms10 in #323
  • refactor(scalable): ♻️ move semitones to abstract class by @albertms10 in #324
  • feat!(scalable): 💥 make difference return the closest number of semitones by @albertms10 in #325
  • feat(scalable): ✨ add inverse, retrograde getters to ScalableIterable by @albertms10 in #287
  • build(pubspec): ⬆️ bump test to 1.25.0 by @albertms10 in #326
  • test(interval): ⚡️ use const for literals by @albertms10 in #328
  • fix(pitch_class): 🐛 return descending intervals in interval method by @albertms10 in #286

Full Changelog: v0.13.0...v0.14.0

0.13.0 — New Pythagorean tuning system, respelling operations and more refactorings

29 Oct 22:09
Compare
Choose a tag to compare

What's Changed

  • fix(note)!: 💥 remove semitones chromatic modulo by @albertms10 in #265
  • feat(positioned_note): ✨ add respelling methods by @albertms10 in #266
  • feat(frequency)!: ✨ improve closestPositionedNote enharmonic spelling by @albertms10 in #267
  • feat(frequency): ✨ add harmonics related methods by @albertms10 in #268
  • feat(frequency): ✨ add displayString extension method on ClosestPositionedNote by @albertms10 in #269
  • docs(README): 📖 update recently added methods by @albertms10 in #270
  • feat(positioned_note): ✨ rename frequency method and expose tuningSystem by @albertms10 in #271
  • feat(interval)!: ✨ include notes in distanceBetween record by @albertms10 in #272
  • chore(deps): ⬆️ bump actions/cache from 3.3.1 to 3.3.2 by @dependabot in #274
  • chore(deps): ⬆️ bump coverallsapp/github-action from 2.2.1 to 2.2.3 by @dependabot in #275
  • chore(deps): ⬆️ bump actions/checkout from 3.6.0 to 4.0.0 by @dependabot in #276
  • docs(README): 📖 fix CI badge by @albertms10 in #277
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.5.0 to 1.5.1 by @dependabot in #278
  • chore(deps): ⬆️ bump actions/checkout from 4.0.0 to 4.1.0 by @dependabot in #279
  • refactor(chordable): ♻️ expect a Set for replaceSizes by @albertms10 in #280
  • perf(scalable): ⚡ rewrite extension methods to return Iterable by @albertms10 in #281
  • refactor(scalable): ♻️ override difference and implement in PitchClass by @albertms10 in #283
  • refactor(interval_class): ♻️ rewrite Interval.fromSemitonesQuality as resolveClosestSpelling by @albertms10 in #284
  • docs(note): 📖 improve overall methods documentation by @albertms10 in #288
  • refactor(interval): ♻️ call fromDelta in fromSemitones constructor by @albertms10 in #289
  • refactor(quality): ♻️ move fromInterval into Interval.fromQualityDelta by @albertms10 in #290
  • feat(note): ✨ add isEnharmonicWith method by @albertms10 in #291
  • refactor(test): ♻️ create a SplayTreeSet of a Set instead of a List by @albertms10 in #292
  • refactor(int_extension): ♻️ extract nonZeroSign method by @albertms10 in #293
  • docs(positioned_note): 📖 address documentation examples by @albertms10 in #295
  • perf(key_signature): ⚡ remove unneeded variable declaration in tonality by @albertms10 in #294
  • chore(deps): ⬆️ bump dart-lang/setup-dart from 1.5.1 to 1.6.0 by @dependabot in #296
  • docs: 📖 remove type parameter references in doc comments by @albertms10 in #297
  • docs(note): 📖 use regular comments for variables by @albertms10 in #298
  • chore(deps): bump actions/checkout from 4.1.0 to 4.1.1 by @dependabot in #299
  • feat(tuning): ✨ introduce new Ratio, Cent and move .cents to former class by @albertms10 in #300
  • refactor(tuning_system)!: ♻️ move referenceNote to TuningSystem by @albertms10 in #301
  • feat(tuning)!: 💥 add PythagoreanTuning tuning system by @albertms10 in #273

Full Changelog: v0.12.0...v0.13.0

0.12.0 — New closestPositionedNote method and revamped PitchClass, IntervalClass APIs

28 Aug 17:47
Compare
Choose a tag to compare

What's Changed

  • ⚡ perf(chord_pattern): call sort instead of creating a SplayTreeSet by @albertms10 in #232
  • ♻️ refactor(chord): reuse augmented, major, minor, diminished methods from ChordPattern by @albertms10 in #233
  • ♻️ refactor(scalable): extract private _ScalableIterable extension by @albertms10 in #234
  • 📖 docs(music_notes): add library-level documentation comment by @albertms10 in #235
  • ♻️ refactor: sort members following diminished..augmented order by @albertms10 in #236
  • 📖 docs: add full public member API documentation by @albertms10 in #237
  • ✨ feat(interval)!: simplify toString and Quality.abbreviation by @albertms10 in #238
  • 🥅 feat(quality): strengthen parse exception cases by @albertms10 in #239
  • 🥅 feat(positioned_note): strengthen parse exception cases by @albertms10 in #240
  • ♻️ refactor(iterable): rename comparator variable by @albertms10 in #241
  • ♻️ refactor(positioned_note): extract octave variable in parse to improve readability by @albertms10 in #242
  • ✨ refactor(pitch_class)!: rename EnharmonicNotePitchClass by @albertms10 in #244
  • ✨ feat(pitch_class): add integerNotation getter by @albertms10 in #245
  • ✨ feat(pitch_class): move modulo operation to the constructor by @albertms10 in #246
  • ✨ feat(interval_class)!: rename EnharmonicIntervalIntervalClass by @albertms10 in #247
  • ♻️ refactor(int_extension): simplify modulo methods by @albertms10 in #249
  • ♻️ refactor(enharmonic): remove unnecessary interface by @albertms10 in #250
  • 💥 feat(tuning_system): generalize cents method expecting ratio instead of semitones by @albertms10 in #251
  • 🚀 feat(frequency): add closestPositionedNote method by @albertms10 in #252
  • ♻️ refactor(positioned_note): rename equalTemperamentFrequency reference parameters consistently by @albertms10 in #253
  • ✨ feat: add toPitchClass and toIntervalClass methods by @albertms10 in #254
  • ♻️ refactor(base_note): rewrite transposeBySize using incrementBy by @albertms10 in #255
  • ♻️ refactor(chord_pattern): rename fromIntervalSteps factory constructor by @albertms10 in #257
  • ♻️ refactor(scalable): rename _intervalSteps getters from _ScalableIterable by @albertms10 in #258
  • ⚡ perf(interval_class): remove unnecessary abs call on operator * by @albertms10 in #259
  • ✨ feat(accidental): add operator +- by @albertms10 in #260
  • ⚡ perf: rewrite map calls in favor of for loops by @albertms10 in #261
  • ⬆️ chore(deps): bump actions/checkout from 3.5.3 to 3.6.0 by @dependabot in #263
  • 📖 docs(README): write comprehensive API walkthrough by @albertms10 in #243

Full Changelog: v0.11.1...v0.12.0