Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add and/or update changelogs #75

Merged
merged 6 commits into from
Nov 22, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 99 additions & 0 deletions block2/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Changelog

Notable changes to this crate will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Unreleased - YYYY-MM-DD

### Added
* **BREAKING**: Blocks now require that arguments and return type implement
`objc2_encode::Encode`. This is a safety measure to prevent creating blocks
with invalid arguments.
* Proper GNUStep support using `block-sys`. See that crate for usage.
* Export `block-sys` as `ffi` module.
* Blocks now implements `objc2_encode::RefEncode` (and as such can be used in
Objective-C message sends).

### Changed
* **BREAKING**: Forked the project, so it is now available under the name
`block2`.
* No longer depends on `objc_test_utils`.

### Fixed
* Soundness issues with using empty enums.


## [0.1.6] (`block` crate) - 2016-05-08

### Added
* Support for linking to `libBlocksRuntime`.


## [0.1.5] (`block` crate) - 2016-04-04

### Changed
* Minor code changes


## [0.1.4] (`block` crate) - 2015-11-12

### Removed
* `libc` dependency.


## [0.1.3] (`block` crate) - 2015-11-07

### Changed
* Updated `libc` dependency.


## [0.1.2] (`block` crate) - 2015-10-10

### Fixed
* `improper_ctypes` warning.


## [0.1.1] (`block` crate) - 2015-09-03

### Fixed
* Missing `Sized` bounds on traits.


## [0.1.0] (`block` crate) - 2015-05-18

### Added
* `Clone` implementation for `RcBlock`.
* Improved documentation.

### Changed
* **BREAKING**: Rename `IdBlock` to `RcBlock`.
* **BREAKING**: Make `Block::call` take self immutably and make it `unsafe`.
* **BREAKING**: Make `BlockArguments::call_block` `unsafe`.

### Removed
* **BREAKING**: `DerefMut` on `RcBlock`.
* `objc` dependency.
* `Foundation` dependency in tests.


## [0.0.2] (`block` crate) - 2015-05-02

### Changed
* Use `objc_id`.


## [0.0.1] (`block` crate) - 2015-04-17

Initial version.


[0.1.6]: https://github.com/madsmtm/objc2/compare/block-0.1.5...block-0.1.6
[0.1.5]: https://github.com/madsmtm/objc2/compare/block-0.1.4...block-0.1.5
[0.1.4]: https://github.com/madsmtm/objc2/compare/block-0.1.3...block-0.1.4
[0.1.3]: https://github.com/madsmtm/objc2/compare/block-0.1.2...block-0.1.3
[0.1.2]: https://github.com/madsmtm/objc2/compare/block-0.1.1...block-0.1.2
[0.1.1]: https://github.com/madsmtm/objc2/compare/block-0.1.0...block-0.1.1
[0.1.0]: https://github.com/madsmtm/objc2/compare/block-0.0.2...block-0.1.0
[0.0.2]: https://github.com/madsmtm/objc2/compare/block-0.0.1...block-0.0.2
[0.0.1]: https://github.com/madsmtm/objc2/releases/tag/block-0.0.1
99 changes: 99 additions & 0 deletions objc2-encode/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
# Changelog

Notable changes to this crate will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Unreleased - YYYY-MM-DD

### Added
* **BREAKING**: Add `Encoding::LongDouble`, `Encoding::FloatComplex`,
`Encoding::DoubleComplex` and `Encoding::LongDoubleComplex`.
* Improved documentation.
* **BREAKING**: Add `RefEncode` trait, which represents types whoose pointers
has an encoding. This means you now only have to implement `RefEncode`, and
not both `&Encode` and `&mut Encode`.
* **BREAKING**: Implement `Encode` and `RefEncode` for all basic types (where
`T` is properly bound to implement it as well):
- Number types (`f32`, `u32`, ...)
- `NonZero` integer types
- `[T; LEN]` for all `LEN`s
- `ManuallyDrop<T>`
- `Pin<T>`
- `NonNull<T>`
- `Option<NonNull<T>>`
- `Wrapping<T>`
- `*const c_void`
- `*mut c_void`
- Some `extern "C" fn` pointers
- Pointers to pointers
- Pointers to pointers to pointers
- And so on
* Add `EncodeArguments` from `objc` crate.

### Changed
* **BREAKING**: Forked the project, so it is now available under the name
`objc2-encode`.
* **BREAKING**: Made `Encoding` `#[non_exhaustive]`. This will help us in
evolving the API while minimizing further breaking changes.
* Loosen `'static` bounds on references implementing `Encode`.
* Discourage using `bool::ENCODING`; use `objc2::Bool::ENCODING` instead.

