- Added support for SQLite's new ON CONFLICT clause, which is modelled
on the syntax used by Postgresql and will be available in SQLite
3.24.0 and onward.
- Added better support for using common table expressions and a
cleaner way of implementing recursive CTEs, both of which are also
tested with integration tests (as opposed to just checking the
generated SQL).
- Modernized the CI environment to utilize the latest MariaDB
features, so we can test window functions and CTEs with MySQL (when
available).
- Reorganized and unified the feature-flags in the test suite.
- Added ValuesList for representing values lists.
- DateTimeField, DateField and TimeField will parse formatted-string
before sending to the database. Previously this only occurred when
reading values from the database.
- Smarter handling of model-graph when dealing with compound queries
(union, intersect, etc).
- If the same column-name is selected multiple times, first value
wins.
- If ModelSelect.switch() is called without any arguments, default to
the query's model.
- Fix issue where cloning a ModelSelect query did not result in the
joins being cloned.
=== Bug fixes
Engine::
- Harden periodically check to avoid endless flush loop
Ingest::
- Don't allow referencing the pattern bank name in the pattern bank
Java High Level REST Client::
- Bulk processor#awaitClose to close scheduler
Java Low Level REST Client::
- REST client: hosts marked dead for the first time should not be
immediately retried
Network::
- Cross-cluster search and default connections can get crossed
Percolator::
- Fixed bug when non percolator docs end up in the search hits
- Fixed a msm accounting error that can occur during analyzing a
percolator query
- Fix more query extraction bugs.
- Fix some query extraction bugs.
Plugins::
- Plugins: Fix native controller confirmation for non-meta plugin
Search::
- Propagate ignore_unmapped to inner_hits
Settings::
- Archive unknown or invalid settings on updates
3.14.0
======
Features
--------
- Add one() function to the ResultSet API
- Create an utility function to fetch concurrently many keys from the
same replica
- Allow filter queries with fields that have an index managed outside
of cqlengine
- Twisted SSL Support
- Support IS NOT NULL operator in cqlengine
Other
-----
- Fix Broken Links in Docs
- Reevaluate MONKEY_PATCH_LOOP in test codebase
- Remove CASS_SERVER_VERSION and replace it for CASSANDRA_VERSION in
tests
- Refactor CASSANDRA_VERSION to a some kind of version object
- Log warning when driver configures an authenticator, but server does
not request authentication
- Warn users when using the deprecated
Session.default_consistency_level
- Add DSE smoke test to OSS driver tests
- Document long compilation times and workarounds
- Improve error for batch WriteTimeouts
- Deprecate ResultSet indexing
3.13.0
======
Features
--------
- cqlengine: LIKE filter operator
- Support cassandra.query.BatchType with cqlengine BatchQuery
Bug Fixes
---------
- AttributeError: 'NoneType' object has no attribute 'add_timer'
- Support retry_policy in PreparedStatement
- __del__ method in Session is throwing an exception
- LZ4 import issue with recent versions
- ResponseFuture._connection can be None when returning request_id
- ResultSet.was_applied doesn't support batch with LWT statements
Other
-----
- cqlengine: avoid warning when unregistering connection on shutdown
- Fix DeprecationWarning of log.warn
- Fix example_mapper.py for python3
- Possible deadlock on cassandra.concurrent.execute_concurrent
- Add some known deprecated warnings for 4.x
- Remove copyright dates from copyright notices
- Remove "Experimental" tag from execution profiles documentation
- request_timer metrics descriptions are slightly incorrect
- Remove "Experimental" tag from cqlengine connections documentation
- Set in documentation default consistency for operations is LOCAL_ONE
2.5:
- abstract layer now handles auxiliary classes
- pwdLAstSet in AD is valid for 0 and -1
- fixed extend.novell.get_universal_password
- entryUUID is properly validated in search filters
- custom attribute formatters are properly applied when parsing the search filter
- REUSABLE strategy now honours credentials when changed in the original connection
- add operation doesn't change passed attribute dict anymore
- missing entry's attribute return False when searching instead of raising an exception
- fixed ad_timestamp evaluation for integers
- wrong exception raised when user name is empty in simple binding
- exception is raised if size limit is exceed when searchin in mocking strategies with raise_exceptions=True
- fixed validator for novell guid
- fixed validator for openldap EntryUUID
- fixed validator for AD objectGUID, now follows MS-DTYP
- fixed formatter for AD objectGUID
- fixed exception when adding binary values
- added escape_rdn_chars() to ldap3.utils.dn for safe checking untrusted input while building DNs
- fixed search for binary values in mock strategies
- fixed exception with unicode chars in subfilters for python 2
- connection.extend.paged_search() doens't miss the last entries anymore when size limit is exceeded for the search on the server
- validators are not applied when loading data from json dump in Mock strategies
- additional validator to check for erroneous bytes to string conversion in Python 3
- additional formatter and validator to check for generalizedtime with 0 year
- added ADDITIONAL_CLIENT_ENCODINGS parameter
- fixed AD dir_sync extended operation
- ad_unlock_account works properly
- added Microsoft security descriptor control
- fixed search in mock strategies when raise_exceptions=True
- formatters never raise exceptions but returns the raw_value when unable to format
- fixed comtrols duplication in paged search
- pwiz tool will capture column defaults defined as part of the
table schema.
- Fixed a misleading error message.
- Ensure reuse_if_open parameter has effect on pooled databases.
- Added support for on update/delete when migrating foreign-key.
- Fixed bug in SQL generation for subqueries in aliased functions.
SQLiteC++ offers an encapsulation arround the native C APIs of SQLite,
with a few intuitive and well documented C++ class. It is designed
using the Resource Acquisition Is Initialization (RAII) idom, and
throwing exceptions in case of SQLite errors (exept in destructors,
where assert() are used instead). Each SQLiteC++ object must be
constructed with a valid SQLite database connection, and then is
always valid until destroyed.
2.3.6:
Single bug fix that ws a possible security issue so I have pushed a version out.
Fix order of arguments in SQLWriteFileDSN.c, fix unwanted free() in iusql.c
Add pkg-config files
SQLite Release 3.23.1:
Fix two problems in the new LEFT JOIN strength reduction optimization.
Fix misbehavior of the FTS5 xBestIndex method.
Fix a harmless reference to an uninitialized virtual machine register.
Fix the CLI so that it builds with -DSQLITE_UNTESTABLE
Fix the eval.c extension so that it works with PRAGMA empty_result_callbacks=ON.
Fix the generate_series virtual table so that it correctly returns no rows if any of its constraints are NULL.
Performance enhancements in the parser.
- Compatibility with Sphinx 1.7.0
- Ensure a change stream uses the proper session id while iterating
- Fix a rare crash in pooled mode when a replica set member was
disconnected
Upstream changes:
1.58 2018-03-28
- Switched to a production version.
1.57_01 2018-03-21
- Made it an error to fetch attributes from a statement
handle whose database handle is inactive (ribasushi++)
6.2.0
------------------
- cleanup for SSL Context
- Add X-Pack clients to -py
- Adding Gzip support for capacity constrained networks
- ``_routing`` in bulk action has been deprecated in ES. Introduces a
breaking change if you use ``routing`` as a field in your documents.
6.1.1
------------------
- Updates to SSLContext logic to make it easier to use and have saner
defaults.
- Doc updates
6.1.0
------------------
- Bad release
=== Enhancements
Highlighting::
- Limit analyzed text for highlighting (improvements)
Recovery::
- Require translogUUID when reading global checkpoint
=== Bug fixes
Core::
- Remove special handling for _all in nodes info
Engine::
- Avoid class cast exception from index writer
- Maybe die before failing engine
- Never block on key in `LiveVersionMap#pruneTombstones`
Ingest::
- Continue registering pipelines after one pipeline parse failure.
Java High Level REST Client::
- REST high-level client: encode path parts
Packaging::
- Delay path expansion on Windows
Percolator::
- Fix percolator query analysis for function_score query
- Improved percolator's random candidate query duel test
Snapshot/Restore::
- Fix NPE when using deprecated Azure settings
Stats::
- Fix AdaptiveSelectionStats serialization bug
3.2.2
- Added support for passing Model classes to the returning() method
when you intend to return all columns for the given model.
- Fixed a bug when using user-defined sequences, and the underlying
sequence already exists.
- Added drop_sequences parameter to drop_table() method which allows
you to conditionally drop any user-defined sequences when dropping
the table.
3.2.1
- If both mysql-python and pymysql libraries are installed, Peewee
will use pymysql by default.
- Added new module playhouse.mysql_ext which includes
MySQLConnectorDatabase, a database implementation that works with
the mysql-connector driver.
- Added new field to ColumnMetadata class which captures a database
column's default value. ColumnMetadata is returned by
Database.get_columns().
- Added documentation on making Peewee async.
3.2.0
- Potentially backwards-incompatible change: Field.coerce renamed to
Field.adapt.
3.1.6
- Added rekey() method to SqlCipher database for changing encryption
key and documentation for set_passphrase() method.
- Added convert_values parameter to ArrayField constructor, which will
cause the array values to be processed using the underlying
data-type's conversion logic.
- Fixed unreported bug using TimestampField with sub-second
resolutions.
- Fixed bug where options were not being processed when calling
drop_table().
- Some fixes and improvements to signals extension.
Version 2.8.3
-------------
- Fixed bug where cursor.description was an emtpy tuple instead of None for
non-SELECT statements
Version 2.8.2
-------------
- Make sure pysqlite compiles with Visual Studio, which does not support C99
- Switch to sqlite3_open_v2. The flags parameter is now exposed. You can use it
to modify the behaviour of the opened database connection, for example
opening a database file in read-only mode or enable URI mode.
Version 2.8.1
-------------
BUG FIXES
- Fixed multiple refcount problems.
IMPROVEMENTS
- Added versionchanged about changed transaction behaviour wrt DDL statements
to documentation.
- I was informed by Roger Binns that FTS5 is not stable yet. The amalgamation
is now built with FTS3 and FTS4 instead.
Version 2.8.0
-------------
NEW FEATURES
- No new features, but tons of bugfixes. These mean that things now work that
didn't before:
- Transactional DDL now works
- You can use SAVEPOINTs now
BUILD PROCESS
- Python 2.7.x is now required. If trying to use it with Python 3, print a
useful error message. Integrated all fixes from the sqlite3 module in Python
2.7.10.
MAJOR IMPROVEMENTS
- Completety got rid of statement parsing. We now use SQLite functions to
determine if a statement modifies the database or not. If a statement
modifies the database, then we implicitly start a transaction. For backwards
compatibility reasons, we do NOT implicitly start a transaction if we
encounter a DDL statement.
You can, however, now have transactional DDL if you want to:
cur = con.cursor()
cur.execute("begin")
cur.execute("create table foo(bar)")
con.rollback()
This also means that people can now finally use SAVEPOINTS.
- Use sqlite3_get_autocommit() to determine if we are within a transaction
instead of trying to be smart.
- Switch to v2 statement API. This simplified the code and will increase
stability.
MINOR IMPROVEMENTS
- You can use unicode strings as index for Row objects.
BUGFIXES
- Fixed a regression: statements should not be reset after a commit.
GENERAL CLEANUP AND DEPRECATIONS
- Since december 2005, row_factory is a feature of the Connection class
instead of the Cursor class.
- DEPRECATE converters and adapters.
- DEPRECATE text_factory.
- Remove compatibility workarounds for old Python versions.
- Remove workarounds for old SQLite versions.
- Remove apsw related code.
Version 2.7.0
-------------
NEW FEATURES
- The limit functionality of SQLite is now wrapped.
BUILD PROCESS
- Instead of fts3, build fts5 extension when using amalgamation.
- use pkg-config for finding SQLite if available
- Removed the download/unpacking of SQLite amalgamation files.
IMPROVEMENTS
- Use toc.db file from the SQLite web site and a custom script to make sure
that we have all integer constants mapped to Python.
- Use Travis CI
- Added Trove classifier to make sure Python 3 users do not accidentally
try to install it.
BUGFIXES
- Fix for parsing fractional second part of timestamps.
- Fixed bug where when using converters, empty strings ended up as None
on the Python side.
- SQLite can cope with text with embedded NUL. We can now, too.
- many others
- Fix a critical AOF bug when fsync policy set to "always"
- Latency monitor could report wrong latencies under certain conditions.
- AOF rewriting could fail when a backgronud rewrite is triggered and
at the same time the AOF is switched on/off.
- Redis Cluster crash-recovery safety improved.
- Other smaller fixes (check commnits).
- Redis Cluster has now the ability to configure certain slaves so that
they'll never attempt a failover.
- Keyspace notifications API in modules.
- RM_Call() is now faster by reusing the same client.
- Tracking of the percentage of keys already logically expired but yet
not evicted.
SQLite Release 3.23.0:
Add the sqlite3_serialize() and sqlite3_deserialize() interfaces when the SQLITE_ENABLE_DESERIALIZE compile-time option is used.
Recognize TRUE and FALSE as constants. (For compatibility, if there exist columns named "true" or "false", then the identifiers refer to the columns rather than Boolean constants.)
Support operators IS TRUE, IS FALSE, IS NOT TRUE, and IS NOT FALSE.
Added the SQLITE_DBSTATUS_CACHE_SPILL option to sqlite3_db_status() for reporting the number of cache spills that have occurred.
The "alternate-form-2" flag ("!") on the built-in printf implementation now causes string substitutions to measure the width and precision in characters instead of bytes.
If the xColumn method in a virtual table implementation returns an error message using sqlite3_result_error() then give that error message preference over internally-generated messages.
Added the -A command-line option to the CLI to make it easier to manage SQLite Archive files.
Add support for INSERT OR REPLACE, INSERT OR IGNORE, and UPDATE OR REPLACE in the Zipfile virtual table.
Enhance the sqlite3changeset_apply() interface so that it is hardened against attacks from deliberately corrupted changeset objects.
Added the sqlite3_normalize() extension function.
Query optimizer enhancements:
Improve the omit-left-join optimization so that it works in cases where the right-hand table is UNIQUE but not necessarily NOT NULL.
Improve the push-down optimization so that it works for many LEFT JOINs.
Add the LEFT JOIN strength reduction optimization that converts a LEFT JOIN into an ordinary JOIN if there exist terms in the WHERE clause that would prevent the extra all-NULL row of the LEFT JOIN from appearing in the output set.
Avoid unnecessary writes to the sqlite_sequence table when an AUTOINCREMENT table is updated with an rowid that is less than the maximum.
Bug fixes:
Fix the parser to accept valid row value syntax.
Fix the query planner so that it takes into account dependencies in the arguments to table-valued functions in subexpressions in the WHERE clause.
Fix incorrect result with complex OR-connected WHERE and STAT4.
Fix potential corruption in indexes on expressions due to automatic datatype conversions.
Assertion fault in FTS4.
Incorrect result on the less-than operator in row values.
Always interpret non-zero floating-point values as TRUE, even if the integer part is zero.
Fix an issue in the fsdir(PATH) table-valued function to the fileio.c extension, that caused a segfault if the fsdir() table was used as the inner table of a join.
Issue an error rather instead of an assertion-fault or null-pointer dereference when the sqlite_master table is corrupted so that the sqlite_sequence table root page is really a btree-index page.
Fix the ANALYZE command so that it computes statistics on tables whose names begin with "sqlite".
Additional fixes for issues detected by OSSFuzz:
Fix a possible infinite loop on VACUUM for corrupt database files.
Disallow parameters in the WITH clause of triggers and views.
Fix a potential memory leak in row value processing.
Improve the performance of the replace() SQL function for cases where there are many substitutions on megabyte-sized strings, in an attempt to avoid OSSFuzz timeouts during testing.
Provide an appropriate error message when the sqlite_master table contains a CREATE TABLE AS statement. Formerly this caused either an assertion fault or null pointer dereference. Problem found by OSSFuzz on the GDAL project.
Incorrect assert() statement removed.
Fix a problem with using the LIKE optimization on an INTEGER PRIMARY KEY.
OpenLDAP 2.4.46 Release (2018/03/22)
Fixed libldap connection delete callbacks when TLS fails to start
Fixed libldap to not reuse tls_session if TLS hostname check fails
Fixed libldap cross-compiling with OpenSSL 1.1
Fixed libldap OpenSSL 1.1.1 compatibility with BIO_method
Fixed libldap MozNSS CA certificate hash matching
Fixed libldap MozNSS with PEM certs when also using an NSS cert db
Fixed libldap MozNSS initialization
Fixed libldap GnuTLS with GNUTLS_E_AGAIN
Fixed libldap memory leak with cancel operations
Fixed slapd Eventlog registry key creation on 64-bit Windows
Fixed slapd to maintain SSF across SASL binds
Fixed slapd syncrepl deadlock when updating cookie
Fixed slapd syncrepl callback to always be last in the stack
Fixed slapd telephoneNumberNormalize when the value is spaces and hyphens
Fixed slapd CSN queue processing
Fixed slapd-ldap TLS connection timeout with high latency connections
Fixed slapd-ldap to ignore unknown schema when omit-unknown-schema is set
Fixed slapd-mdb with an optimization for long lived read transactions
Fixed slapd-meta assert when olcDbRewrite is modified
Fixed slapd-sock with LDAP_MOD_INCREMENT operations
Fixed slapo-accesslog cleanup to only occur on failed operations
Fixed slapo-dds entryTTL to actually decrease as per RFC 2589
Fixed slapo-syncprov memory leak with delete operations
Fixed slapo-syncprov to not clear pending operation when checkpointing
Fixed slapo-syncprov to correctly record contextCSN values in the accesslog
Fixed slapo-syncprov not to log checkpoints to accesslog db
Fixed slapo-syncprov to process changes from this SID on REFRESH
Fixed slapo-syncprov session log parsing to not block other operations
Build Environment
Fixed Windows build with newer MINGW version
Fixed compiler warnings and removed unused variables
Contrib
Fixed ldapc++ Control structure
Documentation
Delete stub manpage for back-ldbm
Fixed ldap_bind(3) to mention the LDAP_SASL_SIMPLE mechanism
Fixed ldap.conf(5) to note SASL_MECH/SASL_REALM are no longer user-only
Fixed slapd-config(5) typo for olcTLSCipherSuite
Fixed slapo-syncprov(5) indexing requirements
Release 1.2.6 includes a variety of fixes including a connection-pool related issue which could cause a connection to be added to the pool without all of the "connect" event handlers being called.
0.07049 - 2018-03-21
- Fix tests when the path to perl has spaces in it (GH#19)
- Inline String::CamelCase::wordsplit() due to RT#123030
- Get enum values from DBD::Pg if it's new enough
- Remove dependency on DBIx::Class::IntrospectableM2M
0.07048_01 - 2018-02-23
- Convert from Module::Install to ExtUtils::MakeMaker + Distar (GH#17)
0.51 - 2018-03-24, H.Merijn Brand
* Dot-in-inc (cpantesters)
0.50 - 2018-03-21, H.Merijn Brand
* Explain more about header folding
* It's 2017
* BOM handling
* Some documentation enhancements
* Ignore DBI_DSN if it is not CSV
* It's 2018
* Test with perl-5.26, DBI-1.641, SQL::Statement-1.412, and
Text::CSV_XS-1.35
0.5.0 2018/3/21
Breaking Changes
* Ruby 2.0 or higher required. Ruby 1.8.7 and Ruby 1.9.3 are not supported.
* MySQL 5.5 or higher required. MySQL 5.0 and 5.1 are not supported.
New Features
* Expose mysql_set_server_option to turn multiple statements on and off (#943)
* Accept query options on Statement#execute (#912)
* Support connect attributes and the program_name attribute (#760)
* Make server_status variable available (#755)
Bug Fixes
* Fix wrong value of type YEAR on big endian environment (#921)
* MySQL 8.0.3 Release Candidate removes MYSQL_SECURE_AUTH (#891)
* Suppress Fixnum and Bignum warnings on Ruby 2.4 (#907)
Changes
* Resolve warnings for my_bool vs. bool types (#916, #919)
* Call BigDecimal(num) instead of BigDecimal.new(num) (#925, #928)
* GitHub is HTTPS by default (#922)
* Misc Cleanups (#918)
* More specific exception classes (#260, #404, #870, 911)
* Update RuboCop to 0.50.x (#752)
* Prefix more C functions with rb_mysql_ (#910)
* Fix compat with RubyInstaller-2.4 on Windows (#875)
0.9.9:
feature
Added new flag --indicate-current to the alembic history command. When listing versions, it will include the token “(current)” to indicate the given version is a current head in the target database.
bug
The fix for 455 in version 0.9.6 involving MySQL server default comparison was entirely non functional, as the test itself was also broken and didn’t reveal that it wasn’t working. The regular expression to compare server default values like CURRENT_TIMESTAMP to current_timestamp() is repaired.
Fixed bug where MySQL server default comparisons were basically not working at all due to incorrect regexp added in 455. Also accommodates for MariaDB 10.2 quoting differences in reporting integer based server defaults.
Fixed bug in op.drop_constraint() for MySQL where quoting rules would not be applied to the constraint name.
Changes in DBI 1.641 - 19th March 2018
Remove dependency on Storable 2.16 introduced in DBI 1.639
thanks to Ribasushi #60
Avoid compiler warnings in Driver.xst #59
thanks to pali #59
pkgsrc change:
* Update HOMEPAGE
* Add LICENSE
* Support multiple rails.
2.6.1
* Fix homepage URL in gemspec.
2.6.0
* Add the join alias helper.
* Add ability to pass table aliases to join_association.
2.5.0
* Add license information to gemspec so it is parsed by verifiers
(@petergoldstein #31)
* Update QueryBuilder#reflect to create deep copy of builder (@wycleffsean
#32)
= Active Record -- Object-relational mapping put on 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 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*.
This is for Ruby on Rails 5.1.
Add some missing dependencies.
0.9997 2018-03-15T21:13:52Z
- Fixed the Firebird engine to properly detect multiple instances of a
change specified to `revert` and `verify`, matching the behavior of
displaying tag-qualified alternates added to the other engines in
v0.9996.
- Fixed test failure on Windows.
- Updated the MySQL and PostgreSQL tests to use process-specific database
names, to try to avoid conflicts when tests are being run by multiple
processes on the same box, as happens with CPAN smoke testing boxes.
- Fixed an issue where Sqitch would sometimes truncate the registry
version number fetched from Postgres, most likely because the Perl
runtime was using 32-bit integers. Fixed by casting the version to text
in the query, before Perl ever see it. Thanks to Malte Legenhausen for
the report (#343).
- The MySQL engine will now read the username from MySQL configuration
files. Thanks to Eliot Alter for the bug report (#353).
- Added Italian translation, with thanks to Luca Ferrari and @BeaData!
- Improved multi-value config examples in the `sqitch-config`
documentation to be a bit less confusing. Thanks to Emil for reporting
where he got confused!
- Added the Exasol engine. Thanks to Johan Wärlander for the PR (#362)!
- Fixed an issue where URI::db needed to be explicitly loaded. Thanks to
Hugh Esco for the report (#370)!
- Changed the exit value for `rebase` and `revert` from 1 to 0 when there
is no work to do. This is to match the expectation of non-zero exit
statuses only when a command is unsuccessful, as well as the behavior
of `deploy` as of v0.995. Nothing to do is considered successful.
Thanks to Paul Williams for the PR (#374)!
- Update `psql` options to use a conninfo string to honor connection
parameter key words for PostgreSQL targets. It can now take advantage
of the connection service file using `db:pg:///?service=$PGSERVICE` as
well as other connection parameters. Thanks to Paul Williams for the PR
(#375)!
## 3.1.5
- Fixed Python 2/3 incompatibility with `itertools.izip_longest()`.
## 3.1.4
- Added `BigAutoField` to support 64-bit auto-incrementing primary
keys.
- Use Peewee-compatible datetime serialization when exporting JSON
from a `DataSet`. Previously the JSON export used ISO-8601 by default.
- Added `Database.batch_commit` helper to wrap iterators in chunked
transactions.
## 3.1.3
- Fixed issue where scope-specific settings were being updated
in-place instead of copied.
- Fixed bug where setting a `ForeignKeyField` did not add it to the
model's "dirty" fields list.
- Use pre-fetched data when using `prefetch()` with `ManyToManyField`.
- Use `JSON` data-type for SQLite `JSONField` instances.
- Add a `json_contains` function for use with SQLite `json1` extension.
- Various documentation updates and additions.
## Rails 4.2.10 (September 27, 2017) ##
* `Relation#joins` is no longer affected by the target model's
`current_scope`, with the exception of `unscoped`.
Fixes#29338.
*Sean Griffin*
## Rails 4.2.9 (June 26, 2017) ##
* Fix regression caused by `collection_singular_ids=` ignoring different primary key on relationship.
*Nick Pezza*
* Fix `rake db:schema:load` with subdirectories.
*Ryuta Kamizono*
* Fix `rake db:migrate:status` with subdirectories.
*Ryuta Kamizono*
* Fix regression of #1969 with SELECT aliases in HAVING clause.
*Eugene Kenny*
* Fix `wait_timeout` to configurable for mysql2 adapter.
Fixes#26556.
*Ryuta Kamizono*
* Make `table_name=` reset current statement cache,
so queries are not run against the previous table name.
*namusyaka*
- Fixed issue where scope-specific settings were being updated
in-place instead of copied.
- Fixed bug where setting a ForeignKeyField did not add it to
the model's "dirty" fields list.
- Use pre-fetched data when using prefetch() with ManyToManyField.
- Use JSON data-type for SQLite JSONField instances.
- Add a json_contains function for use with SQLite json1 extension.
- Various documentation updates and additions.
Release 1.2.5 includes a series of fixes across the Core and ORM components including CTE fixes, an adjustment for Python 3.7, as well as bugs involving new 1.2 features.
=== 5.6.0 (2018-03-01)
* Dedup :db_type strings in schema hashes on Ruby 2.5+ (jeremyevans)
* Make schema_caching extension work with :callable_default schema values (jeremyevans)
* Freeze string valuse in hashes returned by Database#schema when using the schema_caching extension (jeremyevans)
* Protect migration file loading with a mutex to not break when multiple threads load migration files simultaneously (jeremyevans)
* Respect identifier mangling rules when renaming columns on Microsoft SQL Server (jeremyevans)
1.56 2018-02-28
- Switched to a production version.
1.55_07 2018-01-27
- This is a developer release to help testing DBIx::Class
- Upgraded SQLite to 3.22.0
- Disabled two STAT compile time options (tentatively),
which fixes RT-124227 anyway
1.55_06 2018-01-27
- This is a developer release to help testing DBIx::Class
- Downgraded SQLite to 3.19.3 because of a SQLite regression
(RT-124227, ribasushi++)
- Fixed some tests to adapt to a change in error format
introduced by the latest DBI
- Remove no warnings test from t/43_fts.t which failed under
some environments
1.55_05 2017-12-16
- Implemented ParamValues statement handle attribute (RT-123886)
1.55_04 2017-11-22
- Updated SQLite to 3.21.0
- Resolved#122581: statistics_info() doesn't work correctly
(John Deighan)
- Fixed typo (GH#26, ReneNyffenegger)
- Silenced some warnings (GH#25, Jacques Germishuys)
- Fixed no dot in @INC issue (GH#24, ribasushi)
- Fixed zero-length BLOB value is retrieved as undef
(GH#23, SATO Kentaro)
- Fixed VirtualTable::PerlData to use new ops added in SQLite 3.21.0
(GH#28, fschlich)
- noted on sqlite_extended_result_codes handle attribute
1.55_03 2017-02-14
- Updated SQLite to 3.17.0
1.55_02 2017-01-08
- Updated SQLite to 3.16.2
- Fixed statistics_info when only unique indexes were requested (Dave
Rolsky++). GitHub #21
1.55_01 2017-01-04
- Updated SQLite to 3.16.0
* O.k. by gdt@
Changelog:
PostGIS 2.4.3
2018/01/17
* Bug fixes *
- #3713, Support encodings that happen to output a '\' character
- #3827, Set configure default to not do interrupt testing,
was causing false negatives for many people (Regina Obe)
revised to be standards compliant in #3988 (Greg Troxel)
- #3930, Minimum bounding circle issues on 32-bit platforms
- #3965, ST_ClusterKMeans used to lose some clusters on initialization
(Darafei Praliaskouski)
- #3956, Brin opclass object does not upgrade properly (Sandro Santilli)
- #3982, ST_AsEncodedPolyline supports LINESTRING EMPTY and MULTIPOINT EMPTY
(Darafei Praliaskouski)
- #3975, ST_Transform runs query on spatial_ref_sys without schema
qualification. Was causing restore issues. (Paul Ramsey)
* Enhancements *
- #3944, Update to EPSG register v9.2 (Even Rouault)
PostgreSQL 10.3, 9.6.8, 9.5.12, 9.4.17, and 9.3.22:
The purpose of this release is to address CVE-2018-1058, which describes how a user can create like-named objects in different schemas that can change the behavior of other users' queries and cause unexpected or malicious behavior, also known as a "trojan-horse" attack. Most of this release centers around added documentation that describes the issue and how to take steps to mitigate the impact on PostgreSQL databases.
- Fix a session-management bug that could cause an authentication error
while connected to MongoDB 3.6+ and iterating a cursor
- Permit the $gleStats modifier with mongoc_collection_aggregate.
- Fixed bug when using Model.alias() when the model defined a
particular database schema.
- Added SchemaManager.create_foreign_key API to simplify adding
constraints when dealing with circular foreign-key relationships.
- Improved implementation of Migrator.add_foreign_key_constraint so
that it can be used with Postgresql (in addition to MySQL).
- Added PickleField to the playhouse.fields module. Docs.
- Fixed bug in implementation of CompressedField when using Python 3.
- Added KeyValue API in playhouse.kv module. Docs.
- More test cases for joining on sub-selects or common table
expressions.
* Clarified ISSUE_TEMPLATE.md with explicit steps (#390)
* Fix FreeTDS installation instructions in README (#392)
* Use our 2017-GA SQL Server Docker Image (#397)
* Move message_handler from a shared value to userdata
== 6.2.2 Release Notes
=== Enhancements
Recovery::
- Synced-flush should not seal index of out of sync replicas
=== Bug fixes
Core::
- Handle throws on tasks submitted to thread pools
- Fix size blocking queue to not lie about its weight
Ingest::
- Guard accessDeclaredMembers for Tika on JDK 10
- Fix for bug that prevents pipelines to load that use stored scripts
after a restart
Java High Level REST Client::
- Fix parsing of script fields
- Move to POST when calling API to retrieve which support request body
Packaging::
- Fix using relative custom config path
- Disable console logging in the Windows service
Percolator::
- Do not take duplicate query extractions into account for
minimum_should_match attribute
Recovery::
- Fsync directory after cleanup
== 6.2.1 Release Notes
=== Bug fixes
Plugin Lang Painless::
- Painless: Fix For Loop NullPointerException
Plugins::
- Fix the ability to remove old plugin
Backwards-incompatible changes
- Database.bind() has been renamed to Database.bind_ctx(), to more closely
match the semantics of the corresponding model methods, Model.bind() and
Model.bind_ctx(). The new Database.bind() method is a one-time operation
that binds the given models to the database. See documentation:
Other changes
- Removed Python 2.6 support code from a few places.
- Fixed example analytics app code to ensure hstore extension is registered.
- Small efficiency improvement to bloom filter.
- Removed "attention!" from README.
0.082841 2018-01-29 08:10 (UTC)
* Test-suite fixup changes only - no reason to upgrade, wait for 0.082850
* Misc
- Unblock DBD::SQLite (RT#118395)
- Fix missing ORDER BY leading to failures of t/prefetch/grouped.t
under upcoming libsqlite (RT#117271)
- Temporarily disable a non-critical portion of test failing on
upcoming libsqlite, proper fix coming in 0.082850 (RT#119845)
- Add test workaround for ( largely irrelevant ) RT#120129
- Add temporary test-workaround for a devrel of DBD::SQLite
RT#124227 / https://twitter.com/dbix_class/status/957271153751527424
- Add workaround for one of the most damaging "improvements" made
during the modern-perl-era (RT#120827)
- Fix malformed README file encoding (RT#122028)
2018-02-06 Patrick Galbraith, Michiel Beijen, DBI/DBD community (4.045)
* Use API function for reconnect; fixes compilation on MariaDB 10.2.6+.
Fix provided by Pali.
* Fixed broken link to MySQL download page, provided by Mohammad S Anwar.
* Spelling fixes, provided by Ville Skyttä.
=== 5.5.0 (2018-01-31)
* Make Database#copy_table in the postgres adapter handle errors that occur while processing rows (jeremyevans) (#1470)
* Cache results of changed_columns method in local variables in many places for better performance (jeremyevans)
* Make modification_detection plugin not break column change detection for new objects (jeremyevans) (#1468)
* Make pg_range extension set :ruby_default schema value for recognized range defaults (jeremyevans)
* Make pg_interval extension set :ruby_default schema value for recognized interval defaults (jeremyevans)
* Make pg_json extension set :callable_default schema value for empty json/jsonb array/hash defaults (jeremyevans)
* Make pg_inet extension set :ruby_default schema value for recognized inet/cidr defaults (jeremyevans)
* Make pg_hstore extension set :callable_default schema value for empty hstore defaults (jeremyevans)
* Make pg_array extension set :callable_default schema value for recognized empty array defaults (jeremyevans) (#1466)
* Make defaults_setter plugin prefer :callable_default db_schema values over :ruby_default db_schema values (jeremyevans)
* Add defaults_setter plugin :cache option for caching default values returned (jeremyevans)
* Freeze string values in hashes returned by Database#schema (jeremyevans)
=== 5.4.0 (2018-01-04)
* Enable fractional seconds in timestamps on DB2 (jeremyevans) (#1463)
* Don't attempt to insert a second time if insert_select runs a query that doesn't return results, which can happen when triggers are used (jeremyevans)
* Make Dataset#insert_select on PostgreSQL and MSSQL return false instead of nil if the INSERT query is sent to the database but returns no rows (jeremyevans)
* Add index_caching extension for caching calls to Database#indexes (kenaniah, jeremyevans) (#1461)
* Allow Database#indexes on SQLite, MSSQL, SQLAnywhere, and DB2 to handle SQL::Identifier values (jeremyevans)
* Add pg_timestamptz extension for using timestamptz (timestamp with time zone) as the default timestamp type (jeremyevans)
* Support Sequel.date_{add,sub} :cast option for setting cast type in date_arithmetic extension (jeremyevans)
* Optimize Database#synchronize implementation on ruby 2.5+ (jeremyevans)
* Add class_table_inheritance plugin :ignore_subclass_columns option (brianphillips) (#1459)
* Make Dataset#to_xml in xml_serializer work with eager_graphed datasets (jeremyevans)
* Make Dataset#to_json in json_serializer work with eager_graphed datasets (jeremyevans)
* Cache Dataset#nullify dataset in the null_dataset extension (chanks) (#1456)
* Add datetime_parse_to_time extension, for parsing timestamp strings without offsets using DateTime.parse.to_time (jeremyevans) (#1455)
* Add WHERE NULL filter for Dataset#where calls with no existing filter, no argument, and where the virtual row block returns nil (jeremyevans)
v1.0.0 [2018-01-10] Michael Granger <ged@FaerieMUD.org>
Deprecated:
* Deprecate Ruby older than 2.2.
* Deprecate Connection#socket in favor of #socket_io.
Removed:
* Remove compatibility code for Ruby < 2.0 and PostgreSQL < 9.2.
* Remove partial compatibility with Rubinius.
* Remove top-level constants PGconn, PGresult, and PGError.
Enhancements:
* Update error codes to PostgreSQL-10
* Update Windows binary gems to Ruby-2.5, PostgreSQL 10.1 and OpenSSL 1.1.0g.
Bugfixes:
* Fix URI detection for connection strings. #265 (thanks to jjoos)
* MINGW: Workaround segfault due to GCC linker error in conjunction with
MSVC. This happens when linking to PostgreSQL-10.0-x64 from EnterpriseDB.
Documentation fixes:
* Add PostgreSQL version since when the given function is supported. #263
* Better documentation to `encoder` and `decoder` arguments of COPY related
methods.
New Features
* Make sure ssl is enabled if only :sslverify is set (#889)
Fixes
* Cast the BIT(1) type when :cast_booleans is true for prepared statements
(#883, #903)
* Compilation failures against MariaDB Connector/C 3.0.2 (#878, #888, #895,
#900, #901, #902)
* MYSQL_SECURE_AUTH has been removed in MySQL 8.0.3 RC (#892, #898)
Changes
* Better specs (#904)
* Extended keyword for the explain statement has been removed (#894)
3.0.20
- Include schema (if specified) when checking for table-existence.
- Correct placement of ORDER BY / LIMIT clauses in compound select
queries.
- Fix bug in back-reference lookups when using filter() API.
- Fix bug in SQL generation for ON CONFLICT queries with Postgres
3.0.19
- Support for more types of mappings in insert_many()
- Lots of documentation improvements.
- Fix bug when calling tuples() on a ModelRaw query. This was reported
originally as a bug with sqlite-web CSV export
0.33.0:
Added support for materialized views in PostgreSQL
Added Ltree.descendant_of and Ltree.ancestor_of
Dropped Python 3.3 support
Fixed EncryptedType padding