Skip to content
Adam Schroder edited this page Jul 1, 2016 · 24 revisions

3.4.1

  • Change FastJsonColumnSerializer to render a Guid as a string by default
  • Add CommandType as a parameter to Execute and ExecuteScalar
  • Remove DbFactoryProvider overload when passing in a raw DbConnection
  • Upgrade to .net core 1.0
  • Checks if the column starts with "npoco_" case insensitive. (#298) (@imasm)
  • Fix Async support in Firebird (#297)

3.3

  • Add ability to insert base/abstract base class
  • Ensure value type fields can be mapped to
  • Do not include Result columns when using include in the query provider
  • Add constructor overloads to SerializedColumn attribute for column name
  • Implement SqlOfTContext (@zpqrtbnk)
  • Update to .NET Core RC2

3.2

  • Add separate NPoco.JsonNet package and use fastJSON internally by default
  • Fix issue with using First() or FirstOrDefault() in Include statement
  • Support Npgsql 3.x with parameter names
  • Add XML comments to IDatabase
  • Add support to map to "get" only properties in c# 6

3.1 Stable

  • Add JSON.NET internally for serialized column

3.0 Stable

  • Breaking changes and more info listed: Version 3
  • Many internals rewritten
  • Initial work to support .NET Core
  • Add interceptors instead of having to use inheritance

2.10.11 Stable

  • Fix Exists call when using composite keys
  • Allow SQL Server to use output instead of scope_identity(). Property on SqlServerDatabaseType.
  • Fix FetchMultiple after mapping to weak types broke it.

2.10.9 Stable

  • Paging Regex supports more cases
  • Fix snapshotter bug with nested objects
  • SingleById should ignore EnableAutoSelect setting
  • EnumMapper now throws a useful exception to indicate something went wrong
  • Enums will automatically be mapped to strings if the column type is set to string [ColumnType(typeof(string))]
  • Add missing Version overload to fluent config builder
  • Fix IsNew for composite keys

2.9.103 Stable

  • Fix LINQ queries with char columns
  • SqlBuilder will put brackets around each call to Where()
  • Add FetchBy back to IDatabase
  • Set AnsiString in LINQ correctly so queries on a varchar column will use indexes
  • Save method now takes T parameter not object
  • Add Async methods for querying, updates, inserts and deletes
  • PocoDataFactory only created once if not set manually
  • Ability to map objects in non-generic way using IEnumerable Query(Type type, ... method

    2.7.93 Stable

    • Add support for timestamp column
    • Add base62 encoder to pass timestamp byte[] around
    • Modify orderby RegEx to support nested subquery filters (much faster too)
    • Allow named where statements in Sql Builder (/**where(first)**/ sb.Where("first", "name = @0", "John"))
    • Remove FetchBy (use Query now)
    • Add Distinct to QueryProvider which can do a distinct projection
    • Cache config per DatabaseFactory
    • Fix enum parameters for in clauses
    • Allow Dictionary to be passed as first parameter for dynamic parameters (@andersjonsson)

    2.6.88 Stable

    • Fix issue with UpdateMany not finding the set columns
    • Allow SqlParameters to be used in SqlBulkCopy
    • Numerous LINQ fixes (!Contains, !x.Name.StartsWith, Substring, Projections, Constant Boolean Expressions)

    2.5.77 Stable

    • Add Firebird support
    • Improve memory usage performance (@Shandem)
    • Set MySql default transaction isolation level to IsolationLevel.RepeatableRead

    2.4.72 Stable

    • Move check for dynamic object to top of IsNew method
    • Run mapper through primary key columns

    2.4.71 Stable

    • Make CreateCommand public (#116)
    • Fix nullable enums in LINQ queries (#115)

    2.4.69 Stable

    • Add shortcut database method to update snapshotted pocos
    • Fix FormatCommand with Null values
    • Fix for issue #106
    • Make SqlBulkCopyOptions available to BulkInsert helper
    • Snapshotter supports private fields
    • Add support for custom mapper in SqlBulkInsert
    • Make dynamic queries use PocoExpando which is case insensitive
    • Fix paging regex and include Version column on pococolumn
    • Snapshot update columns with private setter
    • Add Alias and Computed Attributes
    • Remove the need to have property on Poco with AutoJoin
    • Fix inherited type properties to emit the correct SQL
    • Fix paging for non Sql Server and Oracle
    • Optimize Exists to use count(*)
    • Fix Paged queries in Postgres and add TableInfo to PocoColumn
    • Fix OrderBy Descending
    • Create Tests for Linq Provider
    • Support self referencing joins to one level
    • Add alias on TableInfo
    • Cleanup building of sql
    • Initial work on aliases
    • Fix Enum parameters for columns stored as strings
    • Add "returning" primary key
    • Add Firebird database type
    • Add multi-poco paging to interface
    • Add multi-poco paging support
    • Allow ColumnInfo to store Ignored columns
    • Allow HasValue for nullable type in Where query
    • Allow private constructor with snapshotter
    • Allow SqlBuilder to make token replacement mandatory
    • Make Transaction inherit from an interface
    • Make In take an IEnumerable
    • Add exception when mapping to poco with no parameterless constructor
    • Fix for DbType.Time not working for SqlServer
    • Fix Guid parameters
    • Fix provider name for SQLite
    • Allow sql expressions to be a bit more complex

    2.2.40 Stable

    • Handle error when nested object is null and nested nested object trying to be mapped to it
    • Change Connection closing to only leave open if explicitly opened, otherise it will be closed for every command
    • Remove ForceDateTimeToUtc from Database and moved to PocoColumn
    • Make all On* methods protected
    • Add Apache License V2
    • Enable the SqlBulk helper to support glimpse connection and transactions
    • Fix for where with empty list for in clause
    • Fix bug with UpdateWhere doing a delete
    • Fix underscore mapping and extensions
    • Updated Update expression to use converter
    • Added ability to update and delete with strong types
    • Ensure DbColumnType is set with overrides
    • Don't map to a property with only a getter
    • Fix for mapping private properties on base types

    2.1.30 Stable

    • Allow mappings to be inherited
    • Support new Oracle client (@smlynch)
    • Fix closed connection when using bulk insert (@dustinhorne)
    • Fix oracle paging (@smlynch)

    2.1.27 Stable

    • Insert, Update and Delete methods have been made virtual
    • Conventions now use MemberInfo to support mapping to fields
    • Fix OneToMany() bug when no many results returned
    • Fix nullable enums
    • Fix when mapping to a nullable

    2.1.24-beta

    • Fix invalid cast when destination type is nullable

    2.1.21-beta

    • Ability to map fields in addition to properties
    • Don't map public readonly fields
    • Fix bug with SqlBuilder and parameters
    • Make paging more generic

    2.0.18 Stable

    • Only nested objects are mapped if at least one column is not null, otherwise null object is returned
    • Fix null connection for SqlExpressions

    2.0.15 Stable

    • Allow dictionary to be passed as primary keys for composite keys
    • Add FetchBy<> and FetchWhere<> so that basic Linq queries are possible
    • DatabaseFactory is no longer static and must be set per instance of Database created.
    • Added Insert/Update/Delete hooks

    Clone this wiki locally