OpenLDAP 2.6.1 Release (2022/01/20)
Fixed libldap to init client socket port
Fixed libldap with referrals
Added slapd config keyword for logfile format
Fixed slapd to allow objectClass edits with no net change
Fixed slapd configtable population
Fixed slapd to only set loglevel in server mode
Fixed slapd logfile-rotate use of uninitialized variable
Fixed slapd passwd scheme handling with slapd.conf
Fixed slapd postread support for modrdn
Fixed slapd syncrepl recreation of deleted entries
Fixed slapd syncrepl replication with ODSEE
Fixed slapd syncrepl to properly replicate glue entries
Fixed slapd syncrepl to reject REFRESH for precise resync
Fixed slapd syncrepl to avoid busy loop during refresh
Fixed slapd syncrepl when X-ORDERED is specified
Fixed slapd syncrepl to better handle out of order delete ops
Fixed slapd syncrepl to correctly close connections when config is deleted
Fixed slapd-mdb to update indices correctly on replace ops
Fixed slapd-wt to set correct flags
Fixed slapo-accesslog to fix assertion due to deprecated code
Fixed slapo-accesslog to fix inconsistently normalized minCSN
Fixed slapo-accesslog delete handling of multi-valued config attrs
Fixed slapo-autogroup to maintain values in insertion order
Fixed slapo-constraint to maintain values in insertion order
Fixed slapo-dyngroup to maintain values in insertion order
Fixed slapo-dynlist compare operation for static groups
Fixed slapo-dynlist static group filter with multiple members
Fixed slapo-ppolicy when not built modularly
Fixed slapo-refint to maintain values in insertion order
Fixed slapo-retcode to honor requested insert position
Fixed slapo-sock cn=config support
Fixed slapo-syncprov memory leak
Fixed slapo-syncprov to generate a more accurate accesslog query
Fixed slapo-syncprov to allow empty DB to host persistent syncrepl connections
Fixed slapo-syncprov to consider all deletes for sycnInfo messages
Fixed slapo-translucent to warn on invalid config
Fixed slapo-unique to warn on invalid config
Fixed slapo-valsort to maintain values in insertion order
Build Environment
Fix test022 to preserve DELAY search output
Fix slapd-watcher to allow startup when servers are down
Contrib
Fixed slapo-lastbind to work with 2.6 lastbind-precision configuration
Documentation
Fixed slapd.conf(5)/slapd-config(5) documentation on lastbind-precision
Fixed slapo-accesslog(5) to clarify logoldattr usage
Version 4.1.1
Changes
🚀 New Features
Add retries to connections in Sentinel Pools
OCSP Stapling Support
Define incr/decr as aliases of incrby/decrby
FT.CREATE - support MAXTEXTFIELDS, TEMPORARY, NOHL, NOFREQS, SKIPINITIALSCAN
🐛 Bug Fixes
Timeseries docs fix
get_connection: catch OSError too
Set keys var otherwise variable not created
Clusters should optionally require full slot coverage
🧰 Maintenance
Triple quote docstrings in client.py PEP 257
syncing requirements
Typo and typing in GraphCommands documentation
Allowing poetry and redis-py to install together
setup.py: Add project_urls for PyPI
Support test with redis unstable docker
Connection examples
Documentation cleanup
7.0.1 (2021-01-06)
* Change QueryMethods#in_order_of to drop records not listed in values.
in_order_of now filters down to the values provided, to match the
behavior of the Enumerable version.
Kevin Newton
* Allow named expression indexes to be revertible.
Previously, the following code would raise an error in a reversible
migration executed while rolling back, due to the index name not
being used in the index removal.
add_index(:settings, "(data->'property')", using: :gin, name: :index_settings_data_property)
Fixes#43331.
Oliver Günther
* Better error messages when association name is invalid in the
argument of ActiveRecord::QueryMethods::WhereChain#missing.
ykpythemind
* Fix ordered migrations for single db in multi db environment.
Himanshu
* Extract on update CURRENT_TIMESTAMP for mysql2 adapter.
Kazuhiro Masuda
* Fix incorrect argument in PostgreSQL structure dump tasks.
Updating the --no-comment argument added in Rails 7 to the correct
--no-comments argument.
Alex Dent
* Fix schema dumping column default SQL values for sqlite3.
fatkodima
* Correctly parse complex check constraint expressions for PostgreSQL.
fatkodima
* Fix timestamptz attributes on PostgreSQL handle blank inputs.
Alex Ghiculescu
Fix migration compatibility to create SQLite references/belongs_to
column as integer when migration version is 6.0.
Reference/belongs_to in migrations with version 6.0 were creating
columns as bigint instead of integer for the SQLite Adapter.
Marcelo Lauxen
* Fix joining through a polymorphic association.
Alexandre Ruban
* Fix QueryMethods#in_order_of to handle empty order list.
Post.in_order_of(:id, []).to_a Also more explicitly set the column
as secondary order, so that any other value is still ordered.
Jean Boussier
* Fix rails dbconsole for 3-tier config.
Eileen M. Uchitelle
* Fix quoting of column aliases generated by calculation methods.
Since the alias is derived from the table name, we can't assume the
result is a valid identifier.
class Test < ActiveRecord::Base
self.table_name = '1abc'
end
Test.group(:id).count
# syntax error at or near "1" (ActiveRecord::StatementInvalid)
# LINE 1: SELECT COUNT(*) AS count_all, "1abc"."id" AS 1abc_id FROM "1...
Jean Boussier
Add gdbm gem as ruby-gdbm-gem package version 2.1.0.
Note:
* Ruby 2.6 contains gdbm 2.0.0.
* Ruby 2.7 and Ruby 3.0 contains gdbm 2.1.0, but no conflict.
* Ruby 3.1 dose not contain gdbm.
GDBM
GNU dbm is a library for simple databases. A database is a file that stores
key-value pairs. Gdbm allows the user to store, retrieve, and delete data
by key. It furthermore allows a non-sorted traversal of all key-value
pairs. A gdbm database thus provides the same functionality as a hash. As
with objects of the Hash class, elements can be accessed with [].
Furthermore, GDBM mixes in the Enumerable module, thus providing convenient
methods such as #find, #collect, #map, etc.
A process is allowed to open several different databases at the same time.
A process can open a database as a "reader" or a "writer". Whereas a reader
has only read-access to the database, a writer has read- and write-access.
A database can be accessed either by any number of readers or by exactly one
writer at the same time.
Add dbm gem as ruby-dbm package version 1.1.0.
Note:
* Ruby 2.6 contains dbm 1.0.0.
* Ruby 2.7 and Ruby 3.0 contains dbm 1.1.0, but no conflict.
* Ruby 3.1 dose not contain dbm.
DBM
The DBM class provides a wrapper to a Unix-style dbm or Database Manager
library.
Dbm databases do not have tables or columns; they are simple key-value data
stores, like a Ruby Hash except not resident in RAM. Keys and values must
be strings.
The exact library used depends on how Ruby was compiled. It could be any of
the following:
* The original ndbm library is released in 4.3BSD. It is based on dbm
library in Unix Version 7 but has different API to support multiple
databases in a process.
* Berkeley DB versions 1 thru 5, also known as BDB and Sleepycat DB, now
owned by Oracle Corporation.
* Berkeley DB 1.x, still found in 4.4BSD derivatives (FreeBSD, OpenBSD,
etc).
* gdbm, the GNU implementation of dbm.
* qdbm, another open source reimplementation of dbm.
All of these dbm implementations have their own Ruby interfaces available,
which provide richer (but varying) APIs.
3.37.0-r1
Allow breaking of reference cycles between objects that contain a Connection or Cursor, and also use callbacks from that object (eg busy handler).
This is the last release supporting Python 2 and Python 3 before 3.7. If you still use those Python versions then you should pin to this APSW version. (More information).
Windows Python 3.10 binaries are available to download. The .exe format is no longer available with this Python version.
Fixed custom VFS extension loading failure could leave the error message unterminated.
Updated size of mutex array used by the fork checker
Connections are opened with SQLITE_OPEN_EXRESCODE so open errors will also include extended result codes.
Connection.changes() and Connection.totalchanges() use the new SQLite APIs that return 64 bit values (ie can now return values greater than 2 billion).
Added Connection.autovacuum_pages().
Added constants:
SQLITE_CONSTRAINT_DATATYPE, SQLITE_OPEN_EXRESCODE
Version 4.1.0
🚀 New Features
OCSP stapling support
Support for SELECT
Support for specifying error types with retry
Support for RESET command since Redis 6.2.0
Support CLIENT TRACKING
Support WRITE in CLIENT PAUSE
JSON set_file and set_path support
Allow ssl_ca_path with rediss:// urls
Support for password-encrypted SSL private keys
Support SYNC and PSYNC
🐛 Bug Fixes
Retry on error exception and timeout fixes
Fixing read race condition during pubsub
Fixing exception in listen
Fixed MovedError, and stopped iterating through startup nodes when slots are fully covered
Socket not closing after server disconnect
Single sourcing the package version
Ensure redis_connect_func is set on uds connection
🧰 Maintenance
SRTALGO - Skip for redis versions greater than 7.0.0
Documentation updates
Add CI action to install package from repository commit hash
Fix link in lmove docstring
Disabling JSON.DEBUG tests
Version 4.0.2
🐛 Bug Fixes
Restoring Sentinel commands to redis client
Better removal of hiredis warning
🧰 Maintenance
Adding links to redis documents in function calls
Version 4.0.1
🐛 Bug Fixes
Removing command on initial connections
Removing hiredis warning when not installed
Version 4.0.0
🚀 New Features
FT.EXPLAINCLI intentionally raising NotImplementedError
🐛 Bug Fixes
Restoring ZRANGE desc for Redis < 6.2.0
Response parsing occasionally fails to parse floats
Re-enabling read-the-docs
🧰 Maintenance
Call HSET after FT.CREATE to avoid keyspace scan
Unit tests fixes for compatibility
Improve documentation about Locks
Fixes to allow --redis-url to pass through all tests
Fix unit tests running against Redis 4.0.0
Search alias test fix
Adding RediSearch/RedisJSON tests
Updating codecov rules
Tests to validate custom JSON decoders
Added breaking icon to release drafter
Changes in version 3.37.2:
Fix a bug introduced in version 3.35.0 (2021-03-12) that can cause database corruption if a SAVEPOINT is rolled back while in PRAGMA temp_store=MEMORY mode, and other changes are made, and then the outer transaction commits. Check-in 73c2b50211d3ae26
Fix a long-standing problem with ON DELETE CASCADE and ON UPDATE CASCADE in which a cache of the bytecode used to implement the cascading change was not being reset following a local DDL change. Check-in 5232c9777fe4fb13.
Other minor fixes that should not impact production builds.
This flag should be set for packages that import pkg_resources
and thus need setuptools after the build step.
Set this flag for packages that need it and bump PKGREVISION.
version 3.37.1
Fix a bug introduced by the UPSERT enhancements of version 3.35.0 that can cause incorrect byte-code to be generated for some obscure but valid SQL, possibly resulting in a NULL-pointer dereference.
Fix an OOB read that can occur in FTS5 when reading corrupt database files.
Improved robustness of the --safe option in the CLI.
Other minor fixes to assert() statements and test cases.
pkgsrc changes:
---------------
* Add 14 to PGSQL_VERSION_ACCEPTABLE to fix a dependency failure of
geography/mapserver with PostgreSQL 14.
* Fix BUILDLINK_ABI_DEPENDS that contained a hardcoded dependency.
* Bump revision.
2021-04-19 v1.2.1
* Resolve CI bug where non-Linux wheels were not being published to PyPI.
2021-04-15 v1.2.0
* Update bundled LMDB to 0.9.29.
* Add non-bundled testing to CI.
* Remove wheel generation for 2.7 because the manylinux images no longer
support it.
* Allow passing None as a value to transaction.del in CFFI implementation
for parity with cpython implementation.
* Fix Cursor.put behavior on a dupsort DB with append=True.
* Add warning to docs about use of Environment.set_mapsize. This is currently
an unresolved issue with upstream LMDB.
* CFFI implementation: fix a seg fault when open_db returns map full.
* CFFI implementation: fix a bug in open_db in a read-only environment.
2021-02-05 v1.1.1
* Dowgrade underlying LMDB to 0.9.26. 0.9.27 has a minor defect that will
need to get resolved.
2021-02-04 v1.1.0
* Migrate CI pipeline from Travis and AppVeyor to Github Actions. Now
includes comprehensive testing across 4 dimensions (OS, Python version,
cpython/CFFI, pure/with mods). Also includes publishing to PyPI.
* Prevent invalid flag combinations when creating a database.
* Add a Cursor.getmulti method with optional buffer support. Contributed by
Will Thompson <willsthompson@gmail.com>.
* Upgrade underlying LMDB to 0.9.27.
2020-08-28 v1.0.0
* Start of new semantic versioning scheme. This would be a minor version
bump from the 0.99 release if it were semantically versioned.
* Allow environment copy to take a passed-in transaction. This is the
first released feature that requires a (very small) patch to the
underlying C library. By default, the patch will be applied unless
this module is built with LMDB_PURE environment variable set.
2020-08-13 v0.99
* Fix lmdb.tool encoding issues.
* Fix -l lmdb invocation issue.
* Minor documentation improvements.
* Update LMDB to version 0.9.24.
* Update for Python 3.9 (current release candidate) support.
* Resolve a bug when using cursor.putmulti and append=True on dupsort DBs.
* Allow _Database.flags method to take no arguments since the one argument
wasn't being used.
2019-11-06 v0.98
* Fix that a duplicate argument to a lmdb method would cause an assert.
* Solaris needs ```#include "python.h"``` as soon as possible. Fix
contributed by Jesús Cea.
* Fix crash under debug cpython when mdb_cursor_open failed
2019-08-11 v0.97
* Fix a missed GIL unlock sequence. Reported by ajschorr.
* Fix argv check in JEP (cpython under Java) environment. Contributed by
de-code.
2019-07-14 v0.96
* First release under new maintainer, Nic Watson.
* Doc updates.
* More removal of code for now-unsupported Python versions.
* Only preload the value with the GIL unlocked when the value is actually
requested. This significantly improves read performance to retrieve keys
with large values when the value isn't retrieved. Reported by Dan Patton.
2019-06-08 v0.95
* The minimum supported version of Python is now 2.7.
* The library is no longer tested on Python 3.2.
* The address-book.py example was updated for Python 3. Contributed by Jamie
Bliss.
* Development-related files were removed from the distribution tarball.
* Handling of the Environment(create=True) flag was improved. Fix contributed
by Nir Soffer.
* Database names may be reused after they are dropped on CFFI, without
reopening the environment. Fix contributed by Gareth Bult.
2018-04-09 v0.94
* CPython argument parsing now matches the behaviour of CFFI, and most sane
Python APIs: a bool parameter is considered to be true if it is any truthy
value, not just if it is exactly True. Reported by Nic Watson.
* Removed Python 2.6 support due to urllib3 warnings and pytest dropping it.
* Updared LMDB to version 0.9.22.
* Fixed several 2.7/3 bugs in command line tool.
fails on NetBSD because it assumes that the "libdl" library is required
to link with libssl (for some reason). Limit libdl usage to Linux and
Solaris, since libdl isn't a thing on BSD-likes.
5.3.4 (2021-03-24)
This release fixes a multi/pipeline segfault on apple silicon as well as
two small compression related bugs.
You can find a detailed list of changes in Changelog.md and package.xml
* Fix multi/pipeline segfault on Apple silicon [e0796d48] (Michael Grunder)
* Pass compression flag on HMGET in RedisCluster [edc724e6] (Adam Olley)
* Abide by ZSTD error return constants [8400ed1c] (Michael Grunder)
* Fix timing related CI session tests [9b986bf8] (Michael Grunder)
* Sponsors
~ Audiomack - https://audiomack.com
~ Open LMS - https://openlms.net
~ BlueHost - https://bluehost.com
~ Object Cache Pro for WordPress - https://objectcache.pro
~ Avtandil Kikabidze - https://github.com/akalongman
~ Zaher Ghaibeh - https://github.com/zaherg
~ BatchLabs - https://batch.com
5.3.5 (2021-12-18)
This release adds support for exponential backoff w/jitter, experimental
support for detecting a dirty connection, as well as many other fixes
and improvements.
You can find a detailed list of changes in Changelog.md and package.xml
or by inspecting the git commit logs.
--- Sponsors ---
Audiomack - https://audiomack.com
Open LMS - https://openlms.net
BlueHost - https://bluehost.com
Object Cache Pro for WordPress - https://objectcache.pro
Avtandil Kikabidze - https://github.com/akalongman
Zaher Ghaibeh - https://github.com/zaherg
BatchLabs - https://batch.com
Luis Zarate - https://github.com/jlzaratec
* Fixed segfault in redis_setoption_handler [692e4e84] (Pavlo Yatsukhnenko)
* Fix masters array in the event of a cluster failover [bce692962] (Bar Shaul)
* Fix 32 bit type error [672dec87f] (Remi Collet)
* Fix radix character in certain locales [89a871e24] (Pavlo Yatsukhnenko)
* ZSTD Validation fix [6a77ef5cd] (Michael Grunder)
* Remove superfluous typecast [b2871471f] (Remi Collet)
* Updated documentation [f84168657, d017788e7, 20ac84710, 0adf05260,
aee29bf73, 09a095e72, 12ffbf33a, ff331af98, a6bdb8731, 305c15840,
1aa10e93a, d78b0c79d, c6d37c27c, a6303f5b9, d144bd2c7, a6fb815ef, 9ef862bc6]
(neodisco, Clement Tessier, T. Todua, dengliming, Maxime Cornet,
Emanuele Filannino Michael Grunder)
* Travis CI Fixes
[a43f4586e, 4fde8178f, 7bd5415ac, fdb8c4bb7, d4f407470]
(Pavlo Yatsukhnenko)
* Minor fixes/cleanup
[2e190adc1, 99975b592, 9d0879fa5, 22b06457b]
(Pavlo Yatsukhnenko)
* Fix RedisArray constructor bug
[85dc883ba](https://github.com/phpredis/phpredis/commit/85dc883ba)
([Pavlo Yatsukhnenko](https://github.com/yatsukhnenko))
* Moved to GitHub Actions
[4d2afa786, 502d09fd5] (Pavlo Yatsukhnenko)
* Use more appropriate array iteration macro
[6008900c2] (Pavlo Yatsukhnenko)
* Clean up session tests
[ab25ae7f3] (Michael Grunder)
* RedisArray refactors [1250f0001, 017b2ea7f, 37ed3f079]
(Pavlo Yatsukhnenko)
* Use zend_parse_parameters_none helper
[a26b14dbe] (Remi Collet)
* Support for various exponential backoff strategies
[#1986, #1993, 732eb8dcb, 05129c3a3, 5bba6a7fc],
(Nathaniel Braun)
* Added experimental support for detecting a dirty connection
[d68579562] (Michael Grunder)
* Created distinct compression utility methods (pack/unpack)
[#1939, da2790aec] (Michael Grunder)
* SMISMEMBER Command
[#1894, ae2382472, ed283e1ab] (Pavlo Yatsukhnenko)
* Fix typo in cluster_scan_resp [44affad2] (Michael Grunder)
Active Record -- Object-relational mapping in Rails
Active Record connects classes to relational database tables to establish an
almost zero-configuration persistence layer for applications. The library
provides a base class that, when subclassed, sets up a mapping between the
new class and an existing table in the database. In the context of an
application, these classes are commonly referred to as *models*. Models can
also be connected to other models; this is done by defining *associations*.
Active Record relies heavily on naming in that it uses class and association
names to establish mappings between respective database tables and foreign
key columns. Although these mappings can be defined explicitly, it's
recommended to follow naming conventions, especially when getting started
with the library.
This is for Ruby on Rails 7.0.