Releases: chucknorris/roundhouse
Cross-platform dotnet core and dotnet standard ++
This is a release that has taken a while to get out there. I've also incorporated what was planned for 0.9.2, and put into this release. There are a few big changes, but not feature-wise. I've ported RoundhousE to .net core, so that it can run cross-platform (Windows, macOS, Linux, anywhere dotnet core runs). roundhouse.lib is also made as a netstandard2.0 library, so it can be used on all platforms, and both from net4x and netcore.
There are also a few bug fixes and performance improvements, thanks to @mmalik76 and @chuseman for contributions! Sorry to have kept you waiting so long on getting your bits out into the wild.
There are now 2 versions of RoundhousE:
- The good, old RoundhousE, which runs on full framework, and supports all database providers.
- The new .net core RoundhousE, which runs on .net core, and supports all database providers except Access and Oracle.
RoundhousE (the tool) can now be installed:
- Using Chocolatey https://chocolatey.org/packages/roundhouse (awaiting an upload)
- Via NuGet https://www.nuget.org/packages/roundhouse/
- As a .net core global tool: https://www.nuget.org/packages/dotnet-roundhouse
More issues will be resolved, and more features will come, but we are very much looking for help on solving issues, and bringing RoundhousE further into the future!
I (Erik) have taken over as the main maintainer, as the others had to focus on different projects, and I'll try to do my best with the time I have. New contributors are always welcome!
New features
Bug Fixes
Performance Improvements
- Reworking how we fetch and cache the scripts that have been run @BlythMeister
Bugfix
Two bugs identified and corrected in this release:
- User tokens did not behave well when the values were missing. Thanks @alexandergre for both the find and the fix!
- The new library did not have the database libraries merged (#306). Thanks to @drjaydenm for identifying the problem and @erikbra for the quick fix!
Modernising tooling
The focus of this release has been on development and runtime environments. Not so much for the feature-hungry. We have removed a dependency on .NET 3.5 though, so people running on Windows Server 2016 should appreciate not having to go through great deals of trouble to install that.
We have a small potential breaking change for Oracle users. The target framework, has, by popular demand (PR #85), been converted from x86 to AnyCPU. There were some comments that this might break the Oracle integration. If this is an issue, we would very much like help with fixing it. There is an open PR (#298) that converts to the Managed Oracle provider. But we need some help.
Workaround if this breaks stuff for you: Use Roundhouse 0.8.8.
Enhancements
- Remove dependency on .NET 3.5 #285 @erikbra
- AnyCPU platform #85, @LodewijkSioen
For developers
- Convert to modern, simpler SDK-style projects #285 @erikbra
- Speed up test for MD5 implementation equivalence #290 @BiggerNoise
- Added integration tests for SqLite and SqlServerCE #299 @erikbra
(the rest of the PRs were mainly breaking and fixing things, and preparing for building on AppVeyor)
As always, contributions are welcome. People use RoundhousE in different environments, and it's always easier to identify problems in an environment you use on a regular basis. Read through the issue list, see if you can provide any more info or help solve the problem, find new issues.
Note from @erikbra, fairly new to both OSS and RoundhousE contributing: I would advise you to file a PR if you have an idea for improvement of any sorts. @BiggerNoise (who has done a tremendous job on merging old PRs in the last two releases) and @ferventcoder are really nice people and appreciate efforts!
A huge shout out to @erikbra from myself (@BiggerNoise) and @ferventcoder for helping us get so much of the new build infrastructure in place. Words cannot express how much your efforts are appreciated.
Catching up with Pull Requests
Wow!! It's another RoundhousE release!!
The idea behind this release was to roll as many of the outstanding pull requests as possible. Quite a few have accumulated over the past few years, so I'll try to keep to the highlights. As with the 0.8.7 release, I may not give proper credit to the wonderful people that made these contributions; please accept my apologies and my promise to do better in the future.
##Enhancements
- Support for Specifying Default Coding #283, #96 @Liwoj @icedtoast (addresses #255)
- SQL Compact Edition Support #277, #282 @erikbra & @ErikEJ
- Option to not alter the database #187 @erikbra
- User defined tokens #281, #231 @BiggerNoise, @guilherme, & former github user dquser (I believe)
- Mono console update #221 @drusellers
- My SQL Restore Support #266 @erichmx
- TLS 1.x support #253 @kgav
- Support for multiple environments #232 @cjzness
- PostgreSQL Enhancements #224 @drusellers
- Allow version to be passed in a JSON file #155 @reharik
- Allow configuration options to be passed in a JSON file #150 @mmooney
- Fault tolerance for transient exceptions (shows up more from Azure databases) #234 @vansha
- Added Triggers Folder #102 @AndersMalmgren
- Internal MD5 Implementation so we don't look like FIPS violators #256 d5678b4 @ronnieoverby @BiggerNoise
- Added --isuptodate switch #64 @JonAnders
- Improve hash computation by normalizing line endings 82649eb @BiggerNoise & @rfbain (I took ideas from #248)
##For Developers
- Convert Tests from MBUnit to NUnit #273 @erikbra
- Fixed File System Access Test #185 @s-tarasov
##BugFixes
- PostgreSQL Table Creation Scripts handling schema name #261 @tsaluszewski
- Updated MySql Database Connections to allow variables and thus SPROCs #242 @Draftkings
- Fix for Oracle and NHibernate blobs #83 @LodewijkSioen
- Fix the transaction sharing between Admin and Default connections #87 @icedtoast
At Long Last
OMG!! It's a RoundhousE release!!
It's been a long time coming. I didn't want to get bogged down into writing the perfect release notes, so I am summarizing the last four years of commit history. I hope that no one that contributed feels slighted by my failure to specifically acknowledge your contribution. I intend to do better in the future.
Enhancements
- Added option to run scripts outside of transaction scope
- Handle Azure connection strings
- Properly split files that start with a splitter
- Respect Transaction flag
- Improved Logging
- Added switch --warnandignoreononetimescriptchanges
Bug Fixes
- Only retry on SQL Connection errors
- Correctly handle postgres connection disposed error