Skip to content

Commit 2d2df05

Browse files
committed
Bump version to 0.16.0
1 parent f167477 commit 2d2df05

File tree

2 files changed

+66
-56
lines changed

2 files changed

+66
-56
lines changed

Changelog.md

Lines changed: 65 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,161 +1,171 @@
11
# Changelog
22

3+
## 0.16.0 - 2025-06-09
4+
5+
### Changed
6+
7+
- `Model#to_h`: change choice content format. Choice content in hash is no more the value of the chosen item but a hash whose key is chosen iterm name associated with item value.
8+
9+
### Fixed
10+
11+
- `Model.model` helper did not use specified name to name element. This created clashes when embedding same model more than once.
12+
313
## 0.15.0 - 2025-01-03
414

515
### Changed
616

7-
* `Types::Choice` may now be recursive via models and wrappers. It may define a choice using itself as an alternative.
8-
* `Types::Base`: make `#do_parse`, `#do_parse_explicit` and `#der_to_value` public. The first two are marked as private API.
9-
* `Types::VisibleString` is now constrained. It will raises a `ConstraintError` when using a String with a character outside of ASCII range 32 to 126.
10-
* `Wrapper` is now lazy: it only allocates its inner element when needed.
11-
* `Model`: simplify internal mechanics to create a model, and to populate it on initialization.
17+
- `Types::Choice` may now be recursive via models and wrappers. It may define a choice using itself as an alternative.
18+
- `Types::Base`: make `#do_parse`, `#do_parse_explicit` and `#der_to_value` public. The first two are marked as private API.
19+
- `Types::VisibleString` is now constrained. It will raises a `ConstraintError` when using a String with a character outside of ASCII range 32 to 126.
20+
- `Wrapper` is now lazy: it only allocates its inner element when needed.
21+
- `Model`: simplify internal mechanics to create a model, and to populate it on initialization.
1222

1323
## 0.14.0 - 2024-12-28
1424

1525
### Removed
1626

17-
* Drop support for Ruby 2.7.
27+
- Drop support for Ruby 2.7.
1828

1929
### Fixed
2030

21-
* `Wrapper`: correctly wrap implicit types when the enclosed element itself wasn't implicit or explicit, by smashery.
31+
- `Wrapper`: correctly wrap implicit types when the enclosed element itself wasn't implicit or explicit, by smashery.
2232

2333
## 0.13.1 - 2024-07-13
2434

2535
### Changed
2636

27-
* Change ownership of this gem to lemontree55
37+
- Change ownership of this gem to lemontree55
2838

2939
### Fixed
3040

31-
* Fix some rubocop offenses.
32-
* KISS code
33-
* Fix an issue in `Model#initialize`: handle case when root element is a `Wrapper`.
41+
- Fix some rubocop offenses.
42+
- KISS code
43+
- Fix an issue in `Model#initialize`: handle case when root element is a `Wrapper`.
3444

3545
## 0.13.0 - 2024-01-03
3646

3747
### Added
3848

39-
* Add `Types::UniversalString`, by zeroSteiner
49+
- Add `Types::UniversalString`, by zeroSteiner
4050

4151
### Fixed
4252

43-
* Allow `Types::Choice` to be optional, by zeroSteiner
44-
* Fix timezone computation in `Types::GeneralizedTime`.
53+
- Allow `Types::Choice` to be optional, by zeroSteiner
54+
- Fix timezone computation in `Types::GeneralizedTime`.
4555

4656
### Removed
4757

48-
* Remove support for Ruby < 2.7
58+
- Remove support for Ruby < 2.7
4959

5060
## 0.12.1 - 2022-12-23
5161

5262
### Added
5363

54-
* Add parse tracing capacity.
64+
- Add parse tracing capacity.
5565

5666
## 0.12.0 - 2022-11-12
5767

5868
### Added
5969

