versioning

Versioning RESTful services?

烈酒焚心 提交于 2019-12-03 09:32:56
问题 I have a RESTful web service deployed at http://example.com/v1/SomeResource. One day, a new protocol version ( that is not backwards compatible ) is deployed to http://example.com/v2/SomeResource. From the client of view, this upgrade could occur at any time between two HTTP requests. How does the server indicate to the client that it no longer supports v1 calls and the client is expected to upgrade to v2? Is there an appropriate response code I can use? I would want to provide the client

What's the best practice to for Thrift file (api) versioning?

时光总嘲笑我的痴心妄想 提交于 2019-12-03 08:42:00
I have an API written in thrift. Example: service Api { void invoke() } It does something. I want to change the behavior to do something else but still keep the old behavior for clients that expect the old behavior. What's the best practice to handle a new API version? Soft versioning Thrift supports soft versioning, so it is perfectly valid to do a version 2 of your service which looks like this: service Api { void invoke(1: string optional_arg1, 2: i32 optional_arg2) throws (1: MyError e) i32 number_of_invokes() } Since the newly added arguments are technically optional, an arbitrary clients

Maven : Multimodule projects and versioning

不问归期 提交于 2019-12-03 08:37:22
问题 What are the best practices for software versioning and multimodules projects with Maven? I mean, when I create a multimodules project with Maven, what is the best approach for the versioning? To use a single version for all the modules (defined in the top project)? To use a version for each module (defined in the POM of each module)? Is there another approach that I'm missing? What are the pros and cons of each approach? In general, are the different modules released together (possibly

What is the difference between “Legacy Version” and “Stable Version”?

二次信任 提交于 2019-12-03 08:31:51
问题 I am using JQuery Mobile and there are two available versions: A stable version and a legacy version. I am not familiar with the latter one. What is a legacy version? or what is the difference with the stable version? Which one is recommended to use in a production site? Many thanks 回答1: A legacy version is an old stable release that is still available (and probably supported) because someone might need it (e.g. plugin dependencies that don't work with the newest release), whereas the stable

How to implement Auditing/versioning of Table Modifications on PostgreSQL

穿精又带淫゛_ 提交于 2019-12-03 08:26:27
We're implementing a New system using Java/Spring/Hibernate on PostgreSQL. This system needs to make a copy of Every Record as soon as a modification/deletion is done on the record(s) in the Tables(s). Later, the Audit Table(s) will be queried by Reports to display the data to the users. I was planning to implement this auditing/versioning feature by having a trigger on the table(s) which would make a copy of the modified row(deleted row) "TO" a TABLE called ENTITY_VERSIONS which would have about 20 columns called col1, col2, col3, col4, etc which would store the columns from the above Table(s

MEF Dependencies and versioning

泪湿孤枕 提交于 2019-12-03 07:30:43
问题 I have a system that uses MEF to load parts. Each of these parts rely on a core library. When I build the project, I add a version number to the .dll files like this: part1-1.0.0.0.dll part2-1.0.0.0.dll Also, there is an application that performs MEF composition. It also uses the core library. I've found that I can just deploy the "part" dlls, and composition works fine because the application has already loaded the core library that the parts rely on. So my file system looks something like

Making TeamCity Version Match .NET Assembly Version

a 夏天 提交于 2019-12-03 07:16:53
问题 Right now our assemblies have a version number like 2.0.831.0. As I understand it, that's major version, minor version, date and build number. If I make a change and build again on the same day it's 2.0.831.1, 2.0.831.2 etc. My TeamCity build number format is simply 2.{0} where {0} is an auto incremented number that just goes on forever (2.195, 2.196 etc). How do I make TeamCity look exactly like the assembly version? We want to be able to associate the Change Log with the assembly version so

How to: database versioning with maven2?

一曲冷凌霜 提交于 2019-12-03 07:16:49
I am finding any maven plugin for versioning database changes. There are a few plugins that offer some support for this task: Maven LiquiBase Plugin Maven Database Migration Plugin DbMaintain Maven Plugin (a plugin for DbMaintain , the famous tool from Unitils) I don't have much experience with them, we currently use a custom tool to apply our change scripts. But the Maven Database Migration Plugin is a serious candidate to replace it. LiquiBase is pretty famous but also different, changes are described in a generic XML format. About DbMaintain, it works well (in Unitils) but I've never tested

Web Api 2 API not recognizing Multiple Attributes for Routing (Versioning)

跟風遠走 提交于 2019-12-03 06:19:12
I'm trying to implement both Attribute Routing and the VersionedRoute from RoutingConstaints Sample but when I use both on a controller, the versioned attribute no longer works. What would I need to modify on the attribute to get it to play nice with Attribute Routing? For code example download the sample project (or just look at the few files from the above link) and then modify the routes as such: // When I use the RoutePrefix, VersionedRoute no longer works (Sending "Api-Version" through http header doesn't route correctly // If I remove the RoutePrefix I can use VersionedRoute again //

What's the Swift equivalent of Objective-C's “#ifdef __IPHONE_11_0”?

时光毁灭记忆、已成空白 提交于 2019-12-03 05:53:57
I want to use Xcode 9 to add iOS 11 code to my project while keeping the option to compile the project with Xcode 8 which only supports iOS 10. In Objective-C I can do this by using a preprocessor directive to check if __IPHONE_11_0 is defined. Which will hide the code if I'm compiling with a Base SDK earlier than iOS 11. Like this: #ifdef __IPHONE_11_0 if (@available(iOS 11.0, *)) { self.navigationController.navigationBar.prefersLargeTitles = YES; } #endif Is there a way to do that in Swift? if #available(iOS 11.0, *) doesn't work because that's a runtime check. The iOS 11 SDK comes with