Releases: orchetect/TimecodeKit
Releases · orchetect/TimecodeKit
2.3.4
Improvements
CMTime: Conditional as-neededSendableconformance based only on scenarios with unavailability of native conformance- Minor compatibility updates for Swift 6.2 / Xcode 26.0
Maintenance
- Fixed unit testing runtime issue when compiling with Xcode 26.0
- Updated example projects
2.3.3
2.3.2
Fixes
Timecode: Adjusted ordering for static UT Type constants, which will now work as expected with pasteboard and drag/drog operationsTimecodeField: Fixed potential bug in component focus navigation
New
TimecodeField- Added init providing bindings to components and each individual timecode property
- Added
timecodeFieldInputRejectionFeedbackview modifier - Added
timecodeFieldPastePolicyview modifier - Added
pulseinput rejection animation style in addition to defaultshake
Improvements
TimecodeField- Internal refactors to enable unit testing
- Refined hardware keyboard input support on all platforms
TimecodeField/TimecodeText: Resolved type ambiguity issue with some view modifiersAttributedString/NSAttributedString: added additional style parameters for consistency and resolved some formatting issues
Maintenance
- Updated docs
- Updated example projects
- Updated unit tests
2.3.1
New
Timecode.StringFormat: Added alwaysShowDays option
Changes
Timecode: RenamedverboseDescriptionproperty tostringValueVerboseTimecode.StringFormat: Deprecated redundantshowSubFramesstatic constructorTimecodeField/TimecodeText: Changed style view modifiers to takeShapeStyleinstead ofColor
Fixes
TimecodeField: Improved handling of keyboard input on iOS
Maintenance
- Updated docs
2.3.0
Important
This update bumps minimum requirements for compilation to Xcode 16.0 / Swift 5.9
Major Update Summary
- Fully updated for Swift 6 strict concurrency compatibility
- Restructured library
- 1 umbrella module (TimecodeKit) which imports the entire library and all submoduels
- 3 submodules (
TimecodeKitCore,TimecodeKitAV,TimecodeKitUI) which may each be discretely imported
- Added two new extremely polished and versatile multiplatform SwiftUI controls:
TimecodeFieldandTimecodeText - Added 3 brand new in-depth multiplatform example projects
- Timecode Math: demonstrates basic math
- Timecode UI: demonstrates the new SwiftUI controls available and all of their options
- Movie Timecode: demonstrates reading and writing timecode tracks to QuickTime movie files
- Online docc documentation has been overhauled and now includes docs for all package modules
Detailed Release Notes
TimecodeKitCore
Timecode- Added
isValidcomputed property - Implemented more consistent
EquatableandHashablebehavior - Renamed
propertiesForTimecodeStringmethod parameters topropertiesForString - Added
isWithinValidComponentDigitCountsproperty - Refactored
invalidComponentsstatic methods asTimecode.Componentsinstance methods - Refactored
stringValueValidatedmethod asnsAttributedString, moved to TimecodeKitUI target - Added missing math methods (
add,adding,subtract,subtracting) for new timecode source value types TextFormatter- Moved to TimecodeKitUI module
- Renamed
validationAttributesproperty toinvalidAttributes
- Added
Timecode.Component- Added
next(excluding:)andprevious(excluding:)methods - Added
first(excluding:)andlast(excluding:)methods - Added
numberOfDigits(at:)method - Added suite of name properties
- Added
Timecode.Components- Added
init(_ dictionary:)anddictionaryproperty (get/set) - Added
init(_ array:)andarrayproperty (get/set) - Added
Sequenceconformance to iterate on component values - Added
isWithinValidDigitCount(at:base:)method
- Added
Timecode.SubFramesBase:- Added
stringValueVerboseproperty - Added
numberOfDigitsproperty
- Added
- Added new
randomtimecode value source String: RemovedtimecodeFrameRatepublic category property
TimecodeKitUI
- SwiftUI Views
- Added new
TimecodeFieldSwiftUI view for user-interactive timecode entry Timecode: RefactoredstringValueValidatedText()as a new SwiftUITimecodeTextview- Added view modifiers usable on
TimecodeFieldandTimecodeText - Added new
@TimecodeStateSwiftUI property wrapper for storing aTimecodeinstance in view
- Added new
AttributedString- Added
init(_ timecode:format:separatorStyle:validationStyle:)overload
- Added
Maintenance
- Documentation overhaul
- Unit tests updated
- Minor codebase improvements
2.2.0
Important
This bumps the minimum requirement for AVFoundation methods to macOS 12, iOS 15, tvOS 15, watchOS 8.
The requirements are only bumped for AVFoundation-specific methods. The core TimecodeKit functionality requirements remain the same as before.
Improvements
- Modernized the library: Migrated all
AVAssetandAVAssetTrackmethods to Swift Concurrency
Added
Timecode.StringFormat: AddedIdentifiableandSendableconformancesTimecode: AddedUTTypestatic constantsTimecode: AddedTransferableconformance (conditionally available on supported platform versions)Timecode: AddedNSItemProviderencoding and decoding methods
Maintenance
- Updated docs with fixes and usage guide for the newly-added
UTType/Transferable/NSItemProviderfeatures - Improved unit test performance for some slow tests