- Compatibility with pre-release ROM 6.0 and Ruby 3.0
- CI/CD pipeline was failing because OpenDJ service requires more memory than the shared runners provide.
- Yanked 0.2.1 to edit the gem description and credit Net::LDAP team for their part in this gem.
- Replace use of deprecated URI.encode/decode method for compatibility with Ruby v2.7. #ref
- Fix DSML export of an entry with
ObjectClasses
omitted. #ref - Correct misnamed error classes raise by the directory. #ref
- Remove old development code and a general tidy up. #ref
- Run more specs against all four test LDAP vendors. #ref
- Restrict
gemspec
to Ruby version 2, preventing keyword params errors when running v3. - Fix ApacheDS docker container state contamination between loads.
- Replace current year on license.
- Simplify
docker-compose.yml
andgitlab-ci.yml
removing deprecated ENV vars. - Build docker images with custom schema preloaded. #ref
- Update specs for testing ordering against OpenLDAP with the
sssvlv
overlay module. #ref - Remove volumes for LDAP vendors in
docker-compose.yml
. - Remove rom-ldap rake tasks from the gem Rakefile and only load in the examples folder. #ref
- Remove comparison of total entries from
ldif:import
task as this is dependent on the connection using the correct base, the same as the entries being imported. - Simplify the
gemspec
dependencies.
- Add missing Style/FrozenStringLiteralComment lines.
- Add spec for ldap unix socket connections.
- Add extension for using the OJ gem. #ref
- Add attribute ordering to the custom wildlife schema attributes. #ref
- Allow the
DEFAULT_VENDOR
environment variable to change the default vendor used in a spec. #ref
- Move LDIF for specs under fixtures folder
- Make the 'people' factory in specs usable by all vendors by dropping the non-standard attribute apple-imhandle
- Deleted non-ldap related methods like #qualified
- Internal parsing of query strings and abstract criteria
- Type mapping from oid to ruby classes
Dry::Transformer
replacesTransproc
- Update to dry-types 1.2
- Make switching between vendors easier by replacing vendor-specific extensions with reloadable module injection #ref
- Folder structure for vendor specific code #ref
- Simplify parsing as functions from string > ast > expression #ref
- Allow username and password inside uri
- Handle IPV6 loopback addresses so localhost can be used
- Test suite readability against all four vendors
- Make running specs easier inside and outside of a docker environment with URI switching based on the context in which the suite is run
- Running specs inside Docker
- Rubocop errors
- Gitlab CI/CD pipeline
- Projected tuple attributes
- Renamed tuple attributes #ref
- Ordering results
- Building deeply nested expression queries #ref
- Implement the tree control in the client delete method making deletion of entries with children more efficient
- Gateway configuration using ENV VARS
- LDIF import functionality as rake task
- Generating fixtures to LDIF using factories and
relation#to_ldif
- Missing query operators used inside
relation#where
blocks - Raw filter string parsing inside
relation#where
blocks - Extra OIDs
- [BREAKING] rom-core (4.2.1) depends upon dry-types (0.15.0) which is only supported by ruby 2.4 and above. Change minimum supported version to 2.4
- Use Semantic Versioning from now on, however changing the Ruby version dependency should constitute a MAJOR change, we are not yet ready for the public 1.0.0 release
- Draft
dry-monitor
LDAP logger #ref
- Remove Struct convenience class #ref
- Docker setup #ref
CHANGELOG.md
#ref- New
ROM::LDAP::Relation
methods #to_dsml and #to_msgpack #ref - Introduce
ROM::LDAP::RestrictionDSL
from rom-sql #ref - Prepare connection variables using
ROM::LDAP::Directory::ENV
#ref - Add
ROM::LDAP::Dataset
reverse functionality #ref
- Improve
ROM::LDAP::Dataset
param validation and defaults #ref - [BREAKING] Use LDAPURI (
'ldap://127.0.0.1:389'
) to initialise aROM::LDAP::Gateway
#ref - Replace
Net::TCPClient
dependency withROM::LDAP::Client
and handle new URI connection params #ref
ROM::LDAP::Gateway
now accepts extenions and has no responsibility for creating a connection #refROM::LDAP::Directory::Entry
can be tested like a hash in specs using #include #ref
- Missing
bin/console
andbin/setup
scripts added #ref
- Compatible with Ruby >= 2.3 #ref
- Improve demo fixtures and add new study attribute to explore joins #ref
- Rubocop warnings #ref
ROM::LDAP::Directory#delete
now returns the deleted tuple #ref
ROM::LDAP::Dataset#shuffle
#ref
ROM::LDAP::Directory
now identifies Microsoft Active Directory #ref
Initial Commit.