60-
* In `Model` class, correctly track source location for dynamic class methods, by adfoster-r7.
61-
* In `Model` class, add a check on name uniqueness for embedded types. Raise a `ModelValidationError` on error, by adfoster-r7.
62-
* Add `Wrapper` class to modify options of existing types or models. Add `Model.wrapper` to easily use a wrapper when defining a model, by sdaubert and adfoster-r7.
63-
* Add support for BmpStrings (class `Types::BmpString`).
70+
- In `Model` class, correctly track source location for dynamic class methods, by adfoster-r7.
71+
- In `Model` class, add a check on name uniqueness for embedded types. Raise a `ModelValidationError` on error, by adfoster-r7.
72+
- Add `Wrapper` class to modify options of existing types or models. Add `Model.wrapper` to easily use a wrapper when defining a model, by sdaubert and adfoster-r7.
73+
- Add support for BmpStrings (class `Types::BmpString`).
6474

6575
### Changed
6676

67-
* Rake tasks may be launched before needing presence of yard.
68-
* `Types::Base#value?` and `#can_build?` are now public methods.
69-
* `Types.define_type` may now create the new type in given module (`in_module` parameter).
70-
* A model name may be changed using `Model.root_options`.
77+
- Rake tasks may be launched before needing presence of yard.
78+
- `Types::Base#value?` and `#can_build?` are now public methods.
79+
- `Types.define_type` may now create the new type in given module (`in_module` parameter).
80+
- A model name may be changed using `Model.root_options`.
7181

7282
### Fixed
7383

74-
* Fix a frozen string crash in `Types::BitString` class, by adfoster-r7.
75-
* Fix a crash in `Types::BitString#to_der` when a Bit String is defined as an explicit one, by adfoster-r7.
76-
* `Types::GeneralizedTime`: parsed value is now always a `Time` and no more sometimes a `DateTime`.
77-
* `Types::Sequence` and `Types::SequenceOf` DER is no more generated when optional and value is void.
78-
* Fix `Model#to_h` for choice subelement, by adfoster-r7.
84+
- Fix a frozen string crash in `Types::BitString` class, by adfoster-r7.
85+
- Fix a crash in `Types::BitString#to_der` when a Bit String is defined as an explicit one, by adfoster-r7.
86+
- `Types::GeneralizedTime`: parsed value is now always a `Time` and no more sometimes a `DateTime`.
87+
- `Types::Sequence` and `Types::SequenceOf` DER is no more generated when optional and value is void.
88+
- Fix `Model#to_h` for choice subelement, by adfoster-r7.
7989

8090
## 0.11.0 - 2022-10-13
8191

8292
### Added
8393

84-
* Add custom types. A custom type is an ASN.1 type with a custom name. Furthermore, a custom type may be constrained.
94+
- Add custom types. A custom type is an ASN.1 type with a custom name. Furthermore, a custom type may be constrained.
8595

8696
### Fixed
8797

88-
* Fix Model doc: specify each element in a model must have a unique name.
98+
- Fix Model doc: specify each element in a model must have a unique name.
8999

90100
## 0.10.0 - 2022-03-11
91101

92102
### Changed
93103

94-
* API break: behavior change of `Types::SequenceOf#<<` when it is a sequence of primitives (in ASN.1 context). Now, `#<<` acts as `Array#<<` by appending only one item to the sequence. It accepts either a primitive type object or its ruby equivalent one.
104+
- API break: behavior change of `Types::SequenceOf#<<` when it is a sequence of primitives (in ASN.1 context). Now, `#<<` acts as `Array#<<` by appending only one item to the sequence. It accepts either a primitive type object or its ruby equivalent one.
95105

96106
### Fixed
97107

98-
* Fix `Types::Sequence#[]` when indexing with an integer. It always returned nil.
108+
- Fix `Types::Sequence#[]` when indexing with an integer. It always returned nil.
99109

100110
## 0.9.0 - 2021-12-27
101111

102112
### Changed
103113

