Skip to content

Releases: miquido/MQ-iOS

Default Error messages and fixes

01 Sep 05:20
f1cca02
Compare
Choose a tag to compare

Improve CriticalSection memory management.
Add IID for quick internal object identifiers.
Add TheErrorDisplayableMessages for customizing TheError displayable messages.

Fixes and error formatting

22 Aug 07:08
2ff9f9f
Compare
Choose a tag to compare

Fix CriticalSection thread safety issues.
Add runtime warning.
Improve TheError description / display formatting and errors composition.

Sendable and cleanup

05 Jul 14:15
22b31c9
Compare
Choose a tag to compare
  • add Sendable support
  • cleanup concurrency related functions
  • tweak DisplayableString API and internals

OS Support extension

30 May 09:42
146c50a
Compare
Choose a tag to compare

Add support for iOS, tvOS & Catalyst v13 support.
Update debug messages type conversion

Localization and Locking

06 Apr 07:27
590726b
Compare
Choose a tag to compare

Rework DisplayableString to be Hashable, Localizable and create custom StringInterpolation for it.
Add os_unfair_lock implementation for Lock.
Add atomic_flag based (spin lock) implementation of CriticalSection type for memory access synchronization .
Remove NSLock implementation for Lock.
Remove Lock.acquireBefore method.
Add identity function.
Add Task waiting methods.

Ergonomy

22 Feb 11:13
3954872
Compare
Choose a tag to compare

Update metadata interfaces and diagnostics including refined errors formatting.

Extensions

16 Feb 14:38
ee2e512
Compare
Choose a tag to compare

Extending initial interfaces adding some convenience methods, more overloads and more useful functions.
Including:

  • additional overloads for noop, always and unimplemented
  • breakpoint trigger and check
  • DisplayableString for user facing messages
  • improved errors ergonomy and metadata

Initial release

17 Nov 11:19
6db7585
Compare
Choose a tag to compare

Initial release of MQ 🎉

Includes:

  • tools for gathering metadata from the source code: SourceCodeLocation, SourceCodeMeta, SourceCodeContext
  • base interface for errors and error handling: TheError
  • common errors: Cancelled, InternalInconsistency, StringEncodingFailure, Undefined, Unexpected, Unimplemented, Unreachable
  • abstraction over locking: Lock
  • placeholders for various of contexts: void, always, noop, unreachable, unimplemented
  • replacement for Swift assertions that can be manually controlled i.e. to allow unit test coverage for paths using assertions: runtimeAssert, runtimeAssertionFailure