### Removed
* **BREAKING**: Automatic `*const T: Encode` and `*mut T: Encode` impls when
when `&T: Encode` and `&mut T: Encode` was implemented. Implement
`T: RefEncode` instead!


## [1.1.0] (`objc-encode` crate) - 2019-10-16

### Added
* Implement `Encode` for arrays with up to 32 elements.

### Changed
* Simplify internal encoding comparison.


## [1.0.0] (`objc-encode` crate) - 2019-03-25

### Added
* Implement `PartialEq` between `Encoding` and `&str`.

### Changed
* **BREAKING**: Make `Encoding` an enum instead of a trait, yielding a vastly
different design. This makes use of associated constants.
* **BREAKING**: Rename `Encode::CODE` to `Encode::ENCODING`.
* Update to Rust 2018.

### Removed
* `libc` dependency.


## [0.0.3] (`objc-encode` crate) - 2017-04-30

### Fixed
* Compilation on versions prior to Rust `1.15`.


## [0.0.2] (`objc-encode` crate) - 2017-02-20

### Added
* **BREAKING**: `Display` requirement for encodings.
* Implement `PartialEq` for encodings.
* Implement `Encode` for pointers when references do.

### Fixed
* `IndexEncodingsComparator`.
* Compilation with older Rust versions.


## [0.0.1] (`objc-encode` crate) - 2017-02-19

Initial version.


[1.1.0]: https://github.com/madsmtm/objc2/compare/objc-encode-1.0.0...objc-encode-1.1.0
[1.0.0]: https://github.com/madsmtm/objc2/compare/objc-encode-0.0.3...objc-encode-1.0.0
[0.0.3]: https://github.com/madsmtm/objc2/compare/objc-encode-0.0.2...objc-encode-0.0.3
[0.0.2]: https://github.com/madsmtm/objc2/compare/objc-encode-0.0.1...objc-encode-0.0.2
[0.0.1]: https://github.com/madsmtm/objc2/releases/tag/objc-encode-0.0.1
65 changes: 65 additions & 0 deletions objc2-foundation/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Changelog

Notable changes to this crate will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

## Unreleased - YYYY-MM-DD

### Added
* **BREAKING**: Added associated `Ownership` type to `INSObject` to specify
whether the type can be mutated or not. `NSString` is a prime example of a
type that you may never get a `Owned/&mut` reference to, since it is very
easy to create two `NSString`s with the same underlying allocation.
* Added helper `is_empty` methods.
* Added `INSArray::first_mut` and `INSArray::last_mut`.

### Changed
* **BREAKING**: Renamed a lot of methods to better match Rusts naming scheme:
- `INSArray`
- `count` -> `len`
- `object_at` -> `get`
- `mut_object_at` -> `get_mut`
- `shared_object_at` -> `get_retained`
- `first_object` -> `first`
- `last_object` -> `last`
- `object_enumerator` -> `iter`
- `INSMutableArray`
- `add_object` -> `push`
- `insert_object_at` -> `insert`
- `replace_object_at` -> `replace`
- `remove_object_at` -> `remove`
- `remove_last_object` -> `pop`
- `remove_all_objects` -> `clear`
- `INSDictionary`
- `count` -> `len`
- `object_for` -> `get`
- `key_enumerator` -> `iter_keys`
- `object_enumerator` -> `iter_values`
- `INSValue`
- `value` -> `get`
- `from_value` -> `new`
- `NSComparisonResult`
- `from_ordering` -> `from`
- `as_ordering` -> `into`
- `NSRange`
- `from_range` -> `from`
- `as_range` -> `into`

### Fixed
* **BREAKING**: Marked `INS...` traits as `unsafe` to implement.
* **BREAKING**: Removed `new` method from `INSObject` since some classes don't
want this called. It has been re-added to other `INS...` traits on a case by
case basis (in particular not `NSValue`).
* **BREAKING**: `INSString::as_str` now takes an a reference to
`objc2::rc::AutoreleasePool`. This ensure that the returned `&str` is only
used while the current autorelease pool is valid.

### Removed
* **BREAKING**: Removed the `object_struct!` macro. It may be re-added in
another form.
* **BREAKING**: `NSMutableSharedArray<T>` and `NSSharedArray<T>` type
definitions. Use `NSMutableArray<T, Shared>` and `NSArray<T, Shared>`
instead.
* **BREAKING**: Removed `Any / 'static` bound on `INSObject`. This allows
implementing it for objects that contain lifetimes from the outer scope.
Loading