104-
* API break: Types::Base#initialize needs `:value` option to set a value. Setting a
114+
- API break: Types::Base#initialize needs `:value` option to set a value. Setting a
105115
value as first argument is no more supported.
106-
* Types::Base#inspect: add information about ASN.1 class and about tagged value.
107-
* Types::Base: change how type without set value is handled internaly. Add #void_value to define 'value' when no value is set (to always have a well-defined type).
108-
* Model: use a private class Elem instead of an array to define model's root.
109-
* Model: simplify code.
110-
* Types::Integer#enum is always a Hash.
116+
- Types::Base#inspect: add information about ASN.1 class and about tagged value.
117+
- Types::Base: change how type without set value is handled internaly. Add #void_value to define 'value' when no value is set (to always have a well-defined type).
118+
- Model: use a private class Elem instead of an array to define model's root.
119+
- Model: simplify code.
120+
- Types::Integer#enum is always a Hash.
111121

112122
### Fixed
113123

114-
* Fix Types::Utf8String#der_to_value by setting @value.
115-
* Fix some minor issues due to type handling (Types::Base, Types::BitString,
124+
- Fix Types::Utf8String#der_to_value by setting @value.
125+
- Fix some minor issues due to type handling (Types::Base, Types::BitString,
116126
Types::GeneralizedTime, Types::ObjectIf, Types::Sequence and Types::SequenceOf)
117-
* Types::Constructed#inspect: always show optional fields
127+
- Types::Constructed#inspect: always show optional fields
118128

119129
### Removed
120130

121-
* Remove support for Ruby 2.4.
131+
- Remove support for Ruby 2.4.
122132

123133
## 0.8.0 - 2020-12-04
124134

125135
### Added
126136

127-
* Add support for multi-byte types. This breaks API on minor methods (mainly
137+
- Add support for multi-byte types. This breaks API on minor methods (mainly
128138
Types::Base#tag removed, partly replaced by Types::Base#id, Types.tag2type renamed into Types.id2type).
129139

130140
### Changed
131141

132-
* Speed up Model#value when accessing a nested element value.
133-
* Speed up and simplify Types::ObjectID#der_to_value.
134-
* Clean up and refactor code.
142+
- Speed up Model#value when accessing a nested element value.
143+
- Speed up and simplify Types::ObjectID#der_to_value.
144+
- Clean up and refactor code.
135145

136146
### Removed
137147

138-
* Remove support for Ruby 2.3.
148+
- Remove support for Ruby 2.3.
139149

140150
## 0.7.1 - 2019-11-11
141151

142152
### Changed
143153

144-
* Update bundler dependency: now support bundler 2.0.
154+
- Update bundler dependency: now support bundler 2.0.
145155

146156
## 0.7.0 - 2019-11-11
147157

148158
### Added
149159

150-
* Add RASN1::Model#value to get value of a (potentially nested) element.
151-
* Add RASN1::Types::Sequence#[]. Access to element by index or by name.
160+
- Add RASN1::Model#value to get value of a (potentially nested) element.
161+
- Add RASN1::Types::Sequence#[]. Access to element by index or by name.
152162

153163
### Changed
154164

155-
* Optimize RASN1::Types.tag2type.
156-
* Refactoring of RASN1::Types::Base and RASN1::Types::Boolean.
165+
- Optimize RASN1::Types.tag2type.
166+
- Refactoring of RASN1::Types::Base and RASN1::Types::Boolean.
157167

158168
### Fixed
159169

160-
* Add frozen_string literal on all ruby files.
161-
* RASN1::Types::Base#initialize_copy raises on ruby 2.3 when @value and/or @default were nil, true, false of Integer.
170+
- Add frozen_string literal on all ruby files.
171+
- RASN1::Types::Base#initialize_copy raises on ruby 2.3 when @value and/or @default were nil, true, false of Integer.

lib/rasn1/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
module RASN1
44
# RASN1 version number
5-
VERSION = '0.15.0'
5+
VERSION = '0.16.0'
66
end

0 commit comments

Comments
 